-
Notifications
You must be signed in to change notification settings - Fork 6
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
Unifying archive package structure #34
Comments
@kgilmer @SoumyaRanjanPatnaik FYI. I opened the issue at Voulage repo first to have a discussion and if we get to a point that we would likely wanted to move forward then it'd be great to create another discussion thread in main repo or discussions page for broader community visibility and engagements. |
@khos2ow your proposal is fantastic! Perhaps this falls into the "multiple versions" block you have above ~ I also was unable to get
|
Also we will still need a way of encoding the regolith stage somewhere, as it's common for users to consume from |
I also agree that Aptly might be a bit overkill for our use case and Freight seems to be exactly what we want. And deb workflow definitely needs to change, I think less on the build side, and more on the publish side. One big difference is that, as far as I could gather, freight needs to run on the web server where the packages are hosted, as opposed to current state of building, packaging, generating deb repo, rsync everything. |
The way I'm thinking about this is point 5 and 6 from the original proposal:
That means differentiation between stages will be right there in the deb source file, BUT, release version slug will never be visible anywhere in the deb url and/or deb source file.
And in all of the cases above, Regolith versions will just be packages (plural) inside the |
👍
From the project start, the only target that had been supported but is no longer is Ubuntu 18.04. @SoumyaRanjanPatnaik and I recently discussed this topic and thought it best to only support the last + current LTS release, plus any current non-LTS release for Ubuntu. (I'm counting all official Debian releases as "LTS"). So, I plan to deprecate support for Bullseye and Focal in 3.2. I haven't done it yet because I want to know if something in 3.2 fails on those older platforms in beta before the release. But this is the policy, LMK what you think:
|
Current State
As of now the apt URLs for each release have hardcoded Regolith version in it and it's a bit unpredictable when it comes to upgrading to another release (Regolith, or underlying OS: Debian, Ubuntu). Currently the apt URL is as follow:
and apt source entry is as follow:
Proposed Change
This proposal suggests to cleanup and shorten the url with the following format:
and apt source entry as follow:
Changes
Architecture
out of url to deb source file entryregolith-desktop.org
toarchive.regolith-desktop.com
Distro Name
as the top level path of the package archiveRegolith Stage
out as the second level path of the package archiveDistro Version/Codename
out to the distribution section of its ownComponent
section forRegolith Stage
main
for everyRegolith Stage
v3.1
,v3.2
, etc) for stable releases (e.g.release-3_2
,release-3_1
, etc)Regolith Stage
will not ever have the Regolith versions (e.g.release-3_1
, etc)Note that item 2 is my personal preference and I think it looks cool to have this, but ultimately this is the only optional item in this proposal.
Examples
The followings are some example of what the deb apt urls will look like:
deb [arch=amd64] http://archive.regolith-desktop.com/ubuntu/stable noble main
deb [arch=amd64] http://archive.regolith-desktop.com/ubuntu/stable jammy v3.1
deb [arch=amd64] http://archive.regolith-desktop.com/ubuntu/stable jammy v3.2
deb [arch=amd64] http://archive.regolith-desktop.com/ubuntu/experimental noble main
deb [arch=amd64] http://archive.regolith-desktop.com/ubuntu/unstable mantic main
deb [arch=amd64] http://archive.regolith-desktop.com/ubuntu/testing mantic main
deb [arch=arm64] http://archive.regolith-desktop.com/debian/stable bookworm main
deb [arch=arm64] http://archive.regolith-desktop.com/debian/experimental bookworm main
deb [arch=arm64] http://archive.regolith-desktop.com/debian/unstable testing main
deb [arch=arm64] http://archive.regolith-desktop.com/debian/testing testing main
Considerations
Backward Compatibility
The proposed solution can be backward compatible because the changes are only in the URLs and with redirect rules on the running webserver most probably can be achieved.
Multiple Versions
Multiple versions of the same package must be supported with this new proposal because
Regolith Stage
(i.e. Regolith stable releases: e.g.release-3_1
, etc) is being moved out of the url. This raises two points:rerepo
The text was updated successfully, but these errors were encountered: