]> git.pld-linux.org Git - packages/rpm.git/blobdiff - rpm.spec
Fix build without python
[packages/rpm.git] / rpm.spec
index 4c615832f2297024f1bd5a9b2ece68768db9ae31..a7129c2508e0e4e784241ef57ce09ee9f146e4f7 100644 (file)
--- a/rpm.spec
+++ b/rpm.spec
@@ -37,8 +37,8 @@ ERROR
 %endif
 
 # versions of required libraries
-%define                reqdb_pkg       db5.3
-%define                reqdb_ver       5.3
+%define                reqdb_pkg       db5.2
+%define                reqdb_ver       5.2
 %define                reqpopt_ver     1.15
 %define                beecrypt_ver    2:4.1.2-4
 %define                sover           5.4
@@ -52,7 +52,7 @@ Summary(ru.UTF-8):    Менеджер пакетов от RPM
 Summary(uk.UTF-8):     Менеджер пакетів від RPM
 Name:          rpm
 Version:       5.4.10
-Release:       31
+Release:       40
 License:       LGPL
 Group:         Base
 # http://rpm5.org/files/rpm/rpm-5.4/rpm-5.4.10-0.20120706.src.rpm
@@ -89,10 +89,11 @@ Source24:   rpm.noautoreqfiles
 Source25:      %{name}-php-requires.php
 Source26:      rpmdb_checkversion.c
 Source27:      macros.lang
+Source28:      rpmdb_reset.c
+Source29:      dbupgrade.sh
 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
 Patch6:                %{name}-scripts-closefds.patch
@@ -102,7 +103,7 @@ Patch9:             %{name}-lua.patch
 Patch10:       %{name}-php-deps.patch
 Patch11:       %{name}-notsc.patch
 Patch12:       %{name}-hack-norpmlibdep.patch
-Patch13:       %{name}-epoch0.patch
+Patch13:       %{name}-dont-copy-descriptive-tags.patch
 Patch14:       %{name}-perl_req-INC_dirs.patch
 Patch15:       %{name}-debuginfo.patch
 Patch16:       vendor-pld.patch
@@ -145,6 +146,14 @@ 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
+Patch56:       rpm-macros.patch
+Patch57:       %{name}-db5.2.patch
+Patch58:       %{name}-preserve-iterator.patch
+Patch59:       %{name}-triggerin-compat.patch
+Patch60:       %{name}-python-sitescriptdir.patch
+Patch61:       %{name}-clean-docdir.patch
+Patch62:       %{name}-DB_CONFIG.patch
+Patch63:       %{name}-pythoneggs.patch
 
 # Patches imported from Mandriva
 
@@ -256,9 +265,6 @@ Patch1040:  rpm-5.4.9-support-signatures-and-digest-disablers.patch
 Patch1041:     rpm-5.4.9-disable-l10ndir.patch
 # status: ready for merge
 Patch1042:     rpm-5.4.9-fix-rpm_qa-pattern.patch
-# status: i18n strings is getting dropped, so this one might be of less relevance,
-# but feel free to discuss it on rpm-devel
-Patch1043:     rpm-5.4.9-fix-mdvbz62979.patch
 
 URL:           http://rpm5.org/
 BuildRequires: autoconf >= 2.60
@@ -316,6 +322,7 @@ BuildRequires:      libsemanage-static >= 2.1.0
 BuildRequires: popt-static >= %{reqpopt_ver}
 BuildRequires: zlib-static
 %endif
+Requires(posttrans):   coreutils
 Requires:      %{name}-base = %{version}-%{release}
 Requires:      %{name}-lib = %{version}-%{release}
 Requires:      beecrypt >= %{beecrypt_ver}
@@ -328,6 +335,7 @@ Conflicts:  glibc < 2.2.92
 Conflicts:     poldek < 0.21-0.20070703.00.3
 # segfaults with lzma 0.42.2
 Conflicts:     lzma-libs < 4.999.3
+Conflicts:     util-vserver < 0.30.216-1.pre3034.7
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                _binary_payload         w9.gzdio
@@ -347,8 +355,6 @@ BuildRoot:  %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %define                _rpmlibdir /usr/lib/rpm
 %define                _noautocompressdoc      RPM-GPG-KEY
 
-%define                specflags       -fno-strict-aliasing
-
 %description
 RPM is a powerful package manager, which can be used to build,
 install, query, verify, update, and uninstall individual software
@@ -633,10 +639,11 @@ Requires: grep
 Requires:      gzip
 Requires:      make
 Requires:      patch
-Requires:      sed
+Requires:      sed >= 4.0
 Requires:      sh-utils
-Requires:      tar
+Requires:      tar >= 1:1.22
 Requires:      textutils
+Requires:      xz
 Provides:      rpmbuild(monoautodeps)
 Provides:      rpmbuild(noauto) = 3
 %ifarch %{x8664}
