Update package-sources.md#40
Open
moritzkirchnersap wants to merge 1 commit into
Open
Conversation
I think part of it is touched in different places and I wasn't sure which place is the best, I just thought: if one reads about packages this description should be there. I added the information to the orginal release.md where I would have placed it because it should be information available in case somebody makes a release, but due to the new very nice structure this might stay here, or not, depending on how you feel is best.
ByteOtter
requested changes
May 27, 2026
| If a package repository is called package-* and if it has the build.yml workflow then it will be built every night. Sometimes one doesn't want that and then the repository name is prefixed differently, most likely bp-package-something. | ||
|
|
||
| ## branches within package-* repositories | ||
| Each package repository should have `rel-*` branches that relate to the Garden Linux version for which this package is being built. This is to ensure the correct versions are being built with the correct dependencies for the correct Garden Linux versions. For example `package-openssh` could be built in one version for Garden Linux 1877 and another version for Garden Linux 2150. This means there should be branches called `rel-1877` and `rel-2150`. Packages should never be built main. Although it is a convention and not enforced. |
Contributor
There was a problem hiding this comment.
Suggested change
| Each package repository should have `rel-*` branches that relate to the Garden Linux version for which this package is being built. This is to ensure the correct versions are being built with the correct dependencies for the correct Garden Linux versions. For example `package-openssh` could be built in one version for Garden Linux 1877 and another version for Garden Linux 2150. This means there should be branches called `rel-1877` and `rel-2150`. Packages should never be built main. Although it is a convention and not enforced. | |
| Each package repository should have `rel-*` branches that relate to the Garden Linux version for which this package is being built. This ensures the correct versions are being built with the correct dependencies for the correct Garden Linux versions. For example `package-openssh` could be built in one version for Garden Linux 1877 and another version for Garden Linux 2150. This means there should be branches called `rel-1877` and `rel-2150`. | |
| **Packages should never be built `main`**. Although this is a convention and not enforced. |
|
|
||
| # Package Repository Conventions | ||
| ## naming | ||
| If a package repository is called package-* and if it has the build.yml workflow then it will be built every night. Sometimes one doesn't want that and then the repository name is prefixed differently, most likely bp-package-something. |
Contributor
There was a problem hiding this comment.
Suggested change
| If a package repository is called package-* and if it has the build.yml workflow then it will be built every night. Sometimes one doesn't want that and then the repository name is prefixed differently, most likely bp-package-something. | |
| If a package repository is called package-* and if it has the build.yml workflow then it will be built every night. In certain cases, this is not required so the repository name is prefixed differently, usually `bp-package-*`. |
Comment on lines
+67
to
+70
| Also important on the `rel-*` branches is the `.container` file | ||
|
|
||
| ## .container file | ||
| which includes the hash of the Garden Linux repo at the day of the release of the Major Garden Linux release, for example: |
Contributor
There was a problem hiding this comment.
Suggested change
| Also important on the `rel-*` branches is the `.container` file | |
| ## .container file | |
| which includes the hash of the Garden Linux repo at the day of the release of the Major Garden Linux release, for example: | |
| ## .container file | |
| A important part of the release process on `rel-*` branches is the respective `.container` file which is different on each branch. | |
| It includes the hash of the Garden Linux repo at the day of the release of the Major Garden Linux release, for example: |
| ghcr.io/gardenlinux/repo-debian-snapshot@sha256:0348e829222f0e62c61cb68e630f1766b62e4311303bc35b02cbd5c62a98abef | ||
| $ wget -qO- "https://raw.githubusercontent.com/gardenlinux/repo/refs/tags/1877.2/.container" | ||
| ghcr.io/gardenlinux/repo-debian-snapshot@sha256:0348e829222f0e62c61cb68e630f1766b62e4311303bc35b02cbd5c62a98abef``` | ||
| it is crucial to pin down the build environment in that way with which the package is being built. Otherwise packages from debian testing at the point of time of when a package is being built are being used. Which might even mean a package doesn't build anylonger without a code change or doesn't work within the same Garden Linux release any longer for example there could be a different `libc` version in debian testing at that point as opposed to at release time. |
Contributor
There was a problem hiding this comment.
Suggested change
| it is crucial to pin down the build environment in that way with which the package is being built. Otherwise packages from debian testing at the point of time of when a package is being built are being used. Which might even mean a package doesn't build anylonger without a code change or doesn't work within the same Garden Linux release any longer for example there could be a different `libc` version in debian testing at that point as opposed to at release time. | |
| It is important to pin down the build environment with which the package is built. Otherwise, the build would use the most recent currently available version of the package from Debian testing. This might result in the package's custom patches not applying anymore or the package simply becoming incompatible with the Debian snapshot the target Garden Linux release is based on. | |
| For example, the most recent version of a package might require a more recent version of a system library like `libc` or a newer compiler which the target release - say Garden Linux 1877 - does not provide. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this PR does / why we need it:
I think part of it is touched in different places and I wasn't sure which place is the best, I just thought: if one reads about packages this description should be there. I wanted to add the information to the orginal release.md where I would have placed it because it should be information available in case somebody makes a release, but due to the new very nice structure this might stay here, or not, depending on how you feel is best.
The .container file for example is mentioned in backporting, but I feel like "backporting" is rather the standard case than the exception, so maybe it can be merged? Or maybe it isn't and I misunderstood the connections during a minor release because during a minor release backports are more common?