-
-
Notifications
You must be signed in to change notification settings - Fork 133
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.yml
replace 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.yml
replace 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
overlay
package 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.