@@ -785,7 +792,6 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
 #patch0 -p1
 %patch1 -p1
 %patch2 -p1
-%patch3 -p1
 %patch4 -p1
 %patch5 -p1
 %patch6 -p1
@@ -813,7 +819,7 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
 %patch23 -p1
 %patch24 -p1
 %patch25 -p1
-%patch26 -p1
+####%patch26 -p1
 %patch27 -p1
 %patch28 -p1
 %patch29 -p1
@@ -828,7 +834,7 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
 %patch38 -p1
 %patch39 -p1
 %patch40 -p1
-%patch41 -p1
+####%patch41 -p1
 %patch42 -p1
 %patch43 -p1
 %patch44 -p1
@@ -843,6 +849,14 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
 %patch53 -p1
 %patch54 -p1
 %patch55 -p1
+%patch56 -p1
+%patch57 -p1
+%patch58 -p1
+%patch59 -p1
+%patch60 -p1
+%patch61 -p1
+%patch62 -p1
+%patch63 -p1
 
 %patch1000 -p1
 %patch1001 -p1
@@ -887,7 +901,6 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
 %patch1040 -p1
 %patch1041 -p1
 %patch1042 -p1
-#patch1043 -p1
 
 install %{SOURCE2} macros/pld.in
 install %{SOURCE8} scripts/php.prov.in
@@ -900,6 +913,7 @@ install %{SOURCE11} scripts/perl.prov.in
 awk -f %{SOURCE6} %{SOURCE1}
 
 install %{SOURCE26} tools/rpmdb_checkversion.c
+install %{SOURCE28} tools/rpmdb_reset.c
 
 %build
 %{__libtoolize}
@@ -949,7 +963,7 @@ sed -i \
        --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.d/pld:%{_rpmlibdir}/macros.build:~/etc/.rpmmacros:~/.rpmmacros' \
+       --with-path-macros='%{_rpmlibdir}/macros:%{_rpmlibdir}/%{_target}/macros:%{_rpmlibdir}/macros.d/pld:%{_rpmlibdir}/macros.build:%{_sysconfdir}/rpm/macros.*:%{_sysconfdir}/rpm/macros:%{_sysconfdir}/rpm/%{_target}/macros:%{_sysconfdir}/rpm/macros.d/*.macros:~/etc/.rpmmacros:~/.rpmmacros' \
        --with-bugreport="http://bugs.pld-linux.org/" \
        --with-vendor=pld
 
@@ -960,7 +974,19 @@ sed -i \
 
 %{?with_apidocs:%{__make} apidocs}
 
-%{__cc} %{rpmcflags} tools/rpmdb_checkversion.c -o tools/rpmdb_checkversion -ldb-%{reqdb_ver}
+%{__cc} %{rpmcflags} -I/usr/include/db%{reqdb_ver} tools/rpmdb_checkversion.c \
+       -o tools/rpmdb_checkversion -ldb-%{reqdb_ver}
+%{__cc} %{rpmcflags} -I/usr/include/db%{reqdb_ver} tools/rpmdb_reset.c \
+       -o tools/rpmdb_reset -ldb-%{reqdb_ver}
+
+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
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -1124,6 +1150,8 @@ 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
+install tools/rpmdb_reset $RPM_BUILD_ROOT%{_rpmlibdir}/bin
+install %{SOURCE29} $RPM_BUILD_ROOT%{_rpmlibdir}/bin/dbupgrade.sh
 
 # create macro loading wrappers for backward compatibility
 for m in gstreamer java mono perl php python; do
@@ -1145,10 +1173,12 @@ done
 # Bourne shell script vs ELF executable linked with rpm,rpmdb,rpmio
 mv $RPM_BUILD_ROOT{%{_rpmlibdir},%{_bindir}}/rpm2cpio
 
+%if %{with python}
 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
 
 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/rpm/*.{la,a,py}
+%endif
 
 # wrong location, not used anyway
 %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/rpm.{daily,log,xinetd}
@@ -1177,22 +1207,19 @@ if [ -f %{_sysconfdir}/rpm/sysinfo ]; then
 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/Packages ] && \
+               ! %{_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
+                       /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
+       echo
+       echo 'If poldek aborts after migration with rpmdb error, this is expected behaviour,'
+       echo 'you should ignore it and restart poldek'
+       echo
+       %{_rpmlibdir}/bin/dbupgrade.sh
 fi
 
 %triggerpostun -- %{name} < 4.4.9-44
@@ -1251,7 +1278,9 @@ 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/dbupgrade.sh
 %attr(755,root,root) %{_rpmlibdir}/bin/rpmdb_checkversion
+%attr(755,root,root) %{_rpmlibdir}/bin/rpmdb_reset
 
 %files base
 %defattr(644,root,root,755)
This page took 0.282751 seconds and 4 git commands to generate.