Split the post-install scripts for the main package and the openrc subpackage.
They act on different things.
[ci:skip-build]: already built successfully in CI
Fixes a bug where the kernel thinks the boot partition is still mounted
and it's unavailable for mounting in the rootfs
If you look at what the initramfs was doing before !5635, it was
explicitly umounting the boot partition from /boot in the initramfs and
then mounting it under /boot in the rootfs:
c45d7ec0a5/main/postmarketos-initramfs/init.sh (L87)
With this patch, we're now back to umounting /boot in the initramfs.
The second part of that original logic is now handled elsewhere now, and
that seems to be working OK.
The bug was reported here:
https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/3279#note_454346
[ci:skip-build]: already built successfully in CI
importing all udev rules doesn't make sense here. Only add the needed
ones.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
[ci:ignore-count]
[ci:skip-build]: already built successfully in CI
make the logging nicer and remove some irrelevant errors.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
Note: this includes a breaking change in pmaports if pmos-initramfs isn't changed to support merging the initramfs+initramfs-extra. Do not cherry-pick without the required initramfs changes!
Drop the fork, nothing depends on it and we can use the new multi-stage
initramfs instead
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
[ci:ignore-count]
[ci:skip-vercheck]
We previously forked the initramfs into a minimal variant for highly
space constrained devices, to allow the normal variant to gain
additional functionality like the debug-shell (With OSK). Initially the
hope was that only a handful of devices would need the minimal variant,
but in practise this has not been the case.
Trying to maintain two diverging forks of the initramfs is absoutely
unsustainable and (to be frank) a bit silly.
Based on discussion with craftyguy and newbyte, let's re-architect the
initramfs to run in two stages, with the second stage being part of
initramfs-extra. By itself this doesn't make a lot of sense, since
requiring the boot partition be mounted for the debug-shell to be useful
is a major downgrade.
However this can be used in tandem with pending support for a new
deviceinfo_create_initfs_extra variable, this is default false in
mkinitfs which finally gets rid of initramfs-extra entirely for devices
that don't need it.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
We need to use ls to check if the hooks dir contains any hooks
(otherwise the wildcard doesn't work). But ls prints an error if the dir
is missing or empty. Hide the error to not pollute the log.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
This was only added recently, is likely not used by anyone, and
introduces hard to resolve dependencies on /boot being mounted which we
may not want in the future.
Remove it to drop some complexity.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
This adds the wlr and GTK portal backends so that apps using portals will work OOTB.
The GTK backend is added because the wlr backend does not provide some essential portals, e.g. for camera
[ci:skip-build]: already built successfully in CI
This reverts 622140965c, which basically broke installkenrel because
the kernel build system is hardcoded to look for installkernel in /
sbin/installkernel.
We'll have to move then once usr merge is complete and the symlink is
created for /sbin
[ci:skip-build]: already built successfully in CI
Per the flatpak manpage, repos can be configured OOTB by dropping config under /etc/flatpak/remotes.d. Using the install script requires doing stuff over the internet, which may not always work at image build time. By using the drop-in file, we avoid having to connect to flathub.
The manpage only mentions /etc/flatpak, and nothing about /usr ...
And re-enable riscv64 as the latest commits have added
support for riscv64.
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
[ci:skip-build]: already built successfully in CI
This package is not buildable for riscv64 and ppc64le. Devices that use
megapixels should depend on it explicitly.
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
Our regular initramfs imports eudev and its rules, so we need to make
sure that we update the initramfs if they change
[ci:skip-vercheck]: version bump not needed
[ci:skip-build]: already built successfully in CI
The Makefile of swclock-offset was previously changed to install the scripts
according to the /usr merge. In the service files for openrc and systemd,
however, the paths to the scripts need to be adapted as well. Version 0.2.4
catches up on this.
[ci:skip-build]: already built successfully in CI
- now installs to /usr by default
- now installs systemd service files by default
- added -systemd subpkg to handle service files
[ci:skip-build]: already built successfully in CI
MR 5540 breaks the Enter key label in onboard OSK with LXQt and Mate. In
theory Droid can be used instead, but it actually does not work.
We can't use _pmb_recommends here since v24.06 -> v24.12 upgrade will
break onboard unless any package depends on font-dejavu.
Signed-off-by: Masanori Ogino <mogino@acm.org>
[ci:skip-build]: already built successfully in CI
Nothing in Alpine or pmOS ships to /lib/udev any more since today and
including it while it doesn't exist breaks the building of images.
[ci:skip-build]: already built successfully in CI
This adds a workaround for:
https://gitlab.com/qemu-project/qemu/-/issues/2560
The tl;dr is that there's a qemu bug that prevents running mkinitfs (or
any go apps) on a aarch64 host using qemu-x86_64. I've basically been
unable to build x86_64 images on my aarch64 system for months now, which
is less than ideal :(
Patch is in mkinitfs 2.6.1, but picked to the older version in master until !5636 is merged
[ci:skip-build]: already built successfully in CI
Since mesa upgrade from 24.0.9 to 24.1.2 PulseAudio Volume Control
"pavucontrol" needs "mesa-gles" to start on some devices. There is no
direct dependency, however. Instead it's "libepoxy", a Direct Rendering
Manager runtime library, that calls the necessary mesa library.
Other than user interface MATE, where e.g. "mate-session-manager" draws
in "mesa-gles", and other than mesa packages like "mesa-gl" that gets drawn
in by e.g. "xorg-server", there is no direct connection between Xfce4 and
"mesa-gles".
Adding package "mesa-gles" to "postmarketos-base-mesa" is a straightforward
fix for this issue.
Fixes#3042
[ci:skip-build]: already built successfully in CI
To workaround a bug in pmbootstrap, install Twemoji on all UIs including
the console UI for now. As this is a soft dependency, users can remove
Twemoji from their system if not desired.
See-also: https://gitlab.com/postmarketOS/pmbootstrap/-/issues/2458
Signed-off-by: Masanori Ogino <mogino@acm.org>
UI camera apps are in better shape, they will show a nice error to users if no camera device is found and increasingly more devices are getting working cameras now... so imho it doesn't make sense to have this subpackage anymore.
[ci:ignore-count]
[ci:skip-build]: already built successfully in CI