SynoCommunity / spksrc

Cross compilation framework to create native packages for the Synology's NAS
https://synocommunity.com
Other
2.99k stars 1.22k forks source link

Need to migrate container to Debian 12 #6168

Open th0ma7 opened 2 weeks ago

th0ma7 commented 2 weeks ago

In order to build some package using the Synology DSM-7.2 toolchain we need to update our container image.

See my issue I've been facing https://github.com/intel/opencl-clang/issues/546#issuecomment-2212424117 I believe the issue is due to my container image being Debian 11 with glibc-2.31 when building the NATIVE components wheras the Synology provided gcc-12.2 toolchain uses glibc-2.36, matching Debian 12 default libc version.

Related to https://github.com/SynoCommunity/spksrc/pull/6166

hgy59 commented 2 weeks ago

AFAICR with the image based on Debian 12 it is not possble to create packages for ppc853x-5.2 anymore (ppc853x is the single OLD_PPC_ARCH that we still support). So my primary question: can we provide both versions in parallel? or can we tag the current image, so that it will be kept and not overwritten by the latest version(s)?

Maybe one day the docker image must be updated and is not compatible with DSM 6 toolchains anymore. So it is worth to find a solution now...

I know the github build action does not build packages for DSM 5.2, but I do not want to be the only one that has a backup of the debian 11 based docker image.

th0ma7 commented 1 week ago

Mabe we'd need to tag & release our container images, have a v5, v6 and v7.2 images or something. Updating to Debian 12 is easy, managing multiple images is something I wouldn't know where to start from, further with to spawning corresponding matrix using github-action. Maybe others have knowledge on this?

hgy59 commented 1 week ago

Mabe we'd need to tag & release our container images, have a v5, v6 and v7.2 images or something.

I just pushed the spksrc image that was created 4 months ago as ghcr.io/synocommunity/spksrc:2024.03

All that was needed was to create a (classic) personal access token to log in to ghcr and then it was possible to push a tagged Docker image...

th0ma7 commented 1 week ago

From there could we, for instance, add a dsm52 to the matrix enforcing the usage of this tagged image? And remaining to be using latest untagged? Once set we'd be good to update latest, non affecting dsn52