Fix build stopping at:
*
* Restart config...
*
*
* ARMv8.5 architectural features
*
Branch Target Identification support (ARM64_BTI) [Y/n/?] y
Use Branch Target Identification for kernel (ARM64_BTI_KERNEL) [Y/n/?] (NEW)
For some reason this did not happen (the whole 'Restart config...'
block) in the gitlab CI run with pretty much the same commit that ended
up being merged. Before it got merged however, it ran with
[ci:skip-build]. Maybe because of GCC-9 vs. GCC-10.
Related: https://gitlab.com/Kanedias/pmaports/-/jobs/1246094717
Related: https://builds.sr.ht/~postmarketos/job/503811
* Adds postmarketos-tweakd daemon to apply non-persistent settings on
boot
* Adds PinePhone settings file that adds the hardware specific battery
configuration
uboot-tools is provided by u-boot-tools but sometimes apk still gets
confused. This change prevents errors such as
pine64-pinephone:~$ sudo apk upgrade --verbose
WARNING: Failed to perform initial self-upgrade, continuing with full upgrade.
ERROR: unable to select packages:
uboot-tools (virtual):
provided by: u-boot-tools
required by: device-pine64-pinephone-0.25-r1[uboot-tools]
[ci:ignore-count]
[ci:skip-build]: already built in CI successfully
Make consistent with other UIs that have mobile-config-firefox installed
by adding font-noto and font-noto-emjo to _pmb_recommends.
Order _pmb_recommends alphabetically while at it.
[ci:skip-vercheck]: _pmb_recommends change doesn't need pkgrel bump
Enable SATA host support, the AHCI driver, and SCSI disk support so that
some generic PCIe SATA cards will properly detect and mount SATA drives
connected to them.
Tested on a RockPro64 with 2 3.5" drives connected in RAID 0 to an
Ableconn PEXSA115A 2-port PCIe x2 card (ASM1062).
The dialog to set a kwallet password is currently broken and unusable if
you try to set a password. To prevent this, just install a
pre-configured wallet without a password.
Not a great solution, but better than having the functionality be broken
for now.
Proper fix would be upstream fixing the virtual keyboard so users can
enter values in the right boxes. Once that is fixed, we can (and should)
revert this
Note by ollieparanoid: this patch was originally added as MR 2079 to
v21.03, instead of to master first and then getting cherry-picked to
edge as the process should be.
Make it easy for users to disable animations, switch to dark mode (by
changing the GTK theme), change suspend time and other tweaks.
[ci:skip-vercheck]: _pmb_recommends change doesn't need rebuild
[ci:skip-build]: already built successfully in CI
Fix the following error:
gcc/graphite-isl-ast-to-gimple.c:114:7: error: 'isl_id_free' was not declared in this scope; did you mean 'isl_aff_free'?
Found the patch here:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86724
Note that Alpine edge has isl 0.18 and not 0.20, but the error message
is the same and the patch works.
[ci:skip-vercheck]: no need to rebuild existing packages for this
Related: https://builds.sr.ht/~postmarketos/job/489478
Fails to build for armv7. Not sure if anyone is using this, and if they
are, this should be fixed / updated and submitted to Alpine instead (as
noted in the last MR where this was updated, MR 985).
In file included from /home/pmos/build/src/apitrace-9.0/thirdparty/libbacktrace/backtrace.c:38:
/home/pmos/build/src/apitrace-9.0/thirdparty/libbacktrace/backtrace.h:54:10: fatal error: gstdint.h: No such file or directory
54 | #include "gstdint.h"
| ^~~~~~~~~~~
compilation terminated.
Add a patch that ads the Samsung S5K5BAF CMOS image sensor and enables
the associated MIPI CSI-2 receiver node.
Also update to the latest stable kernel.
[ci:skip-build] already built successfully in CI
Temporarily disable tests for armv7, as py3-podcastparser and probably others
are not yet rebuilt against python 3.9 in Alpine edge.
[ci:skip-vercheck]
Use replaces="" to overwrite files in /usr/share/applications, instead
of creating files for /etc/skel/.local/share/applications. This way, we
can add new overrides when upgrading the package, not only initially
when creating the user's home dir from /etc/skel.
Remove v20.05 related comment, and "firefox-safe.desktop" override,
which is now "org.mozilla.firefox-safe.desktop".
Add org.gnome.Glade.desktop from glade, which gets pulled in by
libhandy1-dev (e.g. when installing makedepends for phosh). (Users who
really want to start glade on postmarketOS can either do it with the
command line, or uninstall postmarketos-hidden-desktop-entries, or
replace the file in /etc/ with the original .desktop entry. For everyone
else who just installed glade as makedepend, it removes one awkward
desktop launcher.)
I looked into modernizing this package to hide launchers that appeared
for GTK4 (issue 1029). However, this should be fixed in Alpine's gtk
package: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/20116
As suggested by ollieparanoid, adds adwaita-icon-theme as a dependency
to gpodder-adaptive, for users that don't use phosh.
[ci:skip-build]: already built successfully in CI
These are required to make it work with the latest ModemManager patches,
especially the patch that switches BAM-DMUX to Raw-IP mode.
[ci:skip-build]: already built successfully in CI
- Update to Linux 5.11.7
- Upstreamed more patches
- Switch BAM DMUX (mobile data) driver to Raw-IP mode.
This makes it work with the upstream version of ModemManager,
reduces overhead a bit and is overall cleaner.
- Add QMI "memshare" driver which is needed for GPS to work on most
MSM8916 devices.
- GPS has been tested successfully on:
- alcatel-idol347
- lg-m216
- longcheer-l8150 (wileyfox-crackling)
- longcheer-l8910 (bq-paella)
- motorola-harpia
- motorola-osprey
- samsung-a2015 (a3(u)lte, a5(u)lte)
- samsung-serranovelte
- wingtech-wt88047 (xiaomi-wt88047)
- Needs more testing/investigation on:
- asus-z00l
- asus-z010d
- wingtech-wt865x8
- Add SMB1360 battery/charger/OTG driver for longcheer-l8190
and wingtech-wt88047.
- Rework TFA9895 speaker amplifier driver for potential upstreaming,
make it work for TFA9897, add channel selection and a lot of cleanup.
- Add INSTALL_MOD_STRIP=1 to maybe reduce the size of modules a bit.
- Other things I forgot :)
Device changes:
- alcatel-alto5-vdf: Initial support for Vodafone Smart prime 6
- USB
- Storage (eMMC, SD card)
- Buttons
- WiFi, Bluetooth
- alcatel-idol347: Initial support for Alcatel Idol 3 (4.7")
- USB
- Storage (eMMC, SD card)
- Display, Brightness
- Touchscreen, Buttons, Vibrator
- WiFi, Bluetooth
- Accelerometer, Magnetometer, Gyroscope, Proximity
- Audio (no headphones yet)
- Modem (voice call audio needs some more minor changes)
- asus-z00l
- SD card
- IMU (Accelerometer + Gyroscope), Magnetometer
- lg-m216
- Battery/charging
- longcheer-l8150 (wileyfox-crackling)
- Tweak battery values slightly for 25°C instead of 0°C
- longcheer-l8910 (bq-paella)
- Battery/charging
- USB OTG
- motorola-harpia
- Add panel driver for "boe" panel
- samsung-gt510wifi/matissevewifi:
- Fix touchscreen
- wingtech-wt88047 (xiaomi-wt88047)
- Battery/charging
- USB OTG
[ci:skip-build]: already built successfully in CI
* Add u-boot build with a lot of patches that makes the display work in
u-boot for boot selection
* Upgrade the rockchip kernel to 5.11 mainline with config for the
rk3399 devices built-in
* Make the rockpro64 and pinebook pro use the newer kernel
[ci:skip-build]
In order to have hardware acceleration in osk-sdl, we have included mesa
for some devices (like the PinePhone) in initfs-extra. Mesa drags in
libLLVM, which got a size increase of 27 MB in the last version. This
leads to running out of space on the boot partition:
==> initramfs: creating /boot/initramfs-postmarketos-allwinner-extra
gzip: write error: No space left on device
cpio: write error: Broken pipe
Improve the situation by not directly writing initfs-extra to /boot
(next to the old version), but to a temporary directory first. Replace
the old version with the new version afterwards (like before).
This is a rather minimal fix for this specific issue. The mkinitfs
script needs more fixing (it's one of the oldest pieces of code in
postmarketOS and could use a rewrite...), but that's out of scope for
this patch.
`qt5-qtquickcontrols` and `qt5-qtgraphicaleffects` are needed, else
qtwebbrowser shows a blackscreen on start.
[ci:skip-build]: already built successfully in CI
Update to the 5.11.0 kernel release.
This also fixes the previous build warnings.
[ci:skip-build] Already built fine on CI.
Signed-off-by: Caleb Connolly <caleb@connolly.tech>
Based on the Alpine mesa APKBUILD, but only the DRI driver
is packaged. It conflicts with the DRI gallium driver as
they both provide ARM dri drivers. It depends on the main
Mesa packages.
The work on an adaptive gpodder UI by tpikonen has continued
and is now available in the official gpodder repo as a dedicated
branch. This commit updates the package to the latest current
version of the branch.
CRDA in the kernel requires a regulatory database to be available
to configure the WiFi card correctly following the regulations in
each possible environment.
Add post-upgrade file with a warning, so we don't symlink it to the
post-install script.
[ci:skip-vercheck]: no need to rebuild the package
Related: build.postmarketos.org#85
This updates the current commit and refactor APKBUILD to
more modern way of writing downstream kernels. Also move to main/ to fit
other linux-postmarketos-* kernels.
The i2c bus for the pogo pins was locked up because the level shifter is
powered by the regulator used for the cameras. This enables that
specific regular for the gpios the i2c bus is on so the pull-ups work
when reading and writing from the pogo pins.
[ci:skip-build] Already built in CI
This is required by some software, e.g. bluez/gnome to set some ACLs on
/dev/rfkill (see #904). While probably nobody will notice on the
downstream kernels (as we don't have any proper software there anyways)
it's definitely needed on mainline-ish kernels. Surprisingly only one
kernel has broken by enabling this option (linux-sony-tulip) which I've
patched up.
linux-postmarketos-qcom-sdm660 did not break by enabling this option,
but required linux4.17-gcc10-extern_YYLOC_global_declaration.patch to
build again, so this was fixed too.
[ci:skip-build] [ci:ignore-count]
Fixes installs with pmbootstrap using default recommends. Foxtrotgps has been
removed from alpine since it depends on libglade which will soon be deprecated
from alpine.
[ci:skip-build] Never succeeds in time, too many packages for CI
[ci:skip-vercheck] We need our Mauikit to have -r1 to be newer
than in Alpine repos, but the CI requires all new packages to
have -r0.
We're going to omit Telegram though, we shouldn't recommend a walled
garden with proprietary backend like that. Besides, NeoChat (and thus
Matrix) is already in there
Remove devmappings service. The original purpose of this service was to
ensure that /boot is mounted properly after the initramfs passed control
to OpenRC, because the initramfs used to umount /boot before that. With
/etc/fstab alone, /boot get not get mounted with subpartitions (which we
use on Android devices), if util-linux >= 2.33 was installed (MR 115).
Nowadays, we don't umount /boot in the initramfs before passing control
to OpenRC anymore (MR 1398). So this service isn't needed anymore, and
prevented the previous pmOS_inst_boot <> pmOS_boot patch from working
correctly.
Find partitions with the label "pmOS_inst_boot" too, and prefer using
them as boot partition over ones with label "pmOS_boot". (I'd use
"pmOS_install_boot", but there is a character limit in the label.)
Without this, the initramfs may choose the wrong boot partition if
postmarketOS is available once as install OS (on device installer) on
the SD card and once on the eMMC (installed).
I just had this problem with QEMU when simulating the install from SD to
eMMC use case with pmbootstrap qemu --second-storage. The pmOS initramfs
scripts would detect the previously created eMMC boot partition as the
proper one and mount it. It would boot into the right root partition,
because that already has a different label (pmOS_install instead of
pmOS_root), but because the wrong boot partition is already mounted,
during the install it would not be possible to run mkfs on it.
- Update to Linux 5.11-rc4
- Upstreamed more patches
- Fix audio regression without modem introduced by some refactoring
from Qualcomm upstream
Devices:
- samsung-a2015 (a3/a5): Fix speaker on some devices
- motorola-osprey: Add modem
Fix error if -p arg or dtb dir do not end with /.
Currently, running
$ dtbTool-sprd -p "scripts/dtc" -o "arch/arm/boot/dt.img" "arch/arm/boot/dts/"
or
$ dtbTool-sprd -p "scripts/dtc/" -o "arch/arm/boot/dt.img" "arch/arm/boot/dts"
fails with something like
DTB combiner:
Input directory: 'arch/arm/boot/dts/'
Output file: 'dt.img'
Found file: sprd-scx20_sp7731ceb.dtb ... skip, failed to scan for 'sprd,sc-id =<' tag
=> Found 0 unique DTB(s)
instead of succeeding with something like
DTB combiner:
Input directory: 'arch/arm/boot/dts/'
Output file: 'dt.img'
Found file: sprd-scx20_sp7731ceb.dtb ... chipset: 8830, platform: 1, rev: 131072
=> Found 1 unique DTB(s)
Generating master DTB... completed
The reason for the failure is that the tool tries to run external
commands and concatenates the path from the args, meaning that it
tries to run scripts/dtcdtc instead of scripts/dtc/dtc.
Rebuild against new calamares version. Usually the upstream-compat CI
job should have warned about this, but it didn't. Turns out, that abuild
did not trace the dependencies of calamares-extension-mod-mobile because
the main package had arch="noarch".
Related: https://gitlab.alpinelinux.org/alpine/abuild/-/issues/10022
Add the dependency to properly support file transfer between sandboxed
applications. Currently they can be used with flatpak (e.g. for quickly
testing out applications, not a recommended way to applications) and long
term we could use this in combination with apparmor for natively packaged
applications.
Notably the KDE version is already getting pulled in by when installing
postmarketos-ui-plasma-*.
Wireguard's userspace tool 'wg-quick' requires certain network and
netfilter options in the kernel config to be enabled, since it uses
policy routing and some 'iptables' modules. An overview of the options
and why they are required can be found in pmaports#909.
NOTE: after rebasing this patch on the one that enables anbox related
kconfig options, only CONFIG_IP_MULTIPLE_TABLES=y was left.
NeoChat is available in community, and will be shipped by default on the
PinePhone KDE CE, so let's do the same
[ci:skip-vercheck]: just modifying _pmb_recommends
This adds a patch that enables signing blobs via flag.
Certain recent Asus Tegra devices (tf201, tf300, tf700/1)
only accept signed blobs, this was implemented upstream
but seems that some lines got deleted.
This also updates upstream repository to use PMOS one.
This patch checks if deviceinfo_bootimg_blobpack is "sign"
in that case it passes signing flag for devices that require.
Devices (tf101) that don't use signing will continue working
when passing "true" as now.
This adds sleep-inhibitor as a dependency when elogind is present, and
installs a conf for it with some plugins enabled that are beneficial to
devices running pmOS. The elogind suspend hook is dropped.
This resolves issues where suspend is aborted in the hook *after*
PrepareForSleep is sent over dbus (which might cause some things to
disable radios/modems, etc for suspend).
The 'period' in the conf is in minutes, a value of 0.1 is 6 seconds,
which seems reasonable for releasing the lock when conditions for
inhibiting no longer apply, without spinning the CPU too frequently.
The calamares module and branding was made distro-agnostic and moved to
calamares-extensions.git. A new "make install" target inside
postmarketos-ondev.git installs all files, so we need less logic in the
APKBUILD.
Replace lightdm with tinydm. Add xset dependency to disable screen
blanking.
Don't use cmake to copy the files to the target path, because it would
install to the wrong directory:
/usr/lib/qml/QtQuick/VirtualKeyboard/Styles/Plasma/
instead of:
/usr/lib/qt5/qml/QtQuick/VirtualKeyboard/Styles/Plasma/
I've spent some time trying to figure out why it does that, but could
not find it right away. This is just a legacy component, so not worth
spending much time on this detail.
Adds support for pinephone
Adds migration away from python and to C for event path discovery and touch dimensions
[ci:skip-build]: already built successfully in CI
Let all packages depending on tinydm depend on tinydm-openrc too. This
is needed to make sure that tinydm-openrc is installed, before the
tinydm service is enabled in the UI's post-install scripts.
This was not an issue because tinydm currently depends on tinydm-openrc.
But that's a hack and will be removed when upstreaming tinydm to alpine.
[ci:skip-build]: already built successfully in CI
Fix failure in the osk-sdl "keyboard-font" check when there is a second
key starting with "keyboard-font" (as in osk-sdl MR 105):
==> initramfs: creating /boot/initramfs-postmarketos-allwinner-extra
ERROR: Font specified in /etc/osk.conf does not exist!
ERROR: postmarketos-mkinitfs-0.17-r0.trigger: script exited with error 1
Do not change config files in post-install scripts anymore (with sed
commands or by other means). Instead, ship the files inside the packages
and use "replaces", so apk allows the package to overwrite files from
other packages:
https://wiki.alpinelinux.org/wiki/APKBUILD_Reference#replaces
Notes on specific files:
* /etc/elogind/logind.conf: original file only consists of commented out
compile defaults. Copy them over for now. In the future we should be
able to install our own config into a .d directory, without all the
comments: 8358fc5950
* /etc/fstab: original file only has /dev/cdrom and /dev/usbdisk
entries, which are not useful for postmarketOS:
https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/main/alpine-baselayout/APKBUILD
* /etc/motd: reformat the text, add link to the chat
* /etc/conf.d/syslog: original file only contained 'SYSLOGD_OPTS="-t"',
make the override file as if the sed statement from post-install was
executed
* /etc/wpa_supplicant/wpa_supplicant.conf: post-install script touches
this file. We probably added it back in 2017 in relation to enabling
D-Bus (though the PR does not mention it explicity), but at least with
the current init.d script of NetworkManager, we can simply have '-u' in
wpa_supplicant_args:
https://github.com/postmarketOS/pmbootstrap/pull/578https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/main/wpa_supplicant/wpa_supplicant.initd
* /etc/sudoers: base on original /etc/sudoers, but remove all the
commented out stuff except for the visudo note at the top. We could
also put a file in /etc/sudoers.d, but since the wheel line is present
in the original /etc/sudoers and only commented out, it would be kind
of unexpected to enable it in a file in /etc/sudoers.d. I prefer this
stripped down version of the file, that is easy to read.
Refactor the install code to be generic, so we only need to add the new
path in one place when adding a new file. Put the full path into the
filename to make this possible.
I've tried to mimic the final directory structure in the aport first
(e.g. $pkgdir/sbin/swapfile -> main/postmarketos-base/sbin/swapfile),
but that leads to conflicts as abuild only takes the filename for
checksums (conflict with etc/conf.d/swapfile):
https://gitlab.alpinelinux.org/alpine/abuild/-/issues/10013
We don't really need checksum verification for the files shipped in the
same directory (not downloaded), but nevertheless this is a bug. It
leads to confusing behavior and might be fixed by letting abuild demand
that there is only one source file with the same name, as I suggested in
the issue linked above. So let's avoid this altogether with the flat
file name.
wireguard needs the ipv6 multitable option to make a seperate routing
table for the inside and outside vpn part of the network.
[ci:skip-build]: already built successfully in CI
Even on the PinePhone KDE community edition Megapixels will be shipped
instead of plasma-camera, so let's do the same
The resulting package doesn't change, _pmb_recommends is only a
pmbootstrap thing, so we don't have to bump pkgrel
[ci:skip-vercheck]
Battery percentage monitoring support:
* lg-hammerhead
* samsung-klte
Mobile internet support:
* fairphone-fp2
QCOM_SOCINFO for querying information from the SoC
[ci:skip-build]: already built successfully in CI
Update ov5640 autofocus related patch. We had it working with Martijn's
patch in 5.9.1_git20201019-r2 (MR 1654), but then dropped the patch in
favor of the patch that was added to megi's tree in 5.9.3_git20201101
(MR 1678).
It turns out that the patch added to megi's tree was different than the
patch we were carrying, it was a WIP version where loading the autofocus
firmware did not work anymore.
Megi decided to drop the autofocus patch from his tree for now, as the
firmware uploader takes more time in Martijn's proper patch. According
to Martijn it takes about a second, which seems reasonable for the
postmarketOS use case. I've added the previous version again as
out-of-tree patch.
Martijn found that for some reason the continuous autofocus still
doesn't want to start with this kernel and current patch version, as for
some reason the firmware load fails. But he extended the patch to make
autofocus work again with "tap to focus" at least.
0005-dts-pinephone-Disable-flash-led-in-OV5640-node.patch is not needed
anymore, the same change is in megi's tree.
Co-Authored-By: Martijn Braam <martijn@brixit.nl>
[ci:skip-build]: already built successfully in CI