The busybox-static packages were used by devices using the obscure
"isorec" boot method (that I originally introduced with the
samsung-i9100, based on what I saw in the downstream kernel repo at the
time IIRC). This method is fairly limited, e.g. we can't append a
cmdline easily according to MR 6917. After the samsung-i9100 has been
switched over to use u-boot in MR 6921, all users of busybox-static are
now in device/archived/. Let's remove the busybox-static packages so
there are less packages we need to sync with Alpine.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7145>
Crossdirect redirects archivers (gz, bzip2, ...) to their native
versions when cross compiling. This works e.g. when extracting sources or
packing the .apks at the end of the build. But it currently fails when
such an archiver gets called during package().
For example with bootchart2:
>>> bootchart2: Entering fakeroot...
...
gzip -c bootchart2.1 > /home/pmos/build/pkg/bootchart2/usr/share/man/man1/bootchart2.1.gz
Error relocating /native/usr/lib/libfakeroot.so: unsupported relocation type 6
Error relocating /native/usr/lib/libfakeroot.so: unsupported relocation type 6
Error relocating /native/usr/lib/libfakeroot.so: unsupported relocation type 1
Error relocating /native/usr/lib/libfakeroot.so: unsupported relocation type 6
Fix this by running the foreign arch version when it gets called in a
fakeroot.
Fixes: 8a7c9ce7 ("cross/crossdirect: run archivers natively too")
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7120>
This package was supposed to be a provider for postmarketos-fde-unlocker
(see description "Dummy unlocker package for systems without FDE") and
provider_priority=1 (whereas unl0kr has 1000)).
Fix this, so it is in theory possible to install pmOS without unl0kr
again if you want to save a little space and don't need FDE. More
importantly this also fixes bootstrapping a new reposiotry, as we can
now let postmarketos-initramfs makedepend on this package to ensure that
there is one provider for postmarketos-fde-unlocker.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7118>
The runners from OSUOSL sometimes still fail to run jobs that emulate
other arches via QEMU. We run into this when building gcc-x86_64 for
aarch64 on x86_64 through QEMU. Use the usual workaround of running the
job on our own builder.
Related: postmarketos issue 83
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6909>
Make the log available, currently it gets cut off:
> Job's log exceeded limit of 4194304 bytes.
> Job execution will continue but no more output will be collected.
Remove --details-to-stdout, as it causes the log to only get written to
stdout, not to the log file.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6909>
The hello-world, iskey, pbsplash packages didn't actually get built in
this test as --force was missing and the versions don't change when
upgrading gcc. The last and most important one for building gcc-x86_64
with gcc-aarch64 did work though.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6909>
Fix that CI is currently failing with errors like:
> FAILED .ci/testcases/test_device.py::test_aports_archived -
> AssertionError:
> /builds/postmarketOS/pmaports/device/archived/firmware-samsung-nevisp/APKBUILD
> should have an Archived: comment that describes why the package is
> archived
Push this directly to master as this is a trivial but important fix to
make CI pass again for open MRs.
This reverts commit 3136413814. I made a
mistake there, the pkgrel of the current binary packages is at -r2.
root@bpo:…/extra-repos/systemd/master/x86_64# ls gdm-* -1
gdm-99948.0-r2.apk
gdm-dev-99948.0-r2.apk
gdm-doc-99948.0-r2.apk
gdm-lang-99948.0-r2.apk
gdm-systemd-99948.0-r2.apk
[ci:skip-build]
[ci:skip-vercheck]
Add the missing makedepend to systemd-dev. For some reason this has
mostly worked previously, I guess because systemd-udev got pulled in to
replace eudev, which then also caused systemd-dev to get installed. This
even was the case on my local system when I initally tried to reproduce
this. Only after using BPO's current WIP repos I was able to reproduce
the behavior on BPO, and verify that this fixes the bug.
Fixes: https://builds.sr.ht/~postmarketos/job/1540044
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6835
[ci:skip-build]: already built successfully in CI
* Include 0.21.0 in the pkgver instead of _git20240428, as we use the
0.21.0 git tarball as source just like the Alpine package.
* Set _pkgrel=5 to indicate what Alpine pkgrel this fork is based on.
This makes it easier to compare the packages / patches that we might
need to apply downstream. Furthermore with _pkgrel set and pmb MR 2649
merged, we will get notified when the pkgrel of the Alpine package and
_pkgrel of this package get out-of-sync.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6769
[ci:skip-build]: already built successfully in CI
When upgrading our cross gcc packages, build some packages with them to
ensure they work as expected.
Put the gitlab-ci.yml in cross/ instead of cross/gcc-x86_64, because:
* it tests gcc-aarch64 too
* so it does not get removed when regenerating gcc-x86_64 with
pmbootstrap
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6776
Run native binaries for extracting / packing various archives if they
are installed in the native chroot when using the crossdirect
compilation method, instead of having them go through QEMU. The
resulting extracted/packed files should always be the same but this is
significantly faster.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6763
Fix the following error that now appears as the systemd-enabled
gnome-keyring package in pmaports will not be built for armhf:
main/postmarketos-ui-xfce4/APKBUILD: package 'gnome-keyring' from _pmb_recommends not found for arch 'armhf'
This happened, because before this patch pmb.helpers.package.get() would
return the pmaports version of the package (!armhf) instead of the one
in the binary packages from alpine (alpine one is available for armhf),
and then later check the arches of the returned package and fail because
it is not enabled for armhf.
With the patch, the binary package from alpine repos is returned as the
pmaports one is ruled out due to not being available for armhf. The
latter arch check is not necessary anymore and gets removed.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6710
Remove the systemd-specific MOTD that says it is still in preview.
v25.06 is about to come out, the first stable release with systemd!
Any future adjustments to make it use fancy ascii colors etc. should be
made in postmarketos-base instead.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6669
[ci:skip-build]: already built successfully in CI
These failed to build in v25.06 because they use packages during the
build that are only listed in depends, not in makedepends. pmbootstrap
is more strict about it these days, so fix it.
[ci:skip-vercheck]
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6626
[ci:skip-build]: already built successfully in CI
pmbootstrap only installs makedepends when building packages, not the
depends as it did in the past. Adjust this package to fix:
>>> firmware-samsung-a6lte: Entering fakeroot...
/usr/bin/abuild: line 21: can't open /lib/firmware/brcm/brcmfmac43456-sdio.bin.zst: no such file
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6617
[ci:skip-build]: already built successfully in CI
Configure the new keyboard Stevia to have arrow keys by default in the
terminal. The previous default terminal Squeekboard had separate arrow
keys as well.
While it is possible to move up/down/left/right with Stevia after
pressing the space bar and moving the finger into a given direction, I
found that it:
* Is less precise (e.g. going up exactly 1 command in the terminal,
which is my main use case, requires some effort to not go up 2 or 3
commands by accident).
* Takes longer to do this action vs. having a separate button (you need
to press space for ~a second until it goes into that special movement
mode and then take more time to carefully move where you want, a
simple button press is much quicker).
* I saw other users note on Mastodon that moving down is cumbersome for
them, given that there is not much space towards the bottom of the
screen below the space bar.
Having a lot of buttons in the list is fine IMHO, they can be scrolled
through quickly by swiping left and right.
Related: https://fosstodon.org/@phosh/114026426425496074
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6609
[ci:skip-build]: already built successfully in CI
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
The abuild package has been forked to temp/abuild and
extra-repos/systemd/abuild in the past. The systemd one is legacy from
the initial systemd repo bootstrap method that is currently broken and
will be replaced soon (see MR 6440). While the new one is not ready yet,
this package is currently not useful so remove it to fix the failing
upstream-compat check (currently it is on a different version than
temp/abuild).
[ci:skip-vercheck]: just removing a comment in temp/abuild
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6573
[ci:skip-build]: already built successfully in CI
The gcc-x86_64 is only built for aarch64. Set the depends line to
so:libc.musl-aarch64.so.1 as we had it before 42a50731 ("cross/gcc-*:
upgrade to 14.2.0-r6"). I had set it to so:libc.musl-x86_64.so.1 like
the other cross gccs by accident.
[ci:skip-build]: I'll verify it builds locally before merge.
[ci:skip-vercheck]: version not bumped intentionally.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6501
Bring back manually listed soname depends that were removed in 42a50731
("cross/gcc-*: upgrade to 14.2.0-r6 "). Without these we get various
cross compiler errors (issue 3705).
How these were removed: the cross/gcc-* packages are generated from
"pmbootstrap aportgen", and the code in master currently removes those.
There was a WIP MR that adds the depends again, but it was not finished
(pmbootstrap MR 2521). This needs to be fixed in pmbootstrap and we need
a better process that ensures we can't push broken cross compilers to
master anymore if followed correctly. I'll look into all of that, but
first let's get the cross compilers working again in edge.
[ci:skip-vercheck]: for generated gccs we keep the same pkgrel as in
alpine. I'll force a rebuild in BPO after merge (not
ideal, but fixing this is rather urgent as cross
compilation is otherwise broken in pmOS edge)
[ci:skip-build]: tested locally
Related: issue 3705
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6500
Run aportgen again with pmbootstrap MR 2597 to fix the conflict when
installing cross gcc and native gcc at the same time:
(52/53) Installing gcc-armv7 (14.2.0-r6)
ERROR: gcc-armv7-14.2.0-r6: trying to overwrite usr/lib/libgcc_s.so.1 owned by libgcc-14.2.0-r6.
[ci:skip-vercheck]: for generated gccs we keep the same pkgrel as in
alpine. I'll force a rebuild in BPO after merge (not
ideal, but fixing this is rather urgent as cross
compilation is otherwise broken in pmOS edge)
[ci:skip-build]: tested locally with gcc-armv7
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6497
Prepare to add a systemd-stage0 package that will replace the existing
bootstrap logic. First we need to let systemd provide systemd-stage0 and
wait until the new binary packages are built.
In follow-up patches (MR 6440), a systemd-stage0 package will be
introduced (that does not depend on systemd-enabled dbus or polkit). The
systemd/dbus and systemd/polkit will be changed to use
systemd-stage0-dev and systemd-stage0-libs as makedepends. This makes
the following bootstrap work when building without a binary repository:
1. systemd-stage0
2. dbus
3. polkit
4. systemd
If we already have the binary repository, dbus and polkit will be built
against systemd proper as it provides systemd-stage0 packages with this
patch.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6451
[ci:skip-build]: already built successfully in CI
Remove the _shell subpackage that Alpine has from our forked package, as
pmbootstrap currently can't handle it. It tries to build the dependency
gnome-shell for armhf even through this, even though it has !armhf.
A WIP fix for this is in pmbootstrap MR 2592. But let's try to get the
upstream compat check green again first.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6461
[ci:skip-build]: already built successfully in CI