-
Bug
-
Resolution: Fixed
-
Critical (Application)
-
None
-
None
-
Breaks ffs metro stage3 builds
-
An incorrect derivation in eselects Makefile of the system Bash path used for eselect shebang
During our on going adventures of getting ffs fully building from stage1 up through stage2 and stage3 we discovered that the upstream app-admin/eselect incorrectly sets its Bash shebang to /usr/bin/bash when installed in a ffs stage1. This path does not exist. Only /bin/bash does.
This causes some major breakage further down the process during a metro stage3 build in two distinct places, but theoretically any where eselect would be invoked:
tmp/steps/chroot/run.metro: line 154: /usr/bin/eselect: cannot execute: required file not found
- Line 30 of the current app-select/eselect-rust ebuild :
eselect rust update --if-unset
This was discovered through multiple ffs stage3 metro builds over the past couple days. And finally verified fully by fchrooting directly into a metro built arm64-bit raspi4 stage2:
>>> Entering arm-64bit (cortex-a72 CPU) fchroot... /bin/cp /etc/resolv.conf /var/tmp/metro/work/next/stage3-raspi4-next-2022-10-eselect python list | sed -n -e '1d' -e 's/^.* \(python[3]\..\).*$/\1/g' -e '/python3/p' bash: /usr/bin/eselect: cannot execute: required file not found fchroot # eselect version bash: /usr/bin/eselect: cannot execute: required file not found fchroot # head`head': head -n1 /usr/bin/eselect #!/usr/bin/bash fchroot # stat /usr/bin/bash /usr/bin/stat: cannot statx '/usr/bin/bash': No such file or directory