-
-
Notifications
You must be signed in to change notification settings - Fork 136
Preparing a new release based on a new Ubuntu codename
David Hewitt edited this page Mar 18, 2023
·
21 revisions
To rebase elementary OS on a new Ubuntu release, use the following process:
We will use a switch from Ubuntu jammy to Ubuntu lunar as an example.
- Clone https://github.com/elementary/metapackages
- Create a new branch for the new Ubuntu release (
lunar) from the previous Ubuntu release branch (jammy) - Push new branch to repo
- Create a new branch for the new Ubuntu release (
- Clone https://github.com/elementary/seeds
- Create a new branch for the new Ubuntu release (
lunar) from the previous Ubuntu release branch (jammy) - In the new branch, in
.github/workflows/update.ymlreplace instances of previous Ubuntu release with the new one. - Push new branch to repo
- Create a new branch for the new Ubuntu release (
- Clone https://github.com/elementary/platform
- Create a new branch for the new Ubuntu release (
lunar) from the previous Ubuntu release branch (jammy) - In the new branch, in
.github/workflows/update.ymlreplace instances of previous Ubuntu release with the new one. - Push new branch to repo
- Create a new branch for the new Ubuntu release (
- Wait for the GitHub actions runs to complete on both repositories.
- The new branch of https://github.com/elementary/metapackages should be committed to by the GitHub actions.
- Take note of any removed packages from these commits. This forms the list of packages that need to be built in Launchpad for the new codename. (e.g. https://github.com/elementary/metapackages/commit/bc133fb5d22a36574a00ec9d999e6ae7afc5e135)
- Force an import of the metapackages repository on Launchpad: https://code.launchpad.net/~elementary-os/elementaryos/+git/metapackages
- Create a new recipe from this repository pointing to the new codename branch, this should be named like
seed-metapackages-lunar-daily - Enable the new codename for the
overlaypackage and request a build: https://code.launchpad.net/~elementary-os/+recipe/os-patches-enabler - Wait for the builds to complete and publish! 🍵
- Once the Launchpad builds above are completed, clone https://github.com/elementary/docker
- Copy the previous unstable (
horus-unstable) folder to a new codename (e.g.ubuntu-lunar-unstable) - Modify the Dockerfile in the new folder, replacing the old codename with new
jammy->lunar - Do a test build of the Docker container with:
docker build .
See the wiki sidebar (below on mobile) for other sections, sub-pages, etc.