Cyclic dependencies between postmarketos-base and postmarketos-initramfs
I'm currently porting postmarketOS to ppc64le. In that process I've encountered a lot of issues with pmbootstrap v3 for porting to a new architecture that are all fixed in my fork, I will open a pull request there when I've got something building + booting.
Now to the actual issue: postmarketos-base depends on postmarketos-ramdisk which is provided by postmarketos-initramfs-minimal which depends on postmarketos-fde-unlocker which is provided by postmarketos-base. TLDR: There is a cyclic dependency between postmarketos-base and postmarketos-ramdisk.
pmbootstrap log:
[01:55:48] WARNING: cyclical build dependency: can't build postmarketos-initramfs, no binary package for postmarketos-base
[01:55:48] WARNING: cyclical build dependency: can't build postmarketos-base, no binary package for postmarketos-initramfs
[01:55:48] WARNING: cyclical build dependency: can't build postmarketos-base, no binary package for postmarketos-initramfs
[01:55:48] WARNING: cyclical build dependency: can't build postmarketos-initramfs, no binary package for postmarketos-base
[01:55:48] WARNING: cyclical build dependency: can't build postmarketos-base, no binary package for postmarketos-initramfs
[01:55:48] WARNING: cyclical build dependency: can't build postmarketos-base, no binary package for postmarketos-initramfs
[01:55:48] WARNING: cyclical build dependency: can't build postmarketos-initramfs, no binary package for postmarketos-base
[01:55:48] WARNING: cyclical build dependency: can't build postmarketos-base, no binary package for postmarketos-initramfs
[01:55:48] WARNING: cyclical build dependency: can't build postmarketos-base, no binary package for postmarketos-initramfs
[01:55:48] WARNING: cyclical build dependency: can't build postmarketos-initramfs, no binary package for postmarketos-base
[01:55:48] WARNING: cyclical build dependency: can't build postmarketos-base, no binary package for postmarketos-initramfs
[01:55:48] WARNING: cyclical build dependency: can't build postmarketos-base, no binary package for postmarketos-initramfs
[01:55:48] WARNING: cyclical build dependency: can't build postmarketos-initramfs, no binary package for postmarketos-base
[01:55:48] WARNING: cyclical build dependency: can't build postmarketos-base, no binary package for postmarketos-initramfs
[01:55:48] WARNING: cyclical build dependency: can't build postmarketos-base, no binary package for postmarketos-initramfs
[01:55:48] WARNING: cyclical build dependency: can't build postmarketos-initramfs, no binary package for postmarketos-base
[01:55:48] WARNING: cyclical build dependency: can't build postmarketos-base, no binary package for postmarketos-initramfs
[01:55:48] WARNING: cyclical build dependency: can't build postmarketos-base, no binary package for postmarketos-initramfs
[01:55:48] WARNING: cyclical build dependency: can't build postmarketos-initramfs, no binary package for postmarketos-base
[01:55:48] WARNING: cyclical build dependency: can't build postmarketos-base, no binary package for postmarketos-initramfs
[01:55:48] WARNING: cyclical build dependency: can't build postmarketos-base, no binary package for postmarketos-initramfs
[01:55:48] WARNING: cyclical build dependency: can't build postmarketos-initramfs, no binary package for postmarketos-base
[01:55:48] Remaining packages:
[01:55:48] * postmarketos-base
[01:55:48] * postmarketos-initramfs
[01:55:48] * device-qemu-ppc64le
[01:55:48] * postmarketos-ui-sway
[01:55:48] * postmarketos-base-ui
[01:55:48] * postmarketos-ui-console
[01:55:48] ERROR: Can't resolve build order of remaining packages!
This should be very easy to reproduce on other, supported architectures by disabling the binary repos using pmbootstrap config mirrors.pmaports none
and then running pmbootstrap build postmarketos-base
(you'll likely need my pmbootstrap fork to fix the dependency resolving).
The way I hacked around this to be able to build anything was removing postmarketos-fde-unlocker from the initramfs dependencies - that way it builds fine.