diff --git a/.qubesbuilder b/.qubesbuilder index df8991f..dfc4b06 100644 --- a/.qubesbuilder +++ b/.qubesbuilder @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2024 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: MIT # vim: ft=yaml @@ -22,7 +22,6 @@ host: - rpm_spec/qusal-fedora-xfce.spec - rpm_spec/qusal-fetcher.spec - rpm_spec/qusal-kicksecure-minimal.spec - - rpm_spec/qusal-mail.spec - rpm_spec/qusal-media.spec - rpm_spec/qusal-mgmt.spec - rpm_spec/qusal-mirage-builder.spec @@ -44,14 +43,12 @@ host: - rpm_spec/qusal-sys-gui-vnc.spec - rpm_spec/qusal-sys-mirage-firewall.spec - rpm_spec/qusal-sys-net.spec - - rpm_spec/qusal-sys-pgp.spec - rpm_spec/qusal-sys-pihole.spec - rpm_spec/qusal-sys-print.spec - rpm_spec/qusal-sys-rsync.spec - rpm_spec/qusal-sys-ssh.spec - rpm_spec/qusal-sys-ssh-agent.spec - rpm_spec/qusal-sys-syncthing.spec - - rpm_spec/qusal-sys-tailscale.spec - rpm_spec/qusal-sys-usb.spec - rpm_spec/qusal-sys-wireguard.spec - rpm_spec/qusal-terraform.spec diff --git a/.qubesbuilder.template b/.qubesbuilder.template index f4d03c1..eb4ef4f 100644 --- a/.qubesbuilder.template +++ b/.qubesbuilder.template @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2024 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: MIT # vim: ft=yaml diff --git a/rpm_spec/qusal-ansible.spec b/rpm_spec/qusal-ansible.spec index 795dbd0..b5a7a02 100644 --- a/rpm_spec/qusal-ansible.spec +++ b/rpm_spec/qusal-ansible.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -49,26 +49,27 @@ Install Ansible and use it on the "ansible" app qube. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -107,6 +108,9 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + * Thu Jul 04 2024 Ben Grande - 383c840 - doc: lint markdown files diff --git a/rpm_spec/qusal-browser.spec b/rpm_spec/qusal-browser.spec index e1ff1a5..f2a926e 100644 --- a/rpm_spec/qusal-browser.spec +++ b/rpm_spec/qusal-browser.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -55,26 +55,27 @@ Firefox, Firefox-ESR, Mullvad-Browser, W3M or Lynx. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -115,6 +116,15 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Mon Nov 04 2024 Ben Grande - 076a242 +- feat: bump Chrome signing keys + +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + +* Fri Jul 19 2024 Ben Grande - f8aa555 +- fix: clean Signal and Browser dependencies + * Tue Jul 09 2024 Ben Grande - 011a71a - style: limit line length per file extension diff --git a/rpm_spec/qusal-debian-minimal.spec b/rpm_spec/qusal-debian-minimal.spec index 452cf17..e8ea21f 100644 --- a/rpm_spec/qusal-debian-minimal.spec +++ b/rpm_spec/qusal-debian-minimal.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -49,26 +49,27 @@ it. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -107,6 +108,9 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Wed Jan 08 2025 Ben Grande - c19997a +- fix: stricter command-line parsing + * Thu Jul 04 2024 Ben Grande - 383c840 - doc: lint markdown files diff --git a/rpm_spec/qusal-debian-xfce.spec b/rpm_spec/qusal-debian-xfce.spec index 4756133..0ce7e54 100644 --- a/rpm_spec/qusal-debian-xfce.spec +++ b/rpm_spec/qusal-debian-xfce.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -46,26 +46,27 @@ Creates the Debian Xfce Template as well as a Disposable Template based on it. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then diff --git a/rpm_spec/qusal-debian.spec b/rpm_spec/qusal-debian.spec index ccba436..902fea6 100644 --- a/rpm_spec/qusal-debian.spec +++ b/rpm_spec/qusal-debian.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -46,26 +46,27 @@ Creates the Debian template as well as a Disposable Template based on it. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then diff --git a/rpm_spec/qusal-dev.spec b/rpm_spec/qusal-dev.spec index 43c3cff..dfe9bbb 100644 --- a/rpm_spec/qusal-dev.spec +++ b/rpm_spec/qusal-dev.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -54,26 +54,27 @@ allows. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -116,6 +117,12 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Wed Jan 08 2025 Ben Grande - c19997a +- fix: stricter command-line parsing + +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + * Mon Jul 08 2024 Ben Grande - f60077f - doc: spell check diff --git a/rpm_spec/qusal-docker.spec b/rpm_spec/qusal-docker.spec index a02a56f..4d96652 100644 --- a/rpm_spec/qusal-docker.spec +++ b/rpm_spec/qusal-docker.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -47,26 +47,27 @@ Setup docker in Qubes OS with the Docker repository. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -104,6 +105,9 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + * Thu Jul 04 2024 Ben Grande - 383c840 - doc: lint markdown files diff --git a/rpm_spec/qusal-dom0.spec b/rpm_spec/qusal-dom0.spec index 35c3ef4..e28e8d1 100644 --- a/rpm_spec/qusal-dom0.spec +++ b/rpm_spec/qusal-dom0.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -49,26 +49,27 @@ etc. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -107,6 +108,27 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Wed Jan 08 2025 Ben Grande - c19997a +- fix: stricter command-line parsing + +* Mon Dec 23 2024 Ben Grande - 972ca1f +- fix: add absent semicolon and stderr redirection + +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + +* Tue Aug 06 2024 Ben Grande - bdd4c78 +- fix: avoid echo usage + +* Tue Aug 06 2024 Ben Grande - 1b2f1ba +- fix: avoid operand evaluation as argument + +* Mon Jul 15 2024 Ben Grande - a713cef +- fix: stop parse options on double dashes + +* Mon Jul 15 2024 Ben Grande - cf43265 +- fix: shell syntax typos + * Wed Jul 10 2024 Ben Grande - 224312e - feat: enable all optional shellcheck validations diff --git a/rpm_spec/qusal-dotfiles.spec b/rpm_spec/qusal-dotfiles.spec index 2a0aecb..ca3527f 100644 --- a/rpm_spec/qusal-dotfiles.spec +++ b/rpm_spec/qusal-dotfiles.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -61,26 +61,27 @@ Configuration and scripts targeting: %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -118,6 +119,27 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Tue Dec 03 2024 Ben Grande - c713bd3 +- fix: update dotfiles module + +* Mon Oct 14 2024 Ben Grande - 475b81a +- fix: skip edit of files owned by system packages + +* Fri Aug 16 2024 Ben Grande - c6582df +- fix: update dotfiles module + +* Tue Aug 06 2024 Ben Grande - bdd4c78 +- fix: avoid echo usage + +* Tue Aug 06 2024 Ben Grande - 1b2f1ba +- fix: avoid operand evaluation as argument + +* Tue Jul 16 2024 Ben Grande - 43aaaff +- fix: update dotfiles module + +* Mon Jul 15 2024 Ben Grande - a36de84 +- fix: update dotfiles module + * Wed Jul 10 2024 Ben Grande - 224312e - feat: enable all optional shellcheck validations diff --git a/rpm_spec/qusal-electrum.spec b/rpm_spec/qusal-electrum.spec index 6bc8ca9..f3c96d2 100644 --- a/rpm_spec/qusal-electrum.spec +++ b/rpm_spec/qusal-electrum.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -63,31 +63,33 @@ usage from ever connecting to the internet. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then ## Install qubesctl state.apply electrum.create + qubesctl --skip-dom0 --targets=sys-bitcoin-gateway state.apply sys-bitcoin.configure-gateway qubesctl --skip-dom0 --targets=tpl-electrum-builder state.apply electrum.install-builder qubesctl --skip-dom0 --targets=tpl-electrum state.apply electrum.install qubesctl --skip-dom0 --targets=disp-electrum-builder state.apply electrum.configure-builder @@ -126,6 +128,21 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Thu Oct 24 2024 Ben Grande - efe0fa6 +- fix: depend on Bitcoin Gateway configuration + +* Fri Aug 16 2024 Ben Grande - ba3f4ef +- feat: bump Electrum version + +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + +* Tue Aug 06 2024 Ben Grande - bdd4c78 +- fix: avoid echo usage + +* Tue Aug 06 2024 Ben Grande - 1b2f1ba +- fix: avoid operand evaluation as argument + * Mon Jul 08 2024 Ben Grande - f60077f - doc: spell check diff --git a/rpm_spec/qusal-element.spec b/rpm_spec/qusal-element.spec index cb0af68..6918181 100644 --- a/rpm_spec/qusal-element.spec +++ b/rpm_spec/qusal-element.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -48,26 +48,27 @@ Matrix account. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -107,6 +108,9 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + * Thu Jul 04 2024 Ben Grande - 383c840 - doc: lint markdown files diff --git a/rpm_spec/qusal-fedora-minimal.spec b/rpm_spec/qusal-fedora-minimal.spec index c2dbec7..b230121 100644 --- a/rpm_spec/qusal-fedora-minimal.spec +++ b/rpm_spec/qusal-fedora-minimal.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -49,26 +49,27 @@ it. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -108,6 +109,9 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Wed Jan 08 2025 Ben Grande - c19997a +- fix: stricter command-line parsing + * Tue Jul 09 2024 Ben Grande - 011a71a - style: limit line length per file extension diff --git a/rpm_spec/qusal-fedora-xfce.spec b/rpm_spec/qusal-fedora-xfce.spec index 039e00a..1de1953 100644 --- a/rpm_spec/qusal-fedora-xfce.spec +++ b/rpm_spec/qusal-fedora-xfce.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -46,26 +46,27 @@ Creates the Fedora Xfce template as well as a Disposable Template based on it. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then diff --git a/rpm_spec/qusal-fedora.spec b/rpm_spec/qusal-fedora.spec index c6e9192..590f13d 100644 --- a/rpm_spec/qusal-fedora.spec +++ b/rpm_spec/qusal-fedora.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -46,26 +46,27 @@ Creates the Fedora template as well as a Disposable Template based on it. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then diff --git a/rpm_spec/qusal-fetcher.spec b/rpm_spec/qusal-fetcher.spec index 53e6790..901dee9 100644 --- a/rpm_spec/qusal-fetcher.spec +++ b/rpm_spec/qusal-fetcher.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -56,26 +56,27 @@ SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS, WSS, RSYNC, BitTorrent. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -115,6 +116,9 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + * Mon Jul 08 2024 Ben Grande - 523bca2 - fix: conform files to editorconfig specification diff --git a/rpm_spec/qusal-kicksecure-minimal.spec b/rpm_spec/qusal-kicksecure-minimal.spec index 7dde68b..1ab40c6 100644 --- a/rpm_spec/qusal-kicksecure-minimal.spec +++ b/rpm_spec/qusal-kicksecure-minimal.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -48,26 +48,27 @@ on it. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -106,6 +107,9 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + * Thu Jul 04 2024 Ben Grande - 383c840 - doc: lint markdown files diff --git a/rpm_spec/qusal-mail.spec b/rpm_spec/qusal-mail.spec index 3bf92bd..6984c1d 100644 --- a/rpm_spec/qusal-mail.spec +++ b/rpm_spec/qusal-mail.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -66,26 +66,27 @@ causes problems. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -131,6 +132,18 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Wed Jan 08 2025 Ben Grande - c19997a +- fix: stricter command-line parsing + +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + +* Tue Aug 06 2024 Ben Grande - bdd4c78 +- fix: avoid echo usage + +* Tue Aug 06 2024 Ben Grande - 1b2f1ba +- fix: avoid operand evaluation as argument + * Thu Jul 04 2024 Ben Grande - 383c840 - doc: lint markdown files diff --git a/rpm_spec/qusal-media.spec b/rpm_spec/qusal-media.spec index cf6c075..0ed2221 100644 --- a/rpm_spec/qusal-media.spec +++ b/rpm_spec/qusal-media.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -51,26 +51,27 @@ over the network. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -111,6 +112,12 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + +* Fri Jul 19 2024 Ben Grande - 5d6a50c +- fix: add media appmenus + * Thu Jul 04 2024 Ben Grande - 383c840 - doc: lint markdown files diff --git a/rpm_spec/qusal-mgmt.spec b/rpm_spec/qusal-mgmt.spec index bfeaa83..5a4a56d 100644 --- a/rpm_spec/qusal-mgmt.spec +++ b/rpm_spec/qusal-mgmt.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -50,26 +50,27 @@ of a qube or for Salt Management on DomUs. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -109,6 +110,12 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Wed Jan 08 2025 Ben Grande - c19997a +- fix: stricter command-line parsing + +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + * Thu Jul 04 2024 Ben Grande - 383c840 - doc: lint markdown files diff --git a/rpm_spec/qusal-mirage-builder.spec b/rpm_spec/qusal-mirage-builder.spec index e491b9e..82ea9b8 100644 --- a/rpm_spec/qusal-mirage-builder.spec +++ b/rpm_spec/qusal-mirage-builder.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -54,26 +54,27 @@ installed. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -113,6 +114,9 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + * Wed Jul 10 2024 Ben Grande - 224312e - feat: enable all optional shellcheck validations diff --git a/rpm_spec/qusal-opentofu.spec b/rpm_spec/qusal-opentofu.spec index 61c46e5..40803da 100644 --- a/rpm_spec/qusal-opentofu.spec +++ b/rpm_spec/qusal-opentofu.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -48,26 +48,27 @@ of Terraform. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -106,6 +107,9 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + * Thu Jul 04 2024 Ben Grande - 383c840 - doc: lint markdown files diff --git a/rpm_spec/qusal-qubes-builder.spec b/rpm_spec/qusal-qubes-builder.spec index 1fefb81..d83b90a 100644 --- a/rpm_spec/qusal-qubes-builder.spec +++ b/rpm_spec/qusal-qubes-builder.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -59,26 +59,27 @@ and split-ssh-agent will also be installed. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -120,6 +121,15 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Wed Sep 25 2024 Ben Grande - 656d363 +- fix: maintainer key file name + +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + +* Fri Aug 09 2024 Ben Grande - 3696a08 +- doc: organize Qubes Builder options in a list + * Wed Jul 10 2024 Ben Grande - 224312e - feat: enable all optional shellcheck validations diff --git a/rpm_spec/qusal-reader.spec b/rpm_spec/qusal-reader.spec index 182e729..7eba798 100644 --- a/rpm_spec/qusal-reader.spec +++ b/rpm_spec/qusal-reader.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -50,26 +50,27 @@ necessary packages will be installed in the template. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -110,6 +111,12 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Wed Jan 08 2025 Ben Grande - c19997a +- fix: stricter command-line parsing + +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + * Tue Jul 09 2024 Ben Grande - 011a71a - style: limit line length per file extension diff --git a/rpm_spec/qusal-remmina.spec b/rpm_spec/qusal-remmina.spec index da5e0e9..30aba21 100644 --- a/rpm_spec/qusal-remmina.spec +++ b/rpm_spec/qusal-remmina.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -48,26 +48,27 @@ you prefer to use an app qube, a qube named "remmina" will also be created. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -107,6 +108,12 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + +* Tue Jul 16 2024 Ben Grande - f5fe973 +- fix: add icons to remmina toolbar + * Thu Jul 04 2024 Ben Grande - 383c840 - doc: lint markdown files diff --git a/rpm_spec/qusal-signal.spec b/rpm_spec/qusal-signal.spec index b607ad1..e7fc512 100644 --- a/rpm_spec/qusal-signal.spec +++ b/rpm_spec/qusal-signal.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -48,26 +48,27 @@ Install Signal Desktop and creates an app qube named "signal". %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -108,6 +109,15 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + +* Fri Jul 19 2024 Ben Grande - f8aa555 +- fix: clean Signal and Browser dependencies + +* Thu Jul 18 2024 Ben Grande - 3b6901b +- fix: remove broken Signal firewall rules + * Mon Jul 08 2024 Ben Grande - 523bca2 - fix: conform files to editorconfig specification diff --git a/rpm_spec/qusal-ssh.spec b/rpm_spec/qusal-ssh.spec index 69e817b..d296e05 100644 --- a/rpm_spec/qusal-ssh.spec +++ b/rpm_spec/qusal-ssh.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -53,26 +53,27 @@ in as a one time connection or to an untrusted host use a DispVM based on %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then diff --git a/rpm_spec/qusal-sys-audio.spec b/rpm_spec/qusal-sys-audio.spec index aedf4d3..33b6ec6 100644 --- a/rpm_spec/qusal-sys-audio.spec +++ b/rpm_spec/qusal-sys-audio.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -51,26 +51,27 @@ the necessary packages for bluetooth with the provided state. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -111,6 +112,18 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Wed Jan 08 2025 Ben Grande - c19997a +- fix: stricter command-line parsing + +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + +* Thu Jul 18 2024 Ben Grande - e00ef42 +- fix: remove unnecessary USB proxy for audio client + +* Mon Jul 15 2024 Ben Grande - 5043e7b +- fix: correct easyeffects desktop application name + * Mon Jul 15 2024 Ben Grande - 409ac73 - feat: add appmenus to audio applications diff --git a/rpm_spec/qusal-sys-bitcoin.spec b/rpm_spec/qusal-sys-bitcoin.spec index 6a0439e..0b8b16a 100644 --- a/rpm_spec/qusal-sys-bitcoin.spec +++ b/rpm_spec/qusal-sys-bitcoin.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -74,26 +74,27 @@ At least `1TB` of disk space is required. At block `829054` (2024-02-05), %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -137,6 +138,30 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Wed Jan 08 2025 Ben Grande - c19997a +- fix: stricter command-line parsing + +* Wed Oct 23 2024 seven beep - dbcef3d +- fix: Invalid volume size for sys-bitcoin + +* Mon Oct 14 2024 Ben Grande - 648bccd +- feat: Bump Bitcoin Core version + +* Sun Aug 25 2024 Ben Grande - 0f5309a +- fix: update Ava Chow PGP key + +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + +* Fri Aug 16 2024 Ben Grande - 2c74ef8 +- fix: avoid operand evaluation as argument + +* Tue Aug 06 2024 Ben Grande - bdd4c78 +- fix: avoid echo usage + +* Tue Aug 06 2024 Ben Grande - 1b2f1ba +- fix: avoid operand evaluation as argument + * Wed Jul 10 2024 Ben Grande - 224312e - feat: enable all optional shellcheck validations diff --git a/rpm_spec/qusal-sys-cacher.spec b/rpm_spec/qusal-sys-cacher.spec index 56189d2..a9ac9c0 100644 --- a/rpm_spec/qusal-sys-cacher.spec +++ b/rpm_spec/qusal-sys-cacher.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -66,26 +66,27 @@ The caching proxy supports: %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -97,7 +98,7 @@ if test "$1" = "1"; then qubesctl --skip-dom0 --targets=sys-cacher-browser state.apply sys-cacher.configure-browser qubesctl state.apply sys-cacher.appmenus,sys-cacher.tag qubesctl --skip-dom0 --targets="$(qvm-ls --no-spinner --raw-list --tags updatevm-sys-cacher | tr " - " ",")" state.apply sys-cacher.install-client +" ",")" state.apply sys-cacher.install-client elif test "$1" = "2"; then ## Upgrade true @@ -130,6 +131,24 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Wed Jan 08 2025 Ben Grande - c19997a +- fix: stricter command-line parsing + +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + +* Fri Aug 16 2024 Ben Grande - 2c74ef8 +- fix: avoid operand evaluation as argument + +* Tue Aug 06 2024 Ben Grande - bdd4c78 +- fix: avoid echo usage + +* Tue Aug 06 2024 Ben Grande - 1b2f1ba +- fix: avoid operand evaluation as argument + +* Thu Jul 25 2024 Ben Grande - 2b7f555 +- fix: exclude Whonix qubes by distribution feature + * Wed Jul 10 2024 Ben Grande - 224312e - feat: enable all optional shellcheck validations @@ -261,21 +280,3 @@ fi * Wed Jan 31 2024 Ben Grande - b5d7371 - fix: thunar requires xfce helpers to find terminal - -* Mon Jan 29 2024 Ben Grande - 6efcc1d -- chore: copyright update - -* Sat Jan 20 2024 Ben Grande - 422b01e -- feat: remove audiovm setting when unnecessary - -* Thu Jan 18 2024 Ben Grande - 0887c24 -- fix: remove unicode from used files - -* Fri Jan 12 2024 Ben Grande - 8d7c0a2 -- fix: sys-cacher policy with the new tag name - -* Fri Jan 12 2024 Ben Grande - 233ac76 -- fix: sys-cacher tag compliance with default tags - -* Fri Jan 12 2024 Ben Grande - a97e3c0 -- feat: kicksecure minimal template diff --git a/rpm_spec/qusal-sys-electrs.spec b/rpm_spec/qusal-sys-electrs.spec index 27411ac..e08e16c 100644 --- a/rpm_spec/qusal-sys-electrs.spec +++ b/rpm_spec/qusal-sys-electrs.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -61,31 +61,33 @@ At least `200GB` of disk space is required. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then ## Install qubesctl state.apply sys-electrs.create + qubesctl --skip-dom0 --targets=sys-bitcoin-gateway state.apply sys-bitcoin.configure-gateway qubesctl --skip-dom0 --targets=tpl-electrs-builder state.apply sys-electrs.install-builder qubesctl --skip-dom0 --targets=tpl-sys-electrs state.apply sys-electrs.install qubesctl --skip-dom0 --targets=disp-electrs-builder state.apply sys-electrs.configure-builder @@ -123,6 +125,21 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Thu Oct 24 2024 Ben Grande - efe0fa6 +- fix: depend on Bitcoin Gateway configuration + +* Mon Sep 30 2024 Ben Grande - 008d961 +- feat: bump ElectRS version + +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + +* Fri Aug 16 2024 Ben Grande - 59a7fd2 +- fix: remove deprecated Electrs option + +* Tue Aug 06 2024 Ben Grande - 1b2f1ba +- fix: avoid operand evaluation as argument + * Tue Jul 09 2024 Ben Grande - 011a71a - style: limit line length per file extension diff --git a/rpm_spec/qusal-sys-electrumx.spec b/rpm_spec/qusal-sys-electrumx.spec index 9ec8fd7..806a69e 100644 --- a/rpm_spec/qusal-sys-electrumx.spec +++ b/rpm_spec/qusal-sys-electrumx.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -61,31 +61,33 @@ At least `200GB` of disk space is required. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then ## Install qubesctl state.apply sys-electrumx.create + qubesctl --skip-dom0 --targets=sys-bitcoin-gateway state.apply sys-bitcoin.configure-gateway qubesctl --skip-dom0 --targets=tpl-electrumx-builder state.apply sys-electrumx.install-builder qubesctl --skip-dom0 --targets=tpl-sys-electrumx state.apply sys-electrumx.install qubesctl --skip-dom0 --targets=disp-electrumx-builder state.apply sys-electrumx.configure-builder @@ -123,6 +125,18 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Thu Oct 24 2024 Ben Grande - efe0fa6 +- fix: depend on Bitcoin Gateway configuration + +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + +* Tue Aug 06 2024 Ben Grande - bdd4c78 +- fix: avoid echo usage + +* Tue Aug 06 2024 Ben Grande - 1b2f1ba +- fix: avoid operand evaluation as argument + * Thu Jul 04 2024 Ben Grande - 383c840 - doc: lint markdown files diff --git a/rpm_spec/qusal-sys-firewall.spec b/rpm_spec/qusal-sys-firewall.spec index 8194460..8b898ad 100644 --- a/rpm_spec/qusal-sys-firewall.spec +++ b/rpm_spec/qusal-sys-firewall.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -52,26 +52,27 @@ sys-pihole instead. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -111,6 +112,12 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Wed Jan 08 2025 Ben Grande - c19997a +- fix: stricter command-line parsing + +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + * Thu Jul 04 2024 Ben Grande - 383c840 - doc: lint markdown files diff --git a/rpm_spec/qusal-sys-git.spec b/rpm_spec/qusal-sys-git.spec index 4151af7..3f62871 100644 --- a/rpm_spec/qusal-sys-git.spec +++ b/rpm_spec/qusal-sys-git.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -52,26 +52,27 @@ and Init. This is an implementation of split-git. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -111,6 +112,18 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Mon Oct 14 2024 Ben Grande - 475b81a +- fix: skip edit of files owned by system packages + +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + +* Tue Aug 06 2024 Ben Grande - bdd4c78 +- fix: avoid echo usage + +* Tue Aug 06 2024 Ben Grande - 1b2f1ba +- fix: avoid operand evaluation as argument + * Wed Jul 10 2024 Ben Grande - 224312e - feat: enable all optional shellcheck validations diff --git a/rpm_spec/qusal-sys-gui-gpu.spec b/rpm_spec/qusal-sys-gui-gpu.spec index ed162c3..a382090 100644 --- a/rpm_spec/qusal-sys-gui-gpu.spec +++ b/rpm_spec/qusal-sys-gui-gpu.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -48,31 +48,32 @@ graphics card (external GPU) and PCI passthrough support. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then ## Install - qubesctl top.enable qvm.sys-gui pillar=True + qubesctl top.enable qvm.sys-gui-gpu pillar=True qubesctl state.apply sys-gui-gpu.create qubesctl --skip-dom0 --targets=tpl-sys-gui state.apply sys-gui-gpu.install qubesctl --skip-dom0 --targets=sys-gui-gpu state.apply sys-gui-gpu.configure @@ -109,6 +110,12 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Wed Jan 08 2025 Ben Grande - c19997a +- fix: stricter command-line parsing + +* Wed Sep 25 2024 Ben Grande - eb5cbe8 +- fix: sys-gui-vnc and sys-gui-gpu titles + * Fri Aug 16 2024 Ben Grande - 56a4296 - fix: skip YUM weak dependencies installation diff --git a/rpm_spec/qusal-sys-gui-vnc.spec b/rpm_spec/qusal-sys-gui-vnc.spec index 3f17329..db3d773 100644 --- a/rpm_spec/qusal-sys-gui-vnc.spec +++ b/rpm_spec/qusal-sys-gui-vnc.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -48,31 +48,32 @@ administration. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then ## Install - qubesctl top.enable qvm.sys-gui pillar=True + qubesctl top.enable qvm.sys-gui-vnc pillar=True qubesctl state.apply sys-gui-vnc.create qubesctl --skip-dom0 --targets=tpl-sys-gui state.apply sys-gui-vnc.install qubesctl --skip-dom0 --targets=sys-gui-vnc state.apply sys-gui-vnc.configure @@ -109,6 +110,12 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Wed Jan 08 2025 Ben Grande - c19997a +- fix: stricter command-line parsing + +* Wed Sep 25 2024 Ben Grande - eb5cbe8 +- fix: sys-gui-vnc and sys-gui-gpu titles + * Fri Aug 16 2024 Ben Grande - 56a4296 - fix: skip YUM weak dependencies installation diff --git a/rpm_spec/qusal-sys-gui.spec b/rpm_spec/qusal-sys-gui.spec index 244b5b9..51230c8 100644 --- a/rpm_spec/qusal-sys-gui.spec +++ b/rpm_spec/qusal-sys-gui.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -49,26 +49,27 @@ for the GUI domain's graphical server. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -110,4 +111,11 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Wed Jan 08 2025 Ben Grande - c19997a +- fix: stricter command-line parsing +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + +* Thu Jul 18 2024 Ben Grande - 735b324 +- feat: add GUI domain formula diff --git a/rpm_spec/qusal-sys-mirage-firewall.spec b/rpm_spec/qusal-sys-mirage-firewall.spec index a44e4b9..c53ee78 100644 --- a/rpm_spec/qusal-sys-mirage-firewall.spec +++ b/rpm_spec/qusal-sys-mirage-firewall.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -53,26 +53,27 @@ You can't use Mirage Firewall to be the updatevm, use another qube instead. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -110,6 +111,18 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Wed Jan 08 2025 Ben Grande - c19997a +- fix: stricter command-line parsing + +* Wed Nov 20 2024 Ben Grande - 0508199 +- fix: exclude Mirage kernel templates from updates + +* Thu Oct 17 2024 Ben Grande - 5370aea +- feat: bump Mirage Firewall version + +* Fri Aug 16 2024 Ben Grande - 2c74ef8 +- fix: avoid operand evaluation as argument + * Thu Jul 04 2024 Ben Grande - 383c840 - doc: lint markdown files diff --git a/rpm_spec/qusal-sys-net.spec b/rpm_spec/qusal-sys-net.spec index 9150070..1047811 100644 --- a/rpm_spec/qusal-sys-net.spec +++ b/rpm_spec/qusal-sys-net.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -55,26 +55,27 @@ the "qubes.UpdatesProxy" service in case no rule matched before. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -114,6 +115,15 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Wed Jan 08 2025 Ben Grande - c19997a +- fix: stricter command-line parsing + +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + +* Tue Aug 06 2024 Ben Grande - bdd4c78 +- fix: avoid echo usage + * Wed Jul 10 2024 Ben Grande - 224312e - feat: enable all optional shellcheck validations diff --git a/rpm_spec/qusal-sys-pgp.spec b/rpm_spec/qusal-sys-pgp.spec index cda4c34..82b65e6 100644 --- a/rpm_spec/qusal-sys-pgp.spec +++ b/rpm_spec/qusal-sys-pgp.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -51,26 +51,27 @@ and access to them is made from the client through Qrexec. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -111,6 +112,12 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + +* Tue Aug 06 2024 Ben Grande - 1b2f1ba +- fix: avoid operand evaluation as argument + * Thu Jul 04 2024 Ben Grande - 383c840 - doc: lint markdown files diff --git a/rpm_spec/qusal-sys-pihole.spec b/rpm_spec/qusal-sys-pihole.spec index 546bf99..a3a0386 100644 --- a/rpm_spec/qusal-sys-pihole.spec +++ b/rpm_spec/qusal-sys-pihole.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -58,26 +58,27 @@ to it. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -119,6 +120,18 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Wed Jan 08 2025 Ben Grande - c19997a +- fix: stricter command-line parsing + +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + +* Tue Aug 06 2024 Ben Grande - bdd4c78 +- fix: avoid echo usage + +* Tue Aug 06 2024 Ben Grande - 1b2f1ba +- fix: avoid operand evaluation as argument + * Wed Jul 10 2024 Ben Grande - 224312e - feat: enable all optional shellcheck validations diff --git a/rpm_spec/qusal-sys-print.spec b/rpm_spec/qusal-sys-print.spec index f845bf0..5cb3e81 100644 --- a/rpm_spec/qusal-sys-print.spec +++ b/rpm_spec/qusal-sys-print.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -52,26 +52,27 @@ be done over the network or with IPP-over-USB. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -111,6 +112,12 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Wed Jan 08 2025 Ben Grande - c19997a +- fix: stricter command-line parsing + +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + * Thu Jul 04 2024 Ben Grande - 383c840 - doc: lint markdown files diff --git a/rpm_spec/qusal-sys-rsync.spec b/rpm_spec/qusal-sys-rsync.spec index 68c3953..1df501e 100644 --- a/rpm_spec/qusal-sys-rsync.spec +++ b/rpm_spec/qusal-sys-rsync.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -55,26 +55,27 @@ the user. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -114,6 +115,12 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Wed Jan 08 2025 Ben Grande - c19997a +- fix: stricter command-line parsing + +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + * Thu Jul 04 2024 Ben Grande - 383c840 - doc: lint markdown files diff --git a/rpm_spec/qusal-sys-ssh-agent.spec b/rpm_spec/qusal-sys-ssh-agent.spec index 857daf2..a8e626b 100644 --- a/rpm_spec/qusal-sys-ssh-agent.spec +++ b/rpm_spec/qusal-sys-ssh-agent.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -61,26 +61,27 @@ only hold the SSH configuration, which can be reconstructed. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -120,6 +121,21 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Wed Jan 08 2025 Ben Grande - c19997a +- fix: stricter command-line parsing + +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + +* Tue Aug 06 2024 Ben Grande - bdd4c78 +- fix: avoid echo usage + +* Tue Aug 06 2024 Ben Grande - 1b2f1ba +- fix: avoid operand evaluation as argument + +* Thu Jul 25 2024 Ben Grande - e429503 +- fix: SSH clients misses Qubes network integration + * Wed Jul 10 2024 Ben Grande - 224312e - feat: enable all optional shellcheck validations diff --git a/rpm_spec/qusal-sys-ssh.spec b/rpm_spec/qusal-sys-ssh.spec index 1b6ae02..40759f4 100644 --- a/rpm_spec/qusal-sys-ssh.spec +++ b/rpm_spec/qusal-sys-ssh.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -56,26 +56,27 @@ server qube directly. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -114,6 +115,15 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Wed Jan 08 2025 Ben Grande - c19997a +- fix: stricter command-line parsing + +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + +* Tue Aug 06 2024 Ben Grande - 1b2f1ba +- fix: avoid operand evaluation as argument + * Thu Jul 04 2024 Ben Grande - 383c840 - doc: lint markdown files diff --git a/rpm_spec/qusal-sys-syncthing.spec b/rpm_spec/qusal-sys-syncthing.spec index 3a9c908..f53c5f6 100644 --- a/rpm_spec/qusal-sys-syncthing.spec +++ b/rpm_spec/qusal-sys-syncthing.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -54,26 +54,27 @@ accessible externally. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -120,6 +121,15 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Wed Jan 08 2025 Ben Grande - c19997a +- fix: stricter command-line parsing + +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + +* Tue Aug 06 2024 Ben Grande - 1b2f1ba +- fix: avoid operand evaluation as argument + * Tue Jul 09 2024 Ben Grande - 011a71a - style: limit line length per file extension diff --git a/rpm_spec/qusal-sys-tailscale.spec b/rpm_spec/qusal-sys-tailscale.spec index 0d89e96..dabef11 100644 --- a/rpm_spec/qusal-sys-tailscale.spec +++ b/rpm_spec/qusal-sys-tailscale.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -35,7 +35,8 @@ Requires: qusal-utils %description Install Tailscale and use it on the "sys-tailscale" or with any other qube you -want to install. +want to install. The "sys-tailscale" qube can provide network for other qubes, +but its clients can only access devices in the tailnet via IP and not via DNS. %prep %setup -q @@ -47,26 +48,27 @@ want to install. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -105,6 +107,15 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Wed Jan 08 2025 Ben Grande - c19997a +- fix: stricter command-line parsing + +* Mon Dec 23 2024 Ben Grande - 972ca1f +- fix: add absent semicolon and stderr redirection + +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + * Sun Jul 07 2024 Ben Grande - a2fff01 - fix: remove unimplemented policy creation diff --git a/rpm_spec/qusal-sys-usb.spec b/rpm_spec/qusal-sys-usb.spec index 3ba15d1..8f8948a 100644 --- a/rpm_spec/qusal-sys-usb.spec +++ b/rpm_spec/qusal-sys-usb.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -47,26 +47,27 @@ the USB controllers to different qubes is possible. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -106,6 +107,15 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Wed Jan 08 2025 Ben Grande - c19997a +- fix: stricter command-line parsing + +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + +* Mon Jul 15 2024 Ben Grande - 5043e7b +- fix: correct easyeffects desktop application name + * Mon Jul 15 2024 Ben Grande - 409ac73 - feat: add appmenus to audio applications diff --git a/rpm_spec/qusal-sys-wireguard.spec b/rpm_spec/qusal-sys-wireguard.spec index f8e31c4..b5ac852 100644 --- a/rpm_spec/qusal-sys-wireguard.spec +++ b/rpm_spec/qusal-sys-wireguard.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -49,26 +49,27 @@ other qubes through the VPN with fail closed mechanism. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -108,6 +109,18 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Wed Jan 08 2025 Ben Grande - c19997a +- fix: stricter command-line parsing + +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + +* Tue Aug 06 2024 Ben Grande - bdd4c78 +- fix: avoid echo usage + +* Tue Aug 06 2024 Ben Grande - 1b2f1ba +- fix: avoid operand evaluation as argument + * Wed Jul 10 2024 Ben Grande - 224312e - feat: enable all optional shellcheck validations diff --git a/rpm_spec/qusal-terraform.spec b/rpm_spec/qusal-terraform.spec index 7991f51..72112ff 100644 --- a/rpm_spec/qusal-terraform.spec +++ b/rpm_spec/qusal-terraform.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -47,26 +47,27 @@ Install Terraform and use it on the "terraform" app qube. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -105,6 +106,9 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + * Thu Jul 04 2024 Ben Grande - 383c840 - doc: lint markdown files diff --git a/rpm_spec/qusal-usb.spec b/rpm_spec/qusal-usb.spec index 318ff9a..3d5314a 100644 --- a/rpm_spec/qusal-usb.spec +++ b/rpm_spec/qusal-usb.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -49,26 +49,27 @@ you can base disposable qubes, geared towards USB client usage. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then diff --git a/rpm_spec/qusal-utils.spec b/rpm_spec/qusal-utils.spec index a4e06d7..875bd7f 100644 --- a/rpm_spec/qusal-utils.spec +++ b/rpm_spec/qusal-utils.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -46,26 +46,27 @@ projects such as macros and common tools to be installed. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -103,6 +104,12 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Wed Jan 08 2025 Ben Grande - c19997a +- fix: stricter command-line parsing + +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + * Thu Jul 04 2024 Ben Grande - 383c840 - doc: lint markdown files diff --git a/rpm_spec/qusal-vault.spec b/rpm_spec/qusal-vault.spec index 850a020..b62ccf6 100644 --- a/rpm_spec/qusal-vault.spec +++ b/rpm_spec/qusal-vault.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -49,26 +49,27 @@ keys. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -108,6 +109,9 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + * Thu Jul 04 2024 Ben Grande - 383c840 - doc: lint markdown files diff --git a/rpm_spec/qusal-video-companion.spec b/rpm_spec/qusal-video-companion.spec index 9b53197..228133b 100644 --- a/rpm_spec/qusal-video-companion.spec +++ b/rpm_spec/qusal-video-companion.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -48,26 +48,27 @@ access them without compromising the domains. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then @@ -105,6 +106,12 @@ fi %dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. %changelog +* Fri Oct 18 2024 Ben Grande - 7a63d5e +- doc: remote support with Qubes Video Companion + +* Fri Aug 16 2024 Ben Grande - 56a4296 +- fix: skip YUM weak dependencies installation + * Thu Jul 04 2024 Ben Grande - 383c840 - doc: lint markdown files diff --git a/rpm_spec/qusal-whonix-gateway.spec b/rpm_spec/qusal-whonix-gateway.spec index eeae8d3..6c6f0dd 100644 --- a/rpm_spec/qusal-whonix-gateway.spec +++ b/rpm_spec/qusal-whonix-gateway.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -47,26 +47,27 @@ it. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then diff --git a/rpm_spec/qusal-whonix-workstation.spec b/rpm_spec/qusal-whonix-workstation.spec index 43ba3ef..0c065db 100644 --- a/rpm_spec/qusal-whonix-workstation.spec +++ b/rpm_spec/qusal-whonix-workstation.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -48,26 +48,27 @@ based on it. %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}/srv/salt/qusal/%{name} +cp -rv -- salt/%{project} %{buildroot}/srv/salt/qusal/%{name} %post if test "$1" = "1"; then diff --git a/rpm_spec/template/template.spec b/rpm_spec/template/template.spec index 7389687..146366e 100644 --- a/rpm_spec/template/template.spec +++ b/rpm_spec/template/template.spec @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -45,26 +45,27 @@ Requires: qubes-mgmt-salt-dom0 %pre %install -rm -rf %{buildroot} -install -m 755 -d \ +rm -rf -- %{buildroot} +install -m 755 -d -- \ %{buildroot}/srv/salt/qusal \ %{buildroot}%{_docdir}/%{name} \ %{buildroot}%{_defaultlicensedir}/%{name} -for license in $(echo "%{license_csv}" | tr "," " "); do +for license in $(printf '%s\n' "%{license_csv}" | tr "," " "); do license_dir="LICENSES" if test -d "salt/%{project}/LICENSES"; then license_dir="salt/%{project}/LICENSES" fi - install -m 644 "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ + install -m 644 -- \ + "${license_dir}/${license}.txt" %{buildroot}%{_defaultlicensedir}/%{name}/ done -install -m 644 salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ -rm -rf \ +install -m 644 -- salt/%{project}/README.md %{buildroot}%{_docdir}/%{name}/ +rm -rf -- \ salt/%{project}/LICENSES \ salt/%{project}/README.md \ salt/%{project}/.* -cp -rv salt/%{project} %{buildroot}@FILE_ROOTS@/%{name} +cp -rv -- salt/%{project} %{buildroot}@FILE_ROOTS@/%{name} %post if test "$1" = "1"; then diff --git a/salt/debian-minimal/create.sls b/salt/debian-minimal/create.sls index acc86e5..0cc54f5 100644 --- a/salt/debian-minimal/create.sls +++ b/salt/debian-minimal/create.sls @@ -1,5 +1,5 @@ {# -SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. SPDX-License-Identifier: AGPL-3.0-or-later #} @@ -65,6 +65,6 @@ features: "{{ slsdotpath }}-set-default_template": cmd.run: - - name: qubes-prefs default_template {{ template.template }} + - name: qubes-prefs -- default_template {{ template.template }} - require: - sls: {{ template.template_clean }}.clone diff --git a/salt/dev/home-cleanup.sls b/salt/dev/home-cleanup.sls index 50f44c3..9354049 100644 --- a/salt/dev/home-cleanup.sls +++ b/salt/dev/home-cleanup.sls @@ -1,5 +1,5 @@ {# -SPDX-FileCopyrightText: 2023 Benjamin Grande M. S. +SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. SPDX-License-Identifier: AGPL-3.0-or-later #} @@ -11,7 +11,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later "remove-{{ full_unused_dir }}": file.absent: - name: {{ full_unused_dir }} - - onlyif: test -z "$(ls -A {{ full_unused_dir }})" + - onlyif: test -z "$(ls -A -- {{ full_unused_dir }})" {% endfor -%} {% endif -%} diff --git a/salt/dom0/files/bin/qvm-backup-find-last b/salt/dom0/files/bin/qvm-backup-find-last index ffb4dff..bfcef73 100755 --- a/salt/dom0/files/bin/qvm-backup-find-last +++ b/salt/dom0/files/bin/qvm-backup-find-last @@ -1,6 +1,6 @@ #!/bin/sh -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -9,8 +9,8 @@ set -eu list_backups(){ ## Hide stderr to hide remote login connection messages (banners etc). # shellcheck disable=SC2086 - qvm-run --filter-escape-chars --no-color-output --no-color-stderr \ - --pass-io "${qube}" -- "${cmd} ${find_cmd} 2>/dev/null" + qvm-run --no-gui --filter-escape-chars --no-color-output --no-color-stderr \ + --pass-io -- "${qube}" "${cmd} ${find_cmd} 2>/dev/null" } list_last_backup(){ diff --git a/salt/dom0/files/bin/qvm-copy-to-dom0 b/salt/dom0/files/bin/qvm-copy-to-dom0 index cb2c57c..f949bdc 100755 --- a/salt/dom0/files/bin/qvm-copy-to-dom0 +++ b/salt/dom0/files/bin/qvm-copy-to-dom0 @@ -1,6 +1,6 @@ #!/bin/sh -# SPDX-FileCopyrightText: 2023 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -23,7 +23,7 @@ dir="${HOME}/QubesIncoming/${qube}" user="$(qvm-prefs --get -- "${qube}" default_user)" max_bytes="${UPDATES_MAX_BYTES:-4GiB}" max_files="${UPDATES_MAX_FILES:-2048}" -qvm-run --pass-io --localcmd=" +qvm-run --no-gui --pass-io --localcmd=" UPDATES_MAX_BYTES=\"${max_bytes}\" UPDATES_MAX_FILES=\"${max_files}\" /usr/libexec/qubes/qfile-dom0-unpacker \"${user}\" \"${dir}\"" \ - "${qube}" /usr/lib/qubes/qfile-agent "${@}" + -- "${qube}" /usr/lib/qubes/qfile-agent "${@}" diff --git a/salt/dom0/files/bin/qvm-mgmt b/salt/dom0/files/bin/qvm-mgmt index 7f355ff..1da47a5 100755 --- a/salt/dom0/files/bin/qvm-mgmt +++ b/salt/dom0/files/bin/qvm-mgmt @@ -1,5 +1,5 @@ #!/bin/sh -## SPDX-FileCopyrightText: 2024 Benjamin Grande M. S. +## SPDX-FileCopyrightText: 2024 - 2025 Benjamin Grande M. S. ## ## SPDX-License-Identifier: AGPL-3.0-or-later @@ -13,8 +13,8 @@ usage(){ get_qube_feat(){ qube="${1}" qvm-features "${qube}" | \ - grep -E -e "^(os-(distribution|version)|template-(release|name))" | \ - sed -e "s/ / /g;s/ /: /;s/^/ /" + grep -E -e "^(os-(distribution|version)|template-(release|name))" | + awk '{print $1 ": " $2}' } case "${1-}" in @@ -23,10 +23,10 @@ case "${1-}" in *) wanted_qube="${1}";; esac -mgmt="$(qubes-prefs management_dispvm)" +mgmt="$(qubes-prefs -- management_dispvm)" printf '%s\n' "GLOBAL" printf '%s\n' "management_dispvm: ${mgmt}" -tpl_mgmt="$(qvm-prefs "${mgmt}" template)" +tpl_mgmt="$(qvm-prefs -- "${mgmt}" template)" printf '%s\n' "management_dispvm template: ${tpl_mgmt}" printf '%s\n' "management_dispvm template features:" get_qube_feat "${tpl_mgmt}" @@ -38,19 +38,19 @@ fi printf '%s\n' "" printf '%s\n' "WANTED" printf '%s\n' "qube: ${wanted_qube}" -class="$(qvm-prefs "${wanted_qube}" klass)" +class="$(qvm-prefs -- "${wanted_qube}" klass)" printf '%s\n' "class: ${class}" case "${class}" in AppVM) - tpl_wanted_qube="$(qvm-prefs "${wanted_qube}" template)" + tpl_wanted_qube="$(qvm-prefs -- "${wanted_qube}" template)" printf '%s\n' "template: ${tpl_wanted_qube}" printf '%s\n' "template features:" get_qube_feat "${tpl_wanted_qube}" ;; DispVM) - dvm_wanted_qube="$(qvm-prefs "${wanted_qube}" template)" + dvm_wanted_qube="$(qvm-prefs -- "${wanted_qube}" template)" printf '%s\n' "disposable template: ${dvm_wanted_qube}" - tpl_wanted_qube="$(qvm-prefs "${dvm_wanted_qube}" template)" + tpl_wanted_qube="$(qvm-prefs -- "${dvm_wanted_qube}" template)" printf '%s\n' "template: ${tpl_wanted_qube}" printf '%s\n' "template features:" get_qube_feat "${tpl_wanted_qube}" @@ -61,12 +61,12 @@ case "${class}" in ;; *) printf '%s\n' "Unsupported qube class" >&2; exit 1;; esac -wanted_mgmt="$(qvm-prefs "${wanted_qube}" management_dispvm)" -printf '%s\n' "${wanted_qube} management_dispvm: ${wanted_mgmt}" +wanted_mgmt="$(qvm-prefs -- "${wanted_qube}" management_dispvm)" +printf '%s\n' "management_dispvm: ${wanted_mgmt}" if test "${wanted_mgmt}" = "${mgmt}"; then exit fi -wanted_tpl_mgmt="$(qvm-prefs "${wanted_mgmt}" template)" -printf '%s\n' "${wanted_qube} management_dispvm template: ${wanted_tpl_mgmt}" -printf '%s\n' "${wanted_qube} management_dispvm template features:" +wanted_tpl_mgmt="$(qvm-prefs -- "${wanted_mgmt}" template)" +printf '%s\n' "management_dispvm template: ${wanted_tpl_mgmt}" +printf '%s\n' "management_dispvm template features:" get_qube_feat "${wanted_tpl_mgmt}" diff --git a/salt/dom0/files/bin/qvm-pci-regain b/salt/dom0/files/bin/qvm-pci-regain index 95e3e68..6a077d7 100755 --- a/salt/dom0/files/bin/qvm-pci-regain +++ b/salt/dom0/files/bin/qvm-pci-regain @@ -1,6 +1,6 @@ #!/bin/sh -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. # # SPDX-License-Identifier: GPL-3.0-or-later diff --git a/salt/dom0/files/bin/qvm-screenshot b/salt/dom0/files/bin/qvm-screenshot index 775d02a..42ae655 100755 --- a/salt/dom0/files/bin/qvm-screenshot +++ b/salt/dom0/files/bin/qvm-screenshot @@ -1,7 +1,7 @@ #!/bin/sh # # SPDX-FileCopyrightText: 2017 - 2020 EvaDogStar -# SPDX-FileCopyrightText: 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2024 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: MIT # @@ -32,15 +32,15 @@ take_screenshot() { ;; scrot) case "${screenshot_type}" in - window) scrot -s -b "${screenshot_file}";; - fullscreen) scrot -b "${screenshot_file}";; + window) scrot -s -b -- "${screenshot_file}";; + fullscreen) scrot -b -- "${screenshot_file}";; *) printf '%s\n' "Unsupported screenshot type" >&2; exit 1;; esac ;; maim) case "${screenshot_type}" in - window) maim -s -o -u "${screenshot_file}";; - fullscreen) maim -o -u "${screenshot_file}";; + window) maim -s -o -u -- "${screenshot_file}";; + fullscreen) maim -o -u -- "${screenshot_file}";; *) printf '%s\n' "Unsupported screenshot type" >&2; exit 1;; esac ;; @@ -160,8 +160,8 @@ if test -n "${screenshot_cmd_wanted}"; then msg="wanted screenshot program not found: ${screenshot_cmd_wanted}" printf '%s\n' "[ERROR] ${msg}" case "${dialog_cmd}" in - zenity) zenity --info --text "${msg}";; - kdialog) kdialog --msgbox "${msg}";; + zenity) zenity --info --text -- "${msg}";; + kdialog) kdialog --msgbox -- "${msg}";; *) printf '%s\n' "Unsupported dialog command" >&2; exit 1;; esac exit 1 @@ -190,8 +190,8 @@ else msg="${msg}: spectacle xfce4-screenshooter scrot maim" printf '%s\n' "[ERROR] ${msg}" case "${dialog_cmd}" in - zenity) zenity --info --text "${msg}";; - kdialog) kdialog --msgbox "${msg}";; + zenity) zenity --info --text -- "${msg}";; + kdialog) kdialog --msgbox -- "${msg}";; *) printf '%s\n' "Unsupported dialog command" >&2; exit 1;; esac exit 1 @@ -206,13 +206,13 @@ if test -z "${screenshot_type_text}"; then screenshot_type_text="$(zenity --list \ --text "${dialog_title}" \ --radiolist \ - --column "Pick" --column "Mode" \ + --column "Pick" --column "Mode" -- \ TRUE "Region or Window" \ FALSE "Fullscreen" \ )" ;; kdialog) - screenshot_type_text="$(kdialog --radiolist "${dialog_title}" \ + screenshot_type_text="$(kdialog --radiolist "${dialog_title}" -- \ "Region or Window" "Region or Window" off \ "Fullscreen" "Fullscreen" off \ )" @@ -231,8 +231,8 @@ if ! test -f "${screenshot_file}"; then msg="Screenshot was not saved in GuiVM" printf '%s\n' "[ERROR] ${msg}" case "${dialog_cmd}" in - zenity) zenity --warning --text "${msg}";; - kdialog) kdialog --sorry "${msg}";; + zenity) zenity --warning --text -- "${msg}";; + kdialog) kdialog --sorry -- "${msg}";; *) printf '%s\n' "Unsupported dialog command" >&2; exit 1;; esac exit 1 @@ -245,7 +245,7 @@ if test "${screenshot_action_supplied}" != "1"; then screenshot_action_text="$(zenity --list --width=280 --height=210 \ --text "${dialog_title}" \ --separator="\n" \ - --checklist --column "Pick" --column "Resolution" \ + --checklist --column "Pick" --column "Resolution" -- \ FALSE "Exit" \ FALSE "Open file manager in qube" \ FALSE "Move file" @@ -253,7 +253,7 @@ if test "${screenshot_action_supplied}" != "1"; then ;; kdialog) screenshot_action_text="$(kdialog --checklist "${dialog_title}" \ - --separate-output \ + --separate-output -- \ "Exit" "Exit" off \ "Open file manager in qube" "Open file manager in qube" off \ "Move file" "Move file" off @@ -297,13 +297,13 @@ if test -z "${qube}"; then # shellcheck disable=SC2086 qube="$(zenity --list --width=200 --height=390 \ --text "${dialog_title}" \ - --radiolist --column "Pick" --column "qube" ${qube_list})" + --radiolist --column "Pick" --column "qube" -- ${qube_list})" ;; kdialog) qube_list="$(printf '%s\n' "${qube_list}" | \ sed -e "s/\(.*\)/\1 \1 off/")" # shellcheck disable=SC2086 - qube="$(kdialog --radiolist "${dialog_title}" ${qube_list})" + qube="$(kdialog --radiolist "${dialog_title}" -- ${qube_list})" ;; *) printf '%s\n' "Unsupported dialog command" >&2; exit 1;; esac @@ -311,8 +311,8 @@ if test -z "${qube}"; then msg="qube was not selected" printf '%s\n' "[ERROR] ${msg}" case "${dialog_cmd}" in - zenity) zenity --error --text "${msg}";; - kdialog) kdialog --error "${msg}";; + zenity) zenity --error --text -- "${msg}";; + kdialog) kdialog --error -- "${msg}";; *) printf '%s\n' "Unsupported dialog command" >&2; exit 1;; esac exit 1 @@ -323,21 +323,21 @@ if ! qvm-check -- "${qube}" >/dev/null 2>&1; then msg="qube doesn't exist: ${qube}" printf '%s\n' "[ERROR] ${msg}" case "${dialog_cmd}" in - zenity) zenity --error --text "${msg}";; - kdialog) kdialog --error "${msg}";; + zenity) zenity --error --text -- "${msg}";; + kdialog) kdialog --error -- "${msg}";; *) printf '%s\n' "Unsupported dialog command" >&2; exit 1;; esac exit 1 fi -qvm-run "${qube}" -- "mkdir -p -- \"${qube_pictures_dir}\"" -qvm-run --pass-io "${qube}" -- "cat > \"${qube_screenshot_file}\"" \ - < "${screenshot_file}" +qvm-run --no-gui -- "${qube}" "mkdir -p -- \"${qube_pictures_dir}\"" +qvm-run --no-gui --pass-io -- "${qube}" \ + "cat -- > \"${qube_screenshot_file}\"" < "${screenshot_file}" if test "${file_move}" = "1"; then rm -f -- "${screenshot_file}" fi if test "${file_manager}" = "1"; then - qvm-run "${qube}" -- "xdg-open \"${qube_pictures_dir}\"" + qvm-run --no-gui -- "${qube}" "xdg-open \"${qube_pictures_dir}\"" fi diff --git a/salt/dom0/files/bin/qvm-terminal b/salt/dom0/files/bin/qvm-terminal index 119298b..ecc19df 100755 --- a/salt/dom0/files/bin/qvm-terminal +++ b/salt/dom0/files/bin/qvm-terminal @@ -1,6 +1,6 @@ #!/bin/sh -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -8,30 +8,58 @@ set -eu me="${0##*/}" +msg(){ + printf '%s\n' "${0##*/}: ${*}" >&2 +} + usage(){ - printf '%s\n' "Usage: ${me} [QVM-RUN_OPTIONS] + msg "Usage: ${me} [QVM-RUN_OPTIONS] Examples: ${me} --dispvm= ${me} -u root ${me} -The application to open can be specified with environment variables: - QVM_TERMINAL=xterm ${me} -u root - QVM_FILE_MANAGER=thunar ${me} -u root " >&2 +The desktop application can be specified with environment variable:" + case "${me}" in + *-terminal) + msg " QVM_TERMINAL=xterm ${me} -u root " + ;; + *-file-manager) + msg " QVM_FILE_MANAGER=thunar ${me} -u root " + ;; + *) ;; + esac exit "${1-"1"}" } +check_xtools(){ + fail=0 + if ! command -v xdotool >/dev/null; then + msg "missing program: xdotool" + fail=1 + fi + if ! command -v xprop >/dev/null; then + msg "missing program: xprop" + fail=1 + fi + if test "${fail}" = "1"; then + msg "cannot determine qube by window, install missing programs or" + msg "provide the qube name by argument" + exit 1 + fi +} + case "${me}" in *-terminal) service="${QVM_TERMINAL:-"qubes-run-terminal"}";; *-file-manager) service="${QVM_FILE_MANAGER:-"qubes-open-file-manager"}";; - *) printf '%s\n' "Invalid script name: ${me}" >&2; exit 1 ;; + *) msg "Invalid script name: ${me}"; exit 1 ;; esac - case "${1-}" in -h|--help) usage 1 ;; "") + check_xtools ## Try to run on focused window, if Dom0 is focused, it will prompt you to ## select a qube window. id="$(xdotool getwindowfocus)" diff --git a/salt/fedora-minimal/files/admin/bin/salt-patch.sh b/salt/fedora-minimal/files/admin/bin/salt-patch.sh index f14d591..abaec32 100755 --- a/salt/fedora-minimal/files/admin/bin/salt-patch.sh +++ b/salt/fedora-minimal/files/admin/bin/salt-patch.sh @@ -1,6 +1,6 @@ #!/bin/sh -## SPDX-FileCopyrightText: 2024 Benjamin Grande M. S. +## SPDX-FileCopyrightText: 2024 - 2025 Benjamin Grande M. S. ## ## SPDX-License-Identifier: AGPL-3.0-or-later @@ -13,5 +13,6 @@ set -eu qube="${1}" dnf_min_install="dnf -q install --refresh -y --setopt=install_weak_deps=False" -qvm-run --user=root --pass-io --filter-escape-chars --no-color-output \ - --no-color-stderr "${qube}" -- "${dnf_min_install} python3-urllib3" +qvm-run --no-gui --user=root --pass-io --filter-escape-chars \ + --no-color-output --no-color-stderr -- "${qube}" \ + "${dnf_min_install} python3-urllib3" diff --git a/salt/mail/files/reader/rpc/qusal.MailFetch b/salt/mail/files/reader/rpc/qusal.MailFetch index d02b7fb..88a50b8 100755 --- a/salt/mail/files/reader/rpc/qusal.MailFetch +++ b/salt/mail/files/reader/rpc/qusal.MailFetch @@ -1,12 +1,12 @@ #!/bin/sh -## SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +## SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. ## ## SPDX-License-Identifier: AGPL-3.0-or-later umask 077 inbox_dir="${HOME}/mail/INBOX" -uid="$(id -u user)" +uid="$(id -u -- user)" # shellcheck disable=SC2174 mkdir -p -- "${inbox_dir}" diff --git a/salt/mail/files/sender/rpc/qusal.MailEnqueue b/salt/mail/files/sender/rpc/qusal.MailEnqueue index e95deb7..67f37b0 100755 --- a/salt/mail/files/sender/rpc/qusal.MailEnqueue +++ b/salt/mail/files/sender/rpc/qusal.MailEnqueue @@ -1,12 +1,12 @@ #!/bin/sh -## SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +## SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. ## ## SPDX-License-Identifier: AGPL-3.0-or-later umask 077 queue_dir="${MSMTP_Q:-"${Q:-"${HOME}/.msmtp.queue"}"}" -uid="$(id -u user)" +uid="$(id -u -- user)" # shellcheck disable=SC2174 mkdir -p -- "${queue_dir}" diff --git a/salt/mgmt/prefs.sls b/salt/mgmt/prefs.sls index ae76561..73e491b 100644 --- a/salt/mgmt/prefs.sls +++ b/salt/mgmt/prefs.sls @@ -1,5 +1,5 @@ {# -SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. SPDX-License-Identifier: AGPL-3.0-or-later #} @@ -11,7 +11,7 @@ include: cmd.run: - require: - cmd: "{{ slsdotpath }}-install-salt-deps" - - name: qubes-prefs management_dispvm dvm-{{ slsdotpath }} + - name: qubes-prefs -- management_dispvm dvm-{{ slsdotpath }} "{{ slsdotpath }}-set-tpl-{{ slsdotpath }}-management_dispvm-to-default": qvm.vm: diff --git a/salt/reader/create.sls b/salt/reader/create.sls index 95af0d9..e35388b 100644 --- a/salt/reader/create.sls +++ b/salt/reader/create.sls @@ -1,6 +1,6 @@ {# SPDX-FileCopyrightText: 2022 - 2023 unman -SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. SPDX-License-Identifier: AGPL-3.0-or-later #} @@ -57,6 +57,6 @@ features: "{{ slsdotpath }}-set-default_dispvm": cmd.run: - - name: qubes-prefs default_dispvm dvm-{{ slsdotpath }} + - name: qubes-prefs -- default_dispvm dvm-{{ slsdotpath }} - require: - qvm: dvm-{{ slsdotpath }} diff --git a/salt/sys-audio/README.md b/salt/sys-audio/README.md index 28e6cfe..f7b8006 100644 --- a/salt/sys-audio/README.md +++ b/salt/sys-audio/README.md @@ -151,7 +151,7 @@ qvm-usb list disp-sys-usb If you haven't identified the device, run `lsusb` in the USB stack server: ```sh -qvm-run -p disp-sys-usb -- lsusb +qvm-run --no-gui -p disp-sys-usb -- lsusb ``` Permanently attach the Bluetooth controller to the AudioVM (change `DEVID` for diff --git a/salt/sys-audio/create.sls b/salt/sys-audio/create.sls index 6284cbe..531e4e2 100644 --- a/salt/sys-audio/create.sls +++ b/salt/sys-audio/create.sls @@ -1,5 +1,5 @@ {# -SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. SPDX-License-Identifier: AGPL-3.0-or-later #} @@ -102,7 +102,7 @@ tags: cmd.run: - require: - qvm: disp-{{ slsdotpath }} - - name: qubes-prefs default_audiovm disp-{{ slsdotpath }} + - name: qubes-prefs -- default_audiovm disp-{{ slsdotpath }} {% from 'utils/macros/policy.sls' import policy_set with context -%} {{ policy_set(sls_path, '80') }} diff --git a/salt/sys-bitcoin/README.md b/salt/sys-bitcoin/README.md index df4e3af..d6b31e3 100644 --- a/salt/sys-bitcoin/README.md +++ b/salt/sys-bitcoin/README.md @@ -128,7 +128,7 @@ you just need to reduce the memory available to the `sys-bitcoin` qube. From `dom0`, run: ```sh -qvm-prefs sys-bitcoin memory 1000 +qvm-prefs -- sys-bitcoin memory 1000 ``` ### Bitcoin Core GUI diff --git a/salt/sys-bitcoin/files/server/bin/bitcoin-whitepaper b/salt/sys-bitcoin/files/server/bin/bitcoin-whitepaper index 9816ae8..781080d 100755 --- a/salt/sys-bitcoin/files/server/bin/bitcoin-whitepaper +++ b/salt/sys-bitcoin/files/server/bin/bitcoin-whitepaper @@ -1,5 +1,5 @@ #!/bin/bash -## SPDX-FileCopyrightText: 2024 Benjamin Grande M. S. +## SPDX-FileCopyrightText: 2024 - 2025 Benjamin Grande M. S. ## ## SPDX-License-Identifier: AGPL-3.0-or-later @@ -80,7 +80,7 @@ gettxout(){ | tr -d '\n' \ | cut -c 17-368600 \ | xxd -r -p \ - | tee "${output_file}" >/dev/null + | tee -- "${output_file}" >/dev/null } usage(){ diff --git a/salt/sys-cacher/README.md b/salt/sys-cacher/README.md index 8779d4b..8c3d902 100644 --- a/salt/sys-cacher/README.md +++ b/salt/sys-cacher/README.md @@ -117,7 +117,7 @@ setting `sys-cacher` as the netvm of the client qube. Set `sys-cacher` as the netvm of your qube: ```sh -qvm-prefs QUBE netvm sys-cacher +qvm-prefs -- QUBE netvm sys-cacher ``` Enable the service `netvm-cacher`: @@ -157,7 +157,7 @@ lose the current session: qvm-tags QUBE add updatevm-sys-cacher qvm-features QUBE service.updates-proxy-setup 1 sudo qubesctl --skip-dom0 --targets=QUBE state.apply sys-cacher.install-client -qvm-run --user=root QUBE -- " +qvm-run --no-gui --user=root -- QUBE " touch -- /var/run/qubes-service/updates-proxy-setup /usr/bin/apt-cacher-ng-repo systemctl restart qubes-updates-proxy-forwarder.socket" diff --git a/salt/sys-cacher/files/browser/systemd/qusal-acng-browser-forwarder.socket b/salt/sys-cacher/files/browser/systemd/qusal-acng-browser-forwarder.socket index 05cc285..feacd91 100644 --- a/salt/sys-cacher/files/browser/systemd/qusal-acng-browser-forwarder.socket +++ b/salt/sys-cacher/files/browser/systemd/qusal-acng-browser-forwarder.socket @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/salt/sys-cacher/files/browser/systemd/qusal-acng-browser-forwarder@.service b/salt/sys-cacher/files/browser/systemd/qusal-acng-browser-forwarder@.service index 8b67aa7..85dec6a 100644 --- a/salt/sys-cacher/files/browser/systemd/qusal-acng-browser-forwarder@.service +++ b/salt/sys-cacher/files/browser/systemd/qusal-acng-browser-forwarder@.service @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/salt/sys-cacher/list-extra-tag.sls b/salt/sys-cacher/list-extra-tag.sls index 83fa8ac..ef2d037 100644 --- a/salt/sys-cacher/list-extra-tag.sls +++ b/salt/sys-cacher/list-extra-tag.sls @@ -1,5 +1,5 @@ {# -SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. SPDX-License-Identifier: AGPL-3.0-or-later #} @@ -7,4 +7,4 @@ SPDX-License-Identifier: AGPL-3.0-or-later {% set extraneous = salt['cmd.script']('salt://' ~ slsdotpath ~ '/files/admin/tag.py', args='--extraneous') -%} "{{ slsdotpath }}-list-extra-tag": cmd.run: - - name: echo {{ extraneous.stdout.split("\n") }} + - name: printf '%s\n' {{ extraneous.stdout.split("\n") }} diff --git a/salt/sys-firewall/create.sls b/salt/sys-firewall/create.sls index 003770a..7d7a9c6 100644 --- a/salt/sys-firewall/create.sls +++ b/salt/sys-firewall/create.sls @@ -1,5 +1,5 @@ {# -SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. SPDX-License-Identifier: AGPL-3.0-or-later #} @@ -7,8 +7,8 @@ SPDX-License-Identifier: AGPL-3.0-or-later {%- from "qvm/template.jinja" import load -%} # Use the netvm of the default_netvm. -{% set default_netvm = salt['cmd.shell']('qubes-prefs default_netvm') -%} -{% set netvm = salt['cmd.shell']('qvm-prefs ' + default_netvm + ' netvm') -%} +{% set default_netvm = salt['cmd.shell']('qubes-prefs -- default_netvm') -%} +{% set netvm = salt['cmd.shell']('qvm-prefs -- ' + default_netvm + ' netvm') -%} # If netvm is empty, user's default_netvm is the uplink (sys-net). {% if netvm == '' %} {% set netvm = default_netvm %} @@ -119,7 +119,7 @@ features: ## Anticipate network usage as sys-firewall is turned off at this step. ## Starting the machine before let's the network be established with enough ## time for the package installation in the template to work. -{% set default_netvm = salt['cmd.shell']('qubes-prefs default_netvm') -%} +{% set default_netvm = salt['cmd.shell']('qubes-prefs -- default_netvm') -%} {% if default_netvm -%} "{{ slsdotpath }}-start-{{ default_netvm }}-anticipate-network-use": qvm.start: diff --git a/salt/sys-firewall/prefs-disp.sls b/salt/sys-firewall/prefs-disp.sls index f8cf08c..f527786 100644 --- a/salt/sys-firewall/prefs-disp.sls +++ b/salt/sys-firewall/prefs-disp.sls @@ -1,5 +1,5 @@ {# -SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. SPDX-License-Identifier: AGPL-3.0-or-later #} @@ -7,7 +7,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later {% set qube = 'disp-' ~ slsdotpath -%} {% set running = 0 -%} -{% if salt['cmd.shell']('qvm-ls --no-spinner --raw-list --running ' ~ qube) == qube -%} +{% if salt['cmd.shell']('qvm-ls --no-spinner --raw-list --running -- ' ~ qube) == qube -%} {% set running = 1 -%} {% endif -%} @@ -19,19 +19,19 @@ SPDX-License-Identifier: AGPL-3.0-or-later cmd.run: - require: - qvm: {{ qube }}-start - - name: qubes-prefs updatevm {{ qube }} + - name: qubes-prefs -- updatevm {{ qube }} "{{ qube }}-qubes-prefs-default_netvm": cmd.run: - require: - qvm: {{ qube }}-start - - name: qubes-prefs default_netvm {{ qube }} + - name: qubes-prefs -- default_netvm {{ qube }} "{{ qube }}-qubes-prefs-clockvm": cmd.run: - require: - qvm: {{ qube }}-start - - name: qubes-prefs clockvm {{ qube }} + - name: qubes-prefs -- clockvm {{ qube }} {% if running == 0 -%} "{{ qube }}-shutdown": diff --git a/salt/sys-firewall/prefs.sls b/salt/sys-firewall/prefs.sls index 6215611..409fb36 100644 --- a/salt/sys-firewall/prefs.sls +++ b/salt/sys-firewall/prefs.sls @@ -1,5 +1,5 @@ {# -SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. SPDX-License-Identifier: AGPL-3.0-or-later #} @@ -7,7 +7,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later {% set qube = slsdotpath -%} {% set running = 0 -%} -{% if salt['cmd.shell']('qvm-ls --no-spinner --raw-list --running ' ~ qube) == qube -%} +{% if salt['cmd.shell']('qvm-ls --no-spinner --raw-list --running -- ' ~ qube) == qube -%} {% set running = 1 -%} {% endif -%} @@ -19,19 +19,19 @@ SPDX-License-Identifier: AGPL-3.0-or-later cmd.run: - require: - qvm: {{ qube }}-start - - name: qubes-prefs updatevm {{ qube }} + - name: qubes-prefs -- updatevm {{ qube }} "{{ qube }}-qubes-prefs-default_netvm": cmd.run: - require: - qvm: {{ qube }}-start - - name: qubes-prefs default_netvm {{ qube }} + - name: qubes-prefs -- default_netvm {{ qube }} "{{ qube }}-qubes-prefs-clockvm": cmd.run: - require: - qvm: {{ qube }}-start - - name: qubes-prefs clockvm {{ qube }} + - name: qubes-prefs -- clockvm {{ qube }} {% if running == 0 -%} "{{ qube }}-shutdown": diff --git a/salt/sys-gui-gpu/prefs.sls b/salt/sys-gui-gpu/prefs.sls index 341c494..732c569 100644 --- a/salt/sys-gui-gpu/prefs.sls +++ b/salt/sys-gui-gpu/prefs.sls @@ -1,5 +1,5 @@ {# -SPDX-FileCopyrightText: 2024 Benjamin Grande M. S. +SPDX-FileCopyrightText: 2024 - 2025 Benjamin Grande M. S. SPDX-License-Identifier: AGPL-3.0-or-later #} @@ -16,4 +16,4 @@ include: cmd.run: - require: - qvm: "{{ slsdotpath }}-gpu-autostart" - - name: qubes-prefs default_guivm {{ slsdotpath }}-gpu + - name: qubes-prefs -- default_guivm {{ slsdotpath }}-gpu diff --git a/salt/sys-gui-vnc/prefs.sls b/salt/sys-gui-vnc/prefs.sls index b386d7d..8507aed 100644 --- a/salt/sys-gui-vnc/prefs.sls +++ b/salt/sys-gui-vnc/prefs.sls @@ -1,5 +1,5 @@ {# -SPDX-FileCopyrightText: 2024 Benjamin Grande M. S. +SPDX-FileCopyrightText: 2024 - 2025 Benjamin Grande M. S. SPDX-License-Identifier: AGPL-3.0-or-later #} @@ -13,4 +13,4 @@ SPDX-License-Identifier: AGPL-3.0-or-later cmd.run: - require: - qvm: "{{ slsdotpath }}-vnc-autostart" - - name: qubes-prefs default_guivm {{ slsdotpath }}-vnc + - name: qubes-prefs -- default_guivm {{ slsdotpath }}-vnc diff --git a/salt/sys-gui/cancel-common.sls b/salt/sys-gui/cancel-common.sls index e41da36..195695e 100644 --- a/salt/sys-gui/cancel-common.sls +++ b/salt/sys-gui/cancel-common.sls @@ -1,9 +1,9 @@ {# -SPDX-FileCopyrightText: 2024 Benjamin Grande M. S. +SPDX-FileCopyrightText: 2024 - 2025 Benjamin Grande M. S. SPDX-License-Identifier: AGPL-3.0-or-later #} "{{ slsdotpath }}-revert-default_guivm-to-dom0": cmd.run: - - name: qubes-prefs default_guivm dom0 + - name: qubes-prefs -- default_guivm dom0 diff --git a/salt/sys-gui/prefs.sls b/salt/sys-gui/prefs.sls index 8fbfdcb..edaa347 100644 --- a/salt/sys-gui/prefs.sls +++ b/salt/sys-gui/prefs.sls @@ -1,5 +1,5 @@ {# -SPDX-FileCopyrightText: 2024 Benjamin Grande M. S. +SPDX-FileCopyrightText: 2024 - 2025 Benjamin Grande M. S. SPDX-License-Identifier: AGPL-3.0-or-later #} @@ -13,4 +13,4 @@ SPDX-License-Identifier: AGPL-3.0-or-later cmd.run: - require: - qvm: "{{ slsdotpath }}-autostart" - - name: qubes-prefs default_guivm {{ slsdotpath }} + - name: qubes-prefs -- default_guivm {{ slsdotpath }} diff --git a/salt/sys-mirage-firewall/README.md b/salt/sys-mirage-firewall/README.md index c11acaa..f8f90bb 100644 --- a/salt/sys-mirage-firewall/README.md +++ b/salt/sys-mirage-firewall/README.md @@ -44,12 +44,19 @@ sudo qubesctl state.apply sys-mirage-firewall.create +It will emit the following warning: + +> [WARNING ] source_hash is only used with 'http', 'https' or 'ftp' + +The warning is [outdated](https://github.com/saltstack/salt/issues/66976) and +checksums are checked. + ## Usage Set qubes `netvm` to `disp-sys-mirage-firewall`: ```sh -qvm-prefs --set QUBE netvm disp-sys-mirage-firewall +qvm-prefs --set -- QUBE netvm disp-sys-mirage-firewall ``` To test the firewall, apply rules with `qvm-firewall`. diff --git a/salt/sys-net/files/admin/bin/qusal-report-updatevm-origin b/salt/sys-net/files/admin/bin/qusal-report-updatevm-origin index 252915e..edd04a5 100755 --- a/salt/sys-net/files/admin/bin/qusal-report-updatevm-origin +++ b/salt/sys-net/files/admin/bin/qusal-report-updatevm-origin @@ -1,20 +1,20 @@ #!/bin/sh -## SPDX-FileCopyrightText: 2024 Benjamin Grande M. S. +## SPDX-FileCopyrightText: 2024 - 2025 Benjamin Grande M. S. ## ## SPDX-License-Identifier: AGPL-3.0-or-later set -eu -updatevm="$(qubes-prefs updatevm)" -updatevm_class="$(qvm-prefs "${updatevm}" klass)" +updatevm="$(qubes-prefs -- updatevm)" +updatevm_class="$(qvm-prefs -- "${updatevm}" klass)" proxy_target="" case "${updatevm_class}" in StandaloneVM) proxy_target="${updatevm}";; - AppVM) proxy_target="$(qvm-prefs "${updatevm}" template)";; + AppVM) proxy_target="$(qvm-prefs -- "${updatevm}" template)";; DispVM) - proxy_target="$(qvm-prefs "${updatevm}" template)" - proxy_target="$(qvm-prefs "${proxy_target}" template)" + proxy_target="$(qvm-prefs -- "${updatevm}" template)" + proxy_target="$(qvm-prefs -- "${proxy_target}" template)" ;; *) printf '%s\n' "Unsupported qube class" >&2; exit 1;; esac diff --git a/salt/sys-net/prefs-disp.sls b/salt/sys-net/prefs-disp.sls index 87e4448..08d8da3 100644 --- a/salt/sys-net/prefs-disp.sls +++ b/salt/sys-net/prefs-disp.sls @@ -1,14 +1,14 @@ {# -SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. SPDX-License-Identifier: AGPL-3.0-or-later #} {% set netvm = 'disp-' ~ slsdotpath -%} -{% set default_netvm = salt['cmd.shell']('qubes-prefs default_netvm') -%} +{% set default_netvm = salt['cmd.shell']('qubes-prefs -- default_netvm') -%} {% set running = 0 -%} -{% if salt['cmd.shell']('qvm-ls --no-spinner --raw-list --running ' ~ default_netvm) == default_netvm -%} +{% if salt['cmd.shell']('qvm-ls --no-spinner --raw-list --running -- ' ~ default_netvm) == default_netvm -%} {% set running = 1 -%} {% endif -%} @@ -19,7 +19,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later - wait - force -{% set default_netvm_netvm = salt['cmd.shell']('qvm-prefs ' ~ default_netvm ~ ' netvm') -%} +{% set default_netvm_netvm = salt['cmd.shell']('qvm-prefs -- ' ~ default_netvm ~ ' netvm') -%} {% if default_netvm_netvm -%} "{{ slsdotpath }}-{{ default_netvm_netvm }}-shutdown": qvm.shutdown: diff --git a/salt/sys-net/prefs.sls b/salt/sys-net/prefs.sls index 0cda74f..50fdb20 100644 --- a/salt/sys-net/prefs.sls +++ b/salt/sys-net/prefs.sls @@ -1,15 +1,14 @@ {# -SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. SPDX-License-Identifier: AGPL-3.0-or-later #} {% set netvm = slsdotpath -%} - -{% set default_netvm = salt['cmd.shell']('qubes-prefs default_netvm') -%} +{% set default_netvm = salt['cmd.shell']('qubes-prefs -- default_netvm') -%} {% set running = 0 -%} -{% if salt['cmd.shell']('qvm-ls --no-spinner --raw-list --running ' ~ default_netvm) == default_netvm -%} +{% if salt['cmd.shell']('qvm-ls --no-spinner --raw-list --running -- ' ~ default_netvm) == default_netvm -%} {% set running = 1 -%} {% endif -%} @@ -20,7 +19,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later - wait - force -{% set default_netvm_netvm = salt['cmd.shell']('qvm-prefs ' ~ default_netvm ~ ' netvm') -%} +{% set default_netvm_netvm = salt['cmd.shell']('qvm-prefs -- ' ~ default_netvm ~ ' netvm') -%} {% if default_netvm_netvm -%} "{{ slsdotpath }}-{{ default_netvm_netvm }}-shutdown": qvm.shutdown: diff --git a/salt/sys-pihole/create.sls b/salt/sys-pihole/create.sls index bfc7ef6..8b351dc 100644 --- a/salt/sys-pihole/create.sls +++ b/salt/sys-pihole/create.sls @@ -1,6 +1,6 @@ {# SPDX-FileCopyrightText: 2022 - 2023 unman -SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. SPDX-License-Identifier: AGPL-3.0-or-later #} @@ -10,8 +10,8 @@ SPDX-License-Identifier: AGPL-3.0-or-later {%- import "debian-minimal/template.jinja" as template -%} {# Use the netvm of the default_netvm. #} -{% set default_netvm = salt['cmd.shell']('qubes-prefs default_netvm') -%} -{% set netvm = salt['cmd.shell']('qvm-prefs ' + default_netvm + ' netvm') -%} +{% set default_netvm = salt['cmd.shell']('qubes-prefs -- default_netvm') -%} +{% set netvm = salt['cmd.shell']('qvm-prefs -- ' + default_netvm + ' netvm') -%} {# If netvm of default_netvm is empty, user's default_netvm is the first in the chain (sys-net). diff --git a/salt/sys-pihole/files/admin/prefs.sh b/salt/sys-pihole/files/admin/prefs.sh index 32e850c..d21a45b 100755 --- a/salt/sys-pihole/files/admin/prefs.sh +++ b/salt/sys-pihole/files/admin/prefs.sh @@ -1,7 +1,7 @@ #!/bin/sh # SPDX-FileCopyrightText: 2022 - 2023 unman -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -13,9 +13,9 @@ for qube in $(qvm-ls --raw-data --fields=NAME,NETVM | do ## Avoid overwriting netvm to sys-pihole when instead it should use the ## default_netvm, so better to prevent overwriting user choices. - qvm-prefs "${qube}" | grep -q -e "^netvm[[:space:]]\+D" && continue + qvm-prefs -- "${qube}" | grep -q -e "^netvm[[:space:]]\+D" && continue ## Set netvm for qubes that were using (disp-)sys-firewall to sys-pihole. - qvm-prefs "${qube}" netvm sys-pihole + qvm-prefs -- "${qube}" netvm sys-pihole done exit 0 diff --git a/salt/sys-pihole/files/browser/systemd/qubes-http-forwarder.socket b/salt/sys-pihole/files/browser/systemd/qubes-http-forwarder.socket index 50892a6..962ca5a 100644 --- a/salt/sys-pihole/files/browser/systemd/qubes-http-forwarder.socket +++ b/salt/sys-pihole/files/browser/systemd/qubes-http-forwarder.socket @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/salt/sys-pihole/files/browser/systemd/qubes-http-forwarder@.service b/salt/sys-pihole/files/browser/systemd/qubes-http-forwarder@.service index 4eeee8b..e1a62e1 100644 --- a/salt/sys-pihole/files/browser/systemd/qubes-http-forwarder@.service +++ b/salt/sys-pihole/files/browser/systemd/qubes-http-forwarder@.service @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/salt/sys-pihole/files/server/network-hooks.d/50-sys-pihole.sh b/salt/sys-pihole/files/server/network-hooks.d/50-sys-pihole.sh index 0347092..c56bf6c 100644 --- a/salt/sys-pihole/files/server/network-hooks.d/50-sys-pihole.sh +++ b/salt/sys-pihole/files/server/network-hooks.d/50-sys-pihole.sh @@ -1,18 +1,24 @@ #!/bin/sh # SPDX-FileCopyrightText: 2022 - 2023 unman -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later set -eu +state="${1}" +vif="${2}" +vif_type="${3}" + nft -f /rw/config/qubes-firewall.d/50-sys-pihole -for vif in /proc/sys/net/ipv4/conf/vif*/route_localnet; do - test -w "${vif}" || continue - echo 1 | tee -- "${vif}" >/dev/null -done +if test "${state}" = "online" && test "${vif_type}" = "vif"; then + vif_localnet="/proc/sys/net/ipv4/conf/${vif}/route_localnet" + if test -w "${vif_localnet}"; then + printf '%s\n' 1 | tee -- "${vif_localnet}" >/dev/null + fi +fi if test -f /var/run/qubes-service/local-dns-server; then printf '%s\n' "nameserver 127.0.0.1" | tee -- /etc/resolv.conf >/dev/null diff --git a/salt/sys-pihole/prefs.sls b/salt/sys-pihole/prefs.sls index b501fd3..4102d06 100644 --- a/salt/sys-pihole/prefs.sls +++ b/salt/sys-pihole/prefs.sls @@ -1,12 +1,12 @@ {# -SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. SPDX-License-Identifier: AGPL-3.0-or-later #} {% set qube = 'sys-pihole' -%} {% set running = 0 -%} -{% if salt['cmd.shell']('qvm-ls --no-spinner --raw-list --running ' ~ qube) == qube -%} +{% if salt['cmd.shell']('qvm-ls --no-spinner --raw-list --running -- ' ~ qube) == qube -%} {% set running = 1 -%} {% endif -%} @@ -23,19 +23,19 @@ SPDX-License-Identifier: AGPL-3.0-or-later cmd.run: - require: - qvm: "{{ slsdotpath }}-start" - - name: qubes-prefs clockvm {{ slsdotpath }} + - name: qubes-prefs -- clockvm {{ slsdotpath }} "{{ slsdotpath }}-qubes-prefs-updatevm": cmd.run: - require: - qvm: "{{ slsdotpath }}-start" - - name: qubes-prefs updatevm {{ slsdotpath }} + - name: qubes-prefs -- updatevm {{ slsdotpath }} "{{ slsdotpath }}-qubes-prefs-default_netvm": cmd.run: - require: - qvm: "{{ slsdotpath }}-start" - - name: qubes-prefs default_netvm {{ slsdotpath }} + - name: qubes-prefs -- default_netvm {{ slsdotpath }} {% if running == 0 -%} "{{ slsdotpath }}-shutdown": diff --git a/salt/sys-print/files/client/systemd/qusal-print-forwarder.socket b/salt/sys-print/files/client/systemd/qusal-print-forwarder.socket index 6c82b97..f929a0b 100644 --- a/salt/sys-print/files/client/systemd/qusal-print-forwarder.socket +++ b/salt/sys-print/files/client/systemd/qusal-print-forwarder.socket @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/salt/sys-print/files/client/systemd/qusal-print-forwarder@.service b/salt/sys-print/files/client/systemd/qusal-print-forwarder@.service index 3d6c7f0..abb4506 100644 --- a/salt/sys-print/files/client/systemd/qusal-print-forwarder@.service +++ b/salt/sys-print/files/client/systemd/qusal-print-forwarder@.service @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/salt/sys-rsync/files/client/systemd/qusal-rsync-forwarder.socket b/salt/sys-rsync/files/client/systemd/qusal-rsync-forwarder.socket index 607a2cc..969cdd6 100644 --- a/salt/sys-rsync/files/client/systemd/qusal-rsync-forwarder.socket +++ b/salt/sys-rsync/files/client/systemd/qusal-rsync-forwarder.socket @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/salt/sys-rsync/files/client/systemd/qusal-rsync-forwarder@.service b/salt/sys-rsync/files/client/systemd/qusal-rsync-forwarder@.service index aa0e2c7..99a2939 100644 --- a/salt/sys-rsync/files/client/systemd/qusal-rsync-forwarder@.service +++ b/salt/sys-rsync/files/client/systemd/qusal-rsync-forwarder@.service @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/salt/sys-rsync/files/server/rsync/rsyncd.conf b/salt/sys-rsync/files/server/rsync/rsyncd.conf index 28f8948..c79195d 100644 --- a/salt/sys-rsync/files/server/rsync/rsyncd.conf +++ b/salt/sys-rsync/files/server/rsync/rsyncd.conf @@ -2,7 +2,7 @@ # vim: ft=toml # SPDX-FileCopyrightText: 2020 unman -# SPDX-FileCopyrightText: 2023 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/salt/sys-ssh-agent/files/server/bin/qvm-ssh-agent b/salt/sys-ssh-agent/files/server/bin/qvm-ssh-agent index 919931d..7d1e567 100755 --- a/salt/sys-ssh-agent/files/server/bin/qvm-ssh-agent +++ b/salt/sys-ssh-agent/files/server/bin/qvm-ssh-agent @@ -1,6 +1,6 @@ #!/bin/sh -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -59,7 +59,7 @@ add_agent(){ ssh_add_option="$(cat -- "${k}.ssh-add-option")" fi # shellcheck disable=SC2086 - SSH_AUTH_SOCK="${socket}" ssh-add ${ssh_add_option} "${k}" + SSH_AUTH_SOCK="${socket}" ssh-add ${ssh_add_option} -- "${k}" done } diff --git a/salt/sys-ssh/files/client/systemd/qusal-ssh-forwarder.socket b/salt/sys-ssh/files/client/systemd/qusal-ssh-forwarder.socket index bd4a7ba..8c91885 100644 --- a/salt/sys-ssh/files/client/systemd/qusal-ssh-forwarder.socket +++ b/salt/sys-ssh/files/client/systemd/qusal-ssh-forwarder.socket @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/salt/sys-ssh/files/client/systemd/qusal-ssh-forwarder@.service b/salt/sys-ssh/files/client/systemd/qusal-ssh-forwarder@.service index d8bdef9..63c7742 100644 --- a/salt/sys-ssh/files/client/systemd/qusal-ssh-forwarder@.service +++ b/salt/sys-ssh/files/client/systemd/qusal-ssh-forwarder@.service @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/salt/sys-syncthing/files/browser/systemd/qusal-syncthing-browser-forwarder.socket b/salt/sys-syncthing/files/browser/systemd/qusal-syncthing-browser-forwarder.socket index 6e75053..4c6401f 100644 --- a/salt/sys-syncthing/files/browser/systemd/qusal-syncthing-browser-forwarder.socket +++ b/salt/sys-syncthing/files/browser/systemd/qusal-syncthing-browser-forwarder.socket @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/salt/sys-syncthing/files/browser/systemd/qusal-syncthing-browser-forwarder@.service b/salt/sys-syncthing/files/browser/systemd/qusal-syncthing-browser-forwarder@.service index f3399a1..7e9af6d 100644 --- a/salt/sys-syncthing/files/browser/systemd/qusal-syncthing-browser-forwarder@.service +++ b/salt/sys-syncthing/files/browser/systemd/qusal-syncthing-browser-forwarder@.service @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/salt/sys-syncthing/files/client/systemd/qusal-syncthing-forwarder.socket b/salt/sys-syncthing/files/client/systemd/qusal-syncthing-forwarder.socket index 9bdc39c..c87687c 100644 --- a/salt/sys-syncthing/files/client/systemd/qusal-syncthing-forwarder.socket +++ b/salt/sys-syncthing/files/client/systemd/qusal-syncthing-forwarder.socket @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/salt/sys-syncthing/files/client/systemd/qusal-syncthing-forwarder@.service b/salt/sys-syncthing/files/client/systemd/qusal-syncthing-forwarder@.service index 791f3fa..88ad055 100644 --- a/salt/sys-syncthing/files/client/systemd/qusal-syncthing-forwarder@.service +++ b/salt/sys-syncthing/files/client/systemd/qusal-syncthing-forwarder@.service @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/salt/sys-tailscale/README.md b/salt/sys-tailscale/README.md index 3a6ed9f..6660517 100644 --- a/salt/sys-tailscale/README.md +++ b/salt/sys-tailscale/README.md @@ -11,7 +11,8 @@ Tailscale environment in Qubes OS. ## Description Install Tailscale and use it on the "sys-tailscale" or with any other qube you -want to install. +want to install. The "sys-tailscale" qube can provide network for other qubes, +but its clients can only access devices in the tailnet via IP and not via DNS. ## Installation diff --git a/salt/sys-usb/README.md b/salt/sys-usb/README.md index 2810301..0b0c10c 100644 --- a/salt/sys-usb/README.md +++ b/salt/sys-usb/README.md @@ -67,7 +67,7 @@ qvm-features disp-sys-usb service.audiovm 1 And set the qube preference `audiovm` to `disp-sys-usb`: ```sh -qvm-prefs QUBE audiovm disp-sys-usb +qvm-prefs -- QUBE audiovm disp-sys-usb ``` ### Client installation diff --git a/salt/sys-wireguard/files/admin/bin/qvm-wireguard b/salt/sys-wireguard/files/admin/bin/qvm-wireguard index 65787e5..77310a5 100755 --- a/salt/sys-wireguard/files/admin/bin/qvm-wireguard +++ b/salt/sys-wireguard/files/admin/bin/qvm-wireguard @@ -1,7 +1,7 @@ #!/bin/sh # SPDX-FileCopyrightText: 2022 unman -# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -30,7 +30,7 @@ fi user_conf="/home/user/wireguard.conf" system_conf="/etc/wireguard/wireguard.conf" -qvm-run "${qube}" -- "test -f ${user_conf}" || { +qvm-run --no-gui -- "${qube}" test -f "${user_conf}" || { printf '%s\n' "File '${user_conf}' was not found" >&2 if qvm-check -q --running -- "${qube}" >/dev/null 2>&1; then qvm-pause --verbose -- "${qube}" @@ -45,12 +45,12 @@ qvm-run "${qube}" -- "test -f ${user_conf}" || { exit 1 } -qvm-run -u root "${qube}" -- "cp -- \"${user_conf}\" \"${system_conf}\"" +qvm-run --no-gui -u root -- "${qube}" cp -- "${user_conf}" "${system_conf}" ## TOFU # shellcheck disable=SC2016 -endpoint="$(qvm-run -p -u root "${qube}" -- awk '/Endpoint/{print $3}' \ - "${system_conf}")" +endpoint="$(qvm-run --no-gui -p -u root -- "${qube}" \ + awk -- '/Endpoint/{print $3}' "${system_conf}")" if printf '%s\n' "${endpoint}" | grep -qF -e "["; then ip="${ip##[\[]}" ip="${ip%%\]*}" @@ -82,5 +82,6 @@ if qvm-check -q --paused -- "${qube}" >/dev/null 2>&1; then qvm-unpause --verbose -- "${qube}" fi -qvm-run -u root "${qube}" -- "systemctl restart wg-quick@wireguard" -qvm-run -u root "${qube}" -- "/rw/config/network-hooks.d/50-sys-wireguard" +qvm-run --no-gui -u root -- "${qube}" \ + "systemctl restart wg-quick@wireguard + /rw/config/network-hooks.d/50-sys-wireguard" diff --git a/salt/utils/macros/switch-template.sls b/salt/utils/macros/switch-template.sls index 6d2b8df..f99220b 100644 --- a/salt/utils/macros/switch-template.sls +++ b/salt/utils/macros/switch-template.sls @@ -1,5 +1,5 @@ {# -SPDX-FileCopyrightText: 2023 Benjamin Grande M. S. +SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. SPDX-License-Identifier: AGPL-3.0-or-later #} @@ -15,7 +15,7 @@ Usage: {{ switch_template([sls_path, 'example']) }} #} -{% set default_template = salt['cmd.shell']('qubes-prefs default_template') -%} +{% set default_template = salt['cmd.shell']('qubes-prefs -- default_template') -%} {% macro switch_template(qubes) -%} {% for qube in qubes -%} diff --git a/salt/utils/macros/sync-appmenus.sls b/salt/utils/macros/sync-appmenus.sls index d4272bd..36dca91 100644 --- a/salt/utils/macros/sync-appmenus.sls +++ b/salt/utils/macros/sync-appmenus.sls @@ -1,5 +1,5 @@ {# -SPDX-FileCopyrightText: 2023 Benjamin Grande M. S. +SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. SPDX-License-Identifier: AGPL-3.0-or-later #} @@ -19,7 +19,7 @@ Usage: {% macro sync_appmenus(qube) -%} {% set running = 0 -%} -{% if salt['cmd.shell']('qvm-ls --no-spinner --raw-list --running ' ~ qube) == qube -%} +{% if salt['cmd.shell']('qvm-ls --no-spinner --raw-list --running -- ' ~ qube) == qube -%} {% set running = 1 -%} {% endif -%} diff --git a/scripts/qubesbuilder-gen.sh b/scripts/qubesbuilder-gen.sh index 4f01164..026e16c 100755 --- a/scripts/qubesbuilder-gen.sh +++ b/scripts/qubesbuilder-gen.sh @@ -1,13 +1,16 @@ #!/bin/sh -## SPDX-FileCopyrightText: 2024 Benjamin Grande M. S. +## SPDX-FileCopyrightText: 2024 - 2025 Benjamin Grande M. S. ## ## SPDX-License-Identifier: AGPL-3.0-or-later set -eu +msg(){ + printf '%s\n' "${0##*/}: ${*}" >&2 +} command -v git >/dev/null || - { printf '%s\n' "Missing program: git" >&2; exit 1; } + { msg "Missing program: git"; exit 1; } repo_toplevel="$(git rev-parse --show-toplevel)" test -d "${repo_toplevel}" || exit 1 cd "${repo_toplevel}" @@ -48,9 +51,8 @@ if test "${1-}" = "test"; then fi # shellcheck disable=SC2086 if ! diff ${diff_args} -- "${intended_target}" "${target}"; then - echo "${0##*/}: $ diff ${diff_args} -- '${intended_target}' '${target}'" - err_msg="${0##*/}: error: File ${intended_target} is not up to date" - printf '%s\n' "${err_msg}" >&2 + msg "$ diff ${diff_args} -- '${intended_target}' '${target}'" + msg "error: File ${intended_target} is not up to date" exit 1 fi fi diff --git a/scripts/shell-lint.sh b/scripts/shell-lint.sh index b168b33..ce449a4 100755 --- a/scripts/shell-lint.sh +++ b/scripts/shell-lint.sh @@ -1,6 +1,6 @@ #!/bin/sh -## SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +## SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. ## ## SPDX-License-Identifier: AGPL-3.0-or-later @@ -60,7 +60,7 @@ if test -n "${1-}"; then *) files="${files} ${f}" esac done - files="$(file ${files} | awk -F ":" '/ shell script,/{ print $1 }')" + files="$(file -- ${files} | awk -F ":" '/ shell script,/{ print $1 }')" if test -z "${files}"; then exit 0 fi @@ -80,7 +80,7 @@ case "${find_tool}" in ;; find) files="$(find scripts/ salt/ -not \( -path "*/zsh" -prune \) -type f \ - -exec file {} \+ | awk -F ":" '/ shell script,/{ print $1 }')" + -exec file -- {} \+ | awk -F ":" '/ shell script,/{ print $1 }')" ;; *) printf '%s\n' "Unsupported find tool" >&2; exit 1;; esac diff --git a/scripts/spec-gen.sh b/scripts/spec-gen.sh index 611bea7..096b94c 100755 --- a/scripts/spec-gen.sh +++ b/scripts/spec-gen.sh @@ -1,6 +1,6 @@ #!/bin/sh -## SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. +## SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. ## ## SPDX-License-Identifier: AGPL-3.0-or-later @@ -159,8 +159,9 @@ unset repo_toplevel spec_get="./scripts/spec-get.sh" ignored="$(git ls-files --exclude-standard --others --ignored salt/)" untracked="$(git ls-files --exclude-standard --others salt/)" -unwanted="$(printf '%s\n%s\n' "${ignored}" "${untracked}" \ - | grep -e "^salt/\S\+/README.md" | cut -d "/" -f2 | sort -u)" +unwanted="$(printf '%s\n%s\n' "${ignored}" "${untracked}" | + grep -E "^salt/\S+/(README.md|version)$" | cut -d "/" -f2 | + sort -u)" fail="" gen_mode=""