For pmbootstrap to not crash when it encounters a deviceinfo file that's
missing the deviceinfo_chassis line, we need pmbootstrap 3.9.0 or later.
Bump it as such.
Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7801>
This isn't needed anymore as now we build each package only once:
* Now we build a systemd-stage0 package first, against which we build
dbus and polkit.
* The proper systemd package gets built against these afterwards.
Doing it this way simplifies things a lot:
* Can do the bootstrap iteratively, instead of only in one go (and if it
fails having to start all over again).
* Makes pmbootstrap and bpo easier to maintain as we can drop this
bootstrap logic.
* CI works as expected again when modifying multiple packages that would
need to be bootstrapped.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6440
"pmb:gpu-accel" is deprecated now, replace it with "pmb:drm"
Set "pmb:drm" for UIs to hide them for installations
without DRM support (mostly downstream).
This also bumps the minimum required version for pmbootstrap, since it
requires pmb to support the renamed variable. 2.4.0 is the first
release with such change.
Closes#2999Closes#1481
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6419
[ci:ignore-count]: The MR just includes many packages.
[ci:skip-vercheck]: Changes don't affect built packages.
[ci:skip-build]: already built successfully in CI
alpine-base directly depends on openrc. We have had different[1]
conversations[2] with upstream. And the main conclussion[3] has been:
if you want to do something different, just depend on things
yourself. This is indeed what docker images do. So let's just get the
things that we want from alpine base (quite some!), and ignore what we
don't want (openrc, busybox openrc and init packages). Up until commit
12d125ab8b72f0249fd6aae000170a4fa78a83ab in pmbootstrap every
postmarketOS installation would have alpine-base in
/etc/apk/world. Therefore, we add a versioned provides to
postmarketos-base with a very high version, which conflicts with the
upstream version but should be chosen instead.
alpine-conf is now a dependency of postmarketos-base-openrc, since it
dependes on openrc for calling setup-*
scripts. postmarketos-base-systemd already implements those needed.
Contrary to the first attempt[4], I have kept the dependency on
alpine-release. Changes to that are independent to the usr-merge, and
can be done as a follow-up.
This should allow to drop the fork of alpine-base currently in the
systemd-extra repository!
To this day, every single pmOS installation will have alpine-base in
the world file, which means that systemd installs will the forked
package until users specifically run "apk del alpine-base". We must
add this to release notes and to an edge blog post. Alternatively we
could have an empty package with a very high version providing
alpine-base. This also means that to get installs to work, we need a
pmbootstrap release with[5] on it.
[1] https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/63935
[2] https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/71686
[3] https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/71686#note_435428
[4] https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/5026
[5] https://gitlab.postmarketos.org/postmarketOS/pmbootstrap/-/merge_requests/2580Fixes#2806
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6475
alpine-base directly depends on openrc. We have had different[1]
conversations[2] with upstream. And the main conclussion[3] has been:
if you want to do something different, just depend on things
yourself. This is indeed what docker images do. So let's just get the
things that we want from alpine base (quite some!), and ignore what we
don't want (openrc, busybox openrc and init packages). alpine-conf is
now a dependency of postmarketos-base-openrc, since it dependes on
openrc for calling setup-* scripts. postmarketos-base-systemd already
implements those needed.
Contrary to the first attempt[4], I have kept the dependency on
alpine-release. Changes to that are independent to the usr-merge, and
can be done as a follow-up.
This should allow to drop the fork of alpine-base currently in the
systemd-extra repository!
To this day, every single pmOS installation will have alpine-base in
the world file, which means that systemd installs will the forked
package until users specifically run "apk del alpine-base". We must
add this to release notes and to an edge blog post. Alternatively we
could have an empty package with a very high version providing
alpine-base.
[1] https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/63935
[2] https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/71686
[3] https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/71686#note_435428
[4] https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/5026
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6375
Require the pmbootstrap version where we added a workdir migration to
change pmaports git URLs from gitlab.com to gitlab.postmarketos.org.
pmaports at gitlab.com will be fast-forwarded to this commit once, so
users who still have this archived repository configured as upstream
will be notified of this change after next git pull and trying to use
pmbootstrap <2.3.2 with it.
Related: https://gitlab.postmarketos.org/postmarketOS/pmbootstrap/-/tags/2.3.2
Related: pmbootstrap issue 2471
The change from unmaintained to archived needs changes in pmbootstrap.
[ci:ignore-count]
[ci:skip-vercheck]: Packages aren't being changed
[ci:skip-build]: All packages verified to build separately and would
take too long to build in CI
Using versions before 1.53.0 leads to various problems, from Alpine
v3.18 not appearing as supported, to some timezone file conflicts that
were fixed long ago. Bump the version to force users to use at least
that version.
Add this new variable so pmbootstrap can use it to determine which
depends need to be installed for the fastboot flashing method. It used
to be android-tools,avbtool but now it's only android-tools as avbtool
became part of android-tools.
Related: issue 1779
Related: https://postmarketos.org/pmaports.cfg
With recent cross/gcc-* upgrades, we actually require pmbootstrap
1.47.0 to avoid the following error:
ERROR: Invalid pkgver '${_pkgbase}_git${_pkgsnap}' in APKBUILD: /home/user/.local/var/pmbootstrap/cache_git/pmaports/cross/gcc-aarch64/APKBUILD
Don't assume that each branch has all arches that pmbootstrap supports,
instead add them to pmaports.cfg and read them from there. This should
allow the test to pass on v22.06.
Require a version of pmbootstrap that supports conflicting dependencies,
for the upcoming patch that adds !pipewire-pulse as dependency to
postmarketos-ui-phosh.
Related: pmbootstrap MRs 2146, 2157
This pmbootstrap version includes the necessary support for the new
mkinitfs
[ci:ignore-count]
[ci:skip-build] too many changed kernels/packages, won't complete in CI
pmb will suppress firewall-related messages on branches that don't have
these changes
[ci:skip-build] changed kernel packages in this series cause timeout at 3hr
Flashing linux-postmarketos-exynos4 to the i9100 requires pmbootstrap MR
1986.
[ci:skip-vercheck]: linux-samsung-i9300: 3.0.101-r1 instead of -r0 is
not a mistake, the linting error fixes are in a separate commit with
their own pkgrel bump. I decided to leave that in its own commit instead
of squashing together with the other commit (as we usually do), because
the linting fixes are quite a lot and it makes the log more readable.
[ci:skip-build]: already built successfully in CI
Replace branch_pmos and branch_alpine keys (that were never used) with a
new channel key. pmbootstrap will look up the branches related to a
channel in channels.cfg of the master branch. While at it, modernize the
file.
[skip-ci]: just downloading all kernel sources takes about one hour
and ollieparanoid wants to merge it now. This already ran
successfully with [ci:skip-build] and [ci:skip-vercheck].
Prepare for better device categorization by moving everything to testing
subdir first.
[skip-ci]: chicken-egg problem: passing pmaports CI depends on pmbootstrap MR
depends on this MR
Related: postmarketos#16
Require the pmbootstrap version where building kernels for armhf is
fixed (triplet change is involved), and where the abuild-tar-workaround
for aarch64 is not used anymore (so we can remove the package in
pmaports).
Require latest pmbootstrap version, because it supports depends in
depends in the APKBUILD parser, and is able to properly test
UEVENT_HELPER, LBDAP kconfig options (they must depend on the kernel
version).