]> git.pld-linux.org Git - packages/rpm.git/blobdiff - rpm.spec
- release 7 (by relup.sh)
[packages/rpm.git] / rpm.spec
index 64096791f9afcc5c7b0d16d70db92f6599194858..32e18a026645793f7b559a4ff26eeda585280070 100644 (file)
--- a/rpm.spec
+++ b/rpm.spec
 
 %define                db_ver          5.3.28.0
 %define                popt_ver        1.15
 
 %define                db_ver          5.3.28.0
 %define                popt_ver        1.15
-%define                sover           9.1.0
+%define                sover           9.1.2
 
 
- %if %{_ver_ge '%{_rpmversion}' '4.12'} && %{_ver_lt '%{_rpmversion}' '5.0'}
- %define       with_recommends_tags
- %endif
+%if "%{_rpmversion}" >= "4.12" && "%{_rpmversion}" < "5"
+%define        with_recommends_tags    1
+%endif
 
 Summary:       RPM Package Manager
 Summary(de.UTF-8):     RPM Packet-Manager
 
 Summary:       RPM Package Manager
 Summary(de.UTF-8):     RPM Packet-Manager
@@ -25,13 +25,13 @@ Summary(pt_BR.UTF-8):       Gerenciador de pacotes RPM
 Summary(ru.UTF-8):     Менеджер пакетов от RPM
 Summary(uk.UTF-8):     Менеджер пакетів від RPM
 Name:          rpm
 Summary(ru.UTF-8):     Менеджер пакетов от RPM
 Summary(uk.UTF-8):     Менеджер пакетів від RPM
 Name:          rpm
-Version:       4.16.0
-Release:       0.1
+Version:       4.16.1.2
+Release:       7
 Epoch:         1
 License:       GPL v2 / LGPL v2.1
 Group:         Base
 Source0:       http://ftp.rpm.org/releases/rpm-4.16.x/%{name}-%{version}.tar.bz2
 Epoch:         1
 License:       GPL v2 / LGPL v2.1
 Group:         Base
 Source0:       http://ftp.rpm.org/releases/rpm-4.16.x/%{name}-%{version}.tar.bz2
-# Source0-md5: 434e166a812e35ef181f6dd176326920
+# Source0-md5: 0d10f63a0a4c9517cf3808a601378399
 Source1:       ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc
 # Source1-md5: 23914bb49fafe7153cee87126d966461
 Source2:       macros.local
 Source1:       ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc
 # Source1-md5: 23914bb49fafe7153cee87126d966461
 Source2:       macros.local
@@ -40,7 +40,6 @@ Source4:      %{name}.sysconfig
 Source5:       %{name}.groups
 Source6:       %{name}-groups-po.awk
 Source7:       %{name}-install-tree
 Source5:       %{name}.groups
 Source6:       %{name}-groups-po.awk
 Source7:       %{name}-install-tree
-Source8:       %{name}-hrmib-cache
 Source9:       %{name}-user_group.sh
 # http://svn.pld-linux.org/banner.sh/
 Source10:      banner.sh
 Source9:       %{name}-user_group.sh
 # http://svn.pld-linux.org/banner.sh/
 Source10:      banner.sh
@@ -49,9 +48,6 @@ Source12:     %{name}.noautoprovfiles
 Source13:      %{name}.noautoreq
 Source14:      %{name}.noautoreqfiles
 Source15:      perl.prov
 Source13:      %{name}.noautoreq
 Source14:      %{name}.noautoreqfiles
 Source15:      perl.prov
-Source16:      %{name}db_checkversion.c
-Source17:      %{name}db_reset.c
-Source18:      dbupgrade.sh
 Patch0:                %{name}-man_pl.patch
 Patch1:                %{name}-popt-aliases.patch
 Patch2:                %{name}-perl-macros.patch
 Patch0:                %{name}-man_pl.patch
 Patch1:                %{name}-popt-aliases.patch
 Patch2:                %{name}-perl-macros.patch
@@ -69,10 +65,25 @@ Patch14:    %{name}-ignore-missing-macro-files.patch
 Patch15:       x32.patch
 Patch16:       rpm5-db-compat.patch
 Patch17:       python-internal-build.patch
 Patch15:       x32.patch
 Patch16:       rpm5-db-compat.patch
 Patch17:       python-internal-build.patch
-Patch18:       rpmversion.patch
+Patch18:       missing-macros.patch
 Patch19:       pkgconfig.patch
 Patch20:       uname-deps.patch
 Patch21:       aarch64.patch
 Patch19:       pkgconfig.patch
 Patch20:       uname-deps.patch
 Patch21:       aarch64.patch
