Commit graph

2421 commits

Author SHA1 Message Date
Clayton Craft
87e9476dbd
pmos-ui-{gnome,phosh}: move shared depends to pmos-base-ui-gnome (MR 4756) 2024-02-06 16:05:56 -08:00
Clayton Craft
d3ed7fe428
main/postmarketos-initramfs: don't fallback looking for /boot when given uuid or path (MR 4775)
fixes #2562

[ci:skip-build] already built successfully in CI
2024-02-06 14:24:35 -08:00
Clayton Craft
2adefeb206
main/postmarketos-initramfs: tweak msg when boot or root not found (4775) 2024-02-06 14:24:15 -08:00
Anton Bambura
d2dec46275
main/postmarketos-initramfs: wait for boot partition (MR 4775)
Some devices take time to initialize storage, e.g. Qualcomm laptops
using ADSP need to load firmware firstly, and initramfs script does
not always manage to mount boot partition in time.

Unfortunately, there is no reliable way to reproduce the issue, but
this patch should fix cases like this.
2024-02-06 14:21:15 -08:00
Arnav Singh
03940b180a
main/crust: remove (MR 4785)
The community/crust package in aports is newer, and
its crust-pinephone subpackage is equivalent to this one.
2024-02-06 08:45:17 -08:00
Anton Bambura
9a5f7177b1
main/asus-transformer-blobtools: remove (MR 4772)
Devices that had been using it currently require users to install
U-Boot, so this package is not used and not needed anymore
2024-01-29 11:18:48 +01:00
Henrik Grimler
43f788fa2f
main/postmarketos-base-downstream: add disable-udev-v4l subpackage (MR 4768)
Which replaces /lib/udev/rules.d/60-persistent-v4l.rules (from the
eudev package) with a symlink to /dev/null.  Around 20 devices need
this to fix a kernel panic with downstream kernel when starting udev.
Issue happens due to that camera firmware is missing and/or not loaded
properly.
2024-01-28 22:15:10 +01:00
Willow Barraco
f0a67a15e3
main/postmarketos-ui-sxmo-de-*: change maintainership (MR 4762)
[ci:skip-build]: already built successfully in CI
2024-01-26 13:47:53 +01:00
Arnav Singh
ffd803d1dd
main/postmarketos-base-ui: read USB network interface name from configfs gadget (MR 4750)
The configfs gadget can provide the actual interface name, which may not be
the default "usb0" since another gadget driver might have claimed "usb0".
This code is based on the `start_unudhcpd` function in `init_functions.sh`

[ci:skip-build] already built successfully in CI
2024-01-23 12:21:24 -08:00
Arnav Singh
2a0fab1a77
main/postmarketos-initramfs: support reading USB network UDC name from deviceinfo (MR 4750)
Before this change the script assumed that the device has only one UDC.
However it is possible for a device to have multiple UDCs, in which case
the deviceinfo is the appropriate place to specify which one should be used.
This change adds an optional deviceinfo variable `deviceinfo_usb_network_udc`
to specify the UDC that should be used.

Also, before this change the script assumed the USB network interface name is
"usb0". But other gadget drivers like `g_cdc` can claim USB interfaces
before the initramfs script gets around to creating one for USB networking,
so the interface might be "usb1" or something else. The configfs gadget itself
can provide the actual interface name, so this change makes the script
use that.
2024-01-23 12:21:24 -08:00
Pablo Correa Gómez
0a95f6ac31
main/devicepkg-dev: machine-info: remove manufacturer from HARDWARE_MODEL (MR 4551) 2024-01-22 19:32:30 +01:00
Clayton Craft
bf26469fd7
main/postmarketos-mkinitfs: add /lib/firmware to list of trigger dirs (MR 4742)
In many cases, when fw is installed in /lib/firmware, some of it ends up
in the initramfs. In those situations, mkinitfs should run so that the
initramfs gets the latest fw. This will result in mkinitfs possibly
running in cases where it doesn't matter (i.e. device has fw in
/lib/firmware but none is used in the initramfs), but I think the
trade-off is worth it.

This also breaks the triggers= line into multiple lines so that it's
easier to review/maintain. We can't prepend whitespace on these lines
since the apkbuild parser expects dirs to be separated by ":"
2024-01-19 18:51:50 +01:00
Jakob Hauser
c467b2ae99
main/postmarketos-ui-xfce4: tooltips & onboard mouse keys (MR 4708)
- Hide tooltips by workaround (opacity and font size)
- Enable mouse key buttons on onboard keyboard by default (eases
  right-clicking)
2024-01-11 08:02:30 +03:00
Jakob Hauser
f6e8a7beb9
main/postmarketos-ui-mate: make use of install option -t in APKBUILD (MR 4708) 2024-01-11 08:02:26 +03:00
Stefan Hansson
85b2f83b9d
wl1251-cal: move to device (MR 4707)
This is a device-specific package. The only device that depends on
this, device-nokia-n900, is in community, so let's move it there too.

[ci:skip-build]: already built successfully in CI
2024-01-10 20:27:38 +01:00
Stefan Hansson
74565c5321
u-boot-q8-a33-tablet: move to device (MR 4707)
This is a device-specific package. No need to keep it in main where it
gets included in stable releases unnecessarily. The only device that
depends on this, device-inet-a33, is in testing, so let's move it there
too.
2024-01-10 20:27:27 +01:00
Jakob Hauser
753b12a793
main/postmarketos-ui-lxqt: new set of improvements (MR 4623)
Dependencies:
- Add dependency "xfce4-screensaver" to provide virtual keyboard at screen
  unlock. As a dependency because several settings need to be implemented to
  integrate it well in LXQt.
- Add dependency "setxkbmap" to make keyboard layout settings work
- Add dependency "upower" to make battery icon in panel work

Recommends:
- Add recommend "pulseaudio" to make sound work
- Add recommend "adwaita-icon-theme" because that's used by xfce4-screensaver
- Remove recommend "pavucontrol" because there is already "pavucontrol-qt"

Sources:
- Add autostart desktop file for xfce4-screensaver
- Add autostart desktop file to override lxqt-xscreensaver-autostart
- Modify autostart desktop file for onboard, a startup delay mitigates
  an issue with the onboard panel icon not showing up at the first boot
- Modify lxqt-tablet.sh to include custom XDG_DATA_DIRS
- Add application desktop file to override xfce4-screensaver-preferences,
  adding it to the menu
- Add application desktop file to override xscreensaver-settings, removing it
  from the menu
- Change install location of "lxqt-tablet" repository configs from
  /etc/skel/.config to /etc/xdg/lxqt-tablet. That way they are handled as
  distribution-specific configs and are separated from the user configs in
  ~/.config.
- Upgrade to version 0.3 of "lxqt-tablet" repository:
  - Change theme to "Dark" to fix panel look
  - Increase panel size
  - Change wallpaper mode to "zoom" to avoid deforming the picture
  - Disable global single click to not interfere with PCManFM
  - Add terminal and file manager launchers to panel
  - Rename openbox xml file to apply the configs
  - Set lock command to xfce4-screensaver
  - Add xfconf files to configure xfce4-screensaver
  - Clean up configs by removing default values

[ci:skip-build]: Already built successfully in CI.
2024-01-10 16:45:57 +01:00
Jakob Hauser
540c678ad2
main/postmarketos-ui-lxqt: sort recommends and sources alphabetically (MR 4623) 2024-01-10 16:45:55 +01:00
Jakob Hauser
9b15060d54
main/postmarketos-ui-lxqt: enable on riscv64 (MR 4623)
It was disabled because Alpine riscv64 builder was behind. But now it's
fine again.
2024-01-10 16:45:55 +01:00
Caleb Connolly
57744b984e
postmarketos-initramfs: export logs on boot failure (MR 4646)
Currently, when postmarketOS fails to boot up, retrieving any
information necessary to root cause the issue is non-trivial, requiring
building a custom initramfs with debug-shell enabled and then manually
copying out data.

Let's improve the situation by exporting logs automatically on boot
failure. This is safer than just exposing a root shell but still
provides a whole lot of useful info that should make duplicating and
triaging issues much easier for developers.

This commit implements the functionality and includes some generally
useful data. We then generate a README and expose files for each command/log
as well as an archive that can be easily attached to a GitLab issue.

To help with triaging, also record the version of the postmarketos-initramfs
package and hash the init.sh and init_functions.sh files.

For testing purposes, you can trigger the log recovery mode on-time by
creating an empty file named ".pmos_export_logs" in the /boot partition.

Signed-off-by: Caleb Connolly <caleb@connolly.tech>
2024-01-05 17:29:45 +00:00
Caleb Connolly
241ade087f
postmarketos-initramfs: always save logs (MR 4646)
Always write logs to the ramdisk, adjust setup_log() to spawn "tail" to
pipe the log to the console device when PMOS_NO_OUTPUT_REDIRECT is set.

This is necessary to ensure that the initramfs logs can be extracted on
a failed boot.

Signed-off-by: Caleb Connolly <caleb@connolly.tech>
2024-01-05 16:36:18 +00:00
hexaheximal
e0ecc07790
main/postmarketos-ui-openbox: new aport (MR 4667)
[ci:skip-build]: already built successfully in CI
2024-01-01 11:59:26 +00:00
M0Rf30
325626bccb
main/lk2nd-msm8953: upgrade to 0.3.6 (MR 4670)
[ci:skip-build]: already built successfully in CI
2023-12-31 14:44:35 +01:00
Willow Barraco
3695e5b98f
main/postmarketos-ui-sxmo-de-*: Fix sxmo-setpermissions does not exists (MR 4659)
This daemons has been dropped, but this service management line
remained.

