1976 Commits
Author SHA1 Message Date
distrobox-docs-bot 24035a6dd1 Automatic Man Page Update
Signed-off-by: distrobox-docs-bot <distrobox-docs-bot@users.noreply.github.com>
2026-10-15 15:20:06 +00:00
Luca Di Maio b16bd8cb25 ci: drop debian/eol wheezy, buster, and ALT from e2e matrix
debian: pruned pool 404s. ALT: slow mirror hits 30-min cap.

Signed-off-by: Luca Di Maio <luca.dimaio1@gmail.com>
2026-10-15 17:18:46 +02:00
Luca Di Maio 92718aab21 build(lint): run make lint via podman/docker golangci-lint matching CI version
Signed-off-by: Luca Di Maio <luca.dimaio1@gmail.com>
2026-10-15 17:18:30 +02:00
Luca Di Maio 762a701ce6 fix(tests): fix merge error
Signed-off-by: Luca Di Maio <luca.dimaio1@gmail.com>
2026-10-15 10:21:58 +02:00
distrobox-docs-bot ee4f191822 Automatic Man Page Update
Signed-off-by: distrobox-docs-bot <distrobox-docs-bot@users.noreply.github.com>
2026-10-15 08:01:24 +00:00
Luca Di Maio 1aa9a7b168 Merge pull request #2204 from mameikagou/fix/export-existing-binary
fix(export): protect existing host binaries
2026-10-15 10:00:46 +02:00
Luca Di Maio 81ce73673f Merge branch 'main' into fix/export-existing-binary 2026-10-15 10:00:23 +02:00
AmitandAlessio Biancalana d436e303dd docs: fix incorrect --next flag in install instructions (#2222)
The install script does not accept --next as documented in the Steam Deck
guide. The script actually supports:
- --v2 to install the v2 Go release candidate
- --version (or -V) to specify a release tag

Updated docs/posts/steamdeck_guide.md to document the correct flags that
match what './install --help' actually supports.

Fixes 89luca89/distrobox#2147

Co-authored-by: Alessio Biancalana <alessio@dottorblaster.it>
2026-10-14 16:41:01 +02:00
Luca Di Maio 227bc1f40a Merge pull request #2219 from ismail-bahloul/fix/init-nvidia-verbose-flood
fix(init): silence xtrace during nvidia integration to avoid journald rate-limit hang
2026-10-14 16:00:26 +02:00
Luca Di Maio 24b5a13718 Merge pull request #2235 from 89luca89/fix/autocomplete_names
fix(completion): restore v1 container-name and --image candidates
2026-10-14 15:20:05 +02:00
Luca Di Maio 3bf59ced6a Merge pull request #2236 from 89luca89/strip-checks-e2e-workflow
ci: run required NVIDIA checks on every pull request
2026-10-14 15:19:35 +02:00
Alessio Biancalana 23417a7021 ci: run required NVIDIA checks on every pull request 2026-10-14 15:03:08 +02:00
Luca Di Maio 1d94a7e80d fix(completion): restore v1 container-name and --image candidates
v2's urfave ShellComplete only emitted flags, so `distrobox enter <TAB>`
no longer offered container names.
Wire --image/-i to the compatibility cache too.

This brings shell completion to parity with legacy branch.

Fix #2234

Signed-off-by: Luca Di Maio <luca.dimaio1@gmail.com>
2026-10-14 12:44:30 +02:00
dependabot[bot] 9a4717eeea chore(deps): bump actions/cache/restore from 4.2.3 to 6.1.0 (#2185)
Bumps [actions/cache/restore](https://github.com/actions/cache) from 4.2.3 to 6.1.0.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/5a3ec84eff668545956fd18022155c47e93e2684...55cc8345863c7cc4c66a329aec7e433d2d1c52a9)

---
updated-dependencies:
- dependency-name: actions/cache/restore
  dependency-version: 6.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-14 12:21:43 +02:00
dependabot[bot] d6fd4ae576 chore(deps): bump redhat-plumbers-in-action/differential-shellcheck (#2228)
Bumps [redhat-plumbers-in-action/differential-shellcheck](https://github.com/redhat-plumbers-in-action/differential-shellcheck) from 5.5.6 to 5.5.7.
- [Release notes](https://github.com/redhat-plumbers-in-action/differential-shellcheck/releases)
- [Changelog](https://github.com/redhat-plumbers-in-action/differential-shellcheck/blob/main/docs/CHANGELOG.md)
- [Commits](https://github.com/redhat-plumbers-in-action/differential-shellcheck/compare/d965e66ec0b3b2f821f75c8eff9b12442d9a7d1e...f51c7c0d32777d00de777131d25918617a246415)

---
updated-dependencies:
- dependency-name: redhat-plumbers-in-action/differential-shellcheck
  dependency-version: 5.5.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-14 09:31:30 +02:00
distrobox-docs-bot a1a0c35ea9 Automatic Man Page Update
Signed-off-by: distrobox-docs-bot <distrobox-docs-bot@users.noreply.github.com>
2026-10-02 15:19:56 +00:00
Luca Di Maio f15579acde Merge pull request #2233 from KyleGospo/patch-1
fix: rename bazzite-arch to steambox matching upstream change
2026-10-02 11:19:14 -04:00
Kyle Gospodnetich aa61ad1233 fix: rename bazzite-arch to steambox matching upstream change 2026-10-01 15:01:02 -07:00
dependabot[bot] 4b459007d2 chore(deps): bump github.com/urfave/cli/v3 from 3.11.0 to 3.13.0 (#2230)
Bumps [github.com/urfave/cli/v3](https://github.com/urfave/cli) from 3.11.0 to 3.13.0.
- [Release notes](https://github.com/urfave/cli/releases)
- [Changelog](https://github.com/urfave/cli/blob/main/docs/CHANGELOG.md)
- [Commits](https://github.com/urfave/cli/compare/v3.11.0...v3.13.0)

---
updated-dependencies:
- dependency-name: github.com/urfave/cli/v3
  dependency-version: 3.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-01 22:31:21 +02:00
Luca Di Maio 1d7efaa31b Merge pull request #2231 from 89luca89/ci/nvidia-dependabot-bumps
ci(nvidia): run the VM e2e suite on dependabot PRs
2026-10-01 11:30:08 -04:00
Alessio Biancalana a29bedd143 ci(nvidia): run the VM e2e suite on dependabot PRs 2026-10-01 09:12:09 +02:00
Luca Di Maio f60fb9d35e Merge pull request #2223 from 89luca89/fix/init_orphan_mounts
fix(init): resync watched mounts after host file replacement
2026-09-17 17:05:27 +02:00
Luca Di Maio 510e6d9be3 fix(init): resync watched mounts after host file replacement
A bind mount tracks the inode, not the path. When the host replaces one
of the HOST_WATCH files, the container mount keeps pointing at the
unlinked inode and findmnt reports it with a "//deleted" source. The
keepalive loop only compared file contents, so a byte-identical recreate
left the mount disconnected, and when /run/host exposed the same deleted
peer the content check could never trigger at all.

Signed-off-by: Luca Di Maio <luca.dimaio1@gmail.com>
2026-09-17 16:21:37 +02:00
Fabrizio Sestito 884f14ee17 ci: add zizmor (#2220)
* ci: add zizmor workflow to audit GitHub Actions

Signed-off-by: Fabrizio Sestito <fabrizio.sestito@suse.com>

* ci: restrict token permissions, drop persisted checkout credentials and fix template injections

Signed-off-by: Fabrizio Sestito <fabrizio.sestito@suse.com>

* ci: verify the shell-funcheck binary checksum before running it

Signed-off-by: Fabrizio Sestito <fabrizio.sestito@suse.com>

---------

Signed-off-by: Fabrizio Sestito <fabrizio.sestito@suse.com>
2026-09-14 10:47:19 +02:00
Iswad edb48f9262 fix(init): silence xtrace during nvidia integration to avoid log flood
The nvidia integration phase mounts every host nvidia library and driver,
and with xtrace enabled (the entrypoint is always run with --verbose) that
produces thousands of log lines in a short window.

systemd-journald's default rate limit (RateLimitBurst=10000 per 30s) then
drops the tail of the container log, which includes the final
"container_setup_done" marker that distrobox-enter waits for. As a result
entering the container hangs forever at ~0% CPU, even though init finishes
fine.

This is easy to hit on hosts where /usr/lib64 is a symlink to /usr/lib
(merged-lib, e.g. Arch): the nvidia library search then lists every library
twice, which roughly doubles the flood.

Silence tracing for this phase, like commit a20d0b0 did for the keepalive
loop. Measured on an Arch-like host (CachyOS, nvidia 615.71.09, podman +
journald):

  no --nvidia             : 2789 log lines, marker present, enter completes
  --nvidia (before)       : 18900 log lines, marker dropped, enter hangs
  --nvidia + k8s-file log : completes (no journald rate limit)
  --nvidia (after)        : 2812 log lines, marker present, enter completes
2026-09-12 16:39:05 +01:00
Luca Di Maio e20e230efb Merge pull request #2212 from 89luca89/dependabot/go_modules/github.com/urfave/cli/v3-3.11.0
chore(deps): bump github.com/urfave/cli/v3 from 3.10.1 to 3.11.0
2026-09-02 11:30:52 +02:00
dependabot[bot] 9548a0a983 chore(deps): bump github.com/urfave/cli/v3 from 3.10.1 to 3.11.0
Bumps [github.com/urfave/cli/v3](https://github.com/urfave/cli) from 3.10.1 to 3.11.0.
- [Release notes](https://github.com/urfave/cli/releases)
- [Changelog](https://github.com/urfave/cli/blob/main/docs/CHANGELOG.md)
- [Commits](https://github.com/urfave/cli/compare/v3.10.1...v3.11.0)

---
updated-dependencies:
- dependency-name: github.com/urfave/cli/v3
  dependency-version: 3.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-02 09:26:49 +00:00
Luca Di Maio a67c80958d fix(tests): run tests rootless, fix archlinux, fix internal script extraction path (#2214)
- scripts.go: ProvisionScripts reuses the helpers if already present, else
  extracts into the install dir when writable, otherwise falls back to
  $XDG_DATA_HOME/distrobox. Fixes rootless create/enter for a system-wide
  install (/usr/local/bin), which died with "permission denied"
- hack/test/nvidia-test.sh: run box ops rootless as the cloud user
- hack/test/vm-run.sh: bump the ubuntu image to resolute.

Signed-off-by: Luca Di Maio <luca.dimaio1@gmail.com>
2026-09-02 10:33:23 +02:00
dependabot[bot] 5ba421fe47 chore(deps): bump actions/setup-go from 6.5.0 to 7.0.0 (#2210) 2026-09-01 23:07:45 +02:00
dependabot[bot] 3727364586 chore(deps): bump actions/checkout from 7.0.0 to 7.0.1 (#2211)
Bumps [actions/checkout](https://github.com/actions/checkout) from 7.0.0 to 7.0.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0...3d3c42e5aac5ba805825da76410c181273ba90b1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-01 22:38:07 +02:00
dependabot[bot] cb4caefda4 chore(deps): bump actions/upload-artifact from 4.6.2 to 7.0.1 (#2182)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.6.2 to 7.0.1.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.6.2...043fb46d1a93c77aae656e7c1c64a875d1fc6a0a)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-01 09:30:30 +02:00
mameikagou 011f2032a9 fix(export): protect existing host binaries 2026-08-24 20:35:48 +08:00
Luca Di Maio 76acec3f07 Merge pull request #2181 from 89luca89/dependabot/github_actions/actions/cache/save-6.1.0
chore(deps): bump actions/cache/save from 4.2.3 to 6.1.0
2026-08-21 09:45:03 +02:00
dependabot[bot] 09efdcdaea chore(deps): bump actions/cache/save from 4.2.3 to 6.1.0
Bumps [actions/cache/save](https://github.com/actions/cache) from 4.2.3 to 6.1.0.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/5a3ec84eff668545956fd18022155c47e93e2684...55cc8345863c7cc4c66a329aec7e433d2d1c52a9)

---
updated-dependencies:
- dependency-name: actions/cache/save
  dependency-version: 6.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-21 07:28:27 +00:00
Luca Di Maio 10bab91563 Merge pull request #2195 from 89luca89/fix/nvidia_arch_tests
fix(e2e): update host distros on nvidia tests, avoid problems with stale dependencies
2026-08-09 21:27:03 +02:00
Luca Di Maio 77ca686be6 fix(e2e): update host distros on nvidia tests, avoid problems with stale dependencies
Signed-off-by: Luca Di Maio <luca.dimaio1@gmail.com>
2026-08-09 21:16:18 +02:00
Alessio Biancalana 9f4430cd18 fix(init,rm): honor user volumes under host-mount paths and --rm-home in headless rm (#2192)
* fix(init): do not shadow user volumes under host-mount paths

* fix(rm): honor --rm-home when stdin is not a tty
2026-08-09 19:51:27 +02:00
Alessio Biancalana 736989b677 fix(enter): use a real isatty check for --tty allocation (#2193)
* fix(enter): use a real isatty check for --tty allocation

* test(containermanager): make IsTTY regression test lint-clean
2026-08-09 19:15:49 +02:00
distrobox-docs-bot 0b04e4c94b Automatic Man Page Update
Signed-off-by: distrobox-docs-bot <distrobox-docs-bot@users.noreply.github.com>
2026-08-09 09:44:21 +00:00
A 37a41eb41f input: update documentation to make it more clear that certain flags to distrobox assemble run after every container restart (#2191) 2026-08-09 11:43:49 +02:00
distrobox-docs-bot 2c4a231fa0 Automatic Man Page Update
Signed-off-by: distrobox-docs-bot <distrobox-docs-bot@users.noreply.github.com>
2026-08-08 17:33:08 +00:00
Luca Di Maio eafe590a8d Merge pull request #2190 from 89luca89/feat/test_overhaul
ci(e2e): add end-to-end behavioral tests across distros and engines
2026-08-08 19:32:23 +02:00
Luca Di Maio 6aee0c552b Merge pull request #2139 from 89luca89/migrate-subcommand-implementation
feat(migrate): add `distrobox migrate` subcommand for v1→v2 containers
2026-08-07 21:43:12 +02:00
Alessio Biancalana 8abacf7205 fix(migrate): use the shared config scripts dir for migration
The migrate command introduced a parallel insidedistrobox.ScriptsDir()
that resolved to the old v2 prerelease location
(~/.local/share/distrobox/v2), which was abandoned in 94ae7fa with a
BREAKING CHANGE note. The two resolutions only agree when
DBX_SCRIPTS_DIR is set, which is exactly what the tests do - hiding the
divergence: migrate provisioned and filtered on a different host
directory than the create command mounts into new containers.

- drop insidedistrobox.ScriptsDir(); migrate now provisions and filters
  on c.cfg.ScriptsDir, the same resolution the create command uses
- set ScriptsDir on the recreated container's CreateOptions: it was
  left empty, which made ProvisionScripts("") fail on real runtimes
- make the scripts-mount filter path-boundary aware
- add an end-to-end migration test driving a fake podman runtime:
  v1 inspect JSON in, then compare the recreated container's create
  spec to the known-good v2 layout (scripts mounted from the config
  scripts dir, distrobox.version label set, v1 helper mounts gone)
2026-08-07 16:36:57 +02:00
Luca Di Maio b0b6b56b67 docs: refresh compatibility list, drop EOL distros and add current releases
Signed-off-by: Luca Di Maio <luca.dimaio1@gmail.com>
2026-08-07 15:44:50 +02:00
Luca Di Maio f01efac527 ci(e2e): verify the v2 binary end-to-end across distros and engines
Unit tests can't prove the rewritten binary actually works on each supported
distro and on both podman and docker; this exercises the real thing.

Move the tests in a set of simple scripts to run them.
Make a smaller e2e test for CLI and Images that runs on every PR
Keep the full compatibility suite in a separate job for main merge and
manual runs.

Signed-off-by: Luca Di Maio <luca.dimaio1@gmail.com>
2026-08-07 14:46:19 +02:00
Luca Di Maio 1f3fa8109e test: pin slug, env-filter, and ps-parser behavior
Lock down the container-name slug, enter env allow/deny, and podman/docker
ps parsers so provider JSON drift and symlink/env edge cases fail in CI
instead of in the field. Fixtures also capture the known doc/code and
comma-in-label quirks so they're tracked rather than silently accepted.

Signed-off-by: Luca Di Maio <luca.dimaio1@gmail.com>
2026-08-07 11:12:13 +02:00
Alessio Biancalana 1832fb65e1 fix(migrate): preserve same-path user volumes on recreate 2026-08-02 18:07:12 +02:00
Alessio Biancalana 92f092b1ab fix(providers): correctly map docker inspect output for migrate 2026-08-02 17:54:03 +02:00
Alessio Biancalana 6cef357d3b fix: add license headers to new files 2026-08-02 17:40:16 +02:00