[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] tools: fix make rpmball
commit 2f69ef96801f0d2b9646abf6396e60f99c56e3a0 Author: Olaf Hering <olaf@xxxxxxxxx> AuthorDate: Tue Jun 13 14:42:14 2023 +0200 Commit: Jan Beulich <jbeulich@xxxxxxxx> CommitDate: Tue Jun 13 14:42:14 2023 +0200 tools: fix make rpmball 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. This works on a SUSE system, and will likely work on a RedHat based system as well. Take the opportunity to replace the usage of $RPM_BUILD_ROOT with %buildroot, and use pushd/popd pairs. Signed-off-by: Olaf Hering <olaf@xxxxxxxxx> Reviewed-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> --- tools/misc/mkrpm | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/tools/misc/mkrpm b/tools/misc/mkrpm index 74f6761bb0..b072144a42 100644 --- a/tools/misc/mkrpm +++ b/tools/misc/mkrpm @@ -50,20 +50,32 @@ uninstall. %build %install -rm -rf \$RPM_BUILD_ROOT -mkdir -p \$RPM_BUILD_ROOT -cd %{_xenroot} -dist/install.sh \$RPM_BUILD_ROOT/ - -cd \$RPM_BUILD_ROOT +rm -rf %buildroot +mkdir -p %buildroot +pushd %_xenroot +dist/install.sh %buildroot + +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 +popd %clean -rm -rf \$RPM_BUILD_ROOT +rm -rf %buildroot -%files +%files -f %_xenroot/dist/files.txt %defattr(-,root,root,-) -/*/*/* -/boot/* %post EOF -- generated by git-patchbot for /home/xen/git/xen.git#master
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |