X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=rpm.spec;h=b4fb4a30d6e2f3c16bd79957c20e180a96d80d38;hb=7ef0925fefbdd62823a587f203a110cb0d42959e;hp=f0a8936286152721d3c71cd5877a0e817e146c5f;hpb=428645e916360bb0442a358aa643ef20090a4da2;p=packages%2Frpm.git diff --git a/rpm.spec b/rpm.spec index f0a8936..b4fb4a3 100644 --- a/rpm.spec +++ b/rpm.spec @@ -1,19 +1,9 @@ # # TODO: -# - check if glob() patch needs resurrecting/rewriting -# - check if we want shell autodeps: Requires: executable(ln) executable(mv) -# - %{_arch} = i686 not as used to be i386 (platform file thing?): -# 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 +# - make key infrastructure code fallback from keyutils to plain mode in case keyctl +# returns -ENOSYS # - add macros for some ppc, mipsel, alpha and sparc # -# - headerGet() making poldek segfault http://rpm5.org/cvs/tktview?tn=38,1 -# - rpm doesn't exit when no sources/patches available http://rpm5.org/cvs/tktview?tn=40,1 -# - http://rpm5.org/cvs/tktview?tn=41&_submit=Show # - when adopting, use 4.5 ticket for checklist: https://bugs.launchpad.net/pld-linux/+bug/262985 # # Conditional build: @@ -22,11 +12,12 @@ %bcond_without python # don't build python bindings %bcond_without selinux # build without selinux support %bcond_without suggest_tags # build without Suggest tag (bootstrapping) -%bcond_without neon # build with HTTP/WebDAV support (neon library) +%bcond_with neon # build with HTTP/WebDAV support (neon library) %bcond_without db # BerkeleyDB %bcond_without sqlite # build with SQLite support %bcond_with sqlite_dbapi # default database backend is sqlite -%bcond_without system_lua # use system lua +%bcond_with system_lua # use system lua +%bcond_with keyutils # build with keyutils support # 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" @@ -40,7 +31,13 @@ ERROR %endif +%if %{with sqlite} +# Error: /lib64/librpmio-5.4.so: undefined symbol: sqlite3_enable_load_extension +%define sqlite_build_version %(pkg-config --silence-errors --modversion sqlite3 2>/dev/null || echo ERROR) +%endif + # versions of required libraries +%define reqdb_pkg db5.3 %define reqdb_ver 5.3 %define reqpopt_ver 1.15 %define beecrypt_ver 2:4.1.2-4 @@ -55,7 +52,7 @@ Summary(ru.UTF-8): Менеджер пакетов от RPM Summary(uk.UTF-8): Менеджер пакетів від RPM Name: rpm Version: 5.4.10 -Release: 0.7 +Release: 26 License: LGPL Group: Base # http://rpm5.org/files/rpm/rpm-5.4/rpm-5.4.10-0.20120706.src.rpm @@ -70,75 +67,84 @@ Source4: %{name}-find-spec-bcond Source5: %{name}-hrmib-cache Source6: %{name}-groups-po.awk Source7: %{name}-compress-doc -Source9: %{name}-php-provides -Source10: %{name}-php-requires -Source11: %{name}.sysinfo -Source12: perl.prov -Source13: %{name}-user_group.sh -Source14: %{name}.sysconfig -Source16: %{name}-java-requires +Source8: %{name}-php-provides +Source9: %{name}-php-requires +Source10: %{name}.sysinfo +Source11: perl.prov +Source12: %{name}-user_group.sh +Source13: %{name}.sysconfig +Source14: %{name}-java-requires # http://svn.pld-linux.org/banner.sh/ -Source17: banner.sh -Source19: ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc -# Source19-md5: 08b29584dd349aac9caa7610131a0a88 -Source20: %{name}-mimetypedeps -Source21: macros.local -Source22: rpm.noautocompressdoc -Source23: rpm.noautoprov -Source24: rpm.noautoprovfiles -Source25: rpm.noautoreq -Source26: rpm.noautoreqdep -Source27: rpm.noautoreqfiles -Source29: %{name}-php-requires.php - +Source15: banner.sh +Source16: ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc +# Source16-md5: 08b29584dd349aac9caa7610131a0a88 +Source17: %{name}-mimetypedeps +Source18: macros.local +Source19: rpm.noautocompressdoc +Source20: rpm.noautoprov +Source21: rpm.noautoprovfiles +Source22: rpm.noautoreq +Source23: rpm.noautoreqdep +Source24: rpm.noautoreqfiles +Source25: %{name}-php-requires.php +Source26: rpmdb_checkversion.c +Source27: macros.lang Patch0: %{name}-branch.patch Patch1: %{name}-man_pl.patch Patch2: %{name}-popt-aliases.patch Patch3: %{name}-rpmpopt.patch Patch4: %{name}-perl-macros.patch Patch5: %{name}-perl-req-perlfile.patch -Patch7: %{name}-scripts-closefds.patch -Patch8: %{name}-php-macros.patch -Patch9: %{name}-gettext-in-header.patch -Patch11: %{name}-lua.patch - -Patch14: %{name}-etc_dir.patch -Patch16: %{name}-php-deps.patch -Patch19: %{name}-glob.patch - -Patch26: %{name}-notsc.patch -Patch27: %{name}-hack-norpmlibdep.patch - -Patch34: %{name}-epoch0.patch -Patch35: %{name}-perl_req-INC_dirs.patch -Patch36: %{name}-debuginfo.patch - -Patch41: vendor-pld.patch - -Patch42: %{name}-old-fileconflicts-behaviour.patch - -Patch47: %{name}-javadeps.patch - -Patch55: %{name}-truncate-cvslog.patch - -Patch59: %{name}-libtool-deps.patch -Patch60: %{name}-mimetype.patch -Patch61: %{name}-sparc64.patch -Patch62: %{name}-gendiff.patch -Patch72: openmp.patch -Patch73: %{name}-URPM-build-fix.patch -Patch74: %{name}-db5.3.patch -Patch75: %{name}-helperEVR-noassert.patch -Patch76: %{name}-unglobal.patch -Patch77: %{name}-builddir-readlink.patch -Patch78: %{name}-changelog_order_check_nonfatal.patch -Patch79: %{name}-cleanbody.patch -Patch80: %{name}-dirdeps-macro.patch -Patch81: %{name}-installbeforeerase.patch -Patch82: %{name}-libmagic-locale.patch -Patch83: %{name}-namespace-probe.patch -Patch84: %{name}-popt-coreutils.patch -Patch85: %{name}-postun-nofail.patch +Patch6: %{name}-scripts-closefds.patch +Patch7: %{name}-php-macros.patch +Patch8: %{name}-gettext-in-header.patch +Patch9: %{name}-lua.patch +Patch10: %{name}-php-deps.patch +Patch11: %{name}-notsc.patch +Patch12: %{name}-hack-norpmlibdep.patch +Patch13: %{name}-epoch0.patch +Patch14: %{name}-perl_req-INC_dirs.patch +Patch15: %{name}-debuginfo.patch +Patch16: vendor-pld.patch +Patch17: %{name}-old-fileconflicts-behaviour.patch +Patch18: %{name}-javadeps.patch +Patch19: %{name}-truncate-cvslog.patch +Patch20: %{name}-libtool-deps.patch +Patch21: %{name}-mimetype.patch +Patch22: %{name}-sparc64.patch +Patch23: %{name}-gendiff.patch +Patch24: openmp.patch +Patch25: %{name}-URPM-build-fix.patch +Patch26: %{name}-db5.3.patch +Patch27: %{name}-helperEVR-noassert.patch +Patch28: %{name}-unglobal.patch +Patch29: %{name}-builddir-readlink.patch +Patch30: %{name}-changelog_order_check_nonfatal.patch +Patch31: %{name}-cleanbody.patch +Patch32: %{name}-dirdeps-macro.patch +Patch33: %{name}-installbeforeerase.patch +Patch34: %{name}-libmagic-locale.patch +Patch35: %{name}-namespace-compare.patch +Patch36: %{name}-popt-coreutils.patch +Patch37: %{name}-postun-nofail.patch +Patch38: %{name}-silence-RPM_CHAR_TYPE.patch +Patch39: %{name}-fix-missing-types-in-headers.patch +Patch40: %{name}-fix--p-interpreter-and-empty-script.patch +Patch41: %{name}-db_buffer_small.patch +Patch42: %{name}-pattern_Release.patch +Patch43: %{name}-fix-___build_pre-macro.patch +Patch44: %{name}-missing-patch-file-fails-build.patch +Patch45: %{name}-remove-misleading-missing-patch-message.patch +Patch46: %{name}-file-magic-can-be-mixed-case.patch +Patch47: %{name}-query-always-noisy.patch +Patch48: %{name}-verify-ghosts-broken-logic.patch +Patch49: %{name}-python-enable-compat-RPMSENSE.patch +Patch50: %{name}-dont-treat-gstreamer-modules-as-font.patch +Patch51: %{name}-gst-inspect-typo.patch +Patch52: %{name}-null-term-ascii-digest.patch +Patch53: %{name}-lua-enable-extra-libs.patch +Patch54: %{name}-fix-filedigests-verify.patch +Patch55: %{name}-disable-hmac-verify.patch # Patches imported from Mandriva @@ -240,19 +246,31 @@ Patch1037: rpm-5.4.10-fix-neon-saving-error-pages-as-target-file.patch # --ignorearch & --ignoreos to set these. # status: needs to be discussed upstream before thinking about merging Patch1038: rpm-5.4.10-support-ignore-arch-and-os-again.patch +# status: ready for merge +Patch1039: rpm-5.4.4-fix-same-package-with-epoch-possible-to-upgrade.patch +# we want that patch too, a bit of builder infrastructure relies on NOSIGNATURES +Patch1040: rpm-5.4.9-support-signatures-and-digest-disablers.patch +# lack insight on actual functionality, which anyways seems broken, so let's +# disable it to avoid errors from berkeley db.. +# status: keep locally +Patch1041: rpm-5.4.9-disable-l10ndir.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 -%{?with_db:BuildRequires: db-devel >= %{reqdb_ver}} +%{?with_db:BuildRequires: %{reqdb_pkg}-devel >= %{reqdb_ver}} BuildRequires: elfutils-devel >= 0.108 #BuildRequires: gettext-autopoint >= 0.11.4-2 BuildRequires: gettext-devel >= 0.11.4-2 -BuildRequires: keyutils-devel +%{?with_keyutils:BuildRequires: keyutils-devel} BuildRequires: libmagic-devel -%{?with_selinux:BuildRequires: libselinux-devel >= 1.18} +%if %{with selinux} +BuildRequires: libselinux-devel >= 2.1.0 +BuildRequires: libsepol-devel >= 2.1.0 +BuildRequires: libsemanage-devel >= 2.1.0 +%endif # needed only for AM_PROG_CXX used for CXX substitution in rpm.macros BuildRequires: libstdc++-devel BuildRequires: libtool >= 1:1.4.2-9 @@ -281,11 +299,15 @@ BuildRequires: tetex-pdftex # Require static library only for static build BuildRequires: beecrypt-static >= %{beecrypt_ver} BuildRequires: bzip2-static >= 1.0.2-17 -%{?with_db:BuildRequires: db-static >= %{reqdb_ver}} +%{?with_db:BuildRequires: %{reqdb_pkg}-static >= %{reqdb_ver}} BuildRequires: elfutils-static BuildRequires: glibc-static >= 2.2.94 BuildRequires: libmagic-static -%{?with_selinux:BuildRequires: libselinux-static >= 1.18} +%if %{with selinux} +BuildRequires: libselinux-static >= 2.1.0 +BuildRequires: libsepol-static >= 2.1.0 +BuildRequires: libsemanage-static >= 2.1.0 +%endif BuildRequires: popt-static >= %{reqpopt_ver} BuildRequires: zlib-static %endif @@ -304,7 +326,6 @@ Conflicts: lzma-libs < 4.999.3 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _binary_payload w9.gzdio -%define _noPayloadPrefix 1 # don't require very fresh rpm.macros to build %define __gettextize gettextize --copy --force --intl ; cp -f po/Makevars{.template,} @@ -398,10 +419,11 @@ Summary: RPMs library Summary(pl.UTF-8): Biblioteki RPM-a Group: Libraries Requires: beecrypt >= %{beecrypt_ver} -%{?with_db:Requires: db >= %{reqdb_ver}} +%{?with_db:Requires: %{reqdb_pkg} >= %{reqdb_ver}} Requires: libmagic >= 1.15-2 -%{?with_selinux:Requires: libselinux >= 1.18} +%{?with_selinux:Requires: libselinux >= 2.1.0} Requires: popt >= %{reqpopt_ver} +%{?with_sqlite:Requires: sqlite3 >= %{sqlite_build_version}} Obsoletes: rpm-libs # avoid SEGV caused by mixed db versions Conflicts: poldek < 0.18.1-16 @@ -424,9 +446,9 @@ Group: Development/Libraries Requires: %{name}-lib = %{version}-%{release} Requires: beecrypt-devel >= %{beecrypt_ver} Requires: bzip2-devel -%{?with_db:Requires: db-devel >= %{reqdb_ver}} +%{?with_db:Requires: %{reqdb_pkg}-devel >= %{reqdb_ver}} Requires: elfutils-devel -Requires: keyutils-devel +%{?with_keyutils:Requires: keyutils-devel} Requires: libmagic-devel %{?with_selinux:Requires: libselinux-devel} Requires: popt-devel >= %{reqpopt_ver} @@ -488,9 +510,9 @@ Group: Development/Libraries Requires: %{name}-devel = %{version}-%{release} Requires: beecrypt-static >= %{beecrypt_ver} Requires: bzip2-static -%{?with_db:Requires: db-static >= %{reqdb_ver}} +%{?with_db:Requires: %{reqdb_pkg}-static >= %{reqdb_ver}} Requires: elfutils-static -Requires: keyutils-static +%{?with_keyutils:Requires: keyutils-static} Requires: libmagic-static Requires: popt-static >= %{reqpopt_ver} Requires: zlib-static @@ -584,7 +606,7 @@ Summary(ru.UTF-8): Скрипты и утилиты, необходимые дл Summary(uk.UTF-8): Скрипти та утиліти, необхідні для побудови пакетів Group: Applications/File Requires(pre): findutils -Requires: %{name}-build-macros >= 1.433-2 +Requires: %{name}-build-macros >= 1.653 Requires: %{name}-utils = %{version}-%{release} Requires: /bin/id Requires: awk @@ -761,47 +783,61 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze %patch3 -p1 %patch4 -p1 %patch5 -p1 +%patch6 -p1 %patch7 -p1 %patch8 -p1 -%patch9 -p1 -%{?with_system_lua:%patch11 -p1} -# CHECK ME - macrofiles: ~/etc could be used -#%%patch14 -p1 -%patch16 -p1 +%{?with_system_lua:%patch9 -p1} +%patch10 -p1 %ifnarch i386 i486 # enable TSC for capable archs -%patch26 -p1 +%patch11 -p1 +%endif +%patch12 -p1 +%patch13 -p1 +%patch14 -p0 +%patch15 -p1 +%patch16 -p1 +%patch17 -p1 +%patch18 -p1 +%patch19 -p1 +%patch20 -p1 +%patch21 -p1 +%ifarch sparc64 +%patch22 -p1 %endif +%patch23 -p1 +%patch24 -p1 +%patch25 -p1 +%patch26 -p1 %patch27 -p1 +%patch28 -p1 +%patch29 -p1 +%patch30 -p1 +%patch31 -p1 +%patch32 -p1 +%patch33 -p1 %patch34 -p1 -%patch35 -p0 +%patch35 -p1 %patch36 -p1 +%patch37 -p1 +%patch38 -p1 +%patch39 -p1 +%patch40 -p1 %patch41 -p1 %patch42 -p1 +%patch43 -p1 +%patch44 -p1 +%patch45 -p1 +%patch46 -p1 %patch47 -p1 +%patch48 -p1 +%patch49 -p1 +%patch50 -p1 +%patch51 -p1 +%patch52 -p0 +%patch53 -p1 +%patch54 -p1 %patch55 -p1 -%patch59 -p1 -# Maybe, at last we can remove this? -#patch19 -p1 -%patch60 -p1 -%ifarch sparc64 -%patch61 -p1 -%endif -%patch62 -p1 -%patch72 -p1 -b .wiget -%patch73 -p1 -%patch74 -p1 -%patch75 -p1 -%patch76 -p1 -%patch77 -p1 -%patch78 -p1 -%patch79 -p1 -%patch80 -p1 -%patch81 -p1 -%patch82 -p1 -%patch83 -p1 -%patch84 -p1 -%patch85 -p1 %patch1000 -p1 %patch1001 -p1 @@ -842,17 +878,22 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze %patch1036 -p1 %patch1037 -p1 %patch1038 -p1 +%patch1039 -p1 +%patch1040 -p1 +%patch1041 -p1 install %{SOURCE2} macros/pld.in -install %{SOURCE9} scripts/php.prov.in -install %{SOURCE10} scripts/php.req.in -install %{SOURCE12} scripts/perl.prov.in +install %{SOURCE8} scripts/php.prov.in +install %{SOURCE9} scripts/php.req.in +install %{SOURCE11} scripts/perl.prov.in %{__mv} -f scripts/perl.req{,.in} # generate Group translations to *.po awk -f %{SOURCE6} %{SOURCE1} +install %{SOURCE26} tools/rpmdb_checkversion.c + %build %{__libtoolize} #%{__autopoint} @@ -875,12 +916,15 @@ sed -i \ CXX="%{__newcxx}" \ CPP="%{__newcpp}" \ WITH_PERL_VERSION=no \ + __GST_INSPECT=%{_bindir}/gst-inspect-1.0 \ --enable-shared \ --enable-static \ %{!?with_apidocs:--without-apidocs} \ %{?with_python:--with-python=%{py_ver} --with-python-lib-dir=%{py_sitedir}} \ %{!?with_python:--without-python} \ - --with%{!?with_selinux:out}-selinux \ + --with-selinux=%{!?with_selinux:no}%{?with_selinux:external} \ + --with-sepol=%{!?with_selinux:not}%{?with_selinux:external} \ + --with-semanage=%{!?with_selinux:no}%{?with_selinux:external} \ --with-libelf \ --with-zlib=external \ --with-bzip2=external \ @@ -895,10 +939,10 @@ sed -i \ --with-dbapi=%{!?with_sqlite_dbapi:db}%{?with_sqlite_dbapi:sqlite} \ --with-lua=%{!?with_system_lua:internal}%{?with_system_lua:external} \ --with-pcre=external \ - --with-keyutils=none \ + --with-keyutils=%{?with_keyutils:external}%{!?with_keyutils:no} \ --with-uuid=%{_libdir}:%{_includedir}/ossp-uuid \ --without-path-versioned \ - --with-extra-path-macros='%{_sysconfdir}/rpm/macros.d/*.macros:%{_rpmlibdir}/macros.build:%{_rpmlibdir}/macros.d/pld:~/etc/rpmmacros:~/etc/.rpmmacros:~/.rpmmacros' \ + --with-extra-path-macros='%{_sysconfdir}/rpm/macros.d/*.macros:%{_rpmlibdir}/macros.d/pld:%{_rpmlibdir}/macros.build:~/etc/.rpmmacros:~/.rpmmacros' \ --with-bugreport="http://bugs.pld-linux.org/" \ --with-vendor=pld @@ -909,11 +953,14 @@ sed -i \ %{?with_apidocs:%{__make} apidocs} +%{__cc} %{rpmcflags} tools/rpmdb_checkversion.c -o tools/rpmdb_checkversion -ldb-%{reqdb_ver} + %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{/bin,/%{_lib},/etc/sysconfig,%{_sysconfdir}/rpm,/var/lib/banner,/var/cache/hrmib,/etc/pki/rpm-gpg} +install -d $RPM_BUILD_ROOT{/bin,/%{_lib},/etc/sysconfig,%{_sysconfdir}/rpm} \ + $RPM_BUILD_ROOT{/var/lib/banner,/var/cache/hrmib,/etc/pki/rpm-gpg} -install %{SOURCE19} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc +install %{SOURCE16} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc %{__make} install \ pkgconfigdir=%{_pkgconfigdir} \ @@ -1040,34 +1087,42 @@ install %{SOURCE1} doc/manual/groups install %{SOURCE3} $RPM_BUILD_ROOT%{_rpmlibdir}/install-build-tree install %{SOURCE4} $RPM_BUILD_ROOT%{_rpmlibdir}/find-spec-bcond install %{SOURCE7} $RPM_BUILD_ROOT%{_rpmlibdir}/compress-doc -install %{SOURCE13} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh -install %{SOURCE16} $RPM_BUILD_ROOT%{_rpmlibdir}/java-find-requires +install %{SOURCE12} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh +install %{SOURCE14} $RPM_BUILD_ROOT%{_rpmlibdir}/java-find-requires install scripts/find-php* $RPM_BUILD_ROOT%{_rpmlibdir} install scripts/php.{prov,req} $RPM_BUILD_ROOT%{_rpmlibdir} -cp -p %{SOURCE29} $RPM_BUILD_ROOT%{_rpmlibdir}/php.req.php -install %{SOURCE20} $RPM_BUILD_ROOT%{_rpmlibdir}/mimetypedeps.sh +cp -p %{SOURCE25} $RPM_BUILD_ROOT%{_rpmlibdir}/php.req.php +install %{SOURCE17} $RPM_BUILD_ROOT%{_rpmlibdir}/mimetypedeps.sh install %{SOURCE5} $RPM_BUILD_ROOT%{_rpmlibdir}/hrmib-cache -install %{SOURCE14} $RPM_BUILD_ROOT/etc/sysconfig/rpm +install %{SOURCE13} $RPM_BUILD_ROOT/etc/sysconfig/rpm -install %{SOURCE17} $RPM_BUILD_ROOT%{_bindir}/banner.sh +install %{SOURCE15} $RPM_BUILD_ROOT%{_bindir}/banner.sh install -d $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo -install %{SOURCE21} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros -install %{SOURCE22} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautocompressdoc -install %{SOURCE23} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprov -install %{SOURCE24} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles -install %{SOURCE25} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreq -install %{SOURCE26} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqdep -install %{SOURCE27} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqfiles +install %{SOURCE18} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros +install %{SOURCE27} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.lang +install %{SOURCE19} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautocompressdoc +install %{SOURCE20} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprov +install %{SOURCE21} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles +install %{SOURCE22} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreq +install %{SOURCE23} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqdep +install %{SOURCE24} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqfiles 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 +install %{SOURCE10} $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 +install tools/rpmdb_checkversion $RPM_BUILD_ROOT%{_rpmlibdir}/bin + +# create macro loading wrappers for backward compatibility +for m in gstreamer java mono perl php python; do + echo "%%{load:%{_rpmlibdir}/macros.d/$m}" >$RPM_BUILD_ROOT%{_rpmlibdir}/macros.$m +done + # for rpm -e|-U --repackage install -d $RPM_BUILD_ROOT/var/{spool/repackage,lock/rpm} touch $RPM_BUILD_ROOT/var/lock/rpm/transaction @@ -1106,9 +1161,6 @@ cp -a doc/manual manual %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 @@ -1117,6 +1169,25 @@ if [ -f %{_sysconfdir}/rpm/sysinfo ]; then mkdir %{_sysconfdir}/rpm/sysinfo fi +%posttrans +if [ -x %{_rpmlibdir}/bin/rpmdb_checkversion ] && \ + ! %{_rpmlibdir}/bin/rpmdb_checkversion -h /var/lib/rpm -d /var/lib/rpm ; then + if [ ! -e /var/lib/rpm.rpmbackup-%{version}-%{release} ] && \ + /bin/cp -a /var/lib/rpm /var/lib/rpm.rpmbackup-%{version}-%{release} ; then + echo + echo "Backup of the rpm database has been created in /var/lib/rpm.rpmbackup-%{version}-%{release}" + echo + fi + if [ -x %{_rpmlibdir}/bin/dbconvert ]; then + if ! %{_rpmlibdir}/bin/dbconvert --rebuilddb ; then + echo + echo "rpm database conversion failed!" + echo "You have to run %{_rpmlibdir}/bin/dbconvert manually" + echo + fi + fi +fi + %triggerpostun -- %{name} < 4.4.9-44 %{_rpmlibdir}/hrmib-cache @@ -1136,6 +1207,7 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %attr(755,root,root) /bin/rpm %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros.lang %dir %{_sysconfdir}/rpm/sysinfo # these are ok to be replaced %config %verify(not md5 mtime size) %{_sysconfdir}/rpm/sysinfo/* @@ -1172,6 +1244,7 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %dir %{_rpmlibdir}/bin %attr(755,root,root) %{_rpmlibdir}/bin/dbconvert +%attr(755,root,root) %{_rpmlibdir}/bin/rpmdb_checkversion %files base %defattr(644,root,root,755) @@ -1232,7 +1305,17 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %attr(755,root,root) %{_rpmlibdir}/bin/rpmcmp %attr(755,root,root) %{_rpmlibdir}/bin/rpmdeps %attr(755,root,root) %{_rpmlibdir}/bin/rpmdigest -%attr(755,root,root) %{_rpmlibdir}/bin/rpmkey +%if %{with selinux} +%attr(755,root,root) %{_rpmlibdir}/bin/semodule +%attr(755,root,root) %{_rpmlibdir}/bin/spooktool +%endif +%if %{without system_lua} +%attr(755,root,root) %{_rpmlibdir}/bin/lua +%attr(755,root,root) %{_rpmlibdir}/bin/luac +%attr(755,root,root) %{_rpmlibdir}/bin/rpmlua +%attr(755,root,root) %{_rpmlibdir}/bin/rpmluac +%endif +%{?with_keyutils:%attr(755,root,root) %{_rpmlibdir}/bin/rpmkey} %attr(755,root,root) %{_rpmlibdir}/bin/rpmrepo %{_mandir}/man8/rpm2cpio.8* %{_mandir}/man8/rpmcache.8* @@ -1331,6 +1414,13 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %{_rpmlibdir}/macros.d/selinux %{_rpmlibdir}/macros.d/tcl %{_rpmlibdir}/macros.rpmbuild +# compat wrappers +%{_rpmlibdir}/macros.gstreamer +%{_rpmlibdir}/macros.java +%{_rpmlibdir}/macros.mono +%{_rpmlibdir}/macros.perl +%{_rpmlibdir}/macros.php +%{_rpmlibdir}/macros.python %attr(755,root,root) %{_rpmlibdir}/check-multiarch-files %attr(755,root,root) %{_rpmlibdir}/gem_helper.rb