+Patch22:       ix86-platforms.patch
+Patch23:       shortcircuited-deps.patch
+Patch24:       cpuinfo-deps.patch
+Patch25:       rpmio-read-proc-files.patch
+Patch26:       allow-at-in-ver-rel.patch
+Patch27:       no-exeonly-for-elf-reqprov.patch
+Patch28:       default-patch-flags.patch
+Patch29:       %{name}-noarch_py_prov.patch
+Patch30:       missing-ghost-terminate-build.patch
+Patch31:       missing-doc-terminate-build.patch
+Patch32:       noexpand.patch
+Patch33:       sqlite-db-backend.patch
+Patch34:       skip-symlinks.patch
+Patch35:       pl-po.patch
+Patch36:       build-locale.patch
 URL:           https://rpm.org/
 BuildRequires: acl-devel
 BuildRequires: db-devel >= %{db_ver}
 URL:           https://rpm.org/
 BuildRequires: acl-devel
 BuildRequires: db-devel >= %{db_ver}
@@ -94,7 +105,6 @@ BuildRequires:       libselinux-devel >= 2.1.0
 # needed only for AM_PROG_CXX used for CXX substitution in rpm.macros
 BuildRequires: libstdc++-devel
 BuildRequires: libtool >= 1:1.4.2-9
 # needed only for AM_PROG_CXX used for CXX substitution in rpm.macros
 BuildRequires: libstdc++-devel
 BuildRequires: libtool >= 1:1.4.2-9
-BuildRequires: ossp-uuid-devel
 BuildRequires: patch >= 2.2
 BuildRequires: pkgconfig(lua) >= 5.1
 BuildRequires: popt-devel >= %{popt_ver}
 BuildRequires: patch >= 2.2
 BuildRequires: pkgconfig(lua) >= 5.1
 BuildRequires: popt-devel >= %{popt_ver}
@@ -102,6 +112,7 @@ BuildRequires:      python3-modules
 %if %{with python3}
 BuildRequires: python3-devel
 BuildRequires: rpm-pythonprov
 %if %{with python3}
 BuildRequires: python3-devel
 BuildRequires: rpm-pythonprov
+BuildRequires: rpmbuild(macros) >= 1.750
 %endif
 BuildRequires: sqlite3-devel >= 3.22.0
 BuildRequires: tcl
 %endif
 BuildRequires: sqlite3-devel >= 3.22.0
 BuildRequires: tcl
@@ -558,9 +569,24 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
 %patch18 -p1
 %patch19 -p1
 %patch20 -p1
 %patch18 -p1
 %patch19 -p1
 %patch20 -p1
-%ifarch aarch64
 %patch21 -p1
 %patch21 -p1
