X-Git-Url: http://git.pld-linux.org/?p=packages%2Frpm.git;a=blobdiff_plain;f=rpm.spec;h=c1acf87dcb9eee462dd10f363a41befb65f20f4f;hp=3188fb4b7afc1d7dfb839f65e4d7e19bb1447afb;hb=b48366bfa6d02e94af3356b5cb2891e65f579604;hpb=7d8492bb7945538d97a1c36b815c07379f711ea1 diff --git a/rpm.spec b/rpm.spec index 3188fb4..c1acf87 100644 --- a/rpm.spec +++ b/rpm.spec @@ -1,5 +1,11 @@ # # TODO: +# - check if we want shell autodeps: Requires: executable(ln) executable(mv) +# - %{_arch} = i686 not as used to be i386: +# 5.0.2: rpm -E '%_target_base_arch %_arch' +# i386 i686 +# 4.4.9: rpm -E '%_target_base_arch %_arch' +# i386 i386 # - python(abi) cap is not provided automatically because /usr/lib*/libpython2*.so.* # matches ELF first # - repackaging when lzma is not installed (todo: fix digest signature of header) @@ -7,25 +13,47 @@ # tags (incl. digest) and writes whole package to destination file; # repackaging uses unchanged "immutable header" image from original rpm, also # preserving payload format and compressor from original rpm, _not_ current settings +# - TODO: add macros for some ppc, mipsel, alpha and sparc +# - uppackaged list: +# /usr/lib/rpm/http.req +# /usr/lib/rpm/install-sh +# /usr/lib/rpm/mono-find-provides +# /usr/lib/rpm/mono-find-requires +# /usr/lib/rpm/osgideps.pl +# /usr/lib/rpm/perldeps.pl +# /usr/lib/rpm/vcheck +# /usr/share/man/man8/rpmconstant.8 # # Conditional build: %bcond_with static # build static rpm+rpmi -%bcond_without apidocs # don't generate documentation with doxygen %bcond_with autoreqdep # autogenerate package name deps in addition to sonames/perl(X) %bcond_without python # don't build python bindings %bcond_without selinux # build without selinux support -%bcond_without system_libmagic # don't use system libmagic %bcond_without suggest_tags # build without Suggest tag (bootstrapping) %bcond_with neon # build with HTTP/WebDAV support (neon library) +%bcond_without db # BerkeleyDB +%bcond_with sqlite # build with SQLite support +%bcond_with sqlite_dbapi # default database backend is sqlite +%bcond_without system_lua # use system lua # force_cc - force using __cc other than "%{_target_cpu}-pld-linux-gcc" # force_cxx - force using __cxx other than "%{_target_cpu}-pld-linux-g++" # force_cpp - force using __cpp other than "%{_target_cpu}-pld-linux-gcc -E" +# +%if %{with sqlite_dbapi} +%define with_sqlite 1 +%endif + +%if %{without db} && %{without sqlite} +%{error:Need db or sqlite} +ERROR +%endif +# # versions of required libraries -%define reqdb_ver 4.5.20 +%define reqdb_ver 4.6.18 %define reqpopt_ver 1.10.8 %define beecrypt_ver 2:4.1.2-4 -%define sover 4.4 +%define sover 5.0 Summary: RPM Package Manager Summary(de.UTF-8): RPM Packet-Manager Summary(es.UTF-8): Gestor de paquetes RPM @@ -34,17 +62,17 @@ Summary(pt_BR.UTF-8): Gerenciador de pacotes RPM Summary(ru.UTF-8): Менеджер пакетов от RPM Summary(uk.UTF-8): Менеджер пакетів від RPM Name: rpm -Version: 4.4.9 -Release: 0.1 -License: GPL +Version: 5.0.3 +Release: 0.2 +License: LGPL Group: Base -Source0: ftp://jbj.org/pub/rpm-4.4.x/%{name}-%{version}.tar.gz -# Source0-md5: 210b768006e7d88dd8a3bcd498ea27f6 +Source0: http://rpm5.org/files/rpm/rpm-5.0/%{name}-%{version}.tar.gz +# Source0-md5: b3df4e54e84cf3344ce6b76fa2a8d5bf Source1: %{name}.groups Source2: %{name}.platform Source3: %{name}-install-tree Source4: %{name}-find-spec-bcond -Source5: %{name}-find-lang +Source5: %{name}-hrmib-cache Source6: %{name}-groups-po.awk Source7: %{name}-compress-doc Source8: %{name}-check-files @@ -56,76 +84,73 @@ Source13: %{name}-user_group.sh Source14: %{name}.sysconfig Source15: %{name}-macros.java Source16: %{name}-java-requires -Source30: builder -Source31: adapter.awk -Source32: pldnotify.awk # http://svn.pld-linux.org/banner.sh/ -Source33: banner.sh -Patch0: %{name}-pl.po.patch -Patch1: %{name}-rpmrc.patch -Patch2: %{name}-arch.patch +Source17: banner.sh +Source18: %{name}-pld.macros + +Source100: %{name}-macros-athlon +Source101: %{name}-macros-i386 +Source102: %{name}-macros-i486 +Source103: %{name}-macros-i586 +Source104: %{name}-macros-i686 +Source105: %{name}-macros-noarch +Source106: %{name}-macros-pentium3 +Source107: %{name}-macros-pentium4 +Source108: %{name}-macros-ppc +Source109: %{name}-macros-x86_64 +Source110: %{name}-macros-ia32e +Source111: %{name}-macros-amd64 + +#Patch0: %{name}-pl.po.patch +Patch1: %{name}-man_pl.patch +Patch2: %{name}-popt-downgrade.patch Patch3: %{name}-rpmpopt.patch Patch4: %{name}-perl-macros.patch Patch5: %{name}-perl-req-perlfile.patch Patch6: %{name}-noexpand.patch Patch7: %{name}-scripts-closefds.patch -Patch8: %{name}-python-macros.patch +Patch8: %{name}-php-macros.patch Patch9: %{name}-gettext-in-header.patch Patch10: %{name}-compress-doc.patch +Patch11: %{name}-lua.patch -Patch12: %{name}-system_libs.patch -Patch13: %{name}-bb-and-short-circuit.patch Patch14: %{name}-etc_dir.patch -Patch15: %{name}-system_libs-more.patch Patch16: %{name}-php-deps.patch -Patch17: %{name}-ldconfig-always.patch -Patch18: %{name}-perl_req.patch -Patch19: %{name}-link.patch -Patch20: %{name}-magic-usesystem.patch -Patch21: %{name}-dontneedutils.patch -Patch22: %{name}-provides-dont-obsolete.patch + Patch23: %{name}-pkgconfigdeps.patch -Patch24: %{name}-po.patch Patch26: %{name}-notsc.patch Patch27: %{name}-hack-norpmlibdep.patch -Patch28: %{name}-makefile-no_myLDADD_deps.patch -Patch31: %{name}-missing-prototypes.patch Patch32: %{name}-pld-autodep.patch -Patch33: %{name}-arch-x86_64.patch Patch34: %{name}-epoch0.patch Patch35: %{name}-perl_req-INC_dirs.patch Patch36: %{name}-debuginfo.patch Patch37: %{name}-doxygen_hack.patch -Patch41: %{name}-reduce-stack-usage.patch Patch42: %{name}-old-fileconflicts-behaviour.patch -Patch44: %{name}-no-neon.patch -Patch45: %{name}-no-sqlite.patch Patch46: %{name}-mono.patch Patch47: %{name}-javadeps.patch -Patch49: %{name}-p4.patch -Patch50: %{name}-macros.patch -Patch51: %{name}-cleanlibdirs.patch Patch52: %{name}-morearchs.patch Patch55: %{name}-truncate-cvslog.patch -Patch57: %{name}-as_needed-fix.patch Patch58: %{name}-repackage-wo-lzma.patch Patch59: %{name}-libtool-deps.patch -URL: http://wraptastic.org/ -BuildRequires: autoconf >= 2.57 + +Patch61: %{name}-sparc64.patch +URL: http://rpm5.org/ +BuildRequires: autoconf >= 2.60 BuildRequires: automake >= 1.4 BuildRequires: beecrypt-devel >= %{beecrypt_ver} BuildRequires: bzip2-devel >= 1.0.2-17 -BuildRequires: db-devel >= %{reqdb_ver} +%{?with_db:BuildRequires: db-devel >= %{reqdb_ver}} BuildRequires: elfutils-devel >= 0.108 +BuildRequires: gettext-autopoint >= 0.11.4-2 BuildRequires: gettext-devel >= 0.11.4-2 -%{?with_system_libmagic:BuildRequires: libmagic-devel} +BuildRequires: libmagic-devel %{?with_selinux:BuildRequires: libselinux-devel >= 1.18} # needed only for AM_PROG_CXX used for CXX substitution in rpm.macros BuildRequires: libstdc++-devel @@ -136,25 +161,21 @@ BuildRequires: neon-devel >= 0.25.5 %endif BuildRequires: patch >= 2.2 BuildRequires: popt-devel >= %{reqpopt_ver} -%{?with_python:BuildRequires: python-devel >= 1:2.5} -BuildRequires: python-modules >= 1:2.5 +%{?with_system_lua:BuildRequires: lua51-devel >= 5.1.2} +%{?with_python:BuildRequires: python-devel >= 1:2.3} +BuildRequires: python-modules >= 1:2.3 BuildRequires: rpm-perlprov %{?with_python:BuildRequires: rpm-pythonprov} +%{?with_sqlite:BuildRequires: sqlite3-devel} BuildRequires: zlib-devel -%if %{with apidocs} -BuildRequires: doxygen -BuildRequires: ghostscript -BuildRequires: graphviz -BuildRequires: tetex-pdftex -%endif %if %{with static} # Require static library only for static build BuildRequires: beecrypt-static >= %{beecrypt_ver} BuildRequires: bzip2-static >= 1.0.2-17 -BuildRequires: db-static >= %{reqdb_ver} +%{?with_db:BuildRequires: db-static >= %{reqdb_ver}} BuildRequires: elfutils-static BuildRequires: glibc-static >= 2.2.94 -%{?with_system_libmagic:BuildRequires: libmagic-static} +BuildRequires: libmagic-static %{?with_selinux:BuildRequires: libselinux-static >= 1.18} BuildRequires: popt-static >= %{reqpopt_ver} BuildRequires: zlib-static @@ -165,8 +186,8 @@ Requires: beecrypt >= %{beecrypt_ver} Requires: popt >= %{reqpopt_ver} %{!?with_static:Obsoletes: rpm-utils-static} Conflicts: glibc < 2.2.92 -# ABI changes in rpm, new poldek needed -Conflicts: poldek < 0.20.1-0.20070105.0 +# db4.6 poldek needed +Conflicts: poldek < 0.21-0.20070703.00.3 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _binary_payload w9.gzdio @@ -174,6 +195,7 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) # don't require very fresh rpm.macros to build %define __gettextize gettextize --copy --force --intl ; cp -f po/Makevars{.template,} +%define find_lang sh ./scripts/find-lang.sh $RPM_BUILD_ROOT %define ix86 i386 i486 i586 i686 athlon pentium3 pentium4 %define ppc ppc ppc7400 ppc7450 %define x8664 amd64 ia32e x86_64 @@ -184,6 +206,7 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define __newcpp %{?force_cpp}%{!?force_cpp:%{_target_cpu}-pld-linux-gcc -E} %define _rpmlibdir /usr/lib/rpm +%define _noautocompressdoc RPM-GPG-KEY %define specflags -fno-strict-aliasing @@ -241,6 +264,7 @@ Summary: RPM base package - scripts used by rpm packages themselves Summary(pl.UTF-8): Podstawowy pakiet RPM - skrypty używane przez same pakiety rpm Group: Base Requires: filesystem +Obsoletes: rpm-scripts Obsoletes: vserver-rpm %description base @@ -261,14 +285,15 @@ Summary: RPMs library Summary(pl.UTF-8): Biblioteki RPM-a Group: Libraries Requires: beecrypt >= %{beecrypt_ver} -Requires: db >= %{reqdb_ver} +%{?with_db:Requires: db >= %{reqdb_ver}} +Requires: libmagic >= 1.15-2 %{?with_selinux:Requires: libselinux >= 1.18} -%{?with_system_libmagic:Requires: libmagic >= 1.15-2} Requires: popt >= %{reqpopt_ver} +%{?with_suggest_tags:Suggests: lzma} +Obsoletes: rpm-apidocs Obsoletes: rpm-libs # avoid SEGV caused by mixed db versions Conflicts: poldek < 0.18.1-16 -%{?with_suggest_tags:Suggests: lzma} %description lib RPMs library. @@ -288,9 +313,9 @@ Group: Development/Libraries Requires: %{name}-lib = %{version}-%{release} Requires: beecrypt-devel >= %{beecrypt_ver} Requires: bzip2-devel -Requires: db-devel >= %{reqdb_ver} +%{?with_db:Requires: db-devel >= %{reqdb_ver}} Requires: elfutils-devel -%{?with_system_libmagic:Requires: libmagic-devel} +Requires: libmagic-devel %{?with_selinux:Requires: libselinux-devel} Requires: popt-devel >= %{reqpopt_ver} Requires: zlib-devel @@ -351,9 +376,9 @@ Group: Development/Libraries Requires: %{name}-devel = %{version}-%{release} Requires: beecrypt-static >= %{beecrypt_ver} Requires: bzip2-static -Requires: db-static >= %{reqdb_ver} +%{?with_db:Requires: db-static >= %{reqdb_ver}} Requires: elfutils-static -%{?with_system_libmagic:Requires: libmagic-static} +Requires: libmagic-static Requires: popt-static >= %{reqpopt_ver} Requires: zlib-static @@ -386,6 +411,7 @@ Summary(pl.UTF-8): Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami Group: Applications/File Requires: %{name} = %{version}-%{release} Requires: popt >= %{reqpopt_ver} +Conflicts: filesystem-debuginfo < 3.0-16 %description utils Additional utilities for managing RPM packages and database. @@ -441,12 +467,10 @@ Summary(ru.UTF-8): Скрипты и утилиты, необходимые дл Summary(uk.UTF-8): Скрипти та утиліти, необхідні для побудови пакетів Group: Applications/File Requires(pre): findutils -Requires: %{name}-build-macros >= 1.314 +Requires: %{name}-build-macros >= 1.433-2 Requires: %{name}-utils = %{version}-%{release} Requires: /bin/id Requires: awk -# we need fixed binutils for -feliminate-dwarf2-dups -Requires: binutils >= 3:2.17.50.0.3-2 Requires: bzip2 Requires: chrpath >= 0.10-4 Requires: cpio @@ -455,7 +479,11 @@ Requires: elfutils Requires: file >= 4.17 Requires: fileutils Requires: findutils -Requires: gcc >= 5:3.4 +%ifarch athlon +Requires: gcc >= 3.0.3 +%else +Requires: gcc +%endif Requires: glibc-devel Requires: grep Requires: gzip @@ -494,40 +522,6 @@ construir pacotes usando o RPM. Різноманітні допоміжні скрипти та утиліти, які використовуються для побудови RPM'ів. -%package build-tools -Summary: Scripts for managing .spec files and building RPM packages -Summary(de.UTF-8): Scripts fürs Bauen binärer RPM-Pakete -Summary(pl.UTF-8): Skrypty pomocnicze do zarządznia plikami .spec i budowania RPM-ów -Summary(pt_BR.UTF-8): Scripts e programas executáveis usados para construir pacotes -Summary(ru.UTF-8): Скрипты и утилиты, необходимые для сборки пакетов -Summary(uk.UTF-8): Скрипти та утиліти, необхідні для побудови пакетів -Group: Applications/File -Requires: %{name}-build = %{version}-%{release} -# these are optional -#Requires: cvs -Requires: wget - -%description build-tools -Scripts for managing .spec files and building RPM packages. - -%description build-tools -l de.UTF-8 -Scripts fürs Bauen RPM-Pakete. - -%description build-tools -l pl.UTF-8 -Skrypty pomocnicze do zarządzania plikami .spec i do budowania RPM-ów. - -%description build-tools -l pt_BR.UTF-8 -Este pacote contém scripts e programas executáveis que são usados para -construir pacotes usando o RPM. - -%description build-tools -l ru.UTF-8 -Различные вспомогательные скрипты и исполняемые программы, которые -используются для сборки RPM'ов. - -%description build-tools -l uk.UTF-8 -Різноманітні допоміжні скрипти та утиліти, які використовуються для -побудови RPM'ів. - %package javaprov Summary: Additional utilities for checking Java provides/requires in RPM packages Summary(pl.UTF-8): Dodatkowe narzędzia do sprawdzania zależności kodu w Javie w pakietach RPM @@ -629,22 +623,11 @@ RPM (RPM Package Manager). Esse pacote deve ser instalado se você quiser desenvolver programas em Python para manipular pacotes e bancos de dados RPM. -%package apidocs -Summary: RPM API documentation and guides -Summary(pl.UTF-8): Documentacja API RPM-a i przewodniki -Group: Documentation - -%description apidocs -Documentation for RPM API and guides in HTML format generated from rpm -sources by doxygen. - -%description apidocs -l pl.UTF-8 -Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze -źrodeł RPM-a przez doxygen. - %prep %setup -q -%patch0 -p1 + +# APPLIED ALREADY? translationproject.org is used now +#%%patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 @@ -655,15 +638,10 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze %patch8 -p1 %patch9 -p1 %patch10 -p1 -%patch12 -p1 -%patch13 -p1 -%patch14 -p1 -%patch15 -p1 +%{?with_system_lua:%patch11 -p1} +# CHECK ME - macrofiles: ~/etc could be used +#%%patch14 -p1 %patch16 -p1 -%patch17 -p1 -%patch18 -p1 -sed -e 's/^/@pld@/' %{SOURCE2} >>platform.in -#cp -f platform.in macros.pld.in # what for? echo '%%define __perl_provides %%{__perl} /usr/lib/rpm/perl.prov' > macros.perl echo '%%define __perl_requires %%{__perl} /usr/lib/rpm/perl.req' >> macros.perl echo '# obsoleted file' > macros.python @@ -671,76 +649,50 @@ echo '%%define __php_provides /usr/lib/rpm/php.prov' > macros.php echo '%%define __php_requires /usr/lib/rpm/php.req' >> macros.php echo '%%define __mono_provides /usr/lib/rpm/mono-find-provides' > macros.mono echo '%%define __mono_requires /usr/lib/rpm/mono-find-requires' >> macros.mono -install %{SOURCE5} scripts/find-lang.sh install %{SOURCE9} scripts/php.prov.in install %{SOURCE10} scripts/php.req.in install %{SOURCE12} scripts/perl.prov -%patch19 -p1 -%patch20 -p1 -%patch21 -p1 -%patch22 -p1 %patch23 -p1 -%patch24 -p1 + +%ifarch i386 i486 +# disable TSC %patch26 -p1 +%endif %patch27 -p1 -%patch28 -p1 -%patch31 -p1 %patch32 -p1 -# needed? I doubt -# %patch33 -p1 %patch34 -p1 %patch35 -p0 %patch36 -p1 %patch37 -p1 -%patch41 -p1 %patch42 -p1 -%{!?with_neon:%patch44 -p1} -%patch45 -p1 %patch46 -p1 %patch47 -p1 -%patch49 -p1 -%patch50 -p1 -%patch51 -p1 -#%patch52 -p1 +# OLD COMMENTED OUT +#%%patch52 -p1 -- morearchs (rpmrc patch) adds ppc7400, ppc7400 %patch55 -p1 -%patch57 -p1 %patch58 -p1 %patch59 -p1 +%ifarch sparc64 +%patch61 -p1 +%endif cd scripts mv -f perl.req perl.req.in mv -f perl.prov perl.prov.in cd .. -mv -f po/{no,nb}.po -mv -f po/{sr,sr@Latn}.po - -rm -rf sqlite zlib db db3 popt rpmdb/db.h - # generate Group translations to *.po awk -f %{SOURCE6} %{SOURCE1} # update macros paths -for f in doc{,/ja,/pl}/rpm.8 doc{,/ja,/pl}/rpmbuild.8 ; do - sed -e 's@lib/rpm/redhat@lib/rpm/pld@g' $f > ${f}.tmp - mv -f ${f}.tmp $f -done +#for f in doc{,/ja,/pl}/rpm.8 doc{,/ja,/pl}/rpmbuild.8 ; do +# sed -e 's@lib/rpm/redhat@lib/rpm/pld@g' $f > ${f}.tmp +# mv -f ${f}.tmp $f +#done %build -%if %{with system_libmagic} -rm -rf file -%else -cd file %{__libtoolize} -%{__aclocal} -%{__autoheader} -%{__autoconf} -%{__automake} -cd .. -%endif - -%{__libtoolize} -%{__gettextize} +%{__autopoint} %{__aclocal} %{__autoheader} %{__autoconf} @@ -748,10 +700,10 @@ cd .. # config.guess doesn't handle athlon, so we have to change it by hand. # rpm checks for CPU type at runtime, but it looks better -sed -i -e 's|@host@|%{_target_cpu}-%{_target_vendor}-linux-gnu|' -e 's|@host_cpu@|%{_target_cpu}|' macros.in +#sed -i -e 's|@host@|%{_target_cpu}-%{_target_vendor}-linux-gnu|' -e 's|@host_cpu@|%{_target_cpu}|' macros.in +%{?with_system_lua:CPPFLAGS=-I/usr/include/lua51} # pass CC and CXX too in case of building with some older configure macro -# disable perl-RPM2 build, we have it in separate spec %configure \ CC="%{__newcc}" \ CXX="%{__newcxx}" \ @@ -760,34 +712,145 @@ sed -i -e 's|@host@|%{_target_cpu}-%{_target_vendor}-linux-gnu|' -e 's|@host_cpu %{?with_autoreqdep:--enable-adding-packages-names-in-autogenerated-dependancies} \ --enable-shared \ --enable-static \ - %{!?with_apidocs:--without-apidocs} \ - %{?with_python:--with-python=2.5} \ + %{?with_python:--with-python=%{py_ver} --with-python-lib-dir=%{py_sitedir}} \ %{!?with_python:--without-python} \ - %{!?with_selinux:--without-selinux} \ - --without-db + --with%{!?with_selinux:out}-selinux \ + --with-libelf \ + --with-zlib=external \ + --with-bzip2=external \ + --with-beecrypt=external \ + --with-neon=%{?with_neon:external}%{!?with_neon:no} \ + --with-file=external \ + --with-popt=external \ + --with-db=%{?with_db:external}%{!?with_db:no} \ + --with-sqlite=%{?with_sqlite:external}%{!?with_sqlite:no} \ + --with-dbapi=%{!?with_sqlite_dbapi:db}%{?with_sqlite_dbapi:sqlite} \ + --with-lua=%{!?with_system_lua:internal}%{?with_system_lua:external} \ + --with-pcre=no \ + --with-keyutils=none \ + --without-path-versioned \ + --with-path-macros='%{_rpmlibdir}/macros:%{_rpmlibdir}/macros.pld:%{_rpmlibdir}/macros.build:%{_rpmlibdir}/%%{_target}/macros:%{_sysconfdir}/macros.*:%{_sysconfdir}/macros:%{_sysconfdir}/%%{_target}/macros:~/etc/rpmmacros:~/etc/.rpmmacros:~/.rpmmacros' \ + --with-bugreport="http://bugs.pld-linux.org/" -# file_LDFLAGS, debugedit_LDADD - no need to link "file" and "debugedit" statically %{__make} \ CC="%{__cc}" \ CXX="%{__cxx}" \ - CPP="%{__cpp}" \ - pylibdir=%{py_libdir} \ - myLDFLAGS="%{rpmldflags}" \ - file_LDFLAGS= \ - debugedit_LDADD="\$(WITH_LIBELF_LIB) -lpopt" \ - staticLDFLAGS=%{?with_static:-all-static} + CPP="%{__cpp}" %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{/%{_lib},/etc/sysconfig,%{_sysconfdir}/rpm,/var/lib/banner} +install -d $RPM_BUILD_ROOT{/bin,/%{_lib},/etc/sysconfig,%{_sysconfdir}/rpm,/var/lib/banner,/var/cache/hrmib} %{__make} install \ - DESTDIR=$RPM_BUILD_ROOT \ - staticLDFLAGS=%{?with_static:-all-static} \ - pylibdir=%{py_libdir} \ - pkgbindir="%{_bindir}" + pkgconfigdir=%{_pkgconfigdir} \ + DESTDIR=$RPM_BUILD_ROOT + +# install ARCH macros +install -d $RPM_BUILD_ROOT%{_rpmlibdir}/noarch-linux +install %{SOURCE105} $RPM_BUILD_ROOT%{_rpmlibdir}/noarch-linux/macros + +%ifarch %{ix86} +install -d $RPM_BUILD_ROOT%{_rpmlibdir}/{i386,i486,i586,i686,athlon,pentium3,pentium4}-linux +install %{SOURCE100} $RPM_BUILD_ROOT%{_rpmlibdir}/athlon-linux/macros +install %{SOURCE101} $RPM_BUILD_ROOT%{_rpmlibdir}/i386-linux/macros +install %{SOURCE102} $RPM_BUILD_ROOT%{_rpmlibdir}/i486-linux/macros +install %{SOURCE103} $RPM_BUILD_ROOT%{_rpmlibdir}/i586-linux/macros +install %{SOURCE104} $RPM_BUILD_ROOT%{_rpmlibdir}/i686-linux/macros +install %{SOURCE106} $RPM_BUILD_ROOT%{_rpmlibdir}/pentium3-linux/macros +install %{SOURCE107} $RPM_BUILD_ROOT%{_rpmlibdir}/pentium4-linux/macros +%endif + +%ifarch %{x8664} +install -d $RPM_BUILD_ROOT%{_rpmlibdir}/{x86_64,ia32e,amd64}-linux +install %{SOURCE109} $RPM_BUILD_ROOT%{_rpmlibdir}/x86_64-linux/macros +install %{SOURCE110} $RPM_BUILD_ROOT%{_rpmlibdir}/ia32e-linux/macros +install %{SOURCE111} $RPM_BUILD_ROOT%{_rpmlibdir}/amd64-linux/macros +%endif + +%ifarch %{ppc} +install -d $RPM_BUILD_ROOT%{_rpmlibdir}/ppc-linux +install %{SOURCE108} $RPM_BUILD_ROOT%{_rpmlibdir}/ppc-linux/macros +%endif + +# first platform file entry can't contain regexps +echo "%{_target_cpu}-%{_target_vendor}-linux" > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform + +# x86_64 things +%ifarch x86_64 +echo "amd64-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +echo "x86_64-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +%endif +%ifarch amd64 +echo "amd64-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +echo "x86_64-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +%endif +%ifarch ia32e +echo "ia32e-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +echo "x86_64-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +%endif + +# x86 things +%ifarch athlon %{x8664} +echo "athlon-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +%endif +%ifarch pentium4 athlon %{x8664} +echo "pentium4-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +%endif +%ifarch pentium3 pentium4 athlon %{x8664} +echo "pentium3-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +%endif +%ifarch i686 pentium3 pentium4 athlon %{x8664} +echo "i686-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +%endif +%ifarch i586 i686 pentium3 pentium4 athlon %{x8664} +echo "i586-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +%endif +%ifarch i486 i586 i686 pentium3 pentium4 athlon %{x8664} +echo "i486-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +%endif +%ifarch %{ix86} %{x8664} +echo "i386-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +%endif + +%ifarch alpha +echo "alpha-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +%endif + +%ifarch ia64 +echo "ia64-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +%endif -echo "%{_target_cpu}-%{_target_vendor}-linux-gnu" > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +%ifarch ppc64 +echo "powerpc64-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +echo "ppc64-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +%endif +%ifarch %{ppc} ppc64 +echo "powerpc-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +echo "ppc-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +%endif + +%ifarch s390x +echo "s390x-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +%endif +%ifarch s390 s390x +echo "s390-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +%endif + +%ifarch sparc64 +echo "sparc64-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +echo "sparcv8-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +echo "sparcv9-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +%endif +%ifarch sparcv9 +echo "sparcv8-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +echo "sparcv9-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +%endif +%ifarch sparc sparcv9 sparc64 +echo "sparc-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +%endif + +# noarch +echo "noarch-[^-]*-.*" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform %ifarch %{ppc} #sed -e '/_target_platform/s/[%]{_target_cpu}/ppc/' \ @@ -797,6 +860,7 @@ echo "%{_target_cpu}-%{_target_vendor}-linux-gnu" > $RPM_BUILD_ROOT%{_sysconfdir rm $RPM_BUILD_ROOT%{_rpmlibdir}/vpkg-provides* rm $RPM_BUILD_ROOT%{_rpmlibdir}/find-{prov,req}.pl rm $RPM_BUILD_ROOT%{_rpmlibdir}/find-{provides,requires}.perl +rm $RPM_BUILD_ROOT%{_rpmlibdir}/find-lang.sh # not installed since 4.4.8 (-tools-perl subpackage) install scripts/rpmdiff scripts/rpmdiff.cgi $RPM_BUILD_ROOT%{_rpmlibdir} @@ -806,6 +870,7 @@ install macros.python $RPM_BUILD_ROOT%{_rpmlibdir}/macros.python install macros.php $RPM_BUILD_ROOT%{_rpmlibdir}/macros.php install macros.mono $RPM_BUILD_ROOT%{_rpmlibdir}/macros.mono install %{SOURCE15} $RPM_BUILD_ROOT%{_rpmlibdir}/macros.java +install %{SOURCE18} $RPM_BUILD_ROOT%{_rpmlibdir}/macros.pld install %{SOURCE1} doc/manual/groups install %{SOURCE3} $RPM_BUILD_ROOT%{_rpmlibdir}/install-build-tree @@ -816,17 +881,19 @@ install %{SOURCE13} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh install %{SOURCE16} $RPM_BUILD_ROOT%{_rpmlibdir}/java-find-requires install scripts/find-php* $RPM_BUILD_ROOT%{_rpmlibdir} install scripts/php.{prov,req} $RPM_BUILD_ROOT%{_rpmlibdir} +install %{SOURCE5} $RPM_BUILD_ROOT%{_rpmlibdir}/hrmib-cache install %{SOURCE14} $RPM_BUILD_ROOT/etc/sysconfig/rpm -install %{SOURCE30} $RPM_BUILD_ROOT%{_bindir}/builder -install %{SOURCE31} $RPM_BUILD_ROOT%{_bindir}/adapter.awk -install %{SOURCE32} $RPM_BUILD_ROOT%{_bindir}/pldnotify.awk -install %{SOURCE33} $RPM_BUILD_ROOT%{_bindir}/banner.sh +install %{SOURCE17} $RPM_BUILD_ROOT%{_bindir}/banner.sh -install %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo +install -d $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo -# obsolete but still installed -rm $RPM_BUILD_ROOT%{_rpmlibdir}/rpmrc +touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Conflictname +touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Dirnames +install %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Filelinktos +touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Obsoletename +touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Providename +touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Requirename cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros <> $m +done # remove arch dependant macros which have no use on noarch %{__sed} -i -e ' /{__spec_install_post_strip}/d @@ -936,17 +1009,20 @@ done /{__spec_install_post_compress_modules}/d ' $RPM_BUILD_ROOT%{_rpmlibdir}/noarch-linux/macros +# Bourne shell script vs ELF executable linked with rpm,rpmdb,rpmio +mv $RPM_BUILD_ROOT{%{_rpmlibdir},%{_bindir}}/rpm2cpio + %py_ocomp $RPM_BUILD_ROOT%{py_sitedir} %py_comp $RPM_BUILD_ROOT%{py_sitedir} -rm -f $RPM_BUILD_ROOT%{py_sitedir}/rpm/*.{la,a,py} +rm $RPM_BUILD_ROOT%{py_sitedir}/rpm/*.{la,a,py} -# (currently) not used or supported in PLD -rm -f $RPM_BUILD_ROOT%{_rpmlibdir}/{Specfile.pm,cpanflute,cpanflute2,find-provides,find-requires,freshen.sh,http.req,magic.prov,magic.req,perldeps.pl,sql.prov,sql.req,tcl.req} # wrong location, not used anyway -rm -f $RPM_BUILD_ROOT%{_rpmlibdir}/rpm.{daily,log,xinetd} -# manuals for utils dropped in 4.4.8 (?) -#rm -f $RPM_BUILD_ROOT%{_mandir}/{,*/}/man8/{rpmcache,rpmgraph}.8 +rm $RPM_BUILD_ROOT%{_rpmlibdir}/rpm.{daily,log,xinetd} +# utils dropped in 4.4.8 -- their manuals +rm $RPM_BUILD_ROOT%{_mandir}/{,*/}/man8/rpmgraph.8 +# unpackaged in 4.4.9, reasons unknown +rm $RPM_BUILD_ROOT%{_rpmlibdir}/symclash.{sh,py} %find_lang %{name} @@ -957,15 +1033,29 @@ rm -f manual/Makefile* %clean rm -rf $RPM_BUILD_ROOT +%triggerpostun lib -- %{name}-lib < %{version} +rm -f /var/lib/rpm/__db* + +%pretrans +# this needs to be a dir +if [ -f %{_sysconfdir}/rpm/sysinfo ]; then + umask 022 + mv -f %{_sysconfdir}/rpm/sysinfo{,.rpmsave} + mkdir %{_sysconfdir}/rpm/sysinfo +fi + +%triggerpostun -- %{name} < 4.4.9-44 +%{_rpmlibdir}/hrmib-cache + %post lib -p /sbin/ldconfig %postun lib -p /sbin/ldconfig -%pre build +%pretrans build find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %files -f %{name}.lang %defattr(644,root,root,755) -%doc CHANGES CREDITS README wdj/JBJ-GPG-KEY manual/* +%doc CHANGES CREDITS README pubkeys/JBJ-GPG-KEY manual/* %attr(755,root,root) /bin/rpm #%attr(755,root,root) %{_bindir}/rpmdb @@ -975,8 +1065,9 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %dir %{_sysconfdir}/rpm %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros +%dir %{_sysconfdir}/rpm/sysinfo # these are ok to be replaced -%config %verify(not md5 mtime size) %{_sysconfdir}/rpm/sysinfo +%config %verify(not md5 mtime size) %{_sysconfdir}/rpm/sysinfo/* %config %verify(not md5 mtime size) %{_sysconfdir}/rpm/platform @@ -993,6 +1084,10 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %dir /var/lock/rpm /var/lock/rpm/transaction +# exported package NVRA (stamped with install tid) +# net-snmp hrSWInstalledName queries, bash-completions +%dir /var/cache/hrmib + #%attr(755,root,root) %{_rpmlibdir}/rpmd #%{!?with_static:%attr(755,root,root) %{_rpmlibdir}/rpm[eiu]} #%attr(755,root,root) %{_rpmlibdir}/rpmk @@ -1000,6 +1095,9 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %{_rpmlibdir}/rpmpopt* %{_rpmlibdir}/macros +%{_rpmlibdir}/macros.pld + +%attr(755,root,root) %{_rpmlibdir}/hrmib-cache %files base %defattr(644,root,root,755) @@ -1011,20 +1109,28 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %files lib %defattr(644,root,root,755) -%attr(755,root,root) /%{_lib}/librpm*-*.so -%attr(755,root,root) %{_libdir}/librpm*-*.so +%attr(755,root,root) /%{_lib}/librpm-%{sover}.so +%attr(755,root,root) /%{_lib}/librpmdb-%{sover}.so +%attr(755,root,root) /%{_lib}/librpmio-%{sover}.so +%attr(755,root,root) /%{_lib}/librpmbuild-%{sover}.so %files devel %defattr(644,root,root,755) -%{_includedir}/rpm -%{_libdir}/librpm*.la %attr(755,root,root) %{_libdir}/librpm.so %attr(755,root,root) %{_libdir}/librpm-%{sover}.so -%attr(755,root,root) %{_libdir}/librpmio.so -%attr(755,root,root) %{_libdir}/librpmio-%{sover}.so +%attr(755,root,root) %{_libdir}/librpmbuild.so +%attr(755,root,root) %{_libdir}/librpmbuild-%{sover}.so +%attr(755,root,root) %{_libdir}/librpmconstant.so +%attr(755,root,root) %{_libdir}/librpmconstant-%{sover}.so %attr(755,root,root) %{_libdir}/librpmdb.so %attr(755,root,root) %{_libdir}/librpmdb-%{sover}.so -%attr(755,root,root) %{_libdir}/librpmbuild.so +%attr(755,root,root) %{_libdir}/librpmio.so +%attr(755,root,root) %{_libdir}/librpmio-%{sover}.so +%attr(755,root,root) %{_libdir}/librpmmisc.so +%attr(755,root,root) %{_libdir}/librpmmisc-%{sover}.so +%{_libdir}/librpm*.la +%{_includedir}/rpm +%{_pkgconfigdir}/*.pc %files static %defattr(644,root,root,755) @@ -1032,25 +1138,25 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %files utils %defattr(644,root,root,755) -%attr(755,root,root) %{_bindir}/debugedit +%attr(755,root,root) %{_bindir}/rpmconstant %attr(755,root,root) %{_bindir}/rpm2cpio -%attr(755,root,root) %{_bindir}/rpmdeps -%{!?with_system_libmagic:%attr(755,root,root) %{_bindir}/rpmfile} +%attr(755,root,root) %{_rpmlibdir}/rpmcache +%attr(755,root,root) %{_rpmlibdir}/rpmcmp +%attr(755,root,root) %{_rpmlibdir}/rpmdeps +%attr(755,root,root) %{_rpmlibdir}/debugedit +%attr(755,root,root) %{_rpmlibdir}/rpmdigest %attr(755,root,root) %{_rpmlibdir}/find-debuginfo.sh %attr(755,root,root) %{_rpmlibdir}/tgpg %attr(755,root,root) %{_rpmlibdir}/rpmdb_loadcvt %{_mandir}/man8/rpm2cpio.8* +%{_mandir}/man8/rpmcache.8* %{_mandir}/man8/rpmdeps.8* -#%{_mandir}/man8/rpmcache.8* -#%{_mandir}/man8/rpmgraph.8* %lang(ja) %{_mandir}/ja/man8/rpm2cpio.8* -#%lang(ja) %{_mandir}/ja/man8/rpmcache.8* -#%lang(ja) %{_mandir}/ja/man8/rpmgraph.8* +%lang(ja) %{_mandir}/ja/man8/rpmcache.8* %lang(ko) %{_mandir}/ko/man8/rpm2cpio.8* %lang(pl) %{_mandir}/pl/man8/rpm2cpio.8* +%lang(pl) %{_mandir}/pl/man8/rpmcache.8* %lang(pl) %{_mandir}/pl/man8/rpmdeps.8* -#%lang(pl) %{_mandir}/pl/man8/rpmcache.8* -#%lang(pl) %{_mandir}/pl/man8/rpmgraph.8* %lang(ru) %{_mandir}/ru/man8/rpm2cpio.8* %files utils-perl @@ -1071,10 +1177,9 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %attr(755,root,root) %{_rpmlibdir}/check-files # %attr(755,root,root) %{_rpmlibdir}/check-prereqs %attr(755,root,root) %{_rpmlibdir}/compress-doc -%attr(755,root,root) %{_rpmlibdir}/config.* +#%attr(755,root,root) %{_rpmlibdir}/config.* %attr(755,root,root) %{_rpmlibdir}/cross-build %attr(755,root,root) %{_rpmlibdir}/find-spec-bcond -%attr(755,root,root) %{_rpmlibdir}/find-lang.sh %attr(755,root,root) %{_rpmlibdir}/getpo.sh %attr(755,root,root) %{_rpmlibdir}/install-build-tree %attr(755,root,root) %{_rpmlibdir}/mkinstalldirs @@ -1083,8 +1188,8 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %attr(755,root,root) %{_rpmlibdir}/libtooldeps.sh # needs hacked pkg-config to return anything %attr(755,root,root) %{_rpmlibdir}/pkgconfigdeps.sh -%attr(755,root,root) %{_rpmlibdir}/rpmb -%attr(755,root,root) %{_rpmlibdir}/rpmt +#%attr(755,root,root) %{_rpmlibdir}/rpmb +#%attr(755,root,root) %{_rpmlibdir}/rpmt %{_rpmlibdir}/noarch-* %ifarch %{ix86} %{_rpmlibdir}/i?86* @@ -1107,6 +1212,8 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %{_rpmlibdir}/sparc* %endif %ifarch %{x8664} +%{_rpmlibdir}/amd64* +%{_rpmlibdir}/ia32e* %{_rpmlibdir}/x86_64* %endif # must be here for "Requires: rpm-*prov" to work @@ -1131,12 +1238,6 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %lang(pl) %{_mandir}/pl/man1/gendiff.1* %lang(pl) %{_mandir}/pl/man8/rpmbuild.8* -%files build-tools -%defattr(644,root,root,755) -%attr(755,root,root) %{_bindir}/builder -%attr(755,root,root) %{_bindir}/adapter.awk -%attr(755,root,root) %{_bindir}/pldnotify.awk - %files javaprov %defattr(644,root,root,755) %attr(755,root,root) %{_rpmlibdir}/java-find-requires @@ -1170,9 +1271,3 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %attr(755,root,root) %{py_sitedir}/rpm/*.so %{py_sitedir}/rpm/*.py[co] %endif - -%if %{with apidocs} -%files apidocs -%defattr(644,root,root,755) -%doc apidocs -%endif