Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package qubesome for openSUSE:Factory 
checked in at 2025-02-05 12:41:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qubesome (Old)
 and      /work/SRC/openSUSE:Factory/.qubesome.new.2316 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "qubesome"

Wed Feb  5 12:41:17 2025 rev:5 rq:1243218 version:0.0.9

Changes:
--------
--- /work/SRC/openSUSE:Factory/qubesome/qubesome.changes        2025-02-03 
21:44:53.857909789 +0100
+++ /work/SRC/openSUSE:Factory/.qubesome.new.2316/qubesome.changes      
2025-02-05 12:41:33.771365751 +0100
@@ -1,0 +2,33 @@
+Tue Feb 04 20:39:46 UTC 2025 - [email protected]
+
+- Update to version 0.0.9:
+  * build: Remove .obs integration
+  * build: Bump go-git to latest from main
+  * Fix inception startup stutter During profile startup an inception server 
is initiated, with a socket file created at 
~/.qubesome/run/<profile>/qube.sock. The profile dir was not present at the 
first attempt of starting a profile, which meant that a profile would need to 
be started, closed and started again for it to work.
+  * start: Expand GITDIR for local execution When running locally, users are 
not required to provide a -giturl. In such cases, the GITDIR should still be 
expanded based on the -local path provided.
+  * start: Warn users when mounting dirs that don't exist
+  * build(deps): bump github.com/cyphar/filepath-securejoin
+  * build(deps): bump the github-actions-updates group with 4 updates
+  * build(deps): bump google.golang.org/grpc from 1.69.4 to 1.70.0
+  * build(deps): bump github.com/go-git/go-git/v5 from 5.13.1 to 5.13.2
+  * build(deps): bump google.golang.org/protobuf from 1.36.3 to 1.36.4
+  * build(deps): bump google.golang.org/protobuf from 1.36.2 to 1.36.3
+  * build(deps): bump google.golang.org/grpc from 1.69.2 to 1.69.4
+  * build(deps): bump google.golang.org/protobuf from 1.36.1 to 1.36.2
+  * build(deps): bump github.com/cyphar/filepath-securejoin
+  * build(deps): bump github.com/go-git/go-git/v5 from 5.13.0 to 5.13.1
+  * build(deps): bump golang.org/x/sys in the golang-org group
+  * build(deps): bump github.com/go-git/go-git/v5
+  * build(deps): bump google.golang.org/protobuf from 1.36.0 to 1.36.1
+  * build(deps): bump google.golang.org/grpc from 1.69.0 to 1.69.2
+  * build(deps): bump google.golang.org/protobuf from 1.35.2 to 1.36.0
+  * build(deps): bump github.com/cyphar/filepath-securejoin
+  * Add Leap to README
+  * Add support for AMD GPU sharing AMD GPU sharing is based on ROCm, for 
Tumbleweed the installation can be done via:
+  * build(deps): bump golang.org/x/crypto in the go_modules group
+  * build(deps): bump google.golang.org/grpc from 1.68.1 to 1.69.0
+  * build(deps): bump google.golang.org/grpc from 1.68.0 to 1.68.1
+  * build(deps): bump github.com/cyphar/filepath-securejoin
+  * build(deps): bump actions/attest-build-provenance
+
+-------------------------------------------------------------------

Old:
----
  qubesome-0.0.8.tar.gz

New:
----
  qubesome-0.0.9.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ qubesome.spec ++++++
--- /var/tmp/diff_new_pack.PlZj0R/_old  2025-02-05 12:41:35.527438230 +0100
+++ /var/tmp/diff_new_pack.PlZj0R/_new  2025-02-05 12:41:35.531438395 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package qubesome
 #
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2025 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           qubesome
-Version:        0.0.8
+Version:        0.0.9
 Release:        0
 Summary:        Containerize Window Managers, apps and config from a 
declarative state in Git
 License:        Apache-2.0

++++++ _service ++++++
--- /var/tmp/diff_new_pack.PlZj0R/_old  2025-02-05 12:41:35.563439715 +0100
+++ /var/tmp/diff_new_pack.PlZj0R/_new  2025-02-05 12:41:35.567439881 +0100
@@ -3,7 +3,7 @@
     <param name="url">https://github.com/qubesome/cli.git</param>
     <param name="scm">git</param>
     <param name="exclude">.git</param>
-    <param name="revision">v0.0.8</param>
+    <param name="revision">v0.0.9</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="changesgenerate">enable</param>
     <param name="match-tag">v*</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.PlZj0R/_old  2025-02-05 12:41:35.587440707 +0100
