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_ver 5.3
%define reqpopt_ver 1.15
Summary(uk.UTF-8): Менеджер пакетів від RPM
Name: rpm
Version: 5.4.10
-Release: 0.19
+Release: 4
License: LGPL
Group: Base
# http://rpm5.org/files/rpm/rpm-5.4/rpm-5.4.10-0.20120706.src.rpm
Source23: rpm.noautoreqdep
Source24: rpm.noautoreqfiles
Source25: %{name}-php-requires.php
+Source26: rpmdb_checkversion.c
Patch0: %{name}-branch.patch
Patch1: %{name}-man_pl.patch
Patch2: %{name}-popt-aliases.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-file-always-noisy.patch
# Patches imported from Mandriva
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
URL: http://rpm5.org/
BuildRequires: autoconf >= 2.60
Requires: libmagic >= 1.15-2
%{?with_selinux:Requires: libselinux >= 1.18}
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
%patch44 -p1
%patch45 -p1
%patch46 -p1
+%patch47 -p1
%patch1000 -p1
%patch1001 -p1
%patch1037 -p1
%patch1038 -p1
%patch1039 -p1
+%patch1040 -p1
install %{SOURCE2} macros/pld.in
install %{SOURCE8} scripts/php.prov.in
# generate Group translations to *.po
awk -f %{SOURCE6} %{SOURCE1}
+install %{SOURCE26} tools/rpmdb_checkversion.c
+
%build
%{__libtoolize}
#%{__autopoint}
%{?with_apidocs:%{__make} apidocs}
+%{__cc} %{rpmcflags} tools/rpmdb_checkversion.c -o tools/rpmdb_checkversion -ldb
+
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{/bin,/%{_lib},/etc/sysconfig,%{_sysconfdir}/rpm} \
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
fi
%posttrans
-if [ -e /var/lib/rpm/__convert_needed ]; then
- %{_rpmlibdir}/bin/dbconvert --rebuilddb
- %{__rm} -f /var/lib/rpm/__convert_needed
+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} < 5.4.0-1
-:>/var/lib/rpm/__convert_needed
-
%triggerpostun -- %{name} < 4.4.9-44
%{_rpmlibdir}/hrmib-cache
%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)