-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add more Ubuntu versions and Debian support #439
Conversation
2931700
to
5eee3e7
Compare
d5b0051
to
0c81590
Compare
Updated with suggestions. |
@@ -79,6 +79,7 @@ func (cfg *Config) Worker(sOpt dalec.SourceOpts, opts ...llb.ConstraintsOpt) (ll | |||
Run( | |||
dalec.WithConstraints(opts...), | |||
AptInstall(cfg.BuilderPackages, opts...), | |||
dalec.WithMountedAptCache(cfg.AptCachePrefix), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Was this just not using the shared apt cache before?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, somehow got left out when I moved things around.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me, just a few small things
This is just shifting some bits raound to make more sense for adding other Ubuntu versions. Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Older versions of Go that supported go modules didn't neccessarily support the `GOMODCACHE` env var. This change works around this limitation by linking our fetched go modules into the configured `$GOPATH` when this is the case. Additionally updates the gomod generator to not rely on `$GOMODCACHE`. Signed-off-by: Brian Goff <cpuguy83@gmail.com>
This prepares the deb packaging to allow worker images to update $PATH and make sure that is passed along to the build scripts so that the source package is more likely to be reproducible. This will be useful for supporting non-standard go packages in Ubuntu such as `golang-<ver>` which do not add the go bins anywhere in the standard $PATH. Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Sometimes the `golang` package is just very old, but there may be other packages available like `golang-<ver>`, however those do not typically install the `go` binary such that it would be available in $PATH. This autoamtically looks up go and sets $PATH to include go in that path, but only when there is a `golang-<ver>` package in the dependency list. Signed-off-by: Brian Goff <cpuguy83@gmail.com>
The package is not available on all debian distros but is instead listed as a `Provides` from the `debhelper` package. The debhelper-compat build dep is still part of the generated debian control file so the compat level is still ensured. This is required to support distros that do not have an explicit package called `debhelper-compat` and instead only lists it in the `Provides` section of the `debhelper` package. Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Adds 18.04, 20.04, and 24.04 (in addition to 22.04 which was already there). For tests, given that Ubuntu <= 20.04 have a "golang" package that is too old to run the tests, I added a way to override the package name used in the test. Another minor modification due to Bionic not supporting `execute_after_dh_fixperms`. Signed-off-by: Brian Goff <cpuguy83@gmail.com>
This adds Debian Bullseye and Bookworm support. The only real change needed here was to update the distro config to allow us to enable the `bullseye-backports` repo so the tests can install a more recent version of go (and as such pass the test). Signed-off-by: Brian Goff <cpuguy83@gmail.com>
This makes the build a bit more friendly to building outside of DALEC where we don't mess with *their* $PATH except by adding the paths we need instead of replacing the whole thing. Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Individual commits detail each change.
Basically:
GOMODCACHE
env vargo
into $PATH