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)
