From ea7cd49f85a040098e7ddca79a43d420b5003835 Mon Sep 17 00:00:00 2001 From: Jonathon Anderson Date: Sun, 2 Feb 2025 06:58:31 -0700 Subject: [PATCH] Simplify Makefile and spec - explicitly indicate what to include in dist - prevent duplication of files in specfile Signed-off-by: Jonathon Anderson --- .gitattributes | 1 + CHANGELOG.md | 1 + Makefile | 11 ++++---- warewulf.spec.in | 72 +++++++++++++++++++++++------------------------- 4 files changed, 43 insertions(+), 42 deletions(-) diff --git a/.gitattributes b/.gitattributes index a19ade07..c4a24eff 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1,2 @@ CHANGELOG.md merge=union +.github/ export-ignore diff --git a/CHANGELOG.md b/CHANGELOG.md index 2b97196f..93b2e98b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - `wwctl node list <--yaml|--json>` outputs a map keyed by node name. #1667 - Don't mount /run during wwinit. #1566 +- Simpler permissions in official RPM packages. #1696 ### Fixed diff --git a/Makefile b/Makefile index 600605a7..2b4500cc 100644 --- a/Makefile +++ b/Makefile @@ -158,13 +158,14 @@ init: restorecon -r $(WWTFTPDIR) .PHONY: dist -dist: - rm -rf .dist/ $(WAREWULF)-$(VERSION).tar.gz +dist: $(config) + rm -rf .dist/ mkdir -p .dist/$(WAREWULF)-$(VERSION) - rsync -a --exclude=".github" --exclude=".vscode" --exclude "*~" --exclude $(WAREWULF)-*.tar.gz * .dist/$(WAREWULF)-$(VERSION)/ + tar -c --files-from <(git ls-files) | tar -C .dist/$(WAREWULF)-$(VERSION) -x + cp -a vendor/ $(config) .dist/$(WAREWULF)-$(VERSION) scripts/get-version.sh >.dist/$(WAREWULF)-$(VERSION)/VERSION - cd .dist; tar -czf ../$(WAREWULF)-$(VERSION).tar.gz $(WAREWULF)-$(VERSION) - rm -rf .dist + tar -C .dist -czf $(WAREWULF)-$(VERSION).tar.gz $(WAREWULF)-$(VERSION) + rm -rf .dist/ .PHONY: reference reference: wwctl diff --git a/warewulf.spec.in b/warewulf.spec.in index aecd548e..3882a753 100644 --- a/warewulf.spec.in +++ b/warewulf.spec.in @@ -174,68 +174,66 @@ getent group %{wwgroup} >/dev/null || groupadd -r %{wwgroup} %files -%dir %{_sysconfdir}/bash_completion.d -%dir %{_sysconfdir}/logrotate.d +%defattr(-, root, root) -%defattr(-, root, %{wwgroup}) %dir %{_sysconfdir}/warewulf %config(noreplace) %{_sysconfdir}/warewulf/warewulf.conf +%config(noreplace) %attr(0640,-,%{wwgroup}) %{_sysconfdir}/warewulf/nodes.conf %config(noreplace) %{_sysconfdir}/warewulf/examples %config(noreplace) %{_sysconfdir}/warewulf/ipxe %config(noreplace) %{_sysconfdir}/warewulf/grub -%config(noreplace) %{_sysconfdir}/logrotate.d/warewulfd.conf -%config(noreplace) %attr(0640,-,-) %{_sysconfdir}/warewulf/nodes.conf - -%{_sysconfdir}/bash_completion.d/wwctl +%{_sysconfdir}/bash_completion.d +%config(noreplace) %{_sysconfdir}/logrotate.d %dir %{_sharedstatedir}/warewulf %dir %{_sharedstatedir}/warewulf/chroots %dir %{_sharedstatedir}/warewulf/overlays + +%dir %{_datadir}/warewulf +%{_datadir}/warewulf/bmc %dir %{_datadir}/warewulf/overlays %dir %{_datadir}/warewulf/overlays/* %dir %{_datadir}/warewulf/overlays/*/rootfs -%attr(-, root, root) %{_datadir}/warewulf/overlays/NetworkManager/rootfs/* -%attr(-, root, root) %{_datadir}/warewulf/overlays/debian.interfaces/rootfs/* -%attr(-, root, root) %{_datadir}/warewulf/overlays/debug/rootfs/* -%attr(-, root, root) %{_datadir}/warewulf/overlays/fstab/rootfs/* -%attr(-, root, root) %{_datadir}/warewulf/overlays/host/rootfs/* -%attr(-, root, root) %{_datadir}/warewulf/overlays/hostname/rootfs/* -%attr(-, root, root) %{_datadir}/warewulf/overlays/hosts/rootfs/* -%attr(-, root, root) %{_datadir}/warewulf/overlays/ifcfg/rootfs/* -%attr(-, root, root) %{_datadir}/warewulf/overlays/ignition/rootfs/* -%attr(-, root, root) %{_datadir}/warewulf/overlays/issue/rootfs/* -%attr(-, root, root) %{_datadir}/warewulf/overlays/netplan/rootfs/* -%attr(-, root, root) %{_datadir}/warewulf/overlays/resolv/rootfs/* -%attr(700, root, root) %{_datadir}/warewulf/overlays/ssh.authorized_keys/rootfs/* -%attr(-, root, root) %{_datadir}/warewulf/overlays/ssh.host_keys/rootfs/* -%attr(-, root, root) %{_datadir}/warewulf/overlays/syncuser/rootfs/* -%attr(-, root, root) %{_datadir}/warewulf/overlays/systemd.netname/rootfs/* -%attr(-, root, root) %{_datadir}/warewulf/overlays/udev.netname/rootfs/* -%attr(-, root, root) %{_datadir}/warewulf/overlays/wicked/rootfs/* -%attr(-, root, root) %{_datadir}/warewulf/overlays/wwclient/rootfs/* -%attr(-, root, root) %{_datadir}/warewulf/overlays/wwinit/rootfs/* -%attr(-, root, root) %{_datadir}/warewulf/overlays/localtime/rootfs/* +%{_datadir}/warewulf/overlays/NetworkManager/rootfs/* +%{_datadir}/warewulf/overlays/debian.interfaces/rootfs/* +%{_datadir}/warewulf/overlays/debug/rootfs/* +%{_datadir}/warewulf/overlays/fstab/rootfs/* +%{_datadir}/warewulf/overlays/host/rootfs/* +%{_datadir}/warewulf/overlays/hostname/rootfs/* +%{_datadir}/warewulf/overlays/hosts/rootfs/* +%{_datadir}/warewulf/overlays/ifcfg/rootfs/* +%{_datadir}/warewulf/overlays/ignition/rootfs/* +%{_datadir}/warewulf/overlays/issue/rootfs/* +%{_datadir}/warewulf/overlays/netplan/rootfs/* +%{_datadir}/warewulf/overlays/resolv/rootfs/* +%attr(700, -, -) %{_datadir}/warewulf/overlays/ssh.authorized_keys/rootfs/* +%{_datadir}/warewulf/overlays/ssh.host_keys/rootfs/* +%{_datadir}/warewulf/overlays/syncuser/rootfs/* +%{_datadir}/warewulf/overlays/systemd.netname/rootfs/* +%{_datadir}/warewulf/overlays/udev.netname/rootfs/* +%{_datadir}/warewulf/overlays/wicked/rootfs/* +%{_datadir}/warewulf/overlays/wwclient/rootfs/* +%{_datadir}/warewulf/overlays/wwinit/rootfs/* +%{_datadir}/warewulf/overlays/localtime/rootfs/* -%attr(-, root, root) %{_bindir}/wwctl -%attr(-, root, root) %{_prefix}/lib/firewalld/services/warewulf.xml -%attr(-, root, root) %{_unitdir}/warewulfd.service -%attr(-, root, root) %{_mandir}/man1/wwctl* -%attr(-, root, root) %{_mandir}/man5/*.5* -%attr(-, root, root) %{_datadir}/warewulf +%{_bindir}/wwctl +%{_prefix}/lib/firewalld/services/warewulf.xml +%{_unitdir}/warewulfd.service +%{_mandir}/man1/wwctl* +%{_mandir}/man5/*.5* %dir %{_docdir}/warewulf %license %{_docdir}/warewulf/LICENSE.md %if %{api} -%attr(-, root, root) %{_bindir}/wwapi* +%{_bindir}/wwapi* %config(noreplace) %{_sysconfdir}/warewulf/wwapi*.conf %endif %files dracut %defattr(-, root, root) -%dir %{_prefix}/lib/dracut/modules.d/90wwinit -%{_prefix}/lib/dracut/modules.d/90wwinit/*.sh +%{_prefix}/lib/dracut/modules.d/90wwinit %changelog