From: Martin Pitt Date: Wed, 27 May 2026 03:06:07 +0000 (+0200) Subject: Move to distrobox X-Git-Url: https://piware.de/gitweb/?a=commitdiff_plain;h=44dd20b5ed2e3d696e4bbd48240f421d7d102e04;p=bin.git Move to distrobox --- diff --git a/build-cockpit-distrobox b/build-cockpit-distrobox new file mode 100755 index 0000000..7f16416 --- /dev/null +++ b/build-cockpit-distrobox @@ -0,0 +1,31 @@ +#!/bin/sh +set -eux +NAME=${NAME:-cockpit} +TAG=${TAG:-latest} + +distrobox rm -f $NAME || true +distrobox create --image ghcr.io/cockpit-project/tasks:${TAG} --pull --yes --name $NAME --hostname $NAME + +# install some extra development tools +distrobox enter "$NAME" -- sudo sh -exc ' +# enable manpages +sed -i s/nodocs// /etc/dnf/dnf.conf + +dnf install -y ansible bash-completion man-db man-pages moreutils fd-find ripgrep gh git-delta neovim \ + python3-boto python3-boto3 python3-openstacksdk libnotify fuse-libs \ + jinja2 yq shellcheck \ + tmt python3-testcloud flatpak-builder flatpak-spawn qemu-ui-sdl \ + fedpkg centpkg + +# linux-system-roles development +# dnf install -y python3-tox standard-test-roles-inventory-qemu +# pip install git+https://github.com/linux-system-roles/tox-lsr.git@main + +# language servers +npm install -g @ansible/ansible-language-server pyright bash-language-server typescript-language-server vscode-langservers-extracted + +# commands to forward to the host +for cmd in podman buildah imv skopeo distrobox nmcli eog evince flatpak; do + ln -fns /usr/bin/distrobox-host-exec /usr/local/bin/$cmd +done +' diff --git a/build-cockpit-toolbox b/build-cockpit-toolbox deleted file mode 100755 index 9c27ac9..0000000 --- a/build-cockpit-toolbox +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -set -eux -NAME=${NAME:-cockpit} -TAG=${TAG:-latest} - -toolbox rm --force $NAME || true -podman pull ghcr.io/cockpit-project/tasks:${TAG} -yes | toolbox create --image ghcr.io/cockpit-project/tasks:${TAG} -c $NAME - -# install some extra development and desktop tools -toolbox run -c "$NAME" sh -exc ' -# useful hostname -echo "cockpit-toolbox" | sudo tee /etc/hostname -sudo hostname -F /etc/hostname - -# enable manpages -sudo sed -i s/nodocs// /etc/dnf/dnf.conf - -sudo dnf install -y ansible bash-completion man-db man-pages moreutils fd-find ripgrep gh git-delta neovim \ - python3-boto python3-boto3 python3-openstacksdk libnotify fuse-libs \ - simple-scan libglvnd-gles /usr/bin/scanimage /usr/bin/pngquant /usr/bin/convert pdfmerge \ - cargo rustfmt clippy \ - jinja2 yq shellcheck \ - calibre qt5-qtwayland \ - tmt python3-testcloud flatpak-builder flatpak-spawn qemu-ui-sdl \ - fedpkg centpkg - -# linux-system-roles development -# sudo dnf install -y python3-tox standard-test-roles-inventory-qemu -# sudo pip install git+https://github.com/linux-system-roles/tox-lsr.git@main - -# language servers -sudo npm install -g @ansible/ansible-language-server pyright bash-language-server typescript-language-server vscode-langservers-extracted - -# commands to forward to the host -for cmd in podman buildah imv skopeo toolbox nmcli eog evince flatpak; do - printf "#!/bin/sh\nexec flatpak-spawn --host $cmd \42\$@\42\n" | sudo tee /usr/local/bin/$cmd >/dev/null - sudo chmod a+x /usr/local/bin/$cmd -done -' diff --git a/build-debian-distrobox b/build-debian-distrobox new file mode 100755 index 0000000..428a0b1 --- /dev/null +++ b/build-debian-distrobox @@ -0,0 +1,29 @@ +#!/bin/sh +set -eux + +RELEASE=${1:-sid} +DISTRO=${2:-debian} + +distrobox rm -f $RELEASE || true +distrobox create --image docker.io/$DISTRO:$RELEASE --pull --yes --name $RELEASE --hostname $RELEASE + +distrobox enter $RELEASE -- sudo sh -exc ' +# enable sources +if [ -e /etc/apt/sources.list.d/debian.sources ]; then + sed -i "/^Types:/ s/deb$/deb deb-src/" /etc/apt/sources.list.d/debian.sources +fi + +apt-get update +DEBIAN_FRONTEND=noninteractive apt-get -y dist-upgrade + +# development tools +apt-get install -y --no-install-recommends build-essential git-buildpackage libwww-perl less vim lintian debhelper manpages-dev git pristine-tar bash-completion wget gnupg ubuntu-dev-tools python3-debian fakeroot libdistro-info-perl openssh-client flatpak-xdg-utils + +# autopkgtest +apt-get install -y --no-install-recommends autopkgtest qemu-system-x86 qemu-utils genisoimage uidmap + +# commands to forward to the host +for cmd in podman buildah distrobox evince imv; do + ln -fns /usr/bin/distrobox-host-exec /usr/local/bin/$cmd +done +' diff --git a/build-debian-toolbox b/build-debian-toolbox deleted file mode 100755 index 52f216e..0000000 --- a/build-debian-toolbox +++ /dev/null @@ -1,63 +0,0 @@ -#!/bin/sh -set -eux - -RELEASE=${1:-sid} -DISTRO=${2:-debian} - -toolbox rm -f $RELEASE || true -podman pull docker.io/$DISTRO:$RELEASE -toolbox -y create -c $RELEASE --image docker.io/$DISTRO:$RELEASE - -# hack for ubuntu: need to remove existing home dir -if [ "$DISTRO" = "ubuntu" ]; then - podman unshare sh -exc "H=\$(podman mount $RELEASE); rm -r \$H/home/ubuntu; sed -i '/^ubuntu/d' \$H/etc/passwd \$H/etc/shadow" -fi - -# can't do that with toolbox run yet, as we need to install sudo first -podman start $RELEASE -podman exec -it $RELEASE sh -exc ' -# go-faster apt/dpkg -echo force-unsafe-io > /etc/dpkg/dpkg.cfg.d/unsafe-io - -# otherwise installing systemd fails -umount /var/log/journal - -# enable sources -if [ -e /etc/apt/sources.list.d/debian.sources ]; then - sed -i "/^Types:/ s/deb$/deb deb-src/" /etc/apt/sources.list.d/debian.sources -fi - -apt-get update -apt-get install -y libnss-myhostname sudo eatmydata libcap2-bin - -# allow sudo with empty password -sed -i "s/nullok_secure/nullok/" /etc/pam.d/common-auth - -# unbreak slow host name resolution -sed -i "/^hosts:/ s/files dns myhostname/files myhostname dns/" /etc/nsswitch.conf -' - -toolbox run --container $RELEASE sh -exc ' -# useful hostname -. /etc/os-release -echo "${ID}-${VERSION_ID:-sid}" | sudo tee /etc/hostname -sudo hostname -F /etc/hostname - -sudo DEBIAN_FRONTEND=noninteractive eatmydata apt-get -y dist-upgrade - -# development tools -sudo eatmydata apt-get install -y --no-install-recommends build-essential git-buildpackage libwww-perl less vim lintian debhelper manpages-dev git pristine-tar bash-completion wget gnupg ubuntu-dev-tools python3-debian fakeroot libdistro-info-perl openssh-client flatpak-xdg-utils - -# autopkgtest -sudo eatmydata apt-get install -y --no-install-recommends autopkgtest qemu-system-x86 qemu-utils genisoimage uidmap - -sudo sed -i "s/Types: deb$/& deb-src/" /etc/apt/sources.list.d/*.sources - -# commands to forward to the host -for cmd in podman buildah toolbox; do - printf "#!/bin/sh\n/usr/libexec/flatpak-xdg-utils/flatpak-spawn --host $cmd \42\$@\42\n" | sudo tee /usr/local/bin/$cmd >/dev/null - sudo chmod a+x /usr/local/bin/$cmd -done -' - -toolbox enter --container $RELEASE