use a triggerpostun script to enable rpmdb-rebuild on upgrade [release 4.17.1.1-4mamba;Sun Sep 04 2022]
This commit is contained in:
parent
77b62dbd50
commit
22259b2ad2
@ -1,10 +0,0 @@
|
||||
--- rpm-4.14.2.1/scripts/find-lang.sh.orig 2019-08-31 12:50:47.237000000 +0200
|
||||
+++ rpm-4.14.2.1/scripts/find-lang.sh 2019-08-31 12:50:53.363000000 +0200
|
||||
@@ -235,6 +235,7 @@
|
||||
find "$TOP_DIR" -type f -o -type l|sed '
|
||||
s:'"$TOP_DIR"'::
|
||||
'"$NO_ALL_NAME$QT"'s:\(.*/'"$NAME"'_\([a-zA-Z]\{2\}\([_@].*\)\?\)\.qm$\):%lang(\2) \1:
|
||||
+'"$ALL_NAME$QT"'s:^\([^%].*/\([a-zA-Z_@]*\)/LC_MESSAGES/.*\.qm$\):%lang(\2) \1:
|
||||
'"$ALL_NAME$QT"'s:^\([^%].*/\([a-zA-Z]\{2\}[_@].*\)\.qm$\):%lang(\2) \1:
|
||||
'"$ALL_NAME$QT"'s:^\([^%].*/\([a-zA-Z]\{2\}\)\.qm$\):%lang(\2) \1:
|
||||
'"$ALL_NAME$QT"'s:^\([^%].*/[^/_]\+_\([a-zA-Z]\{2\}[_@].*\)\.qm$\):%lang(\2) \1:
|
10
rpm-4.17.0-find-lang-qt-fix.patch
Normal file
10
rpm-4.17.0-find-lang-qt-fix.patch
Normal file
@ -0,0 +1,10 @@
|
||||
--- rpm-4.17.0/scripts/find-lang.sh.orig 2021-09-12 21:17:07.000297399 +0200
|
||||
+++ rpm-4.17.0/scripts/find-lang.sh 2021-09-12 21:18:23.586346969 +0200
|
||||
@@ -250,6 +250,7 @@
|
||||
find "$TOP_DIR" -type f -o -type l|sed '
|
||||
s:'"$TOP_DIR"'::
|
||||
'"$NO_ALL_NAME$QT"'s:\(.*/'"$NAME"'_\([a-zA-Z]\+\([_@].*\)\?\)\.qm$\):%lang(\2) \1:
|
||||
+'"$ALL_NAME$QT"'s:^\([^%].*/\([a-zA-Z_@]*\)/LC_MESSAGES/.*\.qm$\):%lang(\2) \1:
|
||||
'"$ALL_NAME$QT"'s:^\([^%].*/\([a-zA-Z]\+[_@].*\)\.qm$\):%lang(\2) \1:
|
||||
'"$ALL_NAME$QT"'s:^\([^%].*/\([a-zA-Z]\+\)\.qm$\):%lang(\2) \1:
|
||||
'"$ALL_NAME$QT"'s:^\([^%].*/[^/_]\+_\([a-zA-Z]\+[_@].*\)\.qm$\):%lang(\2) \1:
|
89
rpm.spec
89
rpm.spec
@ -16,8 +16,8 @@
|
||||
%define majver %(echo %version | cut -d. -f1-2)
|
||||
Name: rpm
|
||||
Epoch: 1
|
||||
Version: 4.16.1.3
|
||||
Release: 2mamba
|
||||
Version: 4.17.1.1
|
||||
Release: 4mamba
|
||||
Summary: The RPM Package Manager (RPM) is a powerful package management system
|
||||
Group: System/Management
|
||||
Vendor: openmamba
|
||||
@ -26,6 +26,7 @@ Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
|
||||
URL: https://rpm.org/index.html
|
||||
Source: http://ftp.rpm.org/releases/rpm-%{majver}.x/rpm-%{version}.tar.bz2
|
||||
Source2: rpm4-macros_openmamba
|
||||
Source3: rpmdb-rebuild.service
|
||||
Patch0: rpm-4.14.2.1-fix-rebuilddb-from-rpm-5.2.patch
|
||||
Patch1: rpm-4.14.2.1-fix-rebuilddb-from-rpm-5.2-better.patch
|
||||
Patch2: rpm-4.14.2.1-fix-missing-translations-from-rpm4-segfault.patch
|
||||
@ -38,18 +39,18 @@ Patch8: rpm-4.14.2.1-arm-openamba-force-armv5t.patch
|
||||
Patch9: rpm-4.14.2.1-increase_default_patch_fuzz.patch
|
||||
Patch10: rpm-4.14.2.1-openmamba-buildroot.patch
|
||||
Patch11: rpm-4.14.2.1-target-platform-gnu.patch
|
||||
Patch12: rpm-4.14.2.1-find-lang-qt-fix.patch
|
||||
Patch12: rpm-4.17.0-find-lang-qt-fix.patch
|
||||
Patch13: rpm-4.16.1.3-pythondistdeps-no-richdeps.patch
|
||||
License: LGPL
|
||||
## AUTOBUILDREQ-BEGIN
|
||||
BuildRequires: glibc-devel
|
||||
BuildRequires: ldconfig
|
||||
BuildRequires: libacl-devel
|
||||
BuildRequires: libarchive-devel
|
||||
BuildRequires: libattr-devel
|
||||
BuildRequires: libaudit-devel
|
||||
BuildRequires: libb2-devel
|
||||
BuildRequires: libbzip2-devel
|
||||
BuildRequires: libcap-ng-devel
|
||||
BuildRequires: libdb53-devel
|
||||
BuildRequires: libdbus-devel
|
||||
BuildRequires: libdw-devel
|
||||
BuildRequires: libelf-devel
|
||||
@ -71,12 +72,12 @@ BuildRequires: libsystemd-devel
|
||||
BuildRequires: libxml2-devel
|
||||
BuildRequires: libz-devel
|
||||
BuildRequires: libzstd-devel
|
||||
BuildRequires: python3
|
||||
## AUTOBUILDREQ-END
|
||||
BuildRequires: setup >= 1.2.0
|
||||
Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release}
|
||||
Provides: rpm-build
|
||||
Obsoletes: rpm-build < 1:4.16.1.2
|
||||
Requires: debugedit
|
||||
|
||||
%description
|
||||
The RPM Package Manager (RPM) is a powerful package management system capable of building computer software from source into easily distributable packages installing, updating and uninstalling packaged software querying detailed information about the packaged software, whether installed or not verifying integrity of packaged software and resulting software installation.
|
||||
@ -139,9 +140,9 @@ This package should be installed if you want to develop Python programs that wil
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
%patch12 -p1
|
||||
%patch13 -p1
|
||||
#%patch13 -p1
|
||||
|
||||
sed -i "s|/usr/bin/python$|%{__python3}|" scripts/pythondistdeps.py
|
||||
#sed -i "s|/usr/bin/python$|%{__python3}|" scripts/pythondistdeps.py
|
||||
|
||||
./autogen.sh --noconfigure
|
||||
|
||||
@ -157,14 +158,16 @@ sed -i "s|/usr/bin/python$|%{__python3}|" scripts/pythondistdeps.py
|
||||
--infodir=%{__prefix}/share/info \
|
||||
--localstatedir=/var \
|
||||
--sysconfdir=/etc \
|
||||
--with-path-sources=%{__prefix}/src/RPM \
|
||||
--with-path-lib=%{_prefix}/lib/rpm%{?program_suffix} \
|
||||
--with-path-cfg=%{_sysconfdir}/rpm%{?program_suffix} \
|
||||
--enable-python \
|
||||
--with-external-db \
|
||||
--with-vendor=openmamba \
|
||||
--enable-bdb-ro \
|
||||
PYTHON=%{__python3}
|
||||
|
||||
# --with-path-sources=%{__prefix}/src/RPM \
|
||||
# --with-path-lib=%{_prefix}/lib/rpm%{?program_suffix} \
|
||||
# --with-path-cfg=%{_sysconfdir}/rpm%{?program_suffix} \
|
||||
# --with-external-db \
|
||||
|
||||
%make
|
||||
|
||||
%install
|
||||
@ -179,6 +182,9 @@ mkdir -p %{buildroot}%{_usr}/src/RPM/{BUILD,RPMS/{aarch64,arm,i586,noarch,x86_64
|
||||
# install rpm macros for openmamba
|
||||
install -D -m 644 %{S:2} %{buildroot}%{_sysconfdir}/rpm%{?program_suffix}/macros.openmamba
|
||||
|
||||
# install rpmdb-rebuild service
|
||||
install -D -m0644 %{SOURCE3} %{buildroot}%{_unitdir}/rpmdb-rebuild.service
|
||||
|
||||
%ifarch x86_64
|
||||
sed -i "s|/libexec$|/%{_libexec}|" %{buildroot}%{_prefix}/lib/rpm/platform/x86_64-linux/macros
|
||||
%endif
|
||||
@ -187,28 +193,24 @@ sed -i "s|/libexec$|/%{_libexec}|" %{buildroot}%{_prefix}/lib/rpm/platform/x86_6
|
||||
sed -i "s|/libexec$|/%{_libexec}|" %{buildroot}%{_prefix}/lib/rpm/platform/aarch64-linux/macros
|
||||
%endif
|
||||
|
||||
rm -f %{buildroot}%{_libdir}/librpm*.la
|
||||
|
||||
%clean
|
||||
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
||||
|
||||
%pretrans
|
||||
[ -e /var/lib/rpm/Enhancename ] || {
|
||||
cp -a /var/lib/rpm /var/lib/rpm.52.pretrans.bak
|
||||
# Prepare upgrade from bdb to sqlite
|
||||
[ -e /var/lib/rpm/Packages -a ! -e /var/lib/rpm/.rebuilddb ] && {
|
||||
cp -a /var/lib/rpm /var/lib/rpm.bdb.bak && touch /var/lib/rpm/.rebuilddb
|
||||
}
|
||||
:
|
||||
|
||||
%post
|
||||
# Upgrade db from 5.2.1 (tricky)
|
||||
[ -e /var/lib/rpm/Enhancename ] || {
|
||||
cat > /tmp/rpm-upgrade.sh << _EOF
|
||||
#!/bin/sh
|
||||
while true; do fuser -s /var/lib/rpm/*; [ $? -eq 1 ] && break; sleep 5; done
|
||||
echo "** Performing rpmdb upgrade from rpm5 to rpm4..."
|
||||
rpm --rebuilddb
|
||||
rpm --rebuilddb && echo "** rpmdb upgrade completed successfully"
|
||||
_EOF
|
||||
chmod +x /tmp/rpm-upgrade.sh
|
||||
/bin/sh /tmp/rpm-upgrade.sh &
|
||||
}
|
||||
%systemd_post rpmdb-rebuild.service
|
||||
:
|
||||
|
||||
%preun
|
||||
%systemd_preun rpmdb-rebuild.service
|
||||
:
|
||||
|
||||
%post -n lib%{name}
|
||||
@ -217,14 +219,18 @@ _EOF
|
||||
/usr/sbin/useradd packager -u %{packager_userid} -g packager -d /dev/null -s /bin/false 2>/dev/null || :
|
||||
:
|
||||
|
||||
%postun -n lib%{name}
|
||||
/sbin/ldconfig
|
||||
%postun -n lib%{name} -p /sbin/ldconfig
|
||||
|
||||
%triggerpostun -- rpm < 1:4.17.1.1-4mamba
|
||||
# Ensuring enabling rpmdb-rebuild service on update
|
||||
/usr/bin/systemctl enable rpmdb-rebuild.service
|
||||
:
|
||||
|
||||
%files -f rpm.lang
|
||||
%defattr(-,root,root)
|
||||
%dir %{_sysconfdir}/rpm%{?program_suffix}
|
||||
%config %{_sysconfdir}/rpm%{?program_suffix}/macros.openmamba
|
||||
%{_sysconfdir}/dbus-1/system.d/org.rpm.conf
|
||||
%{_bindir}/gendiff%{?program_suffix}
|
||||
%{_bindir}/rpm%{?program_suffix}
|
||||
%{_bindir}/rpm2archive%{?program_suffix}
|
||||
@ -237,6 +243,7 @@ _EOF
|
||||
%{_bindir}/rpmsign%{?program_suffix}
|
||||
%{_bindir}/rpmspec%{?program_suffix}
|
||||
%{_bindir}/rpmverify
|
||||
%{_unitdir}/rpmdb-rebuild.service
|
||||
%dir %{_prefix}/lib/rpm
|
||||
%{_prefix}/lib/rpm/*
|
||||
%dir /usr/src/RPM
|
||||
@ -274,13 +281,9 @@ _EOF
|
||||
%defattr(-,root,root)
|
||||
%dir %{_includedir}/rpm
|
||||
%{_includedir}/rpm/*.h
|
||||
%{_libdir}/librpm.la
|
||||
%{_libdir}/librpm.so
|
||||
%{_libdir}/librpmbuild.la
|
||||
%{_libdir}/librpmbuild.so
|
||||
%{_libdir}/librpmio.la
|
||||
%{_libdir}/librpmio.so
|
||||
%{_libdir}/librpmsign.la
|
||||
%{_libdir}/librpmsign.so
|
||||
%{_libdir}/pkgconfig/rpm.pc
|
||||
%doc ChangeLog README
|
||||
@ -291,6 +294,28 @@ _EOF
|
||||
%{python3_sitearch}/rpm/*
|
||||
|
||||
%changelog
|
||||
* Sun Sep 04 2022 Silvan Calarco <silvan.calarco@mambasoft.it> 4.17.1.1-4mamba
|
||||
- use a triggerpostun script to enable rpmdb-rebuild on upgrade
|
||||
|
||||
* Sun Sep 04 2022 Silvan Calarco <silvan.calarco@mambasoft.it> 4.17.1.1-3mamba
|
||||
- enable rpmdb-rebuild service on update
|
||||
|
||||
* Sat Sep 03 2022 Silvan Calarco <silvan.calarco@mambasoft.it> 4.17.1.1-2mamba
|
||||
- install rpmdb-rebuild service and configure to perform upgrade from bdb to sqlite
|
||||
- require debugedit for find-debuginfo
|
||||
|
||||
* Sat Sep 03 2022 Automatic Build System <autodist@mambasoft.it> 4.17.1.1-1mamba
|
||||
- automatic version update by autodist
|
||||
|
||||
* Fri Jul 01 2022 Automatic Build System <autodist@mambasoft.it> 4.17.1-1mamba
|
||||
- automatic version update by autodist
|
||||
|
||||
* Tue Sep 14 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 4.17.0-2mamba
|
||||
- rebuilt with --enable-bdb-ro
|
||||
|
||||
* Mon Sep 13 2021 Automatic Build System <autodist@mambasoft.it> 4.17.0-1mamba
|
||||
- automatic version update by autodist
|
||||
|
||||
* Sun Apr 18 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 4.16.1.3-2mamba
|
||||
- patches: pythondistdeps: use normal deps instead of rich deps; rpmrc: armv7l: set march=armv7-a
|
||||
|
||||
|
19
rpmdb-rebuild.service
Normal file
19
rpmdb-rebuild.service
Normal file
@ -0,0 +1,19 @@
|
||||
[Unit]
|
||||
Description=RPM database rebuild
|
||||
ConditionPathExists=/var/lib/rpm/.rebuilddb
|
||||
|
||||
# This should run before any daemons that may open the rpmdb
|
||||
DefaultDependencies=no
|
||||
After=sysinit.target
|
||||
Before=basic.target shutdown.target
|
||||
Conflicts=shutdown.target
|
||||
# In case /usr is remote-mounted
|
||||
RequiresMountsFor=/usr
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/rpmdb --rebuilddb
|
||||
ExecStartPost=rm -f /var/lib/rpm/.rebuilddb
|
||||
|
||||
[Install]
|
||||
WantedBy=basic.target
|
Loading…
Reference in New Issue
Block a user