[packages/rpm/rpm.org] - cleanup upgrade path from rpm5
baggins
baggins at pld-linux.org
Tue Dec 31 14:21:36 CET 2019
commit e8836e1f523a7098305049bed3e5702087d8b3a8
Author: Jan Rękorajski <baggins at pld-linux.org>
Date: Tue Dec 31 22:20:50 2019 +0900
- cleanup upgrade path from rpm5
dbupgrade.sh | 10 +++++-----
rpm.spec | 5 +++++
rpm5-db-compat.patch | 15 +++++++++++++++
3 files changed, 25 insertions(+), 5 deletions(-)
---
diff --git a/rpm.spec b/rpm.spec
index b003ce8..2afcb86 100644
--- a/rpm.spec
+++ b/rpm.spec
@@ -1,5 +1,7 @@
#
# TODO:
+# - build python stuff with libs from build tree
+# - rebuild database after upgrading from rpm5
# - when adopting, use 4.5 ticket for checklist: https://bugs.launchpad.net/pld-linux/+bug/262985
#
# Conditional build:
@@ -91,6 +93,7 @@ Patch16: %{name}-ignore-missing-macro-files.patch
Patch17: x32.patch
Patch18: %{name}-fix-compress-doc.patch
Patch19: vendor-pld.patch
+Patch20: rpm5-db-compat.patch
URL: https://rpm.org/
BuildRequires: %{reqdb_pkg}-devel >= %{reqdb_pkgver}
BuildRequires: %{reqdb_pkg}-sql-devel >= %{reqdb_pkgver}
@@ -659,6 +662,7 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
%patch17 -p1
#%patch18 -p1
#%patch19 -p1
+%patch20 -p1
install %{SOURCE2} pld.in
install %{SOURCE8} scripts/php.prov.in
@@ -946,6 +950,7 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
%{_rpmlibdir}/macros
%dir %{_rpmlibdir}/macros.d
#%{_rpmlibdir}/macros.d/pld
+%dir %{_rpmlibdir}/platform
%{_rpmlibdir}/platform/noarch-*
%ifarch %{ix86} %{x8664} x32
%{_rpmlibdir}/platform/athlon*
diff --git a/dbupgrade.sh b/dbupgrade.sh
index 2d403b5..30c2d5c 100755
--- a/dbupgrade.sh
+++ b/dbupgrade.sh
@@ -12,25 +12,25 @@ if [ "$1" = "-r" ]; then
fi
fi
-if ! /usr/lib/rpm/bin/rpmdb_reset -r lsn "$ROOTDIR"/var/lib/rpm/Packages ; then
+if ! /usr/lib/rpm/rpmdb_reset -r lsn "$ROOTDIR"/var/lib/rpm/Packages ; then
echo
echo "rpm database conversion failed!"
echo
echo "You have to run:"
echo
- echo " /usr/lib/rpm/bin/rpmdb_reset -r lsn /var/lib/rpm/Packages"
+ echo " /usr/lib/rpm/rpmdb_reset -r lsn /var/lib/rpm/Packages"
echo " /bin/rm -f /var/lib/rpm/__db.00*"
echo " /bin/rm -f /var/lib/rpm/log/*"
- echo " /usr/lib/rpm/bin/dbconvert --rebuilddb"
+ echo " /usr/bin/rpmdb --rebuilddb"
echo
else
/bin/rm --interactive=never -f "$ROOTDIR"/var/lib/rpm/__db.00* >/dev/null 2>/dev/null || :
/bin/rm --interactive=never -f "$ROOTDIR"/var/lib/rpm/log/* >/dev/null 2>/dev/null || :
- if ! /usr/lib/rpm/bin/dbconvert --rebuilddb ${ROOTDIR:+--root="$ROOTDIR"}; then
+ if ! /usr/bin/rpmdb --rebuilddb ${ROOTDIR:+--root="$ROOTDIR"}; then
echo
echo "rpm database conversion failed!"
- echo "You have to run /usr/lib/rpm/bin/dbconvert manually"
+ echo "You have to run /usr/bin/rpmdb manually"
echo
fi
fi
diff --git a/rpm5-db-compat.patch b/rpm5-db-compat.patch
new file mode 100644
index 0000000..6d8ec64
--- /dev/null
+++ b/rpm5-db-compat.patch
@@ -0,0 +1,15 @@
+--- rpm-4.15.1/lib/header.c~ 2019-11-04 21:13:13.000000000 +0900
++++ rpm-4.15.1/lib/header.c 2019-12-31 19:48:06.709777565 +0900
+@@ -277,6 +277,12 @@
+ for (i = 0; i < il; i++) {
+ ei2h(&pe[i], &info);
+
++ /* XXX rpm5 compat: convert RPMTAG_FILESTATE to RPM_CHAR_TYPE. */
++ if (info.tag == RPMTAG_FILESTATES && info.type == RPM_INT8_TYPE) {
++ info.type = RPM_CHAR_TYPE;
++ pe[i].type = htonl(info.type);
++ }
++
+ /* Previous data must not overlap */
+ if (end > info.offset)
+ goto err;
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/rpm.git/commitdiff/e8836e1f523a7098305049bed3e5702087d8b3a8
More information about the pld-cvs-commit
mailing list