+++ /var/tmp/diff_new_pack.PlZj0R/_new  2025-02-05 12:41:35.591440871 +0100
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param name="url">https://github.com/qubesome/cli.git</param>
-              <param 
name="changesrevision">f21dcef5cda98bca020f8463171184c991efd59a</param></service></servicedata>
+              <param 
name="changesrevision">adf2a3ceca33095dc830b05f0e480f182a2aeca4</param></service></servicedata>
 (No newline at EOF)
 

++++++ qubesome-0.0.8.tar.gz -> qubesome-0.0.9.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qubesome-0.0.8/.github/workflows/fuzz.yml 
new/qubesome-0.0.9/.github/workflows/fuzz.yml
--- old/qubesome-0.0.8/.github/workflows/fuzz.yml       2024-12-08 
10:40:21.000000000 +0100
+++ new/qubesome-0.0.9/.github/workflows/fuzz.yml       2025-02-04 
14:03:54.000000000 +0100
@@ -21,10 +21,10 @@
 
     steps:
       - name: Checkout
-        uses: actions/checkout@cbb722410c2e876e24abbe8de2cc27693e501dcb # 
v4.2.2
+        uses: actions/checkout@85e6279cec87321a52edac9c87bce653a07cf6c2 # 
v4.2.2
 
       - name: Set up Go
-        uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # 
v5.1.0
+        uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # 
v5.3.0
         with:
           go-version: stable
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qubesome-0.0.8/.github/workflows/release.yml 
new/qubesome-0.0.9/.github/workflows/release.yml
--- old/qubesome-0.0.8/.github/workflows/release.yml    2024-12-08 
10:40:21.000000000 +0100
+++ new/qubesome-0.0.9/.github/workflows/release.yml    2025-02-04 
14:03:54.000000000 +0100
@@ -18,16 +18,16 @@
 
     steps:
       - name: Checkout
-        uses: actions/checkout@cbb722410c2e876e24abbe8de2cc27693e501dcb # 
v4.2.2
+        uses: actions/checkout@85e6279cec87321a52edac9c87bce653a07cf6c2 # 
v4.2.2
         with:
           fetch-depth: 0
 
       - name: Set up Go
-        uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # 
v5.1.0
+        uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # 
v5.3.0
         with:
           go-version: stable
 
-      - uses: 
anchore/sbom-action/download-syft@55dc4ee22412511ee8c3142cbea40418e6cec693 # 
v0.17.8
+      - uses: 
anchore/sbom-action/download-syft@f325610c9f50a54015d37c8d16cb3b0e2c8f4de0 # 
v0.18.0
       - uses: 
sigstore/cosign-installer@dc72c7d5c4d10cd6bcb8cf6e3fd625a9e5e537da # v3.7.0
 
       - name: Run GoReleaser
@@ -40,6 +40,6 @@
           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 
       - name: Attest release artefacts
-        uses: 
actions/attest-build-provenance@ef244123eb79f2f7a7e75d99086184180e6d0018 # 
v1.4.4
+        uses: 
actions/attest-build-provenance@520d128f165991a6c774bcb264f323e3d70747f4 # 
v2.2.0
         with:
           subject-path: "dist/qubesome*"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qubesome-0.0.8/.github/workflows/test.yml 
new/qubesome-0.0.9/.github/workflows/test.yml
--- old/qubesome-0.0.8/.github/workflows/test.yml       2024-12-08 
10:40:21.000000000 +0100
+++ new/qubesome-0.0.9/.github/workflows/test.yml       2025-02-04 
14:03:54.000000000 +0100
@@ -14,10 +14,10 @@
 
     steps:
       - name: Checkout
-        uses: actions/checkout@cbb722410c2e876e24abbe8de2cc27693e501dcb # 
v4.2.2
+        uses: actions/checkout@85e6279cec87321a52edac9c87bce653a07cf6c2 # 
v4.2.2
 
       - name: Set up Go
