Commit graph

2664 commits

Author SHA1 Message Date
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
Stephan Gerhold
892d5bb14f
main/postmarketos-initramfs: always resize rootfs during boot (MR 5844)
At the moment, the root file system is only resized to span the entire
partition if we previously also resized the partition itself. However, if
a rootfs image without subpartitions is flashed to a pre-existing partition
this means that the installation only has very limited space available
without manual resizing.

Such a setup is used for devices using the "fastboot-bootpart" flasher
(e.g. asus-me176c), where boot and root images are flashed to two separate
partitions and the device boots directly from the boot partition.

Avoid this problem on these devices by always resizing the root file system
on each boot. All the resize tools exit early if the file system is already
expanded to the maximum size. It's faster to call resize2fs unconditionally
instead of manually checking if the file system needs resizing before.
Similar tooling like systemd-growfs also resizes unconditionally.
2024-12-16 22:55:39 +01:00
Fiona Klute
1b83a7647e
main/postmarketos-base-ui: Fix growing number of tethering unudhcpd instances (MR 5905)
/usr/lib/NetworkManager/dispatcher.d/50-tethering.sh had a typo in the
"killall" command in the "disable_tethering" function, leading to it
never stopping any unudhcpd process. As a new instance is started each
time a USB cable is connected, so the number of instances kept growing
until reboot. Fix the typo so any old unudhcpd instance is actually
stopped before starting a new one.

To illustrate the bug, a sample with an uptime of 4 days:

$ ps w | grep unudhcpd
 2467 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
 5009 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
 5525 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
 6360 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
 7271 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
 9356 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
11045 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
14779 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
15696 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
17454 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
19119 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
24729 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
25565 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
25691 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
27417 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
30649 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
31690 root      0:00 unudhcpd -i usb0 -s 172.16.42.1 -c 172.16.42.2
[ci:skip-build]: already built successfully in CI
2024-12-13 16:46:10 -08:00
Oliver Smith
e195bc11d9
main/postmarketos-artwork: set wallpaper: Dawning (MR 5900)
Related: https://fosstodon.org/@postmarketOS/113624366198561582

[ci:skip-build]: already built successfully in CI
2024-12-12 23:14:02 +01:00
Oliver Smith
22087e93c6
main/postmarketos-ui-gnome-mobile: fix gnome-mobile-extensions-app dep (MR 5899)
Fix the bug that prevented "pmbootstrap install" from working with
postmarketos-ui-gnome (not -mobile).

This bug has been here in pmaports for a long time, but until recent
changes in apk's resolver code, this did not fail (apk installed
gnome-extensions-app instead of gnome-mobile-extensions-app in that
scenario).

How it happened:
* postmarketos-ui-gnome has _pmb_recommends="gnome-extensions-app".
* pmbootstrap: pmb.install._install.get_recommends() works like this:
  1. Look at the packages i in _pmb_recommends of the packages that
     will be installed in "pmbootstrap install".
  2. For each package j in _pmb_recommends of i:
    2.1 Add all packages in j's _pmb_recommends to the list of
        packages to be installed.
    (2.2 Recurse by doing 1. with each package in j's _pmb_recommends.)
* In step 2:
  * pmaports doesn't have a gnome-extensions-app (it's in Alpine, a
    subpackage of gnome-shell).
  * Therefore our gnome-shell-mobile fork gets looked at, which has a
    gnome-mobile-extensions-app subpackage that provides
    gnome-extensions-app.
  * pmbootstrap looks at the _pmb_recommends of the gnome-shell-mobile
    package, which has "gnome-mobile-extensions-app" (this is wrong,
    it should be in postmarektos-ui-gnome-mobile instead and this patch
    fixes this!).
  * pmbootstrap adds the "gnome-mobile-extensions-app" to the list of
    packages to be installed.
* The result is an "apk add" line that has "postmarketos-ui-gnome" and
  "gnome-mobile-extensions-app" (and more packages), which results in a
  conflict betwen gnome and gnome-mobile packages.

Fixes: issue 3360
[ci:skip-vercheck]: _pmb_recommends changes don't need package rebuilds
[ci:skip-build]: already built successfully in CI
2024-12-12 22:01:59 +01:00
Raymond Hackley
ccdf640439
main/postmarketos-base: add udev rules for imagis touchkey (MR 5358)
[ci:skip-build]: already built successfully in CI
2024-12-12 20:41:40 +01:00
Raymond Hackley
38691ceffa
main/postmarketos-base: update comments in zinitix udev rules (MR 5358) 2024-12-12 20:41:40 +01:00
adamthiede
7f02b78afd
postmarketos-base-ui-gnome: replace power-profiles-daemon dependency (MR 5820)
replace power-profiles-daemon with virtual package

[ci:skip-build]: already built successfully in CI
2024-12-12 20:37:49 +01:00
Oliver Smith
0431845a82
main/postmarketos-release-upgrade: upgrade to 1.8.0 (MR 5894)
[ci:skip-build]: already built successfully in CI
2024-12-11 08:35:48 +01:00
Barnabás Czémán
99a17c5b0f
main/lk2nd: upgrade to 20.0 (MR 5884)
Upgrade lk2nd to 20.0.

Additional changes:
- Add msm8996 subpackage
- Limit msm8953, msm8996, msm8952-xiaomi-land packages to aarch64.
2024-12-09 18:13:07 -08:00
Oliver Smith
6878ac727e
main/postmarketos-initramfs: makedepend on postmarketos-base-nofde (MR 5891)
Ensure postmarketos-base-nofde is built before this package, otherwise
bootstrapping this on a new stable branch fails. This does not need to
be backported, as postmarketos-base-nofde has already been built for
v24.12.

Related: https://builds.sr.ht/~postmarketos/job/1384748
2024-12-09 18:06:48 -08:00
Clayton Craft
e74432fd0e
main/postmarketos-base-ui: add NM connectivity config (MR 5659)
Fixes #1920

[ci:skip-build]: already built successfully in CI
2024-12-09 11:03:15 -08:00