Calls are broken for the Librem 5 with pipewire. Switch to pulseaudio
again until this is resolved by depending on
postmarketosbase-ui-audio-pulseaudio and pulseaudio<9990. The later is
needed as otherwise we get a conflict with pipewire-pulse:
ERROR: unable to select packages:
pipewire-pulse-9991.4.9-r1:
breaks: postmarketos-base-ui-audio-pulseaudio-42-r0[!pipewire-pulse]
satisfies: device-purism-librem5-9-r6[pulseaudio>17]
gnome-settings-daemon-99948.1-r3[pulseaudio]
postmarketos-base-ui-audio-pulseaudio-42-r0[pulseaudio]
That pulseaudio<9990 is needed is not great, but doing it like this
inside the device package is the best way to ensure this doesn't affect
any other devices for now, with the intention to have this change
backported to v25.12 before we announce the release. I've created issue
4187 to discuss how to improve the pulseaudio/pipewire packaging in
general so this isn't necessary in the future.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7619>
Let postmarketos-base-nofde provide a specific version of
postmarketos-fde-unlocker, so pmbootstrap considers the package for
installation. From pmb/helpers/pmaports.py:_find_package_in_apkbuild():
# Ignore provides without version, they shall never be
# automatically selected
if "=" not in provides_i:
continue
Fix for bootstrapping new repositories, which currently fails with:
ERROR: postmarketos-initramfs: dependency not found: postmarketos-fde-unlocker
...when trying to build postmarketos-cros-common or
device-valve-jupiter.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7455>
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