aportgen: gcc cross packages shouldn't build libgcc
In order to fix #2167 (closed), I did the following:
- remove isl from depends (!2203 (merged))
- regenerate the cross/gcc-* packages
- build gcc-aarch64 successfully
- try
pmbootstrap build --arch=aarch64 --force hello-world
it fails with:
(077758) [15:22:51] (buildroot_aarch64) % apk --no-progress add -u --virtual .pmbootstrap /mnt/pmbootstrap-packages/aarch64/libgcc-12.1.1_git20220630-r5.apk
ERROR: unable to select packages:
libgcc-12.1.1_git20220630-r5:
conflicts: libgcc-12.1.1_git20220630-r5
satisfies: .pmbootstrap-20220911.132252[libgcc><Q1+tYoegZ+gQVuxXlvuBda6e6EOps=]
.pmbootstrap-20220911.132252:
masked in: cache
satisfies: world[.pmbootstrap=20220911.132252]
libgcc-12.1.1_git20220630-r5:
conflicts: libgcc-12.1.1_git20220630-r5
breaks: .pmbootstrap-20220911.132252[libgcc><Q1+tYoegZ+gQVuxXlvuBda6e6EOps=]
satisfies: gcc-12.1.1_git20220630-r5[so:libgcc_s.so.1]
binutils-2.39-r1[so:libgcc_s.so.1]
libstdc++-12.1.1_git20220630-r5[so:libgcc_s.so.1]
ccache-4.6.3-r0[so:libgcc_s.so.1]
lzip-1.23-r0[so:libgcc_s.so.1]
what happens is, that the current gcc-aarch64 and similar packages build libgcc too, and they get stored in the local package repository for aarch64 packages. whereas the gcc-aarch64 and g++-aarch64 packages go into the local x86_64 repository.
apparently this does not happen once the package is built via bpo and published, since only the x86_64 packages get uploaded back to bpo.
workaround:
- remove libgcc package in
~/.local/var/pmbootstrap/packages/edge/aarch64
- "pmbootstrap index" to update the local APKINDEX
to fix this, pmbootstrap should probably set BOOTSTRAP=nolibc while generating the apkbuild, which will result in no libgcc getting built. Should be easy to fix, but creating this issue for reference.
Edited by Administrator