-%endif
+%patch22 -p1
+%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 -p1
+%patch36 -p1
+
+%{__rm} po/*.gmo
 
 install %{SOURCE15} scripts/perl.prov.in
 
 
 install %{SOURCE15} scripts/perl.prov.in
 
@@ -569,9 +595,6 @@ install %{SOURCE15} scripts/perl.prov.in
 # generate Group translations to *.po
 awk -f %{SOURCE6} %{SOURCE5}
 
 # generate Group translations to *.po
 awk -f %{SOURCE6} %{SOURCE5}
 
-install %{SOURCE16} tools/rpmdb_checkversion.c
-install %{SOURCE17} tools/rpmdb_reset.c
-
 %{__sed} -i -e '1s,/usr/bin/python,%{__python3},' scripts/pythondistdeps.py
 
 %build
 %{__sed} -i -e '1s,/usr/bin/python,%{__python3},' scripts/pythondistdeps.py
 
 %build
@@ -599,6 +622,7 @@ sed -i \
        --disable-silent-rules \
        --enable-shared \
        --enable-bdb \
        --disable-silent-rules \
        --enable-shared \
        --enable-bdb \
+       --enable-bdb-ro \
        --enable-ndb \
        --enable-sqlite \
        --enable-zstd \
        --enable-ndb \
        --enable-sqlite \
        --enable-zstd \
@@ -614,17 +638,7 @@ sed -i \
 
 %{__make}
 
 
 %{__make}
 
-%{__cc} %{rpmcflags} tools/rpmdb_checkversion.c -o tools/rpmdb_checkversion -ldb
-%{__cc} %{rpmcflags} tools/rpmdb_reset.c -o tools/rpmdb_reset -ldb
-
-if tools/rpmdb_checkversion -V 2>&1 | grep "t match library version"; then
-       echo "Error linking rpmdb tools!"
-       exit 1
-fi
-if tools/rpmdb_reset -V 2>&1 | grep "t match library version"; then
-       echo "Error linking rpmdb tools!"
-       exit 1
-fi
+%{__make} -C po update-gmo
 
 %if %{with python3}
 cd python
 
 %if %{with python3}
 cd python
@@ -634,7 +648,7 @@ cd python
 %install
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT{/bin,/%{_lib},/etc/sysconfig,%{_sysconfdir}/{rpm,pki/rpm-gpg}} \
 %install
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT{/bin,/%{_lib},/etc/sysconfig,%{_sysconfdir}/{rpm,pki/rpm-gpg}} \
-       $RPM_BUILD_ROOT{/var/lib/{banner,rpm},/var/cache/hrmib}
+       $RPM_BUILD_ROOT{/var/lib/{banner,rpm},/usr/lib/.build-id}
 
 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
 
 
 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
 
@@ -675,8 +689,11 @@ rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc*series-linux/macros
 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/aarch64-linux/macros
 %endif
 
 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/aarch64-linux/macros
 %endif
 
-rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/alpha*-linux/macros
+%ifnarch %{arm}
 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/arm*-linux/macros
 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/arm*-linux/macros
+%endif
+
+rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/alpha*-linux/macros
 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia64-linux/macros
 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/mips*-linux/macros
 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/riscv64-linux/macros
 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia64-linux/macros
 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/mips*-linux/macros
 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/riscv64-linux/macros
@@ -684,13 +701,20 @@ rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/s390*-linux/macros
 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sh*-linux/macros
 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sparc*-linux/macros
 
 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sh*-linux/macros
 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sparc*-linux/macros
 
+cat <<'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
+%ifarch x32
+%{_target_cpu}-%{_target_vendor}-linux-gnux32
+%else
+%{_target_cpu}-%{_target_vendor}-linux
+%endif
+EOF
+
 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/find-lang.sh
 
 install -d $RPM_BUILD_ROOT%{_rpmlibdir}/pld
 
 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_rpmlibdir}/install-build-tree
 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh
 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/find-lang.sh
 
 install -d $RPM_BUILD_ROOT%{_rpmlibdir}/pld
 
 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_rpmlibdir}/install-build-tree
 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh
-cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_rpmlibdir}/hrmib-cache
 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rpm
 
 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_bindir}/banner.sh
 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rpm
 
 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_bindir}/banner.sh
@@ -702,10 +726,6 @@ cp -p %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles
 cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreq
 cp -p %{SOURCE14} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqfiles
 
 cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreq
 cp -p %{SOURCE14} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqfiles
 
-cp -p tools/rpmdb_checkversion $RPM_BUILD_ROOT%{_rpmlibdir}/
-cp -p tools/rpmdb_reset $RPM_BUILD_ROOT%{_rpmlibdir}/
-cp -p %{SOURCE18} $RPM_BUILD_ROOT%{_rpmlibdir}/dbupgrade.sh
-
 # move rpm to /bin
 %{__mv} $RPM_BUILD_ROOT%{_bindir}/rpm $RPM_BUILD_ROOT/bin
 ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmquery
 # move rpm to /bin
 %{__mv} $RPM_BUILD_ROOT%{_bindir}/rpm $RPM_BUILD_ROOT/bin
 ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmquery
@@ -717,10 +737,16 @@ for a in librpm.so librpmbuild.so librpmio.so librpmsign.so; do
        ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/${a}.*.*.*) $RPM_BUILD_ROOT%{_libdir}/${a}
 done
 
        ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/${a}.*.*.*) $RPM_BUILD_ROOT%{_libdir}/${a}
 done
 
-#./rpmdb --macros=macros --rcfile=rpmrc --dbpath=/home/users/baggins/devel/PLD/rpm/BUILD/rpm-4.15.1/x/ --initdb
-
-# Make sure we have bdb set a default backend
-grep -qE "db_backend[[:blank:]]+bdb" $RPM_BUILD_ROOT%{_rpmlibdir}/macros
+# init an empty database for %ghost'ing for all supported backends
+for be in sqlite bdb ndb; do
+       ./rpmdb \
+               --macros=$RPM_BUILD_ROOT%{_rpmlibdir}/macros \
+               --rcfile=$RPM_BUILD_ROOT%{_rpmlibdir}/rpmrc \
+               --dbpath=${PWD}/${be} \
+               --define "_db_backend ${be}" \
+               --initdb
+       cp -va ${be}/. $RPM_BUILD_ROOT/var/lib/rpm/
+done
 
 %if %{with python3}
 # Remove anything that rpm make install might put there
 
 %if %{with python3}
 # Remove anything that rpm make install might put there
@@ -741,8 +767,7 @@ cd ..
 rm -rf $RPM_BUILD_ROOT
 
 %posttrans
 rm -rf $RPM_BUILD_ROOT
 
 %posttrans
-if [ -e /var/lib/rpm/Packages ] && \
-               ! %{_rpmlibdir}/rpmdb_checkversion -h /var/lib/rpm -d /var/lib/rpm; then
+if [ -e /var/lib/rpm/Packages ]; then
        if [ ! -e /var/lib/rpm.rpmbackup-%{version}-%{release} ] && \
                        /bin/cp -a /var/lib/rpm /var/lib/rpm.rpmbackup-%{version}-%{release}; then
                echo
        if [ ! -e /var/lib/rpm.rpmbackup-%{version}-%{release} ] && \
                        /bin/cp -a /var/lib/rpm /var/lib/rpm.rpmbackup-%{version}-%{release}; then
                echo
@@ -753,12 +778,19 @@ if [ -e /var/lib/rpm/Packages ] && \
        echo 'If poldek aborts after migration with rpmdb error, this is expected behaviour,'
        echo 'you should ignore it and restart poldek'
        echo
        echo 'If poldek aborts after migration with rpmdb error, this is expected behaviour,'
        echo 'you should ignore it and restart poldek'
        echo
-       %{_rpmlibdir}/dbupgrade.sh
+       %{__rm} -rf /var/lib/rpm/log >/dev/null 2>/dev/null || :
+       %{__rm} -rf /var/lib/rpm/tmp >/dev/null 2>/dev/null || :
+       # Unlock database for rebuild, safe since this is posttrans
+       %{__rm} -f /var/lib/rpm/.rpm.lock >/dev/null 2>/dev/null || :
+       if ! /usr/bin/rpmdb --rebuilddb; then
+               echo
+               echo "rpm database conversion failed!"
+               echo "You have to run '/usr/bin/rpmdb --rebuilddb' manually"
+               echo
+               exit 1
+       fi
 fi
 
 fi
 
-%triggerpostun -- %{name} < 4.4.9-44
-%{_rpmlibdir}/hrmib-cache
-
 %post  lib -p /sbin/ldconfig
 %postun lib -p /sbin/ldconfig
 
 %post  lib -p /sbin/ldconfig
 %postun lib -p /sbin/ldconfig
 
@@ -780,6 +812,8 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros.lang
 
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros.lang
+# this is ok to be replaced
+%config %verify(not md5 mtime size) %{_sysconfdir}/rpm/platform
 
 %{_mandir}/man8/rpm.8*
 %{_mandir}/man8/rpmdb.8*
 
 %{_mandir}/man8/rpm.8*
 %{_mandir}/man8/rpmdb.8*
@@ -794,10 +828,8 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %lang(sk) %{_mandir}/sk/man8/rpm.8*
 
 %dir /var/lib/rpm
 %lang(sk) %{_mandir}/sk/man8/rpm.8*
 
 %dir /var/lib/rpm
-
-# exported package NVRA (stamped with install tid)
-# net-snmp hrSWInstalledName queries, bash-completions
-%dir /var/cache/hrmib
+%ghost %config(missingok,noreplace) /var/lib/rpm/*
+%ghost /var/lib/rpm/.*.lock
 
 %{_rpmlibdir}/rpmpopt*
 %{_rpmlibdir}/rpmrc
 
 %{_rpmlibdir}/rpmpopt*
 %{_rpmlibdir}/rpmrc
@@ -823,6 +855,9 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %ifarch aarch64
 %{_rpmlibdir}/platform/aarch64*
 %endif
 %ifarch aarch64
 %{_rpmlibdir}/platform/aarch64*
 %endif
+%ifarch %{arm}
+%{_rpmlibdir}/platform/arm*
+%endif
 %ifarch ia64
 %{_rpmlibdir}/platform/ia64*
 %endif
 %ifarch ia64
 %{_rpmlibdir}/platform/ia64*
 %endif
@@ -838,17 +873,14 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 
 %dir %{_rpmlibdir}/pld
 
 
 %dir %{_rpmlibdir}/pld
 
-%attr(755,root,root) %{_rpmlibdir}/hrmib-cache
-
-%attr(755,root,root) %{_rpmlibdir}/dbupgrade.sh
-%attr(755,root,root) %{_rpmlibdir}/rpmdb_checkversion
-%attr(755,root,root) %{_rpmlibdir}/rpmdb_reset
 %attr(755,root,root) %{_rpmlibdir}/rpmdb_dump
 %attr(755,root,root) %{_rpmlibdir}/rpmdb_load
 
 # valgrind suppression file for rpm
 %{_rpmlibdir}/rpm.supp
 
 %attr(755,root,root) %{_rpmlibdir}/rpmdb_dump
 %attr(755,root,root) %{_rpmlibdir}/rpmdb_load
 
 # valgrind suppression file for rpm
 %{_rpmlibdir}/rpm.supp
 
+%dir /usr/lib/.build-id
+
 %files base
 %defattr(644,root,root,755)
 %dir %{_sysconfdir}/rpm
 %files base
 %defattr(644,root,root,755)
 %dir %{_sysconfdir}/rpm
This page took 0.046416 seconds and 4 git commands to generate.