-        uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # 
v5.1.0
+        uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # 
v5.3.0
         with:
           go-version: stable
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qubesome-0.0.8/.obs/workflows.yml 
new/qubesome-0.0.9/.obs/workflows.yml
--- old/qubesome-0.0.8/.obs/workflows.yml       2024-12-08 10:40:21.000000000 
+0100
+++ new/qubesome-0.0.9/.obs/workflows.yml       1970-01-01 01:00:00.000000000 
+0100
@@ -1,20 +0,0 @@
-version: '1.1'
-testbuild:
-  steps:
-    - branch_package:
-        source_project: home:pjbgf:devel:languages:go:unstable
-        source_package: qubesome
-        target_project: home:pjbgf:ci
-        add_repositories: disable
-    - configure_repositories:
-        project: home:pjbgf:ci
-        repositories:
-          - name: openSUSE_Factory
-            paths:
-              - target_project: home:pjbgf:devel:languages:go:unstable
-                target_repository: openSUSE_Factory
-            architectures:
-              - x86_64
-              - aarch64
-  filters:
-    event: pull_request
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qubesome-0.0.8/README.md new/qubesome-0.0.9/README.md
--- old/qubesome-0.0.8/README.md        2024-12-08 10:40:21.000000000 +0100
+++ new/qubesome-0.0.9/README.md        2025-02-04 14:03:54.000000000 +0100
@@ -22,7 +22,7 @@
 go install github.com/qubesome/cli/cmd/qubesome@latest
 ```
 
-##### For Tumbleweed users
+##### For Leap and Tumbleweed users
 ```
 zypper install -y qubesome
 ```
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qubesome-0.0.8/go.mod new/qubesome-0.0.9/go.mod
--- old/qubesome-0.0.8/go.mod   2024-12-08 10:40:21.000000000 +0100
+++ new/qubesome-0.0.9/go.mod   2025-02-04 14:03:54.000000000 +0100
@@ -3,37 +3,35 @@
 go 1.23.3
 
 require (
-       github.com/cyphar/filepath-securejoin v0.3.4
-       github.com/go-git/go-git/v5 v5.12.1-0.20241115094014-70dd9f8347eb
+       github.com/cyphar/filepath-securejoin v0.4.1
+       github.com/go-git/go-git/v5 v5.12.1-0.20250203135850-bc4c2e8d4fc2
        github.com/google/uuid v1.6.0
        github.com/stretchr/testify v1.10.0
        github.com/urfave/cli/v3 v3.0.0-beta1
-       golang.org/x/sys v0.27.0
-       google.golang.org/grpc v1.68.0
-       google.golang.org/protobuf v1.35.2
+       golang.org/x/sys v0.29.0
+       google.golang.org/grpc v1.70.0
+       google.golang.org/protobuf v1.36.4
        gopkg.in/yaml.v3 v3.0.1
 )
 
 require (
        dario.cat/mergo v1.0.1 // indirect
        github.com/Microsoft/go-winio v0.6.2 // indirect
-       github.com/ProtonMail/go-crypto v1.1.2 // indirect
+       github.com/ProtonMail/go-crypto v1.1.5 // indirect
        github.com/cloudflare/circl v1.5.0 // indirect
        github.com/davecgh/go-spew v1.1.1 // indirect
        github.com/emirpasic/gods v1.18.1 // indirect
        github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
-       github.com/go-git/go-billy/v5 v5.6.0 // indirect
-       github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // 
indirect
-       github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // 
indirect
+       github.com/go-git/go-billy/v5 v5.6.2 // indirect
+       github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // 
indirect
        github.com/kevinburke/ssh_config v1.2.0 // indirect
-       github.com/pjbgf/sha1cd v0.3.0 // indirect
+       github.com/pjbgf/sha1cd v0.3.2 // indirect
        github.com/pmezard/go-difflib v1.0.0 // indirect
        github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // 
indirect
-       github.com/skeema/knownhosts v1.3.0 // indirect
-       github.com/xanzy/ssh-agent v0.3.3 // indirect
-       golang.org/x/crypto v0.29.0 // indirect
-       golang.org/x/net v0.31.0 // indirect
-       golang.org/x/text v0.20.0 // indirect
-       google.golang.org/genproto/googleapis/rpc 
v0.0.0-20240903143218-8af14fe29dc1 // indirect
+       golang.org/x/crypto v0.32.0 // indirect
+       golang.org/x/exp v0.0.0-20241215155358-4a5509556b9e // indirect
+       golang.org/x/net v0.34.0 // indirect
+       golang.org/x/text v0.21.0 // indirect
+       google.golang.org/genproto/googleapis/rpc 
v0.0.0-20241202173237-19429a94021a // indirect
        gopkg.in/warnings.v0 v0.1.2 // indirect
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qubesome-0.0.8/go.sum new/qubesome-0.0.9/go.sum
--- old/qubesome-0.0.8/go.sum   2024-12-08 10:40:21.000000000 +0100
+++ new/qubesome-0.0.9/go.sum   2025-02-04 14:03:54.000000000 +0100
@@ -1,45 +1,48 @@
 dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s=
 dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
-github.com/Microsoft/go-winio v0.5.2/go.mod 
h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY=
 github.com/Microsoft/go-winio v0.6.2 
h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
 github.com/Microsoft/go-winio v0.6.2/go.mod 
h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
-github.com/ProtonMail/go-crypto v1.1.2 
h1:A7JbD57ThNqh7XjmHE+PXpQ3Dqt3BrSAC0AL0Go3KS0=
-github.com/ProtonMail/go-crypto v1.1.2/go.mod 
h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE=
+github.com/ProtonMail/go-crypto v1.1.5 
h1:eoAQfK2dwL+tFSFpr7TbOaPNUbPiJj4fLYwwGE1FQO4=
+github.com/ProtonMail/go-crypto v1.1.5/go.mod 
h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE=
 github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be 
h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8=
 github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod 
h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4=
 github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 
h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
 github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod 
h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
 github.com/cloudflare/circl v1.5.0 
h1:hxIWksrX6XN5a1L2TI/h53AGPhNHoUBo+TD1ms9+pys=
 github.com/cloudflare/circl v1.5.0/go.mod 
h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs=
-github.com/cyphar/filepath-securejoin v0.3.4 
h1:VBWugsJh2ZxJmLFSM06/0qzQyiQX2Qs0ViKrUAcqdZ8=
-github.com/cyphar/filepath-securejoin v0.3.4/go.mod 
h1:8s/MCNJREmFK0H02MF6Ihv1nakJe4L/w3WZLHNkvlYM=
+github.com/cyphar/filepath-securejoin v0.4.1 
h1:JyxxyPEaktOD+GAnqIqTf9A8tHyAG22rowi7HkoSU1s=
+github.com/cyphar/filepath-securejoin v0.4.1/go.mod 
h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI=
 github.com/davecgh/go-spew v1.1.0/go.mod 
h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/davecgh/go-spew v1.1.1 
h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 github.com/davecgh/go-spew v1.1.1/go.mod 
h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/elazarl/goproxy v0.0.0-20240618083138-03be62527ccb 
h1:2SoxRauy2IqekRMggrQk3yNI5X6omSnk6ugVbFywwXs=
-github.com/elazarl/goproxy v0.0.0-20240618083138-03be62527ccb/go.mod 
h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM=
+github.com/elazarl/goproxy v0.0.0-20241214220532-033b654b53fa 
h1:QXLS/iMdK+qcYeZMPHnS6z0+h7WfMz+CAydZyh+Ywa0=
+github.com/elazarl/goproxy v0.0.0-20241214220532-033b654b53fa/go.mod 
h1:thX175TtLTzLj3p7N/Q9IiKZ7NF+p72cvL91emV0hzo=
 github.com/emirpasic/gods v1.18.1 
h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc=
 github.com/emirpasic/gods v1.18.1/go.mod 
h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ=
-github.com/gliderlabs/ssh v0.3.7 
h1:iV3Bqi942d9huXnzEF2Mt+CY9gLu8DNM4Obd+8bODRE=
-github.com/gliderlabs/ssh v0.3.7/go.mod 
h1:zpHEXBstFnQYtGnB8k8kQLol82umzn/2/snG7alWVD8=
+github.com/gliderlabs/ssh v0.3.8 
h1:a4YXD1V7xMF9g5nTkdfnja3Sxy1PVDCj1Zg4Wb8vY6c=
+github.com/gliderlabs/ssh v0.3.8/go.mod 
h1:xYoytBv1sV0aL3CavoDuJIQNURXkkfPA/wxQ1pL1fAU=
 github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 
h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI=
 github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod 
h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic=
-github.com/go-git/go-billy/v5 v5.6.0 
h1:w2hPNtoehvJIxR00Vb4xX94qHQi/ApZfX+nBE2Cjio8=
-github.com/go-git/go-billy/v5 v5.6.0/go.mod 
h1:sFDq7xD3fn3E0GOwUSZqHo9lrkmx8xJhA0ZrfvjBRGM=
+github.com/go-git/go-billy/v5 v5.6.2 
h1:6Q86EsPXMa7c3YZ3aLAQsMA0VlWmy43r6FHqa/UNbRM=
+github.com/go-git/go-billy/v5 v5.6.2/go.mod 
h1:rcFC2rAsp/erv7CMz9GczHcuD0D32fWzH+MJAU+jaUU=
 github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 
h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4=
 github.com/go-git/go-git-fixtures/v4 
v4.3.2-0.20231010084843-55a94097c399/go.mod 
h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII=
-github.com/go-git/go-git/v5 v5.12.1-0.20241115094014-70dd9f8347eb 
h1:TEo1aHmTS/QU1IIYczLGhqUEp8m03a7bk3ZdRHoUonk=
-github.com/go-git/go-git/v5 v5.12.1-0.20241115094014-70dd9f8347eb/go.mod 
h1:KECzDiPamjQz6lBAKQI+cIhdDfUcb64jyErZarVFKIE=
-github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da 
h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=
-github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod 
h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+github.com/go-git/go-git-fixtures/v5 v5.0.0-20241203230421-0753e18f8f03 
h1:LumE+tQdnYW24a9RoO08w64LHTzkNkdUqBD/0QPtlEY=
+github.com/go-git/go-git-fixtures/v5 v5.0.0-20241203230421-0753e18f8f03/go.mod 
h1:hMKrMnUE4W0SJ7bFyM00dyz/HoknZoptGWzrj6M+dEM=
+github.com/go-git/go-git/v5 v5.12.1-0.20250203135850-bc4c2e8d4fc2 
h1:VKjkZoFZfUTpbiaBoiGklGmVpJcdfwJDGp+zmAbermI=
+github.com/go-git/go-git/v5 v5.12.1-0.20250203135850-bc4c2e8d4fc2/go.mod 
h1:O3maNj55zerR9q69nmoXubW9tBEDqEbk44KxtLxyqr8=
+github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
+github.com/go-logr/logr v1.4.2/go.mod 
h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
+github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
+github.com/go-logr/stdr v1.2.2/go.mod 
h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
+github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 
h1:f+oWsMOmNPc8JmEHVZIycC7hBoQxHH9pNKQORJNozsQ=
+github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8/go.mod 
h1:wcDNUvekVysuuOpQKo3191zZyTpiI6se1N1ULghS0sw=
 github.com/golang/protobuf v1.5.4 
h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
 github.com/golang/protobuf v1.5.4/go.mod 
h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
 github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
 github.com/google/go-cmp v0.6.0/go.mod 
h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
 github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
 github.com/google/uuid v1.6.0/go.mod 
h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 
h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A=
-github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod 
h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo=
 github.com/kevinburke/ssh_config v1.2.0 
h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4=
 github.com/kevinburke/ssh_config v1.2.0/go.mod 
h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
 github.com/kr/pretty v0.1.0/go.mod 
h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
@@ -51,57 +54,50 @@
 github.com/kr/text v0.2.0/go.mod 
h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
 github.com/onsi/gomega v1.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k=
 github.com/onsi/gomega v1.34.1/go.mod 
h1:kU1QgUvBDLXBJq618Xvm2LUX6rSAfRaFRTcdOeDLwwY=
-github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4=
-github.com/pjbgf/sha1cd v0.3.0/go.mod 
h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI=
+github.com/pjbgf/sha1cd v0.3.2 h1:a9wb0bp1oC2TGwStyn0Umc/IGKQnEgF0vVaZ8QF8eo4=
+github.com/pjbgf/sha1cd v0.3.2/go.mod 
h1:zQWigSxVmsHEZow5qaLtPYxpcKMMQpa09ixqBxuCS6A=
 github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
 github.com/pkg/errors v0.9.1/go.mod 
h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
 github.com/pmezard/go-difflib v1.0.0 
h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod 
h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/rogpeppe/go-internal v1.11.0 
h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M=
-github.com/rogpeppe/go-internal v1.11.0/go.mod 
h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA=
+github.com/rogpeppe/go-internal v1.13.1 
h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=
+github.com/rogpeppe/go-internal v1.13.1/go.mod 
h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
 github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 
h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8=
 github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod 
h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4=
-github.com/sirupsen/logrus v1.7.0/go.mod 
h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
-github.com/skeema/knownhosts v1.3.0 
h1:AM+y0rI04VksttfwjkSTNQorvGqmwATnvnAHpSgc0LY=
-github.com/skeema/knownhosts v1.3.0/go.mod 
h1:sPINvnADmT/qYH1kfv+ePMmOBTH6Tbl7b5LvTDjFK7M=
 github.com/stretchr/objx v0.1.0/go.mod 
h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/testify v1.2.2/go.mod 
h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
 github.com/stretchr/testify v1.4.0/go.mod 
h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
 github.com/stretchr/testify v1.10.0 
h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
 github.com/stretchr/testify v1.10.0/go.mod 
h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
 github.com/urfave/cli/v3 v3.0.0-beta1 
h1:6DTaaUarcM0wX7qj5Hcvs+5Dm3dyUTBbEwIWAjcw9Zg=
 github.com/urfave/cli/v3 v3.0.0-beta1/go.mod 
h1:FnIeEMYu+ko8zP1F9Ypr3xkZMIDqW3DR92yUtY39q1Y=
-github.com/xanzy/ssh-agent v0.3.3 
h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM=
-github.com/xanzy/ssh-agent v0.3.3/go.mod 
h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw=
-golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod 
h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
-golang.org/x/crypto v0.29.0 h1:L5SG1JTTXupVV3n6sUqMTeWbjAyfPwoda2DLX8J8FrQ=
-golang.org/x/crypto v0.29.0/go.mod 
h1:+F4F4N5hv6v38hfeYwTdx20oUvLLc+QfrE9Ax9HtgRg=
-golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 
h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8=
-golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod 
h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY=
-golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod 
h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.31.0 h1:68CPQngjLL0r2AlUKiSxtQFKvzRVbnzLwMUn5SzcLHo=
-golang.org/x/net v0.31.0/go.mod h1:P4fl1q7dY2hnZFxEk4pPSkDHF+QqjitcnDjUQyMM+pM=
-golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod 
h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod 
h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod 
h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod 
h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.27.0 h1:wBqf8DvsY9Y/2P8gAfPDEYNuS30J4lPHJxXSb/nJZ+s=
-golang.org/x/sys v0.27.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
-golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod 
h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
-golang.org/x/term v0.26.0 h1:WEQa6V3Gja/BhNxg540hBip/kkaYtRg3cxg4oXSw4AU=
-golang.org/x/term v0.26.0/go.mod 
h1:Si5m1o57C5nBNQo5z1iq+XDijt21BDBDp2bK0QI8e3E=
-golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.20.0 h1:gK/Kv2otX8gz+wn7Rmb3vT96ZwuoxnQlY+HlJVj7Qug=
-golang.org/x/text v0.20.0/go.mod 
h1:D4IsuqiFMhST5bX19pQ9ikHC2GsaKyk/oF+pn3ducp4=
-golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod 
h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 
h1:pPJltXNxVzT4pK9yD8vR9X75DaWYYmLGMsEvBfFQZzQ=
-google.golang.org/genproto/googleapis/rpc 
v0.0.0-20240903143218-8af14fe29dc1/go.mod 
h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU=
-google.golang.org/grpc v1.68.0 h1:aHQeeJbo8zAkAa3pRzrVjZlbz6uSfeOXlJNQM0RAbz0=
-google.golang.org/grpc v1.68.0/go.mod 
h1:fmSPC5AsjSBCK54MyHRx48kpOti1/jRfOlwEWywNjWA=
-google.golang.org/protobuf v1.35.2 
h1:8Ar7bF+apOIoThw1EdZl0p1oWvMqTHmpA2fRTyZO8io=
-google.golang.org/protobuf v1.35.2/go.mod 
h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
+go.opentelemetry.io/otel v1.32.0 
h1:WnBN+Xjcteh0zdk01SVqV55d/m62NJLJdIyb4y/WO5U=
+go.opentelemetry.io/otel v1.32.0/go.mod 
h1:00DCVSB0RQcnzlwyTfqtxSm+DRr9hpYrHjNGiBHVQIg=
+go.opentelemetry.io/otel/metric v1.32.0 
h1:xV2umtmNcThh2/a/aCP+h64Xx5wsj8qqnkYZktzNa0M=
+go.opentelemetry.io/otel/metric v1.32.0/go.mod 
h1:jH7CIbbK6SH2V2wE16W05BHCtIDzauciCRLoc/SyMv8=
+go.opentelemetry.io/otel/sdk v1.32.0 
h1:RNxepc9vK59A8XsgZQouW8ue8Gkb4jpWtJm9ge5lEG4=
+go.opentelemetry.io/otel/sdk v1.32.0/go.mod 
h1:LqgegDBjKMmb2GC6/PrTnteJG39I8/vJCAP9LlJXEjU=
+go.opentelemetry.io/otel/sdk/metric v1.32.0 
h1:rZvFnvmvawYb0alrYkjraqJq0Z4ZUJAiyYCU9snn1CU=
+go.opentelemetry.io/otel/sdk/metric v1.32.0/go.mod 
h1:PWeZlq0zt9YkYAp3gjKZ0eicRYvOh1Gd+X99x6GHpCQ=
+go.opentelemetry.io/otel/trace v1.32.0 
h1:WIC9mYrXf8TmY/EXuULKc8hR17vE+Hjv2cssQDe03fM=
+go.opentelemetry.io/otel/trace v1.32.0/go.mod 
h1:+i4rkvCraA+tG6AzwloGaCtkx53Fa+L+V8e9a7YvhT8=
+golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc=
+golang.org/x/crypto v0.32.0/go.mod 
h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc=
+golang.org/x/exp v0.0.0-20241215155358-4a5509556b9e 
h1:4qufH0hlUYs6AO6XmZC3GqfDPGSXHVXUFR6OND+iJX4=
+golang.org/x/exp v0.0.0-20241215155358-4a5509556b9e/go.mod 
h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c=
+golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0=
+golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k=
+golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU=
+golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg=
+golang.org/x/term v0.28.0/go.mod 
h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek=
+golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
+golang.org/x/text v0.21.0/go.mod 
h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a 
h1:hgh8P4EuoxpsuKMXX/To36nOFD7vixReXgn8lPGnt+o=
+google.golang.org/genproto/googleapis/rpc 
v0.0.0-20241202173237-19429a94021a/go.mod 
h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU=
+google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ=
+google.golang.org/grpc v1.70.0/go.mod 
h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw=
+google.golang.org/protobuf v1.36.4 
h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM=
+google.golang.org/protobuf v1.36.4/go.mod 
h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod 
h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod 
h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c 
h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qubesome-0.0.8/internal/profiles/profiles.go 
new/qubesome-0.0.9/internal/profiles/profiles.go
--- old/qubesome-0.0.8/internal/profiles/profiles.go    2024-12-08 
10:40:21.000000000 +0100
+++ new/qubesome-0.0.9/internal/profiles/profiles.go    2025-02-04 
14:03:54.000000000 +0100
@@ -46,6 +46,15 @@
                return StartFromGit(o.Runner, o.Profile, o.GitURL, o.Path, 
o.Local)
        }
 
+       if o.Local != "" {
+               // Running from local, treat the local path as the GITDIR for 
envvar
+               // expansion purposes.
+               err := env.Update("GITDIR", o.Local)
+               if err != nil {
+                       return err
+               }
+       }
+
        path := filepath.Join(o.Local, o.Path, "qubesome.config")
        if _, err := os.Stat(path); err != nil {
                return err
@@ -102,7 +111,7 @@
 
        if strings.HasPrefix(local, "~") {
                if len(local) > 1 && local[1] == '/' {
-                       local = os.ExpandEnv("${HOME}" + local[1:])
+                       local = filepath.Join(os.ExpandEnv("${HOME}"), 
local[1:])
                }
        }
 
@@ -214,7 +223,7 @@
        go images.PreemptWorkloadImages(binary, cfg)
 
        if profile.Gpus != "" {
-               if !gpu.Supported() {
+               if _, ok := gpu.Supported(runner); !ok {
                        profile.Gpus = ""
                        dbus.NotifyOrLog("qubesome error", "GPU support was not 
detected, disabling it for qubesome")
                }
@@ -245,6 +254,11 @@
                }
        }
 
+       err = createMagicCookie(profile)
+       if err != nil {
+               return err
+       }
+
        wg := &sync.WaitGroup{}
        wg.Add(1)
 
@@ -279,11 +293,6 @@
                }
        }()
 
-       err = createMagicCookie(profile)
-       if err != nil {
-               return err
-       }
-
        err = createNewDisplay(binary,
                creds.CA, creds.ClientPEM, creds.ClientKeyPEM,
                profile, strconv.Itoa(int(profile.Display)))
@@ -467,7 +476,13 @@
        paths = append(paths, fmt.Sprintf("-v=%s:/usr/local/bin/qubesome:ro", 
binPath))
 
        for _, p := range profile.Paths {
-               paths = append(paths, "-v="+env.Expand(p))
+               p = env.Expand(p)
+
+               src := strings.Split(p, ":")
+               if _, err := os.Stat(src[0]); err != nil {
+                       fmt.Printf("\033[33mWARN: missing mapped dir: 
%s.\033[0m\n", src[0])
+               }
+               paths = append(paths, "-v="+p)
        }
 
        dockerArgs := []string{
@@ -503,10 +518,8 @@
                dockerArgs = append(dockerArgs, 
"-v="+xdgRuntimeDir+":/run/user/1000")
        }
        if profile.HostAccess.Gpus != "" {
-               if strings.HasSuffix(bin, "podman") {
-                       dockerArgs = append(dockerArgs, 
"--device=nvidia.com/gpu=all")
-               } else {
-                       dockerArgs = append(dockerArgs, "--gpus", 
profile.HostAccess.Gpus)
+               if gpus, ok := gpu.Supported(profile.Runner); ok {
+                       dockerArgs = append(dockerArgs, gpus)
                }
        }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qubesome-0.0.8/internal/runners/docker/run.go 
new/qubesome-0.0.9/internal/runners/docker/run.go
--- old/qubesome-0.0.8/internal/runners/docker/run.go   2024-12-08 
10:40:21.000000000 +0100
+++ new/qubesome-0.0.9/internal/runners/docker/run.go   2025-02-04 
14:03:54.000000000 +0100
@@ -41,13 +41,6 @@
                return fmt.Errorf("failed to get named devices: %w", err)
        }
 
-       if wl.HostAccess.Gpus != "" {
-               if !gpu.Supported() {
-                       wl.HostAccess.Gpus = ""
-                       dbus.NotifyOrLog("qubesome error", "GPU support was not 
detected, disabling it for qubesome")
-               }
-       }
-
        var paths []string
        // Mount localtime into container. This file may be a symlink, if so,
        // mount the underlying file as well.
@@ -79,8 +72,13 @@
        }
 
        if wl.HostAccess.Gpus != "" {
-               args = append(args, "--gpus", wl.HostAccess.Gpus)
-               args = append(args, "--runtime=nvidia")
+               gpu, ok := gpu.Supported("podman")
+               if !ok {
+                       wl.HostAccess.Gpus = ""
+                       dbus.NotifyOrLog("qubesome error", "GPU support was not 
detected, disabling it for qubesome")
+               } else {
+                       args = append(args, gpu)
+               }
        }
 
        for _, cap := range wl.HostAccess.CapsAdd {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qubesome-0.0.8/internal/runners/podman/run.go 
new/qubesome-0.0.9/internal/runners/podman/run.go
--- old/qubesome-0.0.8/internal/runners/podman/run.go   2024-12-08 
10:40:21.000000000 +0100
+++ new/qubesome-0.0.9/internal/runners/podman/run.go   2025-02-04 
14:03:54.000000000 +0100
@@ -41,13 +41,6 @@
                return fmt.Errorf("failed to get named devices: %w", err)
        }
 
-       if wl.HostAccess.Gpus != "" {
-               if !gpu.Supported() {
-                       wl.HostAccess.Gpus = ""
-                       dbus.NotifyOrLog("qubesome error", "GPU support was not 
detected, disabling it for qubesome")
-               }
-       }
-
        var paths []string
        // Mount localtime into container. This file may be a symlink, if so,
        // mount the underlying file as well.
@@ -82,7 +75,13 @@
        }
 
        if wl.HostAccess.Gpus != "" {
-               args = append(args, "--device=nvidia.com/gpu=all")
+               gpu, ok := gpu.Supported("podman")
+               if !ok {
+                       wl.HostAccess.Gpus = ""
+                       dbus.NotifyOrLog("qubesome error", "GPU support was not 
detected, disabling it for qubesome")
+               } else {
+                       args = append(args, gpu)
+               }
        }
 
        for _, cap := range wl.HostAccess.CapsAdd {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qubesome-0.0.8/internal/util/gpu/gpu.go 
new/qubesome-0.0.9/internal/util/gpu/gpu.go
--- old/qubesome-0.0.8/internal/util/gpu/gpu.go 2024-12-08 10:40:21.000000000 
+0100
+++ new/qubesome-0.0.9/internal/util/gpu/gpu.go 2025-02-04 14:03:54.000000000 
+0100
@@ -2,12 +2,23 @@
 
 import "os/exec"
 
-// Supported checks whether nvidia gpu sharing is supported by the system.
+// Supported checks whether GPU sharing is supported by the system, based
+// on either NVidia or AMD toolkits being instead.
 //
-// At present it only checks whether nvidia-container-toolkit is in the PATH.
+// At present it only checks whether nvidia-container-toolkit or
+// rocm-smi are in the PATH.
 // In the future, it should attempt to run a container to confirm it is
 // properly configured and useable.
-func Supported() bool {
-       path, err := exec.LookPath("nvidia-container-toolkit")
-       return path != "" && err == nil
+func Supported(runner string) (string, bool) {
+       if path, _ := exec.LookPath("nvidia-container-toolkit"); path != "" {
+               if runner == "podman" {
+                       return "--device=nvidia.com/gpu=all", true
+               }
+               return "--gpus=all", true
+       }
+       // AMD GPU.
+       if path, _ := exec.LookPath("rocm-smi"); path != "" {
+               return "--device=/dev/kfd", true
+       }
+       return "", false
 }

++++++ vendor.tar.gz ++++++
++++ 29804 lines of diff (skipped)

Reply via email to