tools/misc/mkrpm | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-)
Commit 438c5ffa44e99cceb574c0f9946aacacdedd2952 ("rpmball: Adjust to
new rpm, do not require --force") attempted to handle stricter
directory permissions in newer distributions.
This introduced a few issues:
- /boot used to be a constant prior commit
6475d700055fa952f7671cee982a23de2f5e4a7c ("use BOOT_DIR as xen.gz
install location"), since this commit the location has to be
referenced via ${BOOT_DIR}
- it assumed the prefix and the various configurable paths match the
glob pattern /*/*/*
Adjust the code to build a filelist on demand and filter directories
from an installed filesystem.rpm.
Take the opportunity to replace the usage of $RPM_BUILD_ROOT with
%buildroot, and use pushd/popd pairs.
Fixes: 438c5ffa4 ("rpmball: Adjust to new rpm, do not require --force")
Signed-off-by: Olaf Hering <olaf@aepfle.de>
---
tools/misc/mkrpm | 33 ++++++++++++++++++++++++---------
1 file changed, 24 insertions(+), 9 deletions(-)
diff --git a/tools/misc/mkrpm b/tools/misc/mkrpm
index 74f6761bb0..a7bf854197 100644
--- a/tools/misc/mkrpm
+++ b/tools/misc/mkrpm
@@ -50,20 +50,35 @@ uninstall.
%build
%install
-rm -rf \$RPM_BUILD_ROOT
-mkdir -p \$RPM_BUILD_ROOT
-cd %{_xenroot}
-dist/install.sh \$RPM_BUILD_ROOT/
+rm -rf %buildroot
+mkdir -p %buildroot
+pushd %_xenroot
+dist/install.sh %buildroot
+
+pushd %buildroot
+popd
+rm -f dist/filesystem.txt
+rm -f dist/directories.txt
+rm -f dist/files.txt
+find %buildroot -type d | sed 's|^%buildroot||' | sort > dist/directories.txt
+find %buildroot -type f | sed 's|^%buildroot||' | sort > dist/files.txt
+find %buildroot -type l | sed 's|^%buildroot||' | sort >> dist/files.txt
+if rpm -ql filesystem > dist/filesystem.txt
+then
+ while read
+ do
+ sed -i "s|^\${REPLY}$||" dist/directories.txt
+ done < dist/filesystem.txt
+fi
+sed 's@^@%%dir @' dist/directories.txt >> dist/files.txt
-cd \$RPM_BUILD_ROOT
+popd
%clean
-rm -rf \$RPM_BUILD_ROOT
+rm -rf %buildroot
-%files
+%files -f %_xenroot/dist/files.txt
%defattr(-,root,root,-)
-/*/*/*
-/boot/*
%post
EOF
On Tue, May 30, 2023 at 01:18:07PM +0200, Olaf Hering wrote: > Commit 438c5ffa44e99cceb574c0f9946aacacdedd2952 ("rpmball: Adjust to > new rpm, do not require --force") attempted to handle stricter > directory permissions in newer distributions. > > This introduced a few issues: > - /boot used to be a constant prior commit > 6475d700055fa952f7671cee982a23de2f5e4a7c ("use BOOT_DIR as xen.gz > install location"), since this commit the location has to be > referenced via ${BOOT_DIR} > - it assumed the prefix and the various configurable paths match the > glob pattern /*/*/* > > Adjust the code to build a filelist on demand and filter directories > from an installed filesystem.rpm. > > Take the opportunity to replace the usage of $RPM_BUILD_ROOT with > %buildroot, and use pushd/popd pairs. > > Fixes: 438c5ffa4 ("rpmball: Adjust to new rpm, do not require --force") > > Signed-off-by: Olaf Hering <olaf@aepfle.de> > --- > tools/misc/mkrpm | 33 ++++++++++++++++++++++++--------- > 1 file changed, 24 insertions(+), 9 deletions(-) > > diff --git a/tools/misc/mkrpm b/tools/misc/mkrpm > index 74f6761bb0..a7bf854197 100644 > --- a/tools/misc/mkrpm > +++ b/tools/misc/mkrpm > @@ -50,20 +50,35 @@ uninstall. > %build > > %install > -rm -rf \$RPM_BUILD_ROOT > -mkdir -p \$RPM_BUILD_ROOT > -cd %{_xenroot} > -dist/install.sh \$RPM_BUILD_ROOT/ > +rm -rf %buildroot > +mkdir -p %buildroot > +pushd %_xenroot > +dist/install.sh %buildroot > + > +pushd %buildroot > +popd Are these 2 lines left over from testing? They don't appear to do anything useful. Beside that, patch looks fine: Reviewed-by: Anthony PERARD <anthony.perard@citrix.com> Thanks, -- Anthony PERARD
Mon, 12 Jun 2023 11:40:55 +0100 Anthony PERARD <anthony.perard@citrix.com>: > On Tue, May 30, 2023 at 01:18:07PM +0200, Olaf Hering wrote: > > +pushd %buildroot > > +popd > Are these 2 lines left over from testing? They don't appear to do > anything useful. I think the intention was to test if mkdir succeeded. But then it should have been right after mkdir... I will send v2 without these two lines. Olaf
On 12.06.2023 13:35, Olaf Hering wrote: > Mon, 12 Jun 2023 11:40:55 +0100 Anthony PERARD <anthony.perard@citrix.com>: > >> On Tue, May 30, 2023 at 01:18:07PM +0200, Olaf Hering wrote: >>> +pushd %buildroot >>> +popd >> Are these 2 lines left over from testing? They don't appear to do >> anything useful. > > I think the intention was to test if mkdir succeeded. But then it > should have been right after mkdir... > > I will send v2 without these two lines. I'd be fine dropping them while committing. Jan
Mon, 12 Jun 2023 13:44:34 +0200 Jan Beulich <jbeulich@suse.com>: > On 12.06.2023 13:35, Olaf Hering wrote: > > I will send v2 without these two lines. > I'd be fine dropping them while committing. Another cosmetic change in such v2 would be the usage of | instead of @ in the last sed call, for consistency with the other three earlier sed calls. I think it was a result of copy&paste from elsewhere. Olaf
On 12.06.2023 13:52, Olaf Hering wrote: > Mon, 12 Jun 2023 13:44:34 +0200 Jan Beulich <jbeulich@suse.com>: > >> On 12.06.2023 13:35, Olaf Hering wrote: >>> I will send v2 without these two lines. >> I'd be fine dropping them while committing. > > Another cosmetic change in such v2 would be the usage of | instead of @ > in the last sed call, for consistency with the other three earlier sed > calls. I think it was a result of copy&paste from elsewhere. I see. If you want that, then please indeed send a v2. Jan
© 2016 - 2024 Red Hat, Inc.