-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Showing
50 changed files
with
1,334 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,112 @@ | ||
# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. <[email protected]> | ||
# | ||
# SPDX-License-Identifier: AGPL-3.0-or-later | ||
|
||
%define project sys-gui-gpu | ||
%define license_csv AGPL-3.0-or-later,GPL-2.0-only | ||
## Reproducibility. | ||
%define source_date_epoch_from_changelog 1 | ||
%define use_source_date_epoch_as_buildtime 1 | ||
%define clamp_mtime_to_source_date_epoch 1 | ||
## Changelog is trimmed according to current date, not last date from changelog. | ||
%define _changelog_trimtime 0 | ||
%define _changelog_trimage 0 | ||
%global _buildhost %{name} | ||
## Python bytecode interferes when updates occur and restart is not done. | ||
%undefine __brp_python_bytecompile | ||
|
||
Name: qusal-sys-gui-gpu | ||
Version: 0.0.1 | ||
Release: 1%{?dist} | ||
Summary: | ||
Group: qusal | ||
Packager: %{?_packager}%{!?_packager:Ben Grande <[email protected]>} | ||
Vendor: Ben Grande | ||
License: AGPL-3.0-or-later AND GPL-2.0-only | ||
URL: https://github.com/ben-grande/qusal | ||
BugURL: https://github.com/ben-grande/qusal/issues | ||
Source0: %{name}-%{version}.tar.gz | ||
BuildArch: noarch | ||
|
||
Requires: qubes-mgmt-salt | ||
Requires: qubes-mgmt-salt-dom0 | ||
Requires: qusal-sys-gui | ||
|
||
|
||
%description | ||
Setup a GPU GUI domain named "sys-gui-gpu". The GPU is attached to the qube | ||
and all graphics computation are handled by this qube. Requires a dedicated | ||
graphics card (external GPU) and PCI passthrough support. | ||
|
||
%prep | ||
%setup -q | ||
|
||
%build | ||
|
||
%check | ||
|
||
%pre | ||
|
||
%install | ||
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 | ||
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}/ | ||
done | ||
|
||
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} | ||
|
||
%post | ||
if test "$1" = "1"; then | ||
## Install | ||
qubesctl top.enable qvm.sys-gui 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 | ||
qubesctl state.apply sys-gui-gpu.prefs | ||
elif test "$1" = "2"; then | ||
## Upgrade | ||
true | ||
fi | ||
|
||
%preun | ||
if test "$1" = "0"; then | ||
## Uninstall | ||
true | ||
elif test "$1" = "1"; then | ||
## Upgrade | ||
true | ||
fi | ||
|
||
%postun | ||
if test "$1" = "0"; then | ||
## Uninstall | ||
true | ||
elif test "$1" = "1"; then | ||
## Upgrade | ||
true | ||
fi | ||
|
||
%files | ||
%defattr(-,root,root,-) | ||
%license %{_defaultlicensedir}/%{name}/* | ||
%doc %{_docdir}/%{name}/README.md | ||
%dir /srv/salt/qusal/%{name} | ||
/srv/salt/qusal/%{name}/* | ||
%dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. | ||
|
||
%changelog | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,112 @@ | ||
# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. <[email protected]> | ||
# | ||
# SPDX-License-Identifier: AGPL-3.0-or-later | ||
|
||
%define project sys-gui-vnc | ||
%define license_csv AGPL-3.0-or-later,GPL-2.0-only | ||
## Reproducibility. | ||
%define source_date_epoch_from_changelog 1 | ||
%define use_source_date_epoch_as_buildtime 1 | ||
%define clamp_mtime_to_source_date_epoch 1 | ||
## Changelog is trimmed according to current date, not last date from changelog. | ||
%define _changelog_trimtime 0 | ||
%define _changelog_trimage 0 | ||
%global _buildhost %{name} | ||
## Python bytecode interferes when updates occur and restart is not done. | ||
%undefine __brp_python_bytecompile | ||
|
||
Name: qusal-sys-gui-vnc | ||
Version: 0.0.1 | ||
Release: 1%{?dist} | ||
Summary: | ||
Group: qusal | ||
Packager: %{?_packager}%{!?_packager:Ben Grande <[email protected]>} | ||
Vendor: Ben Grande | ||
License: AGPL-3.0-or-later AND GPL-2.0-only | ||
URL: https://github.com/ben-grande/qusal | ||
BugURL: https://github.com/ben-grande/qusal/issues | ||
Source0: %{name}-%{version}.tar.gz | ||
BuildArch: noarch | ||
|
||
Requires: qubes-mgmt-salt | ||
Requires: qubes-mgmt-salt-dom0 | ||
Requires: qusal-sys-gui | ||
|
||
|
||
%description | ||
Setup a VNC GUI domain named "sys-gui-vnc". The qube spawns a VNC server and | ||
you can connect from other qubes to it. It is primarily intended for remote | ||
administration. | ||
|
||
%prep | ||
%setup -q | ||
|
||
%build | ||
|
||
%check | ||
|
||
%pre | ||
|
||
%install | ||
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 | ||
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}/ | ||
done | ||
|
||
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} | ||
|
||
%post | ||
if test "$1" = "1"; then | ||
## Install | ||
qubesctl top.enable qvm.sys-gui 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 | ||
qubesctl state.apply sys-gui-vnc.prefs | ||
elif test "$1" = "2"; then | ||
## Upgrade | ||
true | ||
fi | ||
|
||
%preun | ||
if test "$1" = "0"; then | ||
## Uninstall | ||
true | ||
elif test "$1" = "1"; then | ||
## Upgrade | ||
true | ||
fi | ||
|
||
%postun | ||
if test "$1" = "0"; then | ||
## Uninstall | ||
true | ||
elif test "$1" = "1"; then | ||
## Upgrade | ||
true | ||
fi | ||
|
||
%files | ||
%defattr(-,root,root,-) | ||
%license %{_defaultlicensedir}/%{name}/* | ||
%doc %{_docdir}/%{name}/README.md | ||
%dir /srv/salt/qusal/%{name} | ||
/srv/salt/qusal/%{name}/* | ||
%dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. | ||
|
||
%changelog | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. <[email protected]> | ||
# | ||
# SPDX-License-Identifier: AGPL-3.0-or-later | ||
|
||
%define project sys-gui | ||
%define license_csv AGPL-3.0-or-later,GPL-2.0-only | ||
## Reproducibility. | ||
%define source_date_epoch_from_changelog 1 | ||
%define use_source_date_epoch_as_buildtime 1 | ||
%define clamp_mtime_to_source_date_epoch 1 | ||
## Changelog is trimmed according to current date, not last date from changelog. | ||
%define _changelog_trimtime 0 | ||
%define _changelog_trimage 0 | ||
%global _buildhost %{name} | ||
## Python bytecode interferes when updates occur and restart is not done. | ||
%undefine __brp_python_bytecompile | ||
|
||
Name: qusal-sys-gui | ||
Version: 0.0.1 | ||
Release: 1%{?dist} | ||
Summary: Hybrid GUI domain in Qubes OS | ||
Group: qusal | ||
Packager: %{?_packager}%{!?_packager:Ben Grande <[email protected]>} | ||
Vendor: Ben Grande | ||
License: AGPL-3.0-or-later AND GPL-2.0-only | ||
URL: https://github.com/ben-grande/qusal | ||
BugURL: https://github.com/ben-grande/qusal/issues | ||
Source0: %{name}-%{version}.tar.gz | ||
BuildArch: noarch | ||
|
||
Requires: qubes-mgmt-salt | ||
Requires: qubes-mgmt-salt-dom0 | ||
Requires: qusal-dotfiles | ||
Requires: qusal-utils | ||
|
||
|
||
%description | ||
Setup a Hybrid GUI domain named "sys-gui". Dom0 remains with the X Server and | ||
graphics drivers but runs only a single GUI application, a full-screen proxy | ||
for the GUI domain's graphical server. | ||
|
||
%prep | ||
%setup -q | ||
|
||
%build | ||
|
||
%check | ||
|
||
%pre | ||
|
||
%install | ||
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 | ||
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}/ | ||
done | ||
|
||
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} | ||
|
||
%post | ||
if test "$1" = "1"; then | ||
## Install | ||
qubesctl top.enable qvm.sys-gui pillar=True | ||
qubesctl state.apply sys-gui.create | ||
qubesctl --skip-dom0 --targets=tpl-sys-gui state.apply sys-gui.install | ||
qubesctl --skip-dom0 --targets=sys-gui state.apply sys-gui.configure | ||
qubesctl state.apply sys-gui.prefs | ||
elif test "$1" = "2"; then | ||
## Upgrade | ||
true | ||
fi | ||
|
||
%preun | ||
if test "$1" = "0"; then | ||
## Uninstall | ||
true | ||
elif test "$1" = "1"; then | ||
## Upgrade | ||
true | ||
fi | ||
|
||
%postun | ||
if test "$1" = "0"; then | ||
## Uninstall | ||
true | ||
elif test "$1" = "1"; then | ||
## Upgrade | ||
true | ||
fi | ||
|
||
%files | ||
%defattr(-,root,root,-) | ||
%license %{_defaultlicensedir}/%{name}/* | ||
%doc %{_docdir}/%{name}/README.md | ||
%dir /srv/salt/qusal/%{name} | ||
/srv/salt/qusal/%{name}/* | ||
%dnl TODO: missing '%ghost', files generated during %post, such as Qrexec policies. | ||
|
||
%changelog | ||
|
Oops, something went wrong.