Summary(uk.UTF-8): Менеджер пакетів від RPM
Name: rpm
Version: 5.4.10
-Release: 35.1
+Release: 35.2
License: LGPL
Group: Base
# http://rpm5.org/files/rpm/rpm-5.4/rpm-5.4.10-0.20120706.src.rpm
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
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}
%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
awk -f %{SOURCE6} %{SOURCE1}
install %{SOURCE26} tools/rpmdb_checkversion.c
+install %{SOURCE28} tools/rpmdb_reset.c
%build
%{__libtoolize}
%{?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
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
mkdir %{_sysconfdir}/rpm/sysinfo
fi
-%if 0
%posttrans
-if [ ! -e /var/lib/rpm/Packages ]; then
- %{__rm} -f /var/lib/rpm/need_rpmdb_downgrade 2>/dev/null >/dev/null
- exit 0
-fi
-NEEDDBCONV=
-if [ -e /var/lib/rpm/need_rpmdb_downgrade ]; then
- if [ ! -e /var/lib/rpm.rpmbackup-%{version}-%{release} ] && [ -x /bin/cp ] && \
- /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
- %{__rm} -f /var/lib/rpm/log/*
- /usr/bin/db5.2_dump /var/lib/rpm/Packages | /usr/bin/db5.2_load /var/lib/rpm/Packages.downgraded
- %{__mv} -f /var/lib/rpm/Packages /var/lib/rpm/Packages.rpmsave
- %{__mv} -f /var/lib/rpm/Packages.downgraded /var/lib/rpm/Packages
- NEEDDBCONV="YES"
-fi
-if [ -x %{_rpmlibdir}/bin/rpmdb_checkversion ] && \
+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} ] && [ -x /bin/cp ] && \
+ 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
- NEEDDBCONV="YES"
+ 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
-if [ "x$NEEDDBCONV" = "xYES" ]; then
- echo 'If poldek aborts after migration with rpmdb error, this is "normal", you should ignore it'
-
- 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
-endif
-
-%triggerpostun -- %{name} > 5.0.0-1, %{name} < 5.4.10-36
-:>/var/lib/rpm/need_rpmdb_downgrade
%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/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)