[ci:skip-build] already built successfully in CI
2023-12-29 09:44:42 -08:00
Pablo Correa Gómez
b8cdb84ba7
main/postmarketos-base: enable tmpfs on boot instead of default runlevel (MR 4655)
This was enabled in the "default" runlevel during upgrades, which is an
error, since it depends on bootmisc, which is in "boot" runlevel

Fixes #2473

[ci:skip-build]: Already built successfully in CI.
2023-12-25 08:53:58 -05:00
Clayton Craft
e9ccc5ae23
main/systemd-boot: upgrade to 255 (MR 4651)
- Dropped patch that was merged upstream
- Rebased other patches

[ci:skip-build]: Already built successfully in CI.
2023-12-24 21:20:17 -05:00
Pablo Correa Gómez
1229616e21
main/postmarketos-base: add service to mount /tmp as tmpfs (MR 4588)
And enable it by default, since it's a sensible thing to do.

This makes the bootmisc config file unnecessary, since it was only
used before to make sure that /tmp was wiped on every boot.

Mounting /tmp as a tmpfs will be skipped if:
* The user or maintainer configured deviceinfo_tmp_as_tmpfs_size=0
* If they didn't but the device has less than 2GB of RAM
* And in any case, if it is already mounted, to respect users that
  might have it in /etc/fstab

The options for mounting /tmp has been copied from my local debian
tmp.mount service. The only real difference is that we are mounting it
after /etc/fstab, and they do so before.

Fixes #2233
2023-12-21 17:38:45 +01:00
knuxify
be110154ba
main/postmarketos-ui-xfce4: add xfce4-notifyd to _pmb_recommends (MR 4638)
Notification daemon; provides nice HUD for volume control and allows
Blueman to normally send notifications instead of opening separate
windows (which can get very annoying for frequently-reconnecting
devices).
2023-12-19 21:21:21 -08:00
Johannes Marbach
d11ae5b790
main/unl0kr: upgrade to 2.0.3 (MR 4647) 2023-12-19 21:36:13 +01:00
Pablo Correa Gómez
7e22978251
main/postmarketos-ui-phosh: add xdg-desktop-portal-wlr (MR 4334)
Since it's the recommended for the screencast feature
https://gitlab.gnome.org/World/Phosh/phosh/-/merge_requests/1301

[ci:skip-build]: Already built successfully in CI.
2023-12-18 11:18:52 -05:00
Oliver Smith
0aa9524204
main/unl0kr: add workaround to fix fast typing bug (MR 4642)
[ci:skip-build]: already built successfully in CI
2023-12-17 17:04:19 +01:00
Pablo Correa Gómez
b2e75201b4
main/postmarketos-ui-gnome-mobile: add tracker-miners dependency (MR 4636)
This is the substitute of gnome-online-miners removed in
bff508cdae

[ci:skip-build]: already built successfully in CI
2023-12-17 16:43:29 +01:00
Caleb Connolly
7efcec020d
postmarketos-base: disable openrc syslog service (MR 4617)
Ensure that we don't have two logging daemons running!

Signed-off-by: Caleb Connolly <caleb@connolly.tech>
2023-12-15 23:15:55 +00:00
Jaymz 665
bff508cdae
main/postmarketos-ui-gnome-mobile: remove gnome-online-miners dependency (MR 4633)
Remove the dependency, as the package has been removed in Alpine.

Related: df5700e686
2023-12-15 19:15:46 +01:00
Pablo Correa Gómez
1844030880
main/postmarketos-base-ui: reduce appealing of iwd wifi backend (MR4629)
We probably shouldn't recommend it when #2440 can happen to devices in
community.

[ci:skip-build] already built successfully in CI
2023-12-13 10:24:19 -08:00
Jakob Hauser
d859c9c908
main/postmarketos-ui-xfce4: whiskermenu, tooltips, onboard mouse keys (MR 4560)
There are three changes from the config source "xfce4-phone":
- Move whiskermenu settings to xfconf (required by an upstream change)
- Hide tooltips by workaround (opacity and font size)
- Increase double-click distance tolerance

And one change in postmarketOS files:
- Enable mouse key buttons on onboard keyboard by default (eases
  right-clicking)

[ci:skip-build]: Already built successfully in CI.
2023-12-13 14:18:58 +01:00
Oliver Smith
1a5e394074
main/postmarketos-release-upgrade: upgrade to 1.6.1 (MR 4616)
[ci:skip-build]: already built successfully in CI
2023-12-10 22:34:00 +01:00
Pablo Correa Gómez
f8f7228621
main/postmarketos-artwork: upgrade and install GNOME XMLs (MR 4614)
This allows GNOME Settings to display our wallpapers. And most
remarkably, it allows people to switch back to the original wallpaper
if they ever happen to change it.

[ci:skip-build]: already built successfully in CI
2023-12-10 15:14:40 +01:00
Pablo Correa Gómez
c49ac1cc80
main/postmarketos-artwork: set buildddir (MR 4614)
This allows to build the package locally with pmbootstrap build --src

And is less repetition
2023-12-10 15:14:35 +01:00
Clayton Craft
aaaf815dc4
main/wcnss-wlan: change openrc service to start before "wlan" (MR 4564)
[ci:skip-build] # already built in CI
2023-12-09 21:30:35 +00:00
Clayton Craft
7e55caa84c
main/postmarketos-base: change initcalls service to start before "wlan" (MR 4564) 2023-12-09 13:23:15 -08:00
Clayton Craft
ba87ea6313
main/hisi-wlan: change openrc service to start before "wlan" (MR 4564) 2023-12-09 13:22:44 -08:00
Clayton Craft
be7e85bb0e
main/postmarketos-base-ui: Allow selecting WiFi backend (MR 4564)
With this change, users who build pmOS will be able to select a WiFi
backend (wpa_supplicant or iwd)

Also see: https://gitlab.com/postmarketOS/pmaports/-/issues/1379
2023-12-09 13:22:44 -08:00
Caleb Connolly
128f2b150b
main/postmarketos-base: enable logbookd on upgrade (MR 4549)
Logging is important, we want our users to have logging, so make sure we
enable the new logbookd service on existing installation.

We check that we're upgrading from a postmarketos-base version that
predates logbookd and only enable the service in this case. This way we
won't enable it again for folks who disabled it manually.

Signed-off-by: Caleb Connolly <caleb@connolly.tech>

[ci:skip-vercheck]
2023-12-09 01:05:54 -08:00
Martijn Braam
3460ae18d4
main/postmarketos-base: depend on logbookd (MR 4549)
Use logbookd to replace the busybox in-memory logger. The default
configuration of logbookd still logs in-memory but writes out the log on
shutdown or manual trigger.

The logread command is also replaced by a drop-in replacement for the
busybox tool.
2023-12-08 22:57:47 -08:00
Oliver Smith
ee7acf9714
main/postmarketos-ui-sxmo*: upgrade to 1.15.0 (MR 4605)
Adjust to sxmo-utils 1.15.0 not having a sxmo-utils-openrc subpackage
anymore.

Temporarily disable it for riscv64 since the alpine edge builder is
currently stuck. We should still merge the patch to unblock bpo images
for edge for the other arches.

Related: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/56851
Related: https://lists.sr.ht/~mil/sxmo-announce/%3CCXIQYCSF6FI9.28OPMYXGT91GL%40willowbarraco.fr%3E
2023-12-08 17:57:36 +01:00
Clayton Craft
dbd23fb13a
main/postmarketos-base: enable zram-init service on upgrade (MR 4598)
The post-upgrade script in pmos-base isn't symlinked to the post-install
script, so zram-init wasn't being enabled on systems that upgraded to
the pmos-base version that intro'd this feature. I think this should
have been enabled by default on upgraded systems. There's a deviceinfo
toggle for it, so users who won't want to use this can set that var to
disable it, in that case having the service enabled is basically a
no-op.

Update by Oliver: add a comment to mention the deviceinfo variable

[ci:skip-build]: already built successfully in CI
2023-12-07 20:37:56 +01:00
Pablo Correa Gómez
18e44a52ab
main/devicepkg-dev: remove deviceinfo link in kernel subpackages (MR 4596)
This was a fallout from the /usr/share relocation, only found and
reported now by z3ntu. If the device package happened to be installed
later, then the link would point to the wrong location.

Fixes 1d748a93dd
2023-12-07 09:02:58 +01:00
Oliver Smith
97a6609aae
main/postmarketos-ui-plasma-bigscreen: remove ovos (MR 4603)
Upstream Plasma Bigscreen stopped supporting it.

[ci:skip-build]: already built successfully in CI
2023-12-07 08:10:09 +01:00
Oliver Smith
cd763b2cb1
main/postmarketos-release-upgrade: upgrade to 1.6.0 (MR 4592)
[ci:skip-build]: already built successfully in CI
2023-12-05 09:37:56 +01:00
André Apitzsch
8c934b9f74
main/hwtest: add missing dependency (MR 4591)
hwtest crashes if fftest is not provided.

[ci:skip-build]: already built successfully in CI
2023-12-03 15:12:58 +01:00
Sicelo A. Mhlongo
d4a73356c8
main/hwtest: upgrade to 0.7.0 (MR 4582)
[ci:skip-build] already built successfully in CI
2023-12-02 01:00:33 -08:00
Clayton Craft
bfa873343a
main/postmarketos-base-ui: setup cgroups on boot (MR 4585)
Allows things like podman/docker to work out of the box.

