Message ID | 20230530111807.6521-1-olaf@aepfle.de (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [v1] tools: fix make rpmball | expand |
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,
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
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
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(-)