[Bug]: Podman detection support fails of Fedora
- Dominant language
- Shell
- Stars
- 5.4k
- Forks
- 3.1k
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 204
Description
### What happened?
I am glad that there is a newly merged base Podman support (with podman-docker shim expected). It seems it does not work on Fedora 43 though:
```
root@myval:/home/th/wip/armbian# ./compile.sh docker BOARD=orangepirv2-bpi BRANCH=edge RELEASE=sid BUILD_MINIMAL=yes BUILD_DESKTOP=no KERNEL_CONFIGURE=yes
[πΏ] Applying cmdline param [ 'BUILD_MINIMAL': '(unset)' --> 'yes' early ]
[πΏ] Applying cmdline param [ 'BUILD_DESKTOP': '(unset)' --> 'no' early ]
[πΏ] Applying cmdline param [ 'BRANCH': '(unset)' --> 'edge' early ]
[πΏ] Applying cmdline param [ 'BOARD': '(unset)' --> 'orangepirv2-bpi' early ]
[πΏ] Applying cmdline param [ 'RELEASE': '(unset)' --> 'sid' early ]
[πΏ] Applying cmdline param [ 'KERNEL_CONFIGURE': '(unset)' --> 'yes' early ]
[π±] Using prebuilt Armbian image as base for 'ubuntu-noble' [ DOCKER_ARMBIAN_BASE_IMAGE: ghcr.io/armbian/docker-armbian-build:armbian-ubuntu-noble-latest ]
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
[πΏ] Docker info [ Docker Kernel: RAM: CPUs:12 OS:'' hostname 'myval crun overlay' under 'Linux' - buildx:no - loop-hacks:yes static-loops:no ]
[π±] Creating [ .dockerignore ]
[π±] Docker launcher [ enabling all extensions looking for Docker dependencies ]
[πΏ] Extension search [ Searching in directory: "/home/th/wip/armbian/extensions" ]
[πΏ] Extension search result [ Found 16 extensions in "/home/th/wip/armbian/extensions" ]
[πΏ] Extension search [ Searching in directory: "/home/th/wip/armbian/userpatches/extensions" ]
[πΈ] Extension search [ Directory does not exist: "/home/th/wip/armbian/userpatches/extensions" ]
[π±] Extension manager [ processed 20 Extension Methods calls and 67 Extension Method implementations ]
[π±] Python2 not available on host release 'noble' [ ancient u-boot versions might/will fail to build ]
[π±] Extension: fs-cryptroot-support: Adding packages to host dependencies [ cryptsetup openssh-client ]
[π±] Preparing mtkflash host-side dependencies [ mtkflash ]
[π±] Preparing rkdevflash host-side dependencies [ rkdevflash ]
[π±] Creating [ Dockerfile; FROM ghcr.io/armbian/docker-armbian-build:armbian-ubuntu-noble-latest ]
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
[π±] Armbian docker image [ already exists: ghcr.io/armbian/docker-armbian-build:armbian-ubuntu-noble-latest ]
[π±] Building [ Dockerfile via 'build' ]
[π¨] Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
[π¨] STEP 1/5: FROM ghcr.io/armbian/docker-armbian-build:armbian-ubuntu-noble-latest
[π¨] STEP 2/5: RUN echo "--> CACHE MISS IN DOCKERFILE: apt packages." && DEBIAN_FRONTEND=noninteractive apt-get -y update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends bash git psmisc uuid-runtime bc binfmt-support bison bsdextrautils libc6-dev make dpkg-dev gcc ca-certificates ccache cpio device-tree-compiler dialog dirmngr dosfstools dwarves e2fsprogs flex gawk gettext gnupg gpg imagemagick jq kmod libbison-dev libelf-dev libfdt-dev libfile-fcntllock-perl libmpc-dev libfl-dev lz4 libncurses-dev libssl-dev libusb-1.0-0-dev linux-base locales lsof ncurses-base ncurses-term ntpsec-ntpdate patchutils pkg-config pv qemu-user-static arch-test rsync swig u-boot-tools udev uuid-dev zlib1g-dev file tree expect colorized-logs unzip zip pigz xz-utils pbzip2 lzop zstd parted gdisk fdisk aria2 curl axel wget parallel rdfind python3 libpython3-dev libffi-dev libgnutls28-dev gcc-x86-64-linux-gnu gcc-aarch64-linux-gnu gcc-arm-linux-gnueabi gcc-arm-linux-gnueabihf gcc-riscv64-linux-gnu libc6-amd64-cross mkbootimg g++-aarch64-linux-gnu g++ btrfs-progs cryptsetup openssh-client f2fs-tools nilfs-tools xfsprogs zerofree lvm2 rustc cargo build-essential qemu-utils qemu-utils libudev-dev libusb-1.0-0-dev dh-autoreconf build-essential gcc-arm-linux-gnueabi gcc-or1k-elf qemu-utils qemu-utils
[π¨] --> Using cache ead965a988293b4469a110a8b449fd37f62c0ef350a13434cc397c181a8bd0c0
[π¨] --> ead965a98829
[π¨] STEP 3/5: WORKDIR /armbian
[π¨] --> Using cache 70412354df27cd13a60efb6a3a998ccf30ed978daaf0e9ab0d3c61837fdcedbf
[π¨] --> 70412354df27
[π¨] STEP 4/5: ENV ARMBIAN_RUNNING_IN_CONTAINER=yes LANG=C.UTF-8
[π¨] --> Using cache 4d7e67025693b2157d772ea1cf4d9451543f47109bbc6b276a32dfdff2de74db
[π¨] --> 4d7e67025693
[π¨] STEP 5/5: ADD . /armbian/
[π¨] COMMIT armbian.local.only/armbian-build:initial
[π¨] --> 9f2a30def92d
[π¨] Successfully tagged armbian.local.only/armbian-build:initial
[π¨] 9f2a30def92d5c3cad99a6b243ccaf16c4a5bfd5ad2e52e679500ff6311c73d2
[π±] -----------------Relaunching in Docker after 2s------------------ [ here comes the π³ ]
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
[π³|πΏ] Applying cmdline param [ 'BUILD_MINIMAL': '(unset)' --> 'yes' early ]
[π³|πΏ] Applying cmdline param [ 'BUILD_DESKTOP': '(unset)' --> 'no' early ]
[π³|πΏ] Applying cmdline param [ 'ARMBIAN_BUILD_UUID': '(unset)' --> '8a14ddea-d9e7-48ac-9a6b-8bd891b7e1be' early ]
[π³|π±] Skip cmdline param [ 'ARMBIAN_RELAUNCHED': already set to 'yes' early ]
[π³|πΏ] Applying cmdline param [ 'BRANCH': '(unset)' --> 'edge' early ]
[π³|πΏ] Applying cmdline param [ 'BOARD': '(unset)' --> 'orangepirv2-bpi' early ]
[π³|πΏ] Applying cmdline param [ 'SKIP_LOG_ARCHIVE': '(unset)' --> 'yes' early ]
[π³|πΏ] Applying cmdline param [ 'SET_OWNER_TO_UID': '(unset)' --> '0' early ]
[π³|πΏ] Applying cmdline param [ 'DOCKER_NICE': '(unset)' --> '0' early ]
[π³|πΏ] Applying cmdline param [ 'RELEASE': '(unset)' --> 'sid' early ]
[π³|πΏ] Applying cmdline param [ 'KERNEL_CONFIGURE': '(unset)' --> 'yes' early ]
[π³|π₯] error! [ asking for docker... inside docker. how did this happen? Tip: you don't need 'docker' to run armbian-next inside Docker; it's automatically detected and used when appropriate. ]
[π³|π₯] Exiting with error 43 [ at /armbian/lib/functions/logging/traps.sh:1
exit_with_error() --> lib/functions/logging/traps.sh:1
cli_docker_pre_run() --> lib/functions/cli/cli-docker.sh:28
armbian_cli_pre_run_command() --> lib/functions/cli/utils-cli.sh:122
cli_entrypoint() --> lib/functions/cli/entrypoint.sh:79
main() --> compile.sh:50
]
[π₯] -------------Docker run failed after 2s-------------------------- [ π³ failed ]
[π₯] Docker Log file for this run [ not found ]
[π±] Cleaning up [ please wait for cleanups to finish ]
[πΏ] ANSI log file built; inspect it by running: [ less -RS output/logs/log-docker-8a14ddea-d9e7-48ac-9a6b-8bd891b7e1be.log.ans ]
[π±] Share log manually: [ use one of the commands below (or add SHARE_LOG=yes next time!) ]
[πΏ] Share log manually: [ curl --data-binary @output/logs/log-docker-8a14ddea-d9e7-48ac-9a6b-8bd891b7e1be.log.ans https://paste.armbian.com/log ]
[πΏ] Share log manually: [ curl --data-binary @output/logs/log-docker-8a14ddea-d9e7-48ac-9a6b-8bd891b7e1be.log.ans https://paste.armbian.de/log ]
[πΏ] Share log manually: [ curl --data-binary @output/logs/log-docker-8a14ddea-d9e7-48ac-9a6b-8bd891b7e1be.log.ans https://paste.next.armbian.com/log ]
[πΏ] Share log manually: [ curl --data-binary @output/logs/log-docker-8a14ddea-d9e7-48ac-9a6b-8bd891b7e1be.log.ans https://paste.armbian.eu/log ]
```
I have a workaround https://github.com/tmshlvck/armbian-build/commit/b383fe977c9b6275c4b4d156f3d327ea4db475f3 , that was created by re-basing my previous overreaching attempt to add Podman suport. Needs to be simplified and refined to open PR, I guess.
### How to reproduce?
On Fedora 43 install `sudo dnf install podman-docker` and run `./compile.sh docker BOARD=bananapir4 BRANCH=edge RELEASE=trixie BUILD_MINIMAL=yes BUILD_DESKTOP=no KERNEL_CONFIGURE=no`.
### Branch
main (main development branch)
### On which host OS are you running the build script and observing this problem?
Other
### Are you building on Windows WSL2?
- [ ] Yes, my Ubuntu/Debian/OtherOS is running on WSL2
### Relevant log URL
_No response_
### Code of Conduct
- [x] I agree to follow this project's Code of Conduct
Contributor guide
Research direction
Start with lib/functions/cli/cli-docker.sh and the cli_docker_pre_run stack shown in the report, then reproduce the command on Fedora 43 with podman-docker installed. Trace why the relaunch is treated as Docker-inside-Docker; done means the documented Podman-backed command completes without error 43.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, fedora, shell
- Domain
- cli, devops
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100