I looked at /etc/init.d/cgroups, and having this service enabled isn't a
problem if the kernel doesn't have cgroup support... in that situation,
the service script just simply exits (success).

[ci:skip-build] already built successfully in CI
2023-12-01 10:24:28 -08:00
Oliver Smith
1b9f174924
main/postmarketos-ui-lxqt: disable for riscv64 (MR 4579)
The riscv64 builder in Alpine is currently stuck, let's disable the
package for riscv64 temporarily so bpo isn't stuck on it for master. I
doubt anybody is using it on riscv64 currently.

[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
2023-11-29 22:13:30 +01:00
Caleb Connolly
d67268bef9
main/bootrr: detect failure (MR 4542)
Properly detect failures in bootrr

Signed-off-by: Caleb Connolly <caleb@connolly.tech>
2023-11-29 20:32:48 +01:00
Antoni Aloy Torrens
c467e17bfc
main/postmarketos-ui-lxqt: various fixes and usability improvements (MR 3259)
Co-developed-by: Jakob Hauser <jahau@rocketmail.com>
Co-developed-by: Pablo Correa Gomez <ablocorrea@hotmail.com>

[ci:skip-build]: Already built successfully in CI.
2023-11-24 14:01:07 +01:00
Bart Ribbers
bcabeb80a1
main/postmarketos-ui-plasma-mobile: remove plasma-welcome from _pmb_recommends (MR 4567)
It isn't ready for mobile yet as it refers to things that do not exist
on Plasma Mobile. We'll add it back later when it is ready

[ci:skip-vercheck]
2023-11-24 11:38:57 +01:00
Luca Weiss
2a4320e16e
main/postmarketos-mkinitfs: use NCM instead of RNDIS (MR 3670)
As described in [0] let's switch away from RNDIS and use NCM instead.

Since we cannot force all kernels to switch at the same time, let's keep
a fallback to RNDIS in the setup function.

We can also remove usb_f_rndis from modprobe as the module gets loaded
automatically when needed, but instead we need to load libcomposite
manually so that $configfs/usb_gadget gets created.

[0] https://gitlab.com/postmarketOS/pmaports/-/issues/1797

[ci:skip-build] already built successfully in CI
2023-11-20 16:33:57 -08:00
Clayton Craft
63228b7c3c
main/boot-deploy: upgrade to 0.12 (MR 4561)
upstream changelog:
https://gitlab.com/postmarketOS/boot-deploy/-/tags/0.12
2023-11-19 11:30:07 -08:00
Ion Agorria
1258df73d7
postmarketos-mkinitfs-hook-debug-shell: Add setup_usb_storage.sh (MR 4450) 2023-11-19 10:27:41 -08:00
Ion Agorria
5626781fca
main/postmarketos-initramfs: Separate code into setup_usb_configfs_udc (MR 4450)
This method is called from setup_usb_network_configfs and debug shell's
setup_usb_storage.sh
2023-11-19 10:27:41 -08:00
Clayton Craft
cc3dd7de87
postmarketos-mkinitfs: trigger on upgrades to sd-boot (MR 4525)
Since mkinitfs / boot-deploy install sd-boot in the ESP, it makes sense
to always trigger mkinitfs when sd-boot is upgraded so that we always
boot with the latest supported version.

[ci:skip-build]: already built successfully in CI
2023-11-02 08:49:27 +01:00
Clayton Craft
c9c4b492e4
main/postmarketos-initramfs: show OS version on splash screen (MR 4470)
This shows the OS version (from /etc/os-release), e.g. "edge", on the splash
screen. os-release is a tiny text file, adding it to the initramfs doesn't seem
too bad, and having this information on the splash screen can be helpful.

Note that this uses "VERSION" and not "PRETTY_NAME" from the os-release file,
since the splash already shows "postmarketOS" (and the pretty name includes
that too), it seemed redundant and took up valuable display space.

[ci:skip-build]: already built successfully in CI
2023-11-02 08:44:47 +01:00
Clayton Craft
1c56a8a0d1
main/postmarketos-base: include os-release in the initramfs (MR 4470) 2023-11-02 08:44:31 +01:00
Oliver Smith
f8f223fef0
main/postmarketos-ui-phosh: set pmOS wallpaper (MR 4527)
[ci:skip-build] already built successfully in CI
2023-11-01 16:02:41 -07:00
Oliver Smith
f231f88d4d
main/postmarketos-ui-gnome: set pmOS wallpaper (MR 4527)
Set myself as maintainer while at it, as Martijn is currently inactive.
2023-11-01 16:02:41 -07:00
Oliver Smith
fbc3f390fa
main/postmarketos-ui-gnome-mobile: set wallpaper (MR 4527)
Set the GNOME Mobile specific wallpaper in this package, now that it
isn't set in postmarketos-base-ui-gnome anymore.
2023-11-01 16:02:41 -07:00
Oliver Smith
367caeb4fc
main/postmarketos-base-ui-gnome: add wallpaper_pmos subpkg (MR 4527)
Add a subpackage that sets the pmOS wallpaper, instead of always setting
the wallpaper that was added for giving GNOME Shell on Mobile a better
contrast.
2023-11-01 16:02:36 -07:00
Caleb Connolly
614cbdc5d1
postmarketos-mkinitfs: trigger on initramfs tests (MR 4420)
Add a trigger to rebuild the initramfs when CI tests are installed.

[ci:ignore-count]
2023-10-31 20:39:55 +00:00
Caleb Connolly
c99a360a6e
unl0kr: add pmtest (MR 4420)
Add a test for CI that:
* ensures unl0kr runs for 10 seconds without crashing
* ensures that it doesn't print any errors

This sure isn't an "ideal" test, but it at least validates that the
framebuffer interface doesn't die horribly...

With a little more effort we should be able to run unl0kr and then pull
the framebuffer and check it against some known good unl0kr screenshot.

Signed-off-by: Caleb Connolly <caleb@connolly.tech>
2023-10-31 19:54:17 +00:00
Caleb Connolly
2204c0a390
main/bootrr: new aport (MR 4420)
bootrr is a simple shell script tool for validating that a given board
has booted correctly. It checks that all expected drivers are loaded.

Signed-off-by: Caleb Connolly <caleb@connolly.tech>
2023-10-31 19:53:22 +00:00
Caleb Connolly
69832ab121
postmarketos-initramfs: support running in CI (MR 4420)
Enable using the postmarketOS initramfs for boot-testing devices, in
this scenario we don't care about some components like the splash, mdev,
or subpartitions, instead we want to run full udev (to load all devices)
and then run hooks. The ci hook will deadloop after running tests.

Signed-off-by: Caleb Connolly <caleb@connolly.tech>
2023-10-31 19:53:22 +00:00
Caleb Connolly
ac1d78a246
devicepkg-dev: add pmtest helper (MR 4420)
Add a helper to generate a post-install script for device pmtest
subpackages. This script configures the console and enables logging in
the initramfs for images running in CI.

[ci:ignore-count]
2023-10-31 19:53:22 +00:00
Caleb Connolly
161711dea3
main/postmarketos-test: new aport (MR 4420)
This package provides a helper for writing a pmtest subpackage, as well
as being a place to write generic tests that aren't specific to a device
(e.g. a suspend test).

Signed-off-by: Caleb Connolly <caleb@connolly.tech>

[ci:ignore-count]
2023-10-31 19:53:22 +00:00
Caleb Connolly
e22f6f684f
postmarketos-mkinitfs-hook-ci: new aport (MR 4420)
Add a new initramfs hook for running tests in a CI environment.

This hook automatically runs any scripts from /usr/libexec/ci-tests.
Tests should be installed as a subpackage of some other package (e.g.
qrtr) with an install_if clause to install them when this hook is
installed.

This allows platform specific packages like device packages to define
tests that will automatically be installed and executed when building
the initramfs for that device. See
device/community/device-oneplus-enchilada for an example.

Signed-off-by: Caleb Connolly <caleb@connolly.tech>
2023-10-31 19:53:21 +00:00
Clayton Craft
c748048ef3
main/systemd-boot: add patch to load dtb even if fw is missing config (MR 4509)
Submitted upstream: https://github.com/systemd/systemd/pull/29749

[ci:skip-build] already built successfully in CI
2023-10-28 12:32:56 -07:00
Caleb Connolly
78762563c2
postmarketos-initramfs: use blkid (MR 4487)
Explicitly pull in the blkid package (we already added it to
00-initramfs-base.files), and replace uses of busybox findfs. Full fat
blkid supports PARTLABEL (so the /dev/disk/by-partlabel symlinks will
work consistently now), and has some nice optimisations that make the
lookup times a lot faster than busybox findfs.

[ci:skip-build]: already built successfully in CI
2023-10-23 08:10:56 +02:00
Caleb Connolly
5c6f2dd0d9
postmarketos-initramfs: fix partition cmdline priority (MR 4487)
The "pmos_[br]oot(_uuid)?" kernel cmdline args can be used to specify
how to mount the root and boot partitions. During a previous rework, the
behaviour of these was made inconsistent (becoming dependent on the
order they were specified on the cmdline).

Undo the previous "optimisation" by splitting them back out into two
FOR loops, where the _uuid variants take precedence.
2023-10-23 08:10:50 +02:00
Henrik Grimler
c2175703fe
main/postmarketos-base-downstream: add package (MR 4497)
All devices that use downstream kernels should depend on this package.
We will to start with use it to fix so that lightdm+x11 work again
when using downstream kernels.

See also https://gitlab.com/postmarketOS/pmaports/-/issues/2102.
2023-10-21 14:43:12 +02:00
Clayton Craft
ef663840c4
main/postmarketos-mkinitfs: upgrade to 2.2.2 (MR 4475)
The only new thing in this version is the addition of a deprecation warning
when osk-sdl is installed in the initramfs.

Also see: https://gitlab.com/postmarketOS/pmaports/-/issues/2319
[ci:skip-build]: already built successfully in CI
2023-10-18 17:51:59 +02:00
Clayton Craft
4a8b89e750
main/boot-deploy: upgrade to 0.11 (MR 4485)
Upstream changelog: https://gitlab.com/postmarketOS/boot-deploy/-/tags/0.11
2023-10-18 17:46:15 +02:00
Pablo Correa Gómez
bdaf8ef02f
main/postmarketos-initramfs: support comments in modules.load file (MR 4490)
[ci:skip-build]: already built successfully in CI
2023-10-18 15:08:21 +00:00
Clayton Craft
72bd769dcb
main/systemd-boot: new aport (MR 4484)
EFI bootloader from systemd, with hacks to build it on Alpine/pmOS.
Cross compilation (using a meson cross file) is used for building
32-bit version on x86_64, for systems that have a 32-bit EFI. Everything
else assumes that the EFI arch matches the CPU arch.

Besides supporting all the archs we need, another major goal was to
minimize the number of changes to systemd's build system required to
build only the bootloader, so that maintaining/rebasing isn't *too*
painful...

I am adding this to the "main" category, because I don't think there's a
way to add it to Alpine. It requires cross compiling to x86 on x86_64
(to support 32-bit EFI on this arch), and Alpine doesn't support this.
It requires stuff in pmaports/cross.

--- Research notes ---

I started looking at all of this because I wanted to come up with a
single way to boot Linux via EFI, that supports all (or as many as possible)
devices in pmaports. I looked at quite a few different options, and have
some notes below about my observations and conclusions for each.

Of everything I looked at, systemd-boot was the clear winner that met
the most requirements ("pro" below) with the fewest downsides ("con"
below).

Using a Unified Kernel Image (UKI) was a close second place, however
systemd-boot can also support booting UKI images quite easily (while
also giving us more flexibility to boot other things easily too), so I
think it wins over UKI.

The capitalization (or lack thereof) of the "pro" and "con" markers
below is significant: "PRO" / "CON" are major pros or cons for each
point (e.g. a major downside that blocks using the option), and
"pro"/"con" are minor (e.g. a downside that I'm willing to overlook.)

---- Requirements ----

- Arch support:
        - x86_64
        - x86 (nice to have, but not sure if necessary...)
        - armv7
        - aarch64
        - riscv64
- EFI support:
        - support 32-bit EFI on x86_64 CPU (includes being able to build
          32-bit .efi app on x86_64)
- Easy to configure
- Easy to maintain
        - Any changes to the bootloader required to get it working in
          pmOS
        - Config for it

---- Evaluated options ----

------ grub ------
   - (PRO) can target all required archs
   - (CON) grub can't be installed in pmb chroot, it calls grub-install and
     that fails due to something missing in /dev. Maybe this could be worked
     around in pmb?
   - (CON) grub-mkimage exe is integrated in grub package, grub-efi depends on
     grub
      - don't want to install all of grub just for 1 exe and/or the EFI modules
      - downsides of installing all of grub is that I think it can mislead
        users into thinking we use grub the "normal way". this might cause them
        to have the wrong expectations and break pmOS boot on their
        system
      - have POC "fixing" this
      - I'm not sure upstream Alpine will like this, it's ugly
   - (CON) grub x86 EFI support for x86_64 is currently in pmaports, that's
     pretty ugly.
      - IMHO forking grub (or grub components) for this purpose signals
        to me that grub is the wrong tool for this job

------- kernel's efistub -------
   - (PRO) already included in the kernel, nothing else required
   - (pro) initrd and dtb can be passed in the kernel cmdline...
     however....
   - (CON) kernel cmdline can only be set at compile time
   - (con) not all kernels may have EFISTUB set?
   - (con) can't do measured/secure boot
   - (con) requires a fairly recent kernel on aarch w/ efi_zboot support
     enabled since we compress the kernel

------- UKI -------
   - (PRO) very simple, 1 file thing
   - (PRO) supports adding dtb, setting kernel cmdline and so on
   - (pro) can do measured/secure boot
   - (CON) requires an EFI stub loader
      - can't find a stub loader that meets all requirements (other than
        the one from systemd-boot...)
   - (con) requires efi-mkuki or dealing with objcopy directly (eww)
   - (con) requires a fairly recent kernel on aarch w/ efi_zboot support

------- limine -------
   - (PRO) easy to install/configure, already have boot-deploy and pmaports
     patches
   - (PRO) can be cross compiled easily
      - evidence is in aports
      - ...but I couldn't reproduce building aarch64 and riscv64 on x86_64
   - (pro) can do measured/secure boot (I think?)
   - (CON) doesn't target all required archs
      - can't do "linux boot" on aarch64, only "chainload"
      - what about using chainload everywhere?
         - requires using efistub in kernel
         - what about dtb= and upstream recommendation to not use it except for
           debug?
         - no kernel compression support on aarch64
         - see efi-stub.txt kernel doc
   - (CON) vendors libgcc to support cross compilation
      - probably not a good idea to trust binaries produced in microsoft
        github's CI for some random project

------- stubbyboot -------
   - (PRO) a straight forward stub loader
   - (pro) can do measured/secure boot
   - (CON) doesn't target all required archs
   - (CON) cross compiling doesn't work.
      - gcc can't do 32-bit on x86_64 Alpine...
      - gnu-efi-dev needs to be fixed to package both 32-bit and 64-bit on x86_64...
         - have patch in ~/src/aports that kinda does it.. but needs to be
           fixed/finished
      - maybe limine-efi works with it?
         - tried, but fails due to missing efilib.h in limine-efi

------- systemd-stub -------
   - (PRO) another straight forward stub loader
   - (PRO) many (many) people using it, as part of systemd-boot
   - (pro) can do measured/secure boot
   - (con) requires a fairly recent kernel on aarch w/ efi_zboot support
     enabled since we compress the kernel
   - (con) doesn't target all required archs
      - but does claim to support most... missing armv7.. maybe it
        works?
   - (con) will end up maintaining some downstream patch to build it
      - hopefully the patch (if I can even make a working one!) is not too
        complex!
   - (CON) can't be built outside of systemd's silly large build system.
      - UPDATE: largely resolved this in pmaports
      - was able to build for native arch!
      - can't build 32-bit on x86_64, no gcc multilib support in Alpine...
        Couldn't get clang to work properly, but maybe it can somehow...
      - https://github.com/mintsuki/libgcc-binaries ? NO! (don't want
        bootloader binaries that depend on code compiled by microsoft /
        github...)

------- DIY stub / bootloader -----
   - (PRO) **might** target all required archs and other meet
     requirements
   - (CON) lots of time required to learn, design, do, debug, test
   - (CON) lots of time required to learn, design, do, debug, test
   - (CON) lots of time required to learn, design, do, debug, test
   - (CON) (get the hint yet???)
   - (CON) written in C, probably (there's a rust EFI lib, lol...)

[ci:skip-build]: Already built successfully in CI
2023-10-16 12:16:41 +02:00
Affe Null
82b139a63c
main/postmarketos-ui-bananui: new aport (MR 4457)
[ci:skip-build]: already built successfully in CI
2023-10-09 18:19:59 +02:00
Oliver Smith
e179ba59ea
main/postmarketos-ondev: upgrade to 0.8.2 (MR 4455)
[ci:skip-build]: already built successfully in CI
2023-10-09 06:42:04 +02:00
Johannes Marbach
1329e4b634
main/unl0kr: upgrade to 2.0.2 (MR 4458)
[ci:skip-build]: already built successfully in CI
2023-10-09 06:25:47 +02:00
Pablo Correa Gómez
655c94f945
main/postmarketos-ui-plasma-bigscreen: follow breeze-icons rename (MR 4462)
Ref https://git.alpinelinux.org/aports/commit/?id=ae2de9e4574314489950d8cfb7197e0157fa112b
2023-10-08 18:16:47 +02:00
Stefan Hansson
94f2b68c80
main/msm-firmware-loader: upgrade to 1.3.0 (MR 4448)
[ci:skip-build]: already built successfully in CI
2023-10-04 20:49:05 +02:00
Johannes Marbach
828aac0e8b
postmarketos-fde-unlocker: make unl0kr the default (MR 3279)
Fixes: #1411
[ci:skip-build]: already built successfully in CI
2023-10-03 21:07:35 +02:00
Johannes Marbach
953e74646c
main/unl0kr: upgrade to 2.0.1 (MR 4439)
[ci:skip-build] already built successfully in CI
2023-10-01 21:53:34 -07:00
Luca Weiss
27be25f327
main/lk2nd: add subpackage for quirky htc-memul (MR 4244)
htc-memul needs a special build with a different scratch address set. So
generalize the build function so we can make multiple builds with
parameters without duplicating too much code.
2023-09-29 13:55:32 -07:00
Luca Weiss
025cb223f8
main/lk2nd: upgrade to 0.15.0 (MR 4423)
[ci:skip-build] already built successfully in CI
2023-09-29 10:32:37 -07:00
Joel Selvaraj
d00425c263
main/bootmac: update to 0.2.1 and add bluez-btmgmt dependency (MR 4416)
The bootmac script uses the btmgmt command provided by "bluez-btmgmt"
package. So add it as a dependency.

The 0.2.1 update contains fix for https://gitlab.com/postmarketOS/bootmac/-/issues/3
2023-09-27 07:58:21 +02:00
Oliver Smith
d757a36882
main/postmarketos-mkinitfs: fix trigger script (MR 4422)
Adjust the trigger script to only check for the new deviceinfo path. The
purpose of this check is to make sure that a full device package is
installed, and only in that case run mkinitfs. Otherwise, it will fail
because e.g. no kernels may be installed.

With recent changes, /etc/deviceinfo is a part of devicepkg-utils and
only /usr/share/deviceinfo/deviceinfo really indicates that a device
package is installed.

Remove the "exit 0" at the end while at it, it did not do anything since
the script runs with "/bin/sh -e". Add a comment to make this clear.

[ci:skip-build]: already built successfully in CI
2023-09-26 08:31:00 +02:00
Pablo Correa Gómez
7b2208d292
main/postmarketos-mkinitfs: add trigger on deviceinfo directory (MR 4283)
Fixes #2228

In addition, depend on the first boot-deploy that implemented support
for deviceinfo in /usr/share
2023-09-25 09:20:33 +02:00
Pablo Correa Gómez
34e2a3ddad
main/postmarketos-initramfs: add new deviceinfo path to initramfs (MR 4283)
Reorder alphabetically while in the process, and depend on the first
mkinitfs and devicepkg-utils that implemented deviceinfo in /usr/share
2023-09-25 09:20:32 +02:00
Pablo Correa Gómez
c5d147be99
main/postmarketos-base: adapt to new deviceinfo path (MR 4283)
This greatly simplifies the trigger, since now we can monitor a
directory.

In addition, depend on the latest devicepkg-utils
2023-09-25 09:20:32 +02:00
Pablo Correa Gómez
0b8814d156
main/devicepkg-utils: install default /etc/deviceinfo (MR 4283)
Previously, every device package would package its own /etc/deviceinfo
file, generating a conflict with every other device package. In a
previous commit we have moved the path to /usr/share/deviceinfo, but
we still want to install a sample "/etc/deviceinfo" file to guide
users on how to use the new features. This has the additional benefit
that there is only one of those files in the whole distro. However,
there is no dependency ordering between the device packages and
devicepkg-utils, so there's no warranty of which will be installed
first. Therefore, to avoid a conflict on most likely every user
upgrade, we use postmarketos-mvcfg.
2023-09-25 09:20:32 +02:00
Pablo Correa Gómez
531dc8123d
main/devicepkg-utils: adapt to new deviceinfo path (MR 4283) 2023-09-25 09:20:32 +02:00
Pablo Correa Gómez
1d748a93dd
main/devicepkg-dev: install deviceinfo under /usr/share/deviceinfo (MR 4283)
In the process, add some tests and do some renaming on the existing ones, and
remove the workaround for #2228, will be solved appropriately in a follow-up
commit.

Fixes #1836
2023-09-25 09:20:32 +02:00
Oliver Smith
3f9b2bb878
main/mobile-config-firefox: upgrade to 4.2.0 (MR 4403)
[ci:skip-build]: already built successfully in CI
2023-09-18 21:19:36 +02:00
Markus Göllnitz
fef1a94b57
main/postmarketos-config-nftables: allow Wi-Fi Display traffic (MR 4391)
The port 7236 for TCP is registered with IANA by the
Wi-Fi Alliance for use for the Wi-Fi Display Protocol,
a.k.a. Miracast.

To establish the connection, the local DHCP server has to
be allowed to respond to requests on peer-to-peer Wi-Fi
networks.

Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
[ci:skip-build]: already built successfully in CI
2023-09-14 20:40:33 +02:00
Stefan Hansson
2ab59a220f
main/postmarketos-ui-phosh: Rebuild following url and pkgdesc update (MR 4385)
`url` and `pkgdesc` do affect the resulting package and as such
`pkgver` should be incremented, but it wasn't.

Fixes 0dfb1219f8
[ci:skip-build]: already built successfully in CI
2023-09-08 17:33:17 +02:00
Caleb Connolly
16bf9c9700
main/postmarketos-mkinitfs-hook-debug-shell: fixes (MR 4204)
Some change (I think some tools switching from the coreutils to busybox
versions?) subtly broke debug-shell behaviour. Try to fix it.

Signed-off-by: Caleb Connolly <caleb@connolly.tech>
[ci:skip-build]: already built successfully in CI
2023-09-08 17:15:05 +02:00
Clayton Craft
9198a2ad6e
main/postmarketos-initramfs: upgrade to 2.0.0 (MR 4204)
Updates this package's checksums for files modified in this patch
series, and bumps the pkgver
2023-09-08 17:14:59 +02:00
Clayton Craft
20e4eb495d
main/postmarketos-initramfs: hide cryptsetup not found error (MR 4204)
Hides this error when FDE is *not* enabled, and ultimately skips the
block of logic for detecting the luks partition:
        /init: line 437: cryptsetup: not found

This error has confused some users in the past, who were reporting
issues with the initramfs.

There's probably a minor speedup on non-FDE systems as well from
bailing early.
2023-09-07 20:33:56 +01:00
Clayton Craft
cfed09ca36
main/postmarketos-initramfs: overwrite dest when extracting initramfs-extra (MR 4204)
If a file exists in the initramfs at runtime, cpio won't overwrite it
by default when extracting the initramfs-extra archive. This adds the -u
option to cpio, to overwrite any existing files in the destination.

This is meant to fix issues where the -extra archive has an app that is
meant to replace a busybox app, busybox --install creates it in the
initramfs and gzip will skip it since it's newer than what is in the
archive.
2023-09-07 20:33:56 +01:00
Caleb Connolly
9fb29079cd
main/postmarketos-initramfs: get to splash faster (MR 4204)
With full-fat mdev supporting by-partlabel lookups, there is a small
delay during startup. As mdev and dynamic partitions aren't actually
needed for the framebuffer device, move show_splash earlier.

Furthermore, slightly rework setup_framebuffer to not dump the verbose
message about waiting for the framebuffer unless the framebuffer isn't
found.

Signed-off-by: Caleb Connolly <caleb@connolly.tech>
2023-09-07 20:33:56 +01:00
Clayton Craft
97727c59cb
main/postmarketos-initramfs: use only one method to resize the root partition (MR 4204)
This removes the possibility that multiple resize root partition methods
could be invoked. I'm not sure how likely this is in practice, but it
seems like we should avoid the possiblity altogether.

This also adds some more helpful printing to stdout when the partition
resize is skipped / not done.
2023-09-07 20:33:56 +01:00
Caleb Connolly
6f44124c1b
main/postmarketos-initramfs: fixup device-mapper paths (MR 4204)
findfs might produce a block device path like /dev/dm-3, these can
change across boots and devices. Make things more readable and
consistent by mapping from the /dev/dm-* path to the equivalent
/dev/mapper/xyz path. Combined with invoking kpartx from a
/dev/disk/by-partlabel/abc symlink, this results in the final block
device having a name like /dev/mapper/userdata2 on an Android device.

Whilst this is just nicer to work with, this will be especially useful for
the upcoming ondev2 postmarketOS installer to make device-specific
configuration and detection easier.
2023-09-07 20:33:56 +01:00
Caleb Connolly
89fba12fbb
main/postmarketos-initramfs: optimise find_*_partition (MR 4204)
Save the root/boot partition paths once found, and optimise a few loops.

Additionally, fall-back to other search methods when the pmos_boot or
pmos_uuid_boot cmdline args are set but fail.

Co-authored-by: Clayton Craft <clayton@craftyguy.net>
2023-09-07 20:33:55 +01:00
Caleb Connolly
e0fcfb74e2
main/postmarketos-initramfs: use mdev properly (MR 4204)
Drop in mdev.conf and the /lib/mdev/persistent-storage script, these
cause /dev/disk/by-* to be populated in the ramdisk, making it
possible to do look up partition by-label and by-partlabel for free,
compared to findfs which can take some time.

As a first optimisation based on this, check for some partitions using
these paths and prioritise them when looking for subpartitions. Drop the
first find_boot_partition call as it doesn't really save time over the
call in the while loop.

The mdev config also handles setting up /dev/null, /dev/random, etc, so
these don't have to be done manually.
2023-09-07 20:33:55 +01:00
Clayton Craft
7c79667fe0
main/postmarketos-initramfs: move init.sh to initramfs-specific dir (MR 4204)
These files aren't owned by mkinitfs, or used to configure mkinitfs, so
I think it makes sense that they belong in a dir specific to this
package instead of cluttering up mkinitfs's config dirs.
2023-09-07 20:33:55 +01:00
Caleb Connolly
73e05bf16d
main/postmarketos-initramfs: silence pbsplash (MR 4204) 2023-09-07 20:33:55 +01:00
Luca Weiss
5f820deefc
main/postmarketos-initramfs: switch_root with /dev (MR 3230) (MR 4204)
Mount /dev (and /run) in initramfs so util-linux switch_root can move
the mounts over to the new sysroot before changing root.
BusyBox switch_root doesn't even attempt to move anything so use
util-linux's switch_root for this.

Explicitly disable tests too...
2023-09-07 20:33:55 +01:00
Oliver Smith
9e454209e5
main/mobile-config-firefox: upgrade to 4.1.0 (MR 4377)
[ci:skip-build] already built successfully in CI
2023-09-06 11:13:42 -07:00
Clayton Craft
88f6ce6502
main/postmarketos-mkinitfs: upgrade to 2.2.1 (MR 4348)
[ci:skip-build] already built successfully in CI
2023-09-05 11:19:13 -07:00
Guido Günther
0dfb1219f8
main/postmarketos-ui-phosh: Modernize description and URL (MR 4366)
While a lot of Phosh development still happens on and for the Librem 5
we (thankfully) have lots of users and contributors using other devices.
Update the description to reflect that.

Ideally we'd emphasize that this is GNOME technology based and uses
wlroots but let's not  make the description too long.

Instead of Purism's generic home page point the URL to phosh.mobi which
has some more details. An alternative URL would be
https://puri.sm/pureos/phosh/ but that points to a page that is a
currently a bit dated.

[ci:skip-vercheck]
[ci:skip-build] already built successfully in CI
2023-09-05 10:24:15 -07:00
Oliver Smith
63c85a7e3c
main/hello-world-rust: several tweaks (MR 4310)
* Don't use "cargo install", as it leads to building a second time.
* Make the build very verbose, as this package is mainly used to debug
  and develop the crossdirect scripts for rust.
2023-09-05 08:45:16 +02:00
Bobby Hamblin
c5571fc688
main/postmarketos-ui-framebufferphone: take over maintainership (MR 4365)
[ci:skip-build]: already built successfully in CI
2023-09-04 17:28:28 +02:00
Raymond Hackley
2cb492a5f4
main/postmarketos-ui-{lxqt,xfce4}: drop postmarketos-artwork-icons in $_pmb_recommends (MR 4364)
postmarketos-artwork-icons has already been required in
postmarketos-base-ui, which is required by both packages.

[ci:skip-vercheck]
2023-09-01 12:40:05 +02:00
Bart Ribbers
4de739338c
main/postmarketos-ui-plasma-mobile: add plasma-welcome to _pmb_recommends (MR 4361)
A welcoming application. It can be extended with custom pages which
we'll do later for a pmOS specific page, but for now it at least tells
the user a bit about Plasma

[ci:skip-vercheck]
2023-08-31 09:42:26 +02:00
Caleb Connolly
5bc1505ed5
boot-deploy: upgrade to 0.10.2 (MR 4358)
Fix a bug where find_dtb() would fail if find encounters any errors,
even if it correctly found the dtb.

Signed-off-by: Caleb Connolly <caleb@connolly.tech>
2023-08-29 22:14:17 +01:00
Dylan Van Assche
6002e51b70
postmarketos-base-ui: kill/restart unudhcpd unconditionally (MR 4354)
In some cases, the dispatcher script fails if unudhcpd is already running.
Forcefully killing unudhcpd resolves the issue.

Fixes #2267.

Tested-by: Sicelo A. Mhlongo <absicsz@gmail.com>
[ci:skip-build]: already built successfully in CI
2023-08-28 22:50:26 +02:00
Barnabás Czémán
e43c52dd58
main/lk2nd-msm8953: upgrade to 0.3.5 (MR 4352)
[ci:skip-build]: Already built successfully in CI
2023-08-28 16:22:13 +02:00
Luca Weiss
eb7204df91
main/postmarketos-mkinitfs-hook-netboot: use custom IP address if available (MR 4350)
With the recent changes in commit 80fff9242, it's possible that the
client IP address is customized. Use the same code as in
init_functions.sh to get the this potentially customized IP address to
use for the nbd-client.

[ci:skip-build]: already built successfully in CI
2023-08-27 19:19:28 +02:00
Luca Weiss
8cbd19f79d
main/postmarketos-mkinitfs-hook-debug-shell: fix launching telnet (MR 4350)
With the recent changes in commit 80fff9242, there's no longer an $IP
variable we can use. Use the same code as in init_functions.sh to get
the potentially customized IP address to use for telnet.
2023-08-27 19:19:28 +02:00
Luca Weiss
7f17509724
Revert "main/postmarketos-ui-phosh: Disable on riscv64 (MR 4342)" (MR 4347)
The dependency xdg-desktop-portal-gnome has been reenabled in Alpine:
902360a184

> The linking issue was caused by libudev-zero being pulled in as
> dependency instead of eudev. This has been fixed in the meantime.

This reverts commit a48d4dac62.

[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
2023-08-25 17:33:32 +02:00
Stefan Hansson
eca86adbf3
main/postmarketos-ui-gnome-mobile: Replace EoG with Loupe (MR 4342)
See previous commit for rationale.

[ci:skip-vercheck]: No need to increment pkgrel when only changing
_pmb_recommends.
[ci:skip-build]: already built successfully in CI
2023-08-24 09:52:16 +02:00
Stefan Hansson
5a07413b97
main/postmarketos-ui-phosh: Replace EoG with Loupe (MR 4342)
Loupe is the new image viewer for GNOME. It also works better on phones
than Eye of GNOME and does not require any gschema overrides to fit the
narrow screens of phones.
2023-08-24 09:52:16 +02:00
Stefan Hansson
a48d4dac62
main/postmarketos-ui-phosh: Disable on riscv64 (MR 4342)
Unfortunately xdg-desktop-portal-gnome is not available on riscv64 any
more in Alpine.
2023-08-24 09:52:16 +02:00
bademux
80fff9242a
main/postmarketos-initramfs: support custom IP addresses for USB net (MR 3349)
[ci:skip-build] already built successfully in CI
2023-08-23 13:06:15 -07:00
Anton Bambura
b6f0cfda68
main/postmarketos-mkinitfs-hook-apx: enable aarch64 (MR 4319)
It may work on aarch64 Tegra SoCs

[ci:skip-build]: already built successfully in CI
2023-08-10 01:16:32 +03:00
Johannes Marbach
202b6e9435
main/postmarketos-initramfs: wait for splash to exit before unlocking (MR 3952)
[ci:skip-build]: already built successfully in CI
2023-08-08 09:36:17 +02:00
Johannes Marbach
42f9797845
main/unl0kr: upgrade to 2.0.0 (MR 3952) 2023-08-08 09:36:12 +02:00
Pablo Correa Gómez
04abb5b1a7
main/postmarketos-base: migrate wrong timezone configurations (MR 4308)
So that old installations that run setup-timezone without "-i" do not
need to execute manual steps to get sensible timezone configurations.

See https://gitlab.com/postmarketOS/pmaports/-/issues/2168 for more context

Fixes #2168
[ci:skip-build]: already built successfully in CI
2023-08-07 09:41:53 +02:00
alikates
1a38807594
main/lk2nd-msm8953: upgrade to 3.4.0 (MR 4305)
[ci:skip-build]: already built successfully in CI
2023-08-04 09:26:51 +02:00
Pablo Correa Gómez
9839303dca
main/postmarketos-initramfs: stop using removed deviceinfo_modules_initfs (MR 4169)
The modules are now managed exclusively through the
/lib/modules/initramfs.load files
2023-08-04 08:27:44 +02:00
Pablo Correa Gómez
7213fd54ca
main/devicepkg-dev: use modules-initfs to install modules into initramfs (MR 4169)
Since the modules are going to be installed into the initfs, it makes
sense to use a more verbose naming for the file. Otherwise there's the
risk of getting confused with other type of module files that exist in
device packages.

Fixes 65be0d7e81
2023-08-04 08:27:38 +02:00
Clayton Craft
4ebd1d1a17
main/boot-deploy: upgrade to 0.10.1 (MR 4301)
[ci:skip-build]: already built successfully in CI
2023-08-03 07:52:00 +02:00
Steven Davies
1e4c8238c3
postmarketos-initramfs: Handle rootfsopts= on kernel cmdline (MR 4288)
This also removes redundant code and handles mount failure/no filesystem
separately.

fixes #2242
2023-08-02 11:33:47 -07:00
Anton Bambura
3aa3758821
main/postmarketos-cros-common: new aport (MR 4295) 2023-08-01 13:52:44 +03:00
Anton Bambura
941486b663
main/devicepkg-dev: trigger mkinitfs (MR 4206)
[ci:skip-build]: already built successfully in CI
2023-07-31 09:11:11 +02:00
Clayton Craft
6e4f2c945d
main/boot-deploy: upgrade to 0.10 (MR 4278)
This also enables running tests, since we want to do everything possible
to prevent regressions!

[ci:skip-build] already built successfully in CI
2023-07-30 23:23:39 -07:00
Oliver Smith
d0f40b0b16
main/mobile-config-firefox: upgrade to 4.0.4 (MR 4276)
[ci:skip-build]: already built successfully in CI
2023-07-28 13:51:45 +02:00
Willow Barraco
9d5d6d7ef5
main/postmarketos-ui-sxmo-de-sway: seatd dep moved to sxmo-utils-sway (MR 4271)
[ci:skip-build] already built successfully in CI
2023-07-22 10:18:28 -07:00
Willow Barraco
f7db770f46
main/postmarketos-ui-sxmo-de-sway: depends on sxmo-common (MR 4259)
[ci:skip-build] already built successfully in CI
2023-07-21 14:14:26 -07:00
Willow Barraco
5ebb29e7a4
main/postmarketos-ui-sxmo-de-dwm: depends on sxmo-common (MR 4259) 2023-07-21 14:14:25 -07:00
Clayton Craft
a1ee78900e
main/postmarketos-mkinitfs: only run if deviceinfo exists (MR 4263)
In some situations, like when building a device package with pmb,
deviceinfo may not exist in the rootfs. mkinitfs 2.2's behavior changed
slightly to fail if it can't find a deviceinfo, and this avoids calling
it in those cases.

[ci:skip-build]: Already built successfully in CI
2023-07-20 17:20:11 +02:00
Clayton Craft
94c1e706e6
postmarketos-mkinitfs: upgrade to 2.2 (MR 4190)
Changelog: https://gitlab.com/postmarketOS/postmarketos-mkinitfs/-/tags/2.2

[ci:skip-build] already built successfully in CI
2023-07-19 12:27:42 -07:00
Clayton Craft
40bba0626f
boot-deploy: upgrade to 0.9.1 (MR 4190)
In order to support recent changes in boot-deploy, this patch also
renames the config file to "os-customization" and installs it in the new
supported location.

Changelog: https://gitlab.com/postmarketOS/boot-deploy/-/tags/0.9
Changelog: https://gitlab.com/postmarketOS/boot-deploy/-/tags/0.9.1

Co-authored-by: Pablo Correa Gómez <ablocorrea@hotmail.com>
2023-07-19 12:27:36 -07:00
Willow Barraco
39d38a6314
main/sxmo-common-audio: remove (MR 4242)
drop in favor of sxmo-utils and subpackages

[ci:skip-build] already built successfully in CI
2023-07-17 13:08:59 -07:00
Willow Barraco
92554e9bb5
main/sxmo-common: remove (MR 4242)
drop in favor of sxmo-utils and subpackages
2023-07-17 13:08:59 -07:00
Willow Barraco
26efb302d9
main/postmarketos-base-ui-phosh: depends on base-ui qt-tweaks and qt-mobile (MR 4242) 2023-07-17 13:08:58 -07:00
Willow Barraco
01a5c18735
main/postmarketos-base-ui: new qt-tweaks and qt-wayland submodules (MR 4242)
This is a refactorisation from the sxmo-common-qt_tweaks and
postmarketos-base-ui-phosh-qt_tweaks.
2023-07-17 13:08:58 -07:00
Willow Barraco
490618f458
main/postmarketos-ui-sxmo-de-sway: move deps to aports (MR 4242) 2023-07-17 13:08:58 -07:00
Willow Barraco
de35a48aa0
main/postmarketos-ui-sxmo-de-dwm: move deps to aports (MR 4242) 2023-07-17 13:08:57 -07:00
Arnav Singh
de08bca311
main/postmarketos-{base-ui,config-nftables}: reorganize NM configs and scripts (MR 4254)
1. Move all configs from /etc/NetworkManager/conf.d to
   /usr/lib/NetworkManager/conf.d since the latter is more appropriate for
   distribution-provided config files. In particular this means apk will
   update them when the package file is changed rather than creating
   `.apk-new` files. If a user wants to override such a file, they can create
   a file with the same name under /etc/NetworkManager/conf.d

2. Move all dispatcher scripts from /etc/NetworkManager/dispatcher.d to
   /usr/lib/NetworkManager/dispatcher.d for the same reason.

3. Rename all configs to have a "50-" prefix so that users can add their own
   "99-" overrides with a guarantee that they'll be processed after
   distribution-provided configs.

4. Rename dispatcher scripts to have a "50-" prefix instead of "85-" and "99-"
   since they're distribution-provided files.

5. Move 50-tethering.conf from the base-ui package to
   the base-ui-networkmanager package.

There are also some device packages that put config files without a numeric
prefix in /etc/NetworkManager/conf.d . This MR doesn't change those.

[ci:skip-build] already built successfully in CI
2023-07-17 10:06:52 -07:00
Dylan Van Assche
4e0229f789
main/postmarketos-base-ui: randomize MAC address with NetworkManager (MR 4217)
Configure NetworkManager to randomize the MAC address during WLAN scans
and of WLAN and Ethernet ifaces per connection. This reduces the
possible tracking that might occur based on MAC addresses with WiFi
hotspots. This matches the behavior of Android: it uses a random MAC
address during a WLAN scan and a random one per connection.

[ci:skip-build]: already built successfully in CI
2023-07-14 09:55:46 +02:00
Pablo Correa Gómez
38ce112cdf
main/postmarketos-initramfs: load modules also from /lib/modules/initramfs.load (MR 4193)
Make it possible to load modules from the file installed by devicepkg-dev,
that will be there when extra modules are needed. This is coded in a
backwards-compatible way, so that it can be independent of the main modules
MR.

The code changes create a new function which takes a list of modules
and possibly a file (that should contain a list of modules too). The
idea is to be able to support also loading modules for initramfs-extra
in the future, and having a similar file would be more convenient than
extracting all the modules each time. In addition, the "[ -d /lib/modules]"
check has been removed. If there's no modules directory, as all
modules might be built-in, modprobe will fail, but that will not be
fatal. This will most likely only exclusively happen in some android
downstream kernel, so it should not be a big concern.
2023-07-10 11:07:51 -07:00
Pablo Correa Gómez
f3c7308f6f
main/devicepkg-dev: install modules file into initramfs (MR 4193)
So that the initramfs can get the list of modules that need to be loaded
once the deviceinfo_modules_initfs variable is gone
2023-07-10 11:07:32 -07:00
Pablo Correa Gómez
65be0d7e81
main/devicepkg-dev: automatically package modules into initramfs (MR 4193)
To simplify the future removal of deviceinfo_modules_initfs
2023-07-10 11:07:19 -07:00
Luca Weiss
81fbe5a74e
main/postmarketos-mkinitfs-hook-debug-shell: add telnetd to initramfs files (MR 4237)
Since we've now finally removed telnetd from the main initramfs but we
still need telnetd for the debug-shell, add it to the files for that
hook.

Also make sure the list of files is sorted.
2023-07-08 19:06:33 +02:00
Luca Weiss
87ef850e88
main/postmarketos-initramfs: remove telnetd from initramfs (MR 4237)
This appears to be an ancient leftover from the telnet-based FDE
unlocking mechanism that has been present many many years ago.

But since this was removed a while ago, it's time to also finally remove
telnetd from the initramfs.
2023-07-08 19:06:29 +02:00
Anton Bambura
dd5f448bee
main/postmarketos-mkinitfs-hook-apx: new aport (MR 4231)
Nvidia Tegra devices have APX mode which allows to flash/debrick
a device even with broken bootloader. It also allows to sideload
bootloader which is useful when porting a new bootloader.

Some devices have a key combination to enter this mode, some devices
don't have one. This hook alters two Tegra PMC registers which
causes device to enter APX mode. It works on the most devices
including some of those that don't have a key combination for APX.

Usage:
pmbootstrap initfs hook_add apx
pmbootstrap flasher boot

[ci:skip-build]: already built successfully in CI
2023-07-07 09:00:01 +02:00
Oliver Smith
757aa80636
main/postmarketos-ui-plasma-bigscreen: enable aarch64 (MR 4233)
The ovos package is now available in Alpine for aarch64 too. Enabling
the package for aarch64 again fixes the currently failing bpo images for
master:pine64-rockpro64:plasma-bigscreen.

[ci:skip-vercheck]: modifying arches only
[ci:skip-build]: already built successfully in CI
2023-07-06 08:11:13 +02:00
Petr Hodina
b9c3ee99cd
postmarketos-base-eink: add gnome subpackage (MR 4142)
- add dconf file
- add backlight udev rule
2023-07-05 22:13:31 +02:00
Oliver Smith
e073914c01
main/mobile-config-firefox: upgrade to 4.0.3 (MR 4232)
[ci:skip-build]: already built successfully in CI
2023-07-05 22:10:57 +02:00
Luca Weiss
6eec0b0503
main/postmarketos-mkinitfs-hook-netboot: show Loading splash once done (MR 4212)
Since the original "Loading..." splash is being shown before the hooks
is being run, we should go back to the "Loading..." splash once we're
done in the hook.

[ci:skip-build]: already built successfully in CI
2023-07-01 19:43:01 +02:00
Luca Weiss
3b5e3cb66a
main/postmarketos-mkinitfs-hook-debug-shell: show Loading splash once done (MR 4212)
Since the original "Loading..." splash is being shown before the hooks
is being run, we should go back to the "Loading..." splash once we're
done in the hook.
2023-07-01 19:43:01 +02:00
Luca Weiss
e5e35027d2
main/lk2nd-msm8953: compile with -O1 to fix booting (MR 4196)
Currently, at least on fairphone-fp3 doing "fastboot boot" crashes
lk2nd, presumably due to some bug when compiled with a newer gcc
version.

Compiling with -O1 works well.

[81660] booting linux @ 0x10000000, ramdisk @ 0x13600000 (3339187), tags/device tree @ 0x13400000
[81660] Jumping to kernel via monitor
[81660] data abort, halting
[81660] r0  0x8f7724fc r1  0x8f772504 r2  0x00000000 r3  0x00000000
[81660] r4  0x00000001 r5  0x8f7724fb r6  0x00000001 r7  0x5b080000
[81660] r8  0x00000000 r9  0x011b9000 r10 0x8f741094 r11 0x8f7725ac
[81660] r12 0x00000001 usp 0x00000000 ulr 0x00000000 pc  0x8f630690
[81660] spsr 0x600001d3
[81660]  fiq r13 0x8f729000 r14 0x00000000
[81660]  irq r13 0x8f72d1a0 r14 0x8f620c2c
[81660] *svc r13 0x8f7724f8 r14 0x8f6147b0
[81660]  und r13 0x8f729000 r14 0x00000000
[81660]  sys r13 0x00000000 r14 0x00000000
[81660] bottom of stack at 0x8f7724f8:
0x8f7724f8: 00726f63 824fe86d 00020000 8f7724fb |cor.m.O.......w.|
0x8f772508: 8f742c01 824fe86d 10000000 00000000 |..t.m.O.........|
0x8f772518: 13400000 00000000 8f628aa0 8f6147b0 |..........b..Ga.|
0x8f772528: 00000000 00000000 13400000 10000000 |................|
0x8f772538: 00000000 00000001 0000000f 824fe86d |............m.O.|
0x8f772548: 13400000 00000000 00000000 00000000 |................|
0x8f772558: 00000000 00000000 00000000 00000000 |................|
0x8f772568: 00000000 00000000 00000000 00000000 |................|
2023-06-25 22:12:45 +02:00
Bart Ribbers
07082620c3
main/postmarketos-ui-plasma-bigscreen: replace dependency on mycroft-core for ovos (MR 4195)
MyCroft has seized development and the package has been removed from
aports. The OpenVoiceOS community has taken over development and has
with ovos a drop-in replacement.
2023-06-25 22:05:18 +02:00
Sicelo A. Mhlongo
d0a12d9c48
ui-i3wm: Depend on wallpaper and polkit (MR 4179)
Wallpaper and polkit dependency are device-agnostic, so remove from N900
package to i3wm

[ci:skip-build]: already built successfully in CI
2023-06-15 22:28:17 +02:00
Pablo Correa Gómez
ef00e24e5a
main/postmarketos-base-ui: depend on tzdata (MR 4175)
Most UIs already implicitly depend on this in some way, and from the
user-facing point of view, it is sensible to have the full DB of timezones
available, in case the user wants to swap timezone or requires working
with them in different ways. Having it as a explicit dependency makes more
sense than relying on backward dependencies.

Background: https://gitlab.com/postmarketOS/pmaports/-/issues/2168#note_1426261355
[ci:skip-build]: already built successfully in CI
2023-06-12 07:46:29 +02:00
DownToTwo
ad438c06cf
inet-a33: new device (MR 4166)
[ci:skip-build]: already built successfully in CI
2023-06-11 13:15:34 +02:00
Oliver Smith
6dee0fe989
main/postmarketos-release-upgrade: upgrade to 1.4.0 (MR 4163)
[ci:skip-build]: already built successfully in CI
2023-06-07 11:49:35 +02:00
Oliver Smith
f50c6c5a8a
main/postmarketos-ui-gnome-mobile: remove dep on wallpapers (MR 4156)
[ci:skip-build]: already built successfully in CI
2023-06-06 17:50:11 +02:00
Oliver Smith
55c2aa08c8
main/postmarketos-ui-gnome: remove dep on wallpapers (MR 4156) 2023-06-06 17:50:10 +02:00
Oliver Smith
334a03eaae
main/postmarketos-base-ui-gnome: update wallaper (MR 4156)
Use wallpapers that give a good contrast to read the labels of
launchers in GNOME Shell on Mobile.

Related: https://fosstodon.org/@tbernard@mastodon.social/110312623463860112
2023-06-06 17:50:10 +02:00
Oliver Smith
55c617ef64
main/postmarketos-artwork: add gnome wallpapers (MR 4156)
Add GNOME specific wallpapers with a good contrast, so lables for
launchers on top of the wallpaper can be read nicely.

Also set myself as maintainer since the original maintainer didn't
change the package since 2018.
2023-06-06 17:50:04 +02:00
Newbyte
cb0e167a3c
main/postmarketos-mkinitfs-hook-netboot: use source_deviceinfo from devicepkg-utils (MR 4129)
[ci:ignore-count]
2023-06-03 17:44:26 +02:00
Newbyte
0c043b055d
main/postmarketos-mkinitfs-hook-debug-shell: use source_deviceinfo from devicepkg-utils (MR 4129) 2023-06-03 17:44:25 +02:00
Newbyte
c025160029
main/postmarketos-mkinitfs-hook-console-shell: use source_deviceinfo from devicepkg-utils (MR 4129) 2023-06-03 17:44:25 +02:00
Newbyte
bc6800b368
main/osk-sdl: use source_deviceinfo from devicepkg-utils (MR 4129) 2023-06-03 17:44:25 +02:00
Newbyte
ea7522f44e
main/postmarketos-base: use source_deviceinfo (MR 4129) 2023-06-03 17:44:25 +02:00
Newbyte
0665493f14
main/postmarketos-bootsplash: use source_deviceinfo (MR 4129) 2023-06-03 17:44:25 +02:00
Newbyte
35129cb2c7
main/postmarketos-update-depthcharge-kernel: use source_deviceinfo (MR 4129) 2023-06-03 17:44:25 +02:00
Newbyte
14bc7fe038
main/postmarketos-update-kernel: use source_deviceinfo (MR 4129) 2023-06-03 17:44:25 +02:00
Newbyte
881dbc6a22
main/postmarketos-initramfs: use source_deviceinfo from devicepkg-utils (MR 4129)
See https://gitlab.com/postmarketOS/pmaports/-/issues/2086
2023-06-03 17:44:24 +02:00
Newbyte
d7e56cc7c0
main/devicepkg-utils: new aport (MR 4129) 2023-06-03 17:44:24 +02:00
Newbyte
be819d7474
main/devicepkg-dev: set to noarch (MR 4140)
No reason for this to be arch-specific.
2023-06-03 15:04:45 +02:00
Newbyte
945a74a9ce
main/android-mkdtboimg: remove (MR 4145)
Closes https://gitlab.com/postmarketOS/pmaports/-/issues/1889
2023-06-03 06:34:41 +03:00
Luca Weiss
b2e5ad1670
main/postmarketos-base-ui: add supervisor to bluetooth service (MR 4136)
Due to an issue, probably in bluez, the bluetooth service often fails to
start on boot. Restarting the service later make bluez start correctly.

While adding the service supervisor for just this issue isn't a great
solution, in any case having a supervisor on such an important system
service is good, and it fixes this issue also by restarting the
bluetooth service after the first failure on boot.

  May 30 08:05:56 fairphone-fp4 daemon.info bluetoothd[1420]: Bluetooth daemon 5.66
  May 30 08:05:56 fairphone-fp4 daemon.err bluetoothd[1420]: src/main.c:main() Unable to get on D-Bus

Also while we're editing the list of subpackages make sure they're
ordered alphabetically.
[ci:skip-build]: already built successfully in CI
2023-05-31 08:05:38 +02:00
Clayton Craft
df8b0a6665
main/boot-deploy: upgrade to 0.8.2 (MR 4130)
Changelog: https://gitlab.com/postmarketOS/boot-deploy/-/tags/0.8.2

[ci:skip-build]: already built successfully in CI
2023-05-29 11:33:53 -07:00
Oliver Smith
0ccd191d21
main/mobile-config-firefox: upgrade to 4.0.2 (MR 4125)
[ci:skip-build]: already built successfully in CI
2023-05-29 13:06:50 +02:00
Luca Weiss
1a50b3a49b
main/dtbtool: switch to repository mirror (MR 4111)
Since codeaurora.org has been shut down and this project seemingly
hasn't been migrated to git.codelinaro.org, let's switch to a source
found on GitHub.
2023-05-24 17:19:05 +02:00
Dylan Van Assche
4b92e922ef
main/postmarketos-base-ui: enable USB tethering (MR 3819)
USB tethering allows users to use their phone's WiFi or WWAN interface
as an access point for the device they connect the phone with over USB.
This way, they can use their data plan with a laptop or desktop when
regular Internet access is absent.

Configure NetworkManager to manage the usb0 iface from initfs so users
can configure it in GNOME Settings or KDE. Include a NetworkManager
dispatcher script as well to handle postmarketOS' setup with unudhcpd as
we want to provide an SSH login over USB when tethering is disabled. If
tethering is enabled, unudhpcd is stopped and its functionality is taken
over by NetworkManager through an instance of dnsmasq. NetworkManager
will also configure the necessary settings to allow IP forwarding and
firewall rules during tethering. Once disabled, NetworkManager cleans up
these settings and our dispatcher script starts unudhcpd again.

Due to upstream changes, NetworkManager requires networkmanager-dnsmasq
subpackage as dependency as dnsmasq needs DBus support for
NetworkManager. Without it, NetworkManager will silently fail spawning
dnsmasq instances.
[ci:skip-build]: already built successfully in CI
2023-05-21 19:42:14 +02:00
Newbyte
a2a4772177
main/postmarketos-ui-plasma-mobile: don't recommend postmarketos-hidden-desktop-entries (MR 4086)
Package has been removed.

[ci:skip-vercheck]: Not necessary when recommends are changed.
[ci:skip-build]: already built successfully in CI
2023-05-21 17:14:55 +02:00
Newbyte
853f4ba5a5
main/postmarketos-ui-phosh: don't recommend postmarketos-hidden-desktop-entries (MR 4086)
Package has been removed.
2023-05-21 17:14:55 +02:00
Newbyte
8dcb873f9b
main/postmarketos-ui-gnome-mobile: don't recommend postmarketos-hidden-desktop-entries (MR 4086)
Package has been removed.
2023-05-21 17:14:55 +02:00