Commit Graph
2675 Commits
Author SHA1 Message Date
Jianhua Lu 70b2068fe2 main/postmarketos-base-ui-gnome: drop polkit-elogind from depends (MR 6184)
[ci:skip-build]: already built successfully in CI
2025-02-11 18:10:38 +01:00
jane400 cfbcc5710c main/postmarketos-initramfs: remove stale /dev/log from syslog (MR 6156)
[ci:skip-build]: built successfully in CI for x86_64,x86,aarch64

riscv64,armv7,armhf failes at binfmt_misc, which isn't related to
this MR.
2025-02-11 07:11:27 +01:00
fossdd 83a49d84c7 main/postmarketos-ui-phosh: use tinydm for systemd (MR 6150)
Ref: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/3464#note_467493

Closes: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/3460
Closes: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/3464

Edit by Oliver: added tinydm-openrc back to the openrc() subpackage, as
otherwise we may try to enable the service before it is installed in the
post-install script.
2025-02-09 13:55:45 +01:00
Caleb Connolly 168663519b postmarketos-initramfs: check FS before resize (MR 6159)
Run e2fsck before resizing the root partition so that resize2fs will
actually succeed

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Tweaked-by: Oliver Smith <ollieparanoid@postmarketos.org>
[ci:skip-build]: already built successfully in CI
2025-02-08 08:55:33 -08:00
Robert Mader 0d6c6e80ad main/postmarketos-base-ui: add universal udev rule for udmabuf (MR 6163)
The udmabuf allocator enjoys increasing popularity, not only being
used by libcameras swISP and some virtualisation apps, but since Mesa
commit d74ea2c1 even in llvmpipe - and more projects plan adoption,
such as Gstreamer.

Thus let's ensure it's universally available for UI users if the
kernel supports it.

As there are DEs that don't support the "uaccess" tag, such as SXMO,
and "legacy" groups are still used in pmOS anyway, use the later.
2025-02-07 11:56:00 -08:00
Sicelo A. Mhlongo 8edffde81b main/postmarketos-ui-i3wm: include config from /etc/xdg (MR 6123)
Device packages should use /etc/xdg/i3/config to provide customized
configurations for i3wm
2025-02-04 23:26:32 +09:00
exkc 0337bb4b35 main/postmarketos-ui-buffyboard: new aport (MR 6127)
[ci:skip-build] Already built fine in the CI once
2025-02-04 06:33:43 +03:00
hexaheximal 1b695a27dc main/postmarketos-ui-mediaberry: new aport (MR 6066)
This MR adds the boilerplate packaging needed for Mediaberry.

mbrt and sysapps are not included in this MR because Alpine Linux does not (yet?) package CEF.

For transparency: The packages here are based on the code from https://codeberg.org/lasagna/lasagna-pmaports.

[ci:skip-build]: CI fails cause of fakeroot on armv7 - known issue with CI.
2025-02-02 13:56:29 -08:00
Alexey Minnekhanov eacfb4dacd main/postmarketos-initramfs: fix filesystem detection regex again (MR 6117)
Pretty sure when you already have a-z specified as range, second one
should be A-Z and not A-z.

Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
2025-01-31 18:12:28 +03:00
Pablo Correa Gómez b0daad0953 main/postmarketos-base-ui: move flatpak repo config to /usr (MR 6119)
Since 1.15.11 this is supported (see
https://github.com/flatpak/flatpak/pull/5688/files). According
to the docs:

System-wide remotes can be statically preconfigured by dropping
flatpakrepo files into /usr/share/flatpak/remotes.d/ and
/etc/flatpak/remotes.d/. If a file with
the same name exists in both, the file under
/etc will take precedence.

This allows us to move the file without fear that if users disabled
or modified the repo, apk will keep the file in /etc and we won't
override it.

This is part of a wider effort to move things out of /etc and
into /usr

Fixes #2596
[ci:skip-build]: already built successfully in CI
2025-01-31 15:57:20 +01:00
Robert Mader 7b233c0c3a main/postmarketos-base-ui-gnome: add some gst packages to pmb_recommends
The current OOTB Gstreamer experience on Gnome DEs can be disappointing as
a lot of default codecs and elements are missing. This is often not obvious
for users as Gst in various cases has less optimal fallbacks, easily leaving
the impression that either an app, drivers or hardware are at fault.

Add the most important packages to pmb_recommends so users have a better time.

Notes:
 - Many images already ship ffmpeg-libavcodec, so this shouldn't worsen the
   legal situation.
 - '-bad' is usually already pulled in indirectly while '-good' at least for
   GS variants is already required. Both are strongly recommended for apps
   like Showtime, Snapshot and many more mobile-friendly apps from the
   ecosystem.
 - '-bad' really isn't bad any more these days and various elements in it
   are used by default if available. That is, many elements there should have
   long moved to '-good'.
2025-01-30 20:09:22 +03:00
Jakob Hauser 79b19295b4 main/postmarketos-ui-xfce4: xfce 4.20 adaptions and additional small changes (MR 5942)
Changelog of xfce4-phone 0.6.0:
- Update screenshot
- Remove separator on the left-hand side of the clock
- Increase font size of the clock
- Change order of panel plugins "pulseaudio" and "power-manager"
- Increase icon size of status tray in panel
- After Xfce 4.20 release remove outdated "backdrop" settings
- After Xfce 4.20 release set theme "Greybird" explicitely

[ci:skip-build]: already built successfully in CI
2025-01-29 12:36:01 +01:00
Jakob Hauser 22517e033f main/postmarketos-ui-xfce4: save and restore brightness on boots (MR 5942)
The Xfce4 power manager can control the display brightness. It doesn't
save and restore it over boots, however. In distributions with systemd
this is handled by "systemd-backlight@.service". For OpenRC the package
brightnessctl offers a service saving the state of the brightness at
shutdown and reboot.

As brightnessctl is a rather simple tool and not specifically adapted to
Xfce4, it can get confused when the power manager e.g. lowers the display
brightness when on idle. To avoid such a hassle, the display power settings
were simplifyed in repository "xfce4-phone" version 0.5.3 (and needed a
correction in version 0.5.4). Users nonetheless can change them if desired.
2025-01-29 12:36:01 +01:00
Alexey Minnekhanov 745fd9d3ec main/postmarketos-install-recommends: new aport (MR 5697)
Simple python script to automate installing of _pmb_recommends
for a specified package.

Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
2025-01-27 13:35:07 +03:00
Aster Boese f1787a0c94 main/postmarketos-artwork: fix deprecated imagemagick call (MR 6084)
[ci:skip-build]: already built successfully in CI
2025-01-25 10:01:57 +01:00
Aster Boese ee78363a98 main/postmarketos-artwork: add monochrome logo (MR 6084) 2025-01-25 10:01:36 +01:00
Luca Weiss 79d66bd528 main/postmarketos-ui-lomiri: new aport (MR 4496)
Co-developed-by: Aster Boese <asterboese@mailbox.org>

[ci:skip-build]: already built successfully in CI
2025-01-25 09:30:40 +01:00
Aster Boese da678d4c12 main/deviceinfo-converter: new aport (MR 4496) 2025-01-25 09:30:39 +01:00
Caleb Connolly 4b367a4357 postmarketos-initramfs: prevent busyloop in syslogd (MR 6013)
when stdin is /dev/null (e.g. when console=null is on the kernel
cmdline) syslogd will call read() over and over and never handle the
SIGTERM we send it, pinning a CPU core on every boot.

Hooking up syslogd std I/O to /dev/zero prevents this.

Co-authored-by: Richard Acayan <mailingradian@gmail.com>
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
[ci:skip-build]: already built successfully in CI
2025-01-24 10:21:52 -08:00
Clayton Craft d067e117d8 main/bootmac: upgrade to 0.6, support systemd (MR 6050)
This new version includes initial support for systemd (for bluetooth
only atm). udev rules are only installed for openrc systems, bt config
on systemd was replaced by a unit file and using bootmac for wifi has
issues (https://gitlab.postmarketos.org/postmarketOS/bootmac/-/issues/7)

[ci:skip-build]: already built successfully in CI
2025-01-24 08:11:34 -08:00
Alexey Minnekhanov 099ecb99eb main/postmarketos-ui-fbkeyboard: support systemd (MR 6065)
Add service file and systemd subpackage.

Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
2025-01-22 23:44:37 +03:00
Caleb Connolly 18cd22b7eb main/woa-firmware-yoinker: new aport (MR 5801)
This tool is similar to msm-firmware-loader or droid-juicer, except it
copies firmware from Windows instead.

Currently when the ADSP loads the new firmware it causes a usb reset
which breaks booting from USB. For now ask people to run this manually
and ensure the adsp firmware isn't available on the USB.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2025-01-21 23:34:35 -08:00
Bart Ribbers 7118b440cd main/postmarketos-base-ui-plasma: depend on kunifiedpush (MR 6020)
The daemon has been split out from the library and is thus not
automatically installed anymore when applications using the library are
installed. However the daemon (the UnifiedPush distributor) is also
useful to have installed when Flatpak apps are in use or other UnifiedPush
supporting apps that don't use kunifiedpush as their library.

Fixes #3333
2025-01-21 23:19:38 -08:00
SzczurekYT c4693ffaee main/postmarketos-base-ui: Fix sleep-inhibitor installation on openrc (MR 6062)
[ci:skip-build]: already built successfully in CI (except armhf, due to known qemu issue)
2025-01-17 09:09:32 -08:00
Clayton Craft 79d223e80f main/postmarketos-base-ui: install sleep-inhibitor for all init systems (MR 6051)
fixes #3462
2025-01-15 16:23:26 +03:00
Clayton Craft 1b5e079199 main/systemd-boot: upgrade to 257.1 (MR 6008)
[ci:skip-build]: already built successfully in CI
2025-01-14 10:30:44 -08:00
Robert Mader 0a8291db87 main/postmarketos-base-ui-gnome: add showtime to pmb_recommends (MR 6038)
So Gnome-based DEs have a video-player by default. The main arguments
in favor showtime I see are:
1. It's the main candidate to become the new Gnome default video player.
2. It's has a mobile-friendly UI.
3. It uses HW-decoding and even zero-copy playback by default on many pmOS
   devices (by using Gstreamer and unlike e.g. ffmpeg-based players like mpv).
4. Its main dependencies are shared with other apps like snapshot.

The other candidate that would tick the same boxes but 1. is livi.
[ci:skip-build]: already built successfully in CI
2025-01-14 10:25:56 -08:00
Clayton Craft 52c619d599 main/postmarketos-base: install logbookd only in -openrc subpkg (MR 6045)
logbookd isn't needed on systemd, so only depend on it when using openrc

[ci:skip-build]: already built successfully in CI
2025-01-14 09:16:32 -08:00
Barnabás Czémán 1c45f0dcbe main/lk2nd: Remove lk2nd-msm8952-xiaomi-land (MR 6005)
No more workarounds is needed for xiaomi-land.
2025-01-12 13:00:36 +03:00
bjorn3 55a89d949c main/msm-firmware-loader: add systemd unit files (MR 5964) (MR 5563)
[ci:skip-build]: already built successfully in CI
2025-01-10 13:02:37 +01:00
Andrei Zisu 10c68a927b main/postmarketos-ui-gnome-*: enable systemd by default (MR 5563)
[ci:skip-vercheck]
2025-01-10 13:02:35 +01:00
Clayton Craft c0e8d4c816 main/postmarketos-ui-plasma-mobile: depend on udisks2 (MR 5998)
Fixes #3410

[ci:skip-build]: already built successfully in CI
2025-01-07 23:42:44 -08:00
Clayton Craft 71d0b5d31e main/boot-deploy: upgrade to 0.18.1 (MR 5996) 2025-01-06 21:25:33 -08:00
Dylan Van Assche c3fc4ef89a main/mobile-config-thunderbird: new aport (MR 5968) 2025-01-05 22:35:11 -08:00
Nikita Travkin 0682021692 main/dtbloader: upgrade to 1.3.0 (MR 5981) 2025-01-04 17:29:33 +05:00
Willow Barraco 6815bc8e3b main/postmarketos-ui-sxmo-de-sway: remove conky version constraint (MR 5967) 2025-01-02 13:39:58 +01:00
Willow Barraco 0f71ce1308 main/postmarketos-ui-sxmo-de-dwm: remove conky version constraint (MR 5967) 2025-01-02 13:39:54 +01:00
fossdd b2a684a49a main/postmarketos-base: set ANSI_COLOR in os-release (MR 5970)
For example systemd makes use of the color for the presentation color
when showing the OS name on the console
2025-01-02 05:32:02 +03:00
Clayton Craft dcc527966d main/boot-deploy: use busybox sh (MR 5960)
boot-deploy uses 'local', which technically isn't POSIX-compliant
and if someone has 'sh' from something else that strictly adheres to
POSIX then boot-deploy will fail.
This is a workaround for https://gitlab.postmarketos.org/postmarketOS/boot-deploy/-/issues/38

[ci:skip-build]: already built successfully in CI
2024-12-31 10:58:25 -08:00
Stephan Gerhold 755132f651 main/postmarketos-initramfs: skip mounting /boot if rootfs is in fstab (MR 5920)
There is a special check in init_2nd.sh for older postmarketOS
installations that do not have a valid /etc/fstab file. When /boot does not
appear in fstab, it searches for the boot partition and mounts it manually.

However, /boot might be intentionally omitted in fstab, e.g. because we
just have a single rootfs partition that also contains /boot. In that case
it will wait forever, trying to find the missing boot partition.

The old installations do not have any entries in fstab, so fix this by
checking if the file is empty instead (with all comments and whitespace
removed).
[ci:skip-build]: already built successfully in CI
2024-12-30 15:46:02 -08:00
Stephan Gerhold 2965a659c8 Revert "main/postmarketos-initramfs: mount subpartitions if root or boot is missing (MR 5625)" (MR 5920)
This reverts commit 1259d74b09.

The main reason why that change was necessary is because we skipped
mounting subpartitions entirely if we found a potential root partition
(which could be simply a crypto_LUKS partition from a different distro).
Now that we look only for the actual root partition (based on the UUID),
this should not happen anymore.

Checking both conditions causes delays if there is no boot partition,
e.g. if pmOS was installed with --single-partition. Usually we don't need
to mount the boot partition anymore, because all needed files are part of
the initramfs. So let's drop the check for the boot partition again and
rely on the UUIDs to ensure we set up the correct partitions.
2024-12-30 15:46:01 -08:00
Stephan Gerhold 033d5f7985 main/postmarketos-initramfs: mount root partition we unlocked (MR 5920)
When using an encrypted installation of postmarketOS, the pmos_root_uuid=
on the cmdline only tells us the UUID of the crypto_LUKS partition. Once
the partition is unlocked, we perform the the old unreliable auto detection
again. This might mount the wrong partition if multiple installations of
pmOS are attached to the system.

After we unlock the root partition, we know exactly where the root
partition is supposed to be (= at /dev/mapper/root). Let's use that
directly instead of going through the whole detection sequence again.
2024-12-30 15:46:01 -08:00
Stephan Gerhold e5a1370ddd main/postmarketos-initramfs: don't fallback looking for root when given UUID or path (MR 5920)
Right now we fallback to the old behavior of searching for the "pmOS_root"
label when the root partition specified by pmos_root_uuid= on the cmdline
is not found. This works fine most of the time, but there are edge cases in
which this does not behave correctly. Problems occur especially if there
are multiple installations of pmOS (e.g. one on internal storage, and one
on USB drive/SD card). Depending on timing or enumeration order, the system
might boot into the wrong rootfs if the intended root partition shows up
too late.

For the boot partition we already enforce the UUID provided on the cmdline.
Let's apply the same for the root partition to ensure we always boot into
the correct root partition.
2024-12-30 15:46:01 -08:00
Alexandre Messier 85c25d0c1c main/lk2nd: add support for HTC One (M8) (MR 5919)
To support the HTC One (M8), a new specific target is required
since it needs non-default values for mkbootimg.

Signed-off-by: Alexandre Messier <alex@me.ssier.org>
2024-12-28 09:40:47 +01:00
Jakob Hauser 7bf4268dfa main/postmarketos-ui-lxqt: save and restore brightness on boots (MR 5933)
LXQt can control the display brightness. It doesn't save and restore it
over boots, however. In distributions with systemd this is handled by
"systemd-backlight@.service". For OpenRC the package brightnessctl offers
a service saving the state of the brightness at shutdown and reboot.
2024-12-23 15:37:35 +03:00
Jakob Hauser dbf55cdb9d main/postmarketos-ui-lxqt: separate openrc and main post-install scripts (MR 5933) 2024-12-23 15:37:31 +03:00
Stephan Gerhold 35c98d44a8 main/postmarketos-initramfs: add cmdline to expose specific USB storage (MR 5912)
In addition to the pmos.debug-shell cmdline argument, add
pmos.usb-storage=<block-device> to set up the USB mass storage gadget by
default when going into debug shell. This allows building a special boot
image/option that directly exposes the storage for flashing, without having
to type in extra debug-shell commands.
2024-12-17 23:24:15 +03:00
Stephan Gerhold ce05d2d8ff main/postmarketos-initramfs: unify setup_usb_storage (MR 5912)
Right now we have two similar implementations of setting up a USB mass
storage gadget, in init_functions.sh and as separate script for the
debug-shell. Given that init_functions.sh is available in debug-shell
anyway, unify both in a common setup_usb_storage_configfs() function.

Having this included in the initramfs debug-shell by default (without
installing postmarketos-mkinitfs-hook-debug-shell) also simplifies
recovery, since you can set up the USB storage for repairing the flashed
postmarketOS installation in case of boot failures. The size overhead is
minimal, since this has no extra dependencies.
2024-12-17 23:24:15 +03:00
Stephan Gerhold f9174c6d05 main/postmarketos-initramfs: resize btrfs after mount (MR 5844)
BTRFS only supports online resizing. Right now we implement that by
temporarily mounting the file system, resizing it, and then unmounting it
again. But most of this is redundant since we mount the rootfs at /sysroot
immediately after.

Avoid this by splitting the file system resizing in offline resize (before
mount) and online resize (after mount) and resize BTRFS after mounting
/sysroot. For EXT4 we can either do offline resizing or online resizing.
Keep offline resizing for now for better compatibility with older kernels.
F2FS does not seem to support online resizing, so we need to keep the
functionality for offline resizing anyway.

Drop the splash for now, since it would introduce flickering on each boot.
We can restore it later if needed (ideally by adding a way to update the
splash message without restarting pbsplash).
2024-12-16 22:55:44 +01:00
Stephan Gerhold 8e2ce06af5 main/postmarketos-initramfs: don't resize ext4 with fsck errors (MR 5844)
Right now we use the resize2fs -f (force) option, which "Forces resize2fs
to proceed with the filesystem resize operation, overriding some safety
checks which resize2fs normally enforces." For example, this flag instructs
resize2fs to attempt resizing file systems with errors in some situations.

We primarily care about resizing the file system on initial boot, where we
shouldn't have any errors in the file system. For all other subsequent
boots, we shouldn't risk the filesystem data just to resize it again.
So let's drop the -f flag and only resize clean file systems.
2024-12-16 22:55:44 +01:00