Let postmarketos-ui-phosh depend on modemmanager and
modemmanager-openrc, so we ensure both get installed before the
post-install script runs. The post-install script will not be able to
enable the modemmanager openrc service otherwise.
Related: issue 1287
Backport of MR 2675 from edge
Adjust to shellcheck removal in Alpine. Currently it's still in edge for
x86_64, but installation fails with:
ERROR: unable to select packages:
so:libffi.so.7 (no such package):
required by: shellcheck-0.7.2-r1[so:libffi.so.7]
Use the official static binary release from shellcheck instead of the
Alpine package. Version 0.7.2 is intentionally used instead of latest
8.0.0, since the latter generates a new warning. Let's unbreak CI first
before adjusting to a newer shellcheck version.
Related: https://lists.alpinelinux.org/~alpine/devel/%3C20211021133615.32f08070%40ncopa-desktop.lan%3E
Fix building on stable for the new phosh. The enum file won't be
autogenerated in time while the dependencies for that to exist are
defined meson. This packages the generated files and places them in the
output folder to fix the race condition.
Installing postmarketos-base currently changes the file permissions
of /etc/sudoers:
# apk add sudo
# stat /etc/sudoers
Access: (0440/-r--r-----) Uid: ( 0/ root) Gid: ( 0/ root)
# apk add postmarketos-base
# stat /etc/sudoers
Access: (0044/----r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
The file mode 0044 decodes to:
- User *cannot* read
- Group can read
- Other can read
which does not make any sense. The "sudoers" man page makes it very
clear that this file should have a file mode of 0440 [1]
("readable by owner and group, writable by none").
This looks like a bad typo. However, given that only read permissions
were given out this shouldn't have major security implications
(except allowing all users to see who can use sudo).
Install the file with 0440 instead of 0044 to fix this:
# apk add postmarketos-base
# stat /etc/sudoers
Access: (0440/-r--r-----) Uid: ( 0/ root) Gid: ( 0/ root)
[1]: https://www.sudo.ws/man/1.9.8/sudoers.man.html#Error_log_entries
(cherry picked from commit 74e8166c7d)
pmbootstrap requires CONFIG_PSI now to pass the kconfig check for anbox.
We don't have it enabled on v21.06 and decided it's not worth rebuilding
the kernels just for that. So disable the check.
[ci:skip-build]: way too many packages, will take too long
[ci:skip-vercheck]: changing options w/o bumping pkgrel to avoid rebuild
[ci:ignore-count]: might run into this as well
Changes:
- Kernel side support for ModemManager
- Picked upcoming patch series for 5.15 + fixes, theoretically
improving GPU perf
- Updated patch series from lists
- Enabled options needed to support WayDroid (network stuff maybe still
missing???)
- Fixes venus fw paths, firmware packages need to updated to support it
but this will enable HW video decoding!
- Cleanup the defconfigs
Since the wiki applies to all branches, renaming devices is really
difficult without breaking the wiki check. To simplify this, download
the Renamed Devices page additionally, and just print a WARNING if
a device is missing in the wiki, but is listed there.
CI is currently failing at the "apk upgrade" line with the following
error. It must be related to the openssl3 transition that is going on in
Alpine:
485B6261A57F0000:error:0A000086:SSL routines:tls_post_process_server_certificate:certificate verify failed:ssl/statem/statem_clnt.c:1882:
ERROR: musl-1.2.2-r6: Permission denied
485B6261A57F0000:error:0A000086:SSL routines:tls_post_process_server_certificate:certificate verify failed:ssl/statem/statem_clnt.c:1882:
ERROR: busybox-1.34.0-r3: Permission denied
485B6261A57F0000:error:0A000086:SSL routines:tls_post_process_server_certificate:certificate verify failed:ssl/statem/statem_clnt.c:1882:
ERROR: musl-utils-1.2.2-r6: Permission denied
So let's get rid of it. It shouldn't be needed to install shellcheck
anyway.
(cherry picked from commit 1610a605ec)
Cherry picked, because this CI check runs against alpine edge - even if
the pmaports branch is something different. Not so great, but pick the
patch so it doesn't fail.
The networkmanager hotspot needs to have DHCP input enabled on the wifi
interfaces so the temporary dnsmasq instance can work. The
networkmanager backend is also switched to the nftables one so it can
create the ad-hoc hotspot forwarding/masquerade table.
(cherry picked from commit a52e82b3ee)
Bugfix release that fixes the css writing and parsing
[ci:skip-build] already built successfully in CI
[ci:ignore-count]
[ci:skip-vercheck]
(cherry picked from commit a698e2b38b)
Add waked for snoozing as well
[ci:skip-build] already built successfully in CI
[ci:ignore-count]
[ci:skip-vercheck]
(cherry picked from commit bef6ef93cd)
In postmarketOs we rely on polkit rules to manage networks by example.
This add the dependency and configure the service.
(cherry picked from commit 3fa1b54a91)
There are no devices in this release that use these kernels, and they fail
the kconfig nftables check so it's not worth backporting the changes to
fix that.
[ci:ignore-count]
Anbox, nftables, and containers aren't set up for now because I'm not
sure how useful Anbox would be on devices using this SoC given that most
(all?) of them have around 1 GB of RAM, aren't very fast, and I have
heard that Anbox isn't very well-Asupported on ARMv7. As for nftables,
I don't want debug it at this time in case breaks something. Setting up
container support made the phone hang while booting, however that might
have been due to that I only booted the new kernel without getting the
new modules in the rootfs.
[ci:skip-build] already built successfully in CI
(cherry picked from commit 14c1f12413)
Missing '/' in aports path will make glob below invalid.
It will find 0 files and thus effectively skip all tests.
Construct full path using f-strings.
Double '/' in path that can be there if args.aports ends
with slash is harmless.
(cherry picked from commit 33c62a1f58)
includes change to enable MPRIS proxy for Bluetooth media keys pass through
Notes:
- The .desktop file name was changed so that it doesn't conflict
with postmarketos-ui-phosh in the case that bluez is upgraded before the
ui package (fixes a file conflict)
- Tests are disabled, at least one of them is hanging on aarch64. They
all pass in upstream alpine aports...
Used by wg-quick for nftables configuration when routing to e.g. ::/0
[ci:skip-build]: already built successfully in CI
(cherry picked from commit c6067c02fe)
Upgrade to 5.12.15, adding nftables support and fixing the crashdump
mode issue on the OnePlus 6.
[ci:skip-build] already built successfully in CI
(cherry picked from commit 07b7a15b3c)
- Update to Linux 5.13
- Upstreamed many more patches
- Various cleanup to BAM-DMUX driver to prepare for upstreaming
- Enable support for virtualization/KVM via https://github.com/msm8916-mainline/qhypstub
- Probably many other things I forgot :)
- Add tons of kernel config options for containers and nftables
- Add WireGuard to kernel config
Device changes:
- huawei-g7: Initial support for Huawei Ascend G7
- USB
- Storage (eMMC, SD card)
- Display
- Touchscreen, Buttons, Vibrator
- Notification LED
- WiFi/Bluetooth
- Accelerometer, Magnetometer, Proximity
- Audio
- NFC
- lg-c50: Initial support for LG Leon LTE
- USB
- Storage (eMMC, SD card)
- Buttons
- WiFi/Bluetooth
- Vibrator
- Display
- longcheer-l8150 (wileyfox-crackling): Fix proximity sensor
- motorola-surnia: Add audio and modem
- samsung-j5nlte: Add buttons
- samsung-j5xlte: Initial support for Samsung Galaxy J5 (2016)
- USB
- Storage (eMMC, SD card)
- Buttons
- samsung-serranovelte: Add USB-OTG detection
[ci:skip-build] already built successfully in CI
(cherry picked from commit ef3f43963e)
Having RMTFS at runlevel boot makes it start the modem too fast and causes
crashes. Move it to runlevel default with a post-install.
[ci:skip-build] already built successfully in CI
(cherry picked from commit b627285177)
Shellcheck 0.7.2 has a change that gives many error conditions their own
SC30** codes, instead of including them in SC2039. This updates the
scripts in this package that "disable SC2039" to disable the new code.
New codes added in shellcheck: cfd68ee0c2ebfd0ab08a1d4bf628162b454dc207
(cherry picked from commit c6a5e885c0)
This rule is installed by default, since users that need usb inet won't
have an easy way to install a subpackage.
This is meant to facilitate:
https://wiki.postmarketos.org/wiki/USB_Internet
(cherry picked from commit 931ae03648)
The old rule would result in nftables failing to load if the iface
doesn't exist. Using `iifname` will match on any future ifaces if they
don't exist when the firewall starts.
(cherry picked from commit 2a1b69db00)
The subpackage adds rules specific to Anbox to allow in- and outbound
network traffic over the `anbox0` network bridge.
(cherry picked from commit de9132214d)
Anbox needs a specific set of nftables rules to allow incoming and
outgoing traffic. Anbox makes it easy to allow the specific traffic due
to the established `anbox0` bridge network interface.
(cherry picked from commit 3960ad0c51)
New megapixels build from the LTS branch of Megapixels, split of the
commit before introducing gtk4 so it can work on xorg environments.
(cherry picked from commit 3eda64bb03)
This makes venus load the right firmware on xiaomi-scorpio. It also has
re-enabled cpuidle in kconfig after it was mistakenly disabled in the last
update.
[ci:skip-build] already built successfully in CI
(cherry picked from commit 73d136e2af)
This reverts commit 5706a0ec23.
It was decided that sxmo does not need netsurf, so a patch will follow
that removes the dependency from the UI package.
Workaround for https://source.puri.sm/Librem5/linux-next/-/issues/303.
It seems worth sacrificing some power savings for a modem that won't
disappear, at least until the above issue is fixed.
[ci:skip-build]: already built successfully in CI
(cherry picked from commit 0582513c46)
pmb will suppress firewall-related messages on branches that don't have
these changes
[ci:skip-build] changed kernel packages in this series cause timeout at 3hr
This enables the firewall by default, and could be split off into a
future ui-base package so that the firewall (among other things) are
enabled only when UIs are installed.
Installs nftables config useful for pmOS::
1) drop all connections to wwan* (wildcard matching supported, are there
any other wwan iface names that wouldn't match this?)
2) allow ssh, drop from wwan (kinda redundant w/ the first rule, but
doesn't hurt..), allow DHCP on usb*
3) allow all incoming connections on usb* (with the -openusb subpackage)
4) enable logging all nftable events (with the -log subpackage), very
useful for debugging
fixes#1024
This patch is obsolete now and even breaks the detection
of headphones. Headsets are properly detected at all times.
Dropping this, allows ALSA to see the 'Headphone Jack' event
when headphones are plugged in and removed. This way, ALSA UCM
can act on these jack events as well.
[ci:skip-build] Already built on CI in a MR
Headset jack events emit 2 events: 'Headset Microphone Jack'
and 'Headphone Jack'. These were properly detected before,
but not headphone jack events only: 'Headphone Jack'.
This change allows to detect headphone jack events as well
and act on these events by setting the headphones as
default audio output while keeping the internal
microphone as audio input. For headsets,
the microphone is switched to the headset microphone as well.
- Add SLPI to nonfree_firmware description
- Add touchscreen and fuel gauge modules to the initramfs in preparation for
osk-sdl and charging-sdl (or any new alternative) support
- Add pointercal file for osk-sdl
[ci:skip-vercheck]
If the system time jumps back and forth before installing the package
"swclock-offset", OpenRC can get confused whether the current dependency
tree is old or new. To resolve this confusion, the dependency tree cache
is updated within the post-install script of the openrc subpackage.
This is needed urgently to prevent `make oldconfig` from asking
questions about new options since 5.10 and thus unblock the
broken aarch64 BPO builder.
Set package dependency "swclock-offset" to "soc-qcom-msm8916" and
"soc-qcom-sdm845".
These SoC's have a read-only real-time clock (RTC). The package
"swclock-offset" keeps an offset between the RTC and the system time.
Some devices have a working but non-writable real-time clock (RTC).
This package contains two shell scripts: One writes the offset between
'hwclock' and 'swclock' to a file at shutdown, another one reads the
offset from the file at boot and sets the 'swclock'. This way the system
time in userspace is kept in present time.
[ci:skip-build] already built successfully in CI
Port based on an unofficial LineageOS port
from https://www.los-legacy.de/17.1/zerofltexx, using kernel from
https://github.com/Exynos7420/android_kernel_samsung_exynos7420/
What works:
- Kernel boots
- Display and touch input (tested with Weston)
- USB networking
- Wifi
For now only including Wifi drivers, as I wasn't yet able to
successfully test audio and camera subsystems (but I intentionally left
these firmware files commented out in the APKBUILD file).
[ci:skip-build]: already built successfully in CI
This package sets GDK_BACKEND=wayland (in gtk-app-wayland.sh), and some
apps (firefox) still need that set to work. gsd-xsettings, which is
launched explicitly by Phosh 0.11.0+, does not work when this var is set
to wayland.
To prevent accidental bricks, postmarketos-update-kernel is not
installed by default. If it works for your device and you've added the
deviceinfo variable, you also need to depend on the package for the
updates to actually happen.
[ci:skip-build] already built successfully in CI
On Android devices that support kernel updates (marked by the deviceinfo
variable "deviceinfo_flash_kernel_on_update") lets flash the kernel and
initramfs automatically!
- Add support for Samsung Galaxy Note 3 (hlte)
- Changes to kernel config:
- add support for anbox
- add support for nftables
- add support for lxc, docker
- add support for Wireguard
- Disable CONFIG_ARM_APPENDED_DTB (for lk2nd compatibility)
[ci:skip-build] Already built on CI in a MR
Don't suspend the device while alsa is playing. I ran this for two days
in combination with suspend time set to 1 min on the pinephone and it
works great. Finally no suspend while VLC is playing podcasts.
Add the missing depends to add the GPU firmware to the initramfs
so that osk-sdl works properly, as well as the haptics driver.
Also make all logs go to UART, this will clean up the splash screen and
let developers with UART access debug the boot process.
[ci:skip-build] This MR was already built on CI
Add the missing depends for our soc package alsa ucm configs. Also add
the missing depends to add the GPU firmware to the initramfs so that
osk-sdl works properly!
Also enable logs and point them to UART, this will clean up the splash
screen and let any developers with UART attached to debug the boot
process.
This updates to the Linux stable 5.12.8 release, it also adds the kernel
side support for the speaker and headphone jack on the OnePlus 6 (
unfortunately not the 6T)
AsteroidOS uses this config file to determine how the UI should look
(e.g. a round or a square screen), and if some things like Wi-Fi are
supported. Upstream auto generates this config file, but it seems so
simple and small that I think it's better for us to just ship the file
next to the APKBUILD
AsteroidOS uses this config file to determine how the UI should look
(e.g. a round or a square screen), and if some things like Wi-Fi are
supported. Upstream auto generates this config file, but it seems so
simple and small that I think it's better for us to just ship the file
next to the APKBUILD
The PMIC AXP803 sends an interrupt to the A64 CPU when the
battery is critical low. This wakes up the tablet at ~10%
battery level, but UPower wasn't configured to add upon
this interrupt as the action level was way lower.
Therefore, the PMIC performed a hard shutdown when the
battery level dropped further, which may cause data loss.
The PMIC AXP803 sends an interrupt to the A64 CPU when the
battery is critical low. This wakes up the phone at ~10%
battery level, but UPower wasn't configured to add upon
this interrupt as the action level was way lower.
Therefore, the PMIC performed a hard shutdown when the
battery level dropped further, which may cause data loss.
TF201 nvram was updated since previous did not work on some devices.
Added support for TF101, TF300TG and TF300TL.
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
On my librem 5 when using directfb in initfs, touch input is really
inconsistent... the cursor seems to jump around and it's hard to enter
keys in osk-sdl. This is completely 'fixed' by disabling the ps2mouse
input module in dfb.
I guess this might cause mice to stop working (?), but I can't think of
any situation where someone would run osk-sdl in initfs on a device that
has a ps2 mouse but no keyboard (which would make more sense to use for
entry than the mouse..)
Next release of ModemManager needs Qualcomm RMNET support
for QMAP mobile data support.
armv7 config doesn't have ethernet enabled at all,
so this is only enabled for the aarch64 config.
I rebased all of the patches (only 2 needed some changes, the rest I
just did for good measure).
These two patches were dropped since they are already merged in the new
kernel:
0008-leds-gpio-Set-max-brightness-to-1.patch
0009-dts-pinephone-Add-pine64-pinephone-to-compat-list.patch was dropped
The kconfig changes are just after running kconfig edit, and making no
changes so that it would generate a config with any new options in 5.12,
to make maintenance easier moving forward.
* Prevent interactive warning to pop once already approved when
[over/down]clocking DRAM
* Make sure $freq is always set
Co-Authored-By: Oliver Smith <ollieparanoid@postmarketos.org>
In 35f283a8ef sxmo was made to install
sxmo on clean installs, but due to
9387842aec was getting uninstalled if it
was installed before. Let's properly depend on it instead so people
don't end up without working networking
Gummiboot was dropped from Alpine. Switch to grub, which is what we use
for tablet-x86uefi too.
In contrary to tablet-x86uefi, run the grub-mkimage command directly
inside the device package:
* This avoids creating another confusing grub-x86 like package (looks
like the x86 version of alpine's grub package, as it's the case with
grub-efi-x86, but actually it is just the result of grub-mkimage).
* In contrary to grub-efi-x86, the resulting efi file is not shared
across several devices.
* It's consistent with uboot mkimage commands, which we also run in
device packages.
Related: https://gitlab.alpinelinux.org/alpine/aports/-/commit/398b7aef0b86c477103ba592526ebb9940a44509
The Mer stack that Asteroid uses actually uses connman by default rather
than NetworkManager, so let's enable it by default
SSH still works at least on Qemu
The Mer stack that Glacier uses actually uses connman by default rather
than NetworkManager, so let's enable it by default
SSH still works at least on Qemu
The v5.12.5-msm8996 tag also includes the yet-to-be-merged Qualcomm LPG
driver, with support for LEDs on xiaomi-scorpio including the IR LED.
Also clean up the config and enable useful configs such as ZRAM.
[ci:skip-build]: already built successfully in CI
We've rename the kernel repo to
https://gitlab.com/sdm845-mainline/linux,
update the package to point to the new repo.
[ci:skip-build]: already built successfully in CI
We used to have it at 40% and just bumped it to 100%. With 100%, I can
hear static noise in the headphones when using the PinePhone (pmOS CE)
in a silent room, even if I turn the volume down in Pulseaudio (e.g.
18%-30% in Phosh). This was not the case when we had it at 40%.
70% seems to be the sweet spot, where no static noise can be heard when
using headphones in a silent room, but where volume can still be turned
up to a very high level if necessary.
Ported succesfully to armv7. Everything that worked on armhf
works on armv7 as well: touch, wifi, usb networking etc.
SWRast (gallium) was not enabled but is needed because the device
does not support 3D acceleration yet.
The older version we were shipping seems to have been removed upstream,
and thus this package didn't build anymore and has started blocking
Anbox related MR's
Upstream changelog:
https://source.puri.sm/Librem5/linux-next/-/commit/ca736e844a6b63967d135c2280e5696f0a95934e
Patches rebased, and includes some new fixes:
arm64-dts-imx8mq-librem5.dtsi-adjust-the-usdhc-bus-s.patch
- Being tested by Purism as well, has shown some promise improving GPS
reliability
arm64-dts-imx8mq-disable-SuperSpeed-instances-in-par.patch
- Fixes issue with modem disappearing
This is required for kernels earlier than 4.7 for bwrap to work for
normal users, and therefore for gnome web (epiphany) and flatpak.
[ci:skip-build] [ci:ignore-count]
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
This patch fixes:
fastboot: error: Couldn't parse partition size '0x'.
I don't get the bug myself, but it was reported that this works as
expected. Let's merge it to pmaports temporarily while it's getting
upstreamed.
Related: https://github.com/nmeum/android-tools/pull/27
Related: pmbootstrap issue 2007
[ci:skip-build]: already built successfully in CI
* Adds postmarketos-tweakd daemon to apply non-persistent settings on
boot
* Adds PinePhone settings file that adds the hardware specific battery
configuration
Upstream changelog:
https://source.puri.sm/Librem5/linux-next/-/commit/4e76143d2ec5694ec09da20c9e702ed2f0dbdb3f
Note, previous wifi driver behavior is not changed. The redpine module
still expects the fw to be in /lib/firmware on boot, and won't use the
fw on the card.. Theoretically this kernel version now supports both
loading fw from rootfs into ram AND using fw burned on the chip, but
since I haven't tested that well yet I'm leaving this as-is.
[ci:skip-build]: already built successfully in CI
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
The AP6359SA is a BCM4359 SDIO-based Wi-Fi/Bluetooth module that PINE64
sells specifically for the ROCKPro64 device. This commit starts a
firmware package to support it specifically, while others can later add
firmware for other modules sold for the device. Also add this package as
a nonfree subpackage dependency in the ROCKPro64 device APKBUILD.
I was unable to find a suitable license for the firmware blobs, so until
we find a suitable repository containing all of the required files by
the module with a license included, or contact the vendor directly,
let's use LibreELEC's repository without a license for now.
[ci:skip-build]: already built successfully in CI
Created with pmbootstrap!2048. The previous APKBUILDs don't have the
if [ "$CHOST" = ... block, because it was manually deleted as
pmbootstrap couldn't generate a working version.
mce is used by both Glacier and Asteroid to do all kind of power
management related stuff, including blanking the display. However,
obviously we don't ever want to blank the display on Qemu
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.
Latest patches from Purism, including some they backported from
upstream.
fixes#1058
The debian dir was dropped from the archives in this fork repo, but the
number of patches has been dramatically reduced.
A new mechanism (thanks @ollieparanoid) is added here to compare the
list of patches stored in pmaports when this package was upgraded to the
list of patches in purism's repo @ some commit this package uses, so
that any difference can be detected (pacakge will fail to build). If
there's a mismatch, the patches from this repo should be updated/added
to match what's in purism's repo @ the commit, and purism_patches.series
should be updated to match the debian/patches/series file in the purism
repo.
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
As of MR 2039, the kernel modules are now stripped (INSTALL_MOD_STRIP=1).
It turns out that this massively reduces their size so that including
the panel + touchscreen modules in the initfs still fits into the
partition. This allows the splash screen and osk-sdl to work correctly.
As of MR 2039, the kernel modules are now stripped (INSTALL_MOD_STRIP=1).
It turns out that this massively reduces their size so that including
the panel + touchscreen modules in the initfs still fits into the
partition. This allows the splash screen and osk-sdl to work correctly.
As of MR 2039, the kernel modules are now stripped (INSTALL_MOD_STRIP=1).
It turns out that this massively reduces their size so that including
the panel + touchscreen modules in the initfs still fits into the
partition. This allows the splash screen and osk-sdl to work correctly.
As of MR 2039, the kernel modules are now stripped (INSTALL_MOD_STRIP=1).
It turns out that this massively reduces their size so that including
the panel + touchscreen modules in the initfs still fits into the boot
partition. This allows the splash screen and osk-sdl to work correctly.
Make needed deviceinfo changes to support osk-sdl, add "quiet" to the
cmdline and bump the package version to 1.
Signed-off-by: Caleb Connolly <caleb@connolly.tech>
[ci:skip-vercheck]
Make needed deviceinfo changes to support osk-sdl, add "quiet" to the
cmdline and bump the package version to 1.
Signed-off-by: Caleb Connolly <caleb@connolly.tech>
Add a subpackage to ensure that GPU firmware is included in initramfs so
that osk-sdl can work.
[ci:skip-vercheck]
Signed-off-by: Caleb Connolly <caleb@connolly.tech>
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]
Let pmbootstrap build the qt5-qtsvg fork before audiotube, so it passes
CI. This won't be needed anymore shortly when Alpine's builders have
caught up, and qt5-qtsvg is fixed in Alpine edge.
[ci:skip-vercheck]
Fix build error:
CMake Error at /usr/lib/cmake/Qt5Svg/Qt5SvgConfig.cmake:111 (find_package):
Could not find a configuration file for package "Qt5Widgets" that is
compatible with requested version "5.15.3".
The following configuration files were considered but not accepted:
/usr/lib/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake, version: 5.15.2
MR for Alpine:
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/20307
[ci:skip-vercheck]: pkgrel>0 on purpose
When I upgraded tinyalsa to the new 2.0.0 major release (with breaking
changes) I failed to test q6voiced properly, even though I explicitly
had to rebuild it against the new tinyalsa version (see MR 1941).
In tinyalsa 2.0.0, calling pcm_open() does not automatically call
pcm_prepare() anymore, which is responsible for actually starting any
audio streams. This means that the old version of q6voiced is almost
entirely broken - only by pure luck it's sometimes possible to get
voice call audio working if you play other audio simultaenously while
a voice call is active. This does not work for the microphone though.
The new q6voiced version now calls pcm_prepare() explicitly to fix this.
This device port is unmaintained: The mainline port (xiaomi-wt88047)
is preferred. This is only intended for testing, and was used to validate
the battery/charging driver as one example. Various patches are used
for the downstream kernel that expose helpful information for debugging.
[ci:skip-build]: already built successfully in CI
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
These are various debugging related patches that I have used over the time
when attempting to get new features working for the mainline kernel.
Given that the downstream kernel is just intended for debugging in this case,
it seems convenient to add them to pmaports so I don't need to go search for
them in case I need them again in the future.
[ci:skip-build] Already built on CI
Resize the partition when using a pre-built image. We didn't notice that
this was missing, because N900 images are new and we only tested from
pmbootstrap install --sdcard, which already uses the full SD card size.
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
modules-load.conf was completely unused by this package,
not installed anywhere. brcmfmac is loaded automatically anyway.
Sort values in sources= alphabetically
This is needed with the 5.11 kernel. Also adjust the vram & cma sizes
for all msm8974 devices.
The CMA size is 256MB as set in the kernel config.
VRAM is default 16MB although it is set to 192MB with a kernel patch;
but set it manually for all devices to make it possible to remove this
patch in the future - until we have IOMMU working.
still missing:
* audio
* lcd backlight control
* touchscreen driver
* front camera
* accelerometer mount fix (driver seem not to support mount-matrix)
* 3D acceleration
* HDMI support
This allows loading nonfree fw from rootfs (/lib/firmware), to work
around: https://source.puri.sm/Librem5/linux-next/-/issues/290
This change will break wifi unless the nonfree
firmware-siliconlabs-rs9116 package is installed.
New mainline port with most things working (usb/wifi/bt/3d-accel/sound/gps).
Modem/calls/sms/mobile-data should work but couldn't test it recently
due to broken devices.
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
(Also sync with Alpine while I'm at it...)
This is necessary for mobile data to work on MSM8916-based devices
after some changes in the network driver (bam-dmux) to operate in
Raw-IP mode instead of Ethernet mode (which is somewhat broken).
* 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]
Actually the display in asus-me176c has a width of 800px, which means
that the splash screen isn't perfectly centered. Correct this in
deviceinfo to make it show up correctly.
Also, add configuration file for Phosh to reduce scaling a bit to 1.75.
It's kind of subjective but scaling = 2 definitely feels too large.
[ci:skip-build]: already built successfully in CI
This is 3.24.27 w/ Purism's mobile UI patches in their fork. According
to Purism, 3.24.27 resolves some stability issues (like a segfault when
scrolling)
[ci:skip-build]: already built successfully in CI
There's a race condition between when the pwmled device is initialized,
which kicks off a feedbackd udev rule that configures the led trigger to
'pattern', and when ledtrig_pattern actually loads. It seems to mostly
load after the rule runs, so the trigger is never set to 'pattern' on
boot.
This removes the race by building the ledtrig_pattern driver into the
kernel.
[ci:skip-build] Already build successfully in CI
This patch fixes a fairly severe performance regression with wifi on the
L5 (something like 20x improvement in performance with this patch)
[ci:skip-build] Already build successfully in CI
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.
The device has been renamed from fujitsu-m532 to pegatron-chagall since several rebrands of this board exist (Olivetti Olipad3, Siragon 4N, etc.), and Fujitsu M532 is just one of those.
Signed-off-by: Raffaele Tranquillini <raffaele.tranquillini@gmail.com>
Ship mode via the mechanism used by purism doesn't work; it's either not
possible or outside my understanding to run an openrc runscript with a
busybox init on *poweroff* and *not reboot*, which is what is required
for this to work properly..
This module param requires a corresponding kernel patch to enable ship
mode support in the bq25890-charger module
This does not work as expected, CI doesn't run for x86 and armhf on
master too. An attempt to fix this was made in MR 2030, but it didn't
work as expected and it's not worth looking into this further right now.
This reverts commit d695455f08.
Changes from purism:
- 2 second boot delay removed
- This includes an updated DDR memory training firmware version.
- patch to work around wifi device not being available on boot
Package changes:
- u-boot installed in location consistent with other pmaports/u-boot
packages
- update-u-boot script added for upgrading u-boot on the device
- devkit u-boot split off into a sep. subpackage
This disables ccache in the CI when building packages. I think ccache is
not necessary since the CI will never build a package twice in the same
pipeline, and ccache dir is not preserved for use between pipelines.
There is a real time cost to compiling with ccache enabled on the
initial compile (compressing objects for cache, etc), and some testing
with building the linux-purism-librem5 kernel in the CI shows this cost
can be significant... ~160 minutes when ccache is enabled vs ~105
minutes when it is disabled with this patch.
kernel compile CI runs referenced:
https://gitlab.com/postmarketOS/pmaports/-/jobs/1087602863https://gitlab.com/postmarketOS/pmaports/-/jobs/1087956999
Some testing on my laptop using osk-sdl with and without ccache for
initial compile:
ccache disabled:
$ rm _build -r && CCACHE_DISABLE=1 meson _build >/dev/null && CCACHE_DISABLE=1 time meson compile -C _build
ninja: Entering directory `_build'
[10/10] Linking target osk-sdl
7.76
$ rm _build -r && CCACHE_DISABLE=1 meson _build >/dev/null && CCACHE_DISABLE=1 time meson compile -C _build
ninja: Entering directory `_build'
[10/10] Linking target osk-sdl
7.89
$ rm _build -r && CCACHE_DISABLE=1 meson _build >/dev/null && CCACHE_DISABLE=1 time meson compile -C _build
ninja: Entering directory `_build'
[10/10] Linking target osk-sdl
7.71
ccache enabled:
$ rm /tmp/ccache _build -r && CCACHE_DIR=/tmp/ccache meson _build >/dev/null&& CCACHE_DIR=/tmp/ccache time meson compile -C _build
ninja: Entering directory `_build'
[10/10] Linking target osk-sdl
8.62
$ rm /tmp/ccache _build -r && CCACHE_DIR=/tmp/ccache meson _build >/dev/null&& CCACHE_DIR=/tmp/ccache time meson compile -C _build
ninja: Entering directory `_build'
[10/10] Linking target osk-sdl
8.46
$ rm /tmp/ccache _build -r && CCACHE_DIR=/tmp/ccache meson _build >/dev/null&& CCACHE_DIR=/tmp/ccache time meson compile -C _build
ninja: Entering directory `_build'
[10/10] Linking target osk-sdl
8.54
`qt5-qtquickcontrols` and `qt5-qtgraphicaleffects` are needed, else
qtwebbrowser shows a blackscreen on start.
[ci:skip-build]: already built successfully in CI
This includes a new librem5-base config release, the most notable change
being some mic echo cancellation changes in pulseaudio config.
Upstream changelog:
https://source.puri.sm/Librem5/librem5-base/-/commit/351958ffc0ff21e31647d69e23e47aefdf2ec396
Note: I did not include the upstream change to disable wifi PM. I don't
find the performance to be so bad that it's worth giving up some battery
efficiency for.
Note: the librem5-base thing from purism has a new naming/versioning
format, which is in line with some of their other projects, so the
APKBUILD has been updated to support that too
Downstream kernel is outdated and no longer maintained by us. Thus,
removed. The linux-xiaomi-beryllium-mainline kernel is removed because
its superseded by the common sdm845 kernel and is no longer needed.
Let pmbootstrap build the package in the native chroot. This is
important for the v21.03 branch, which needs to ship its own
cross-embedded toolchain, as the one from Alpine is only in testing and
therefore not available in the Alpine v3.13 branch that pmOS v21.03 is
based on. By using the native branch, it is enough to build the
cross-embedded toolchain for x86_64, and we can avoid qemu related
errors when attempting to build it for arm architectures.
As a nice benefit, this makes compilation of the package faster on edge,
too.
[ci:skip-build]: already built successfully in CI
The previous implementation of this caused upower to select a thing
called 'flash_strobe' in the L5, which doesn't operate like a
flashlight. This changes the detection logic to look at the suffix, on
the pinephone the device ends in ':flash', and on the L5 it ends in
':torch'.
fixed#967
This patch is in purism's fork and it removes messages like this when
starting upower on the librem5 by properly detecting/setting the type:
TI:15:11:12 did not recognise USB path /sys/devices/platform/soc@0/30800000.bus/30a20000.i2c/i2c-0/0-003f/power_supply/tps6598x-source-psy-0-003f, please report
...
TI:15:11:12 did not recognise USB path /sys/devices/platform/soc@0/30800000.bus/30a50000.i2c/i2c-3/3-006a/power_supply/bq25890-charger, please report
This adds a new subpackage that installs dependencies and configures the
smartcard reader on the librem 5. Some setup is required before this
will work (e.g. upgrading reader firmware), the L5 wiki page will have
this information.
The pcsc init script was forked into this package to allow for powering
on the reader *before* the service started. Doing this in a separate
init script would have caused the reader to power on regardless of
whether the pcsc service was set to start, which is not desirable since
it should *only* be powered on when pcsc is starting
So far the debug-shell in initfs works. The device uses dynamic
partitions, so that has to be figured out to get a proper rootfs.
One thing to look out for is that mount_subpartitions task in initfs
hangs, so pmos_boot=sth was added to kernel cmdline to skip it. This is
also related to dynamic partitions, anyway.
[ci:skip-build] Already built on 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>
Handle USSD QMI indication messages.
Add support for UCS2 USS Data coding scheme.
Check for User Action TLV type.
Downstream the accepted ofono patch as temporary solution.
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.
From TI, they must not be redistributed in a modified form. They
are built against GLIBC 2.29
To be functional, they need to be paired with a special build
of Mesa. There are subpackages for each different soc and only
one soc can be installed at a time. The Exynos S5PV210 subpackage
uses the same SGX540-120 as the ti443x blobs, but needs a binary
edit to be loaded. Due to the license restrictions, it must be
done in a post-install script.
We may wish to distribute some files that are explicitly
non-free, and it makes sense to place them in a separate
non-free directory rather than in main.
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.
This has upstreamed fixes for call audio on the L5, but upstream hasn't
made a release yet. In the meantime, this is needed for calls to work on
5.11.0 and later kernels
[ci:skip-build]: won't finish in time
Purism has changed the kernel name they used, so that's reflected in the
apkbuild.
This kernel includes patches for renaming the audio device, and requires
a corresponding upgrade to the device package to bring in the new ucm2
config changes for that.
Cypress bought the brcm WiFi stuff from broadcom so they want their firmware to
be called cyfmac instead of brcmfmac
a lot of brcmfmac firmware is now symlinked to cyfmac
This package is no longer used, as the OnePlus 6 will now use the
linux-postmarketos-qcom-sdm845 package.
Signed-off-by: Caleb Connolly <caleb@connolly.tech>
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
The TLVs are documented in GobiAPI. I pass 0xff for the call ID, as the
stock RIL appears to always do. I would guess it means "current foreground
call."
The call ID is returned in TLV 0x10, but I didn't implement parsing of
that.
Co-authored-by: Joey Hewitt <joey@joeyhewitt.com>
Acked-by: Alexey Andreyev <aa13q@ya.ru>
There is already samsung-a3ulte in community, and the devices actually
share the same kernel, device tree, and basically everything except
firmware. We just need separate firmware packages because Samsung uses
different secure boot certificates on a3lte and a3ulte.
They also share the same wiki page which suggests installation using
the pre-built images now, so having pre-built images only for
samsung-a3ulte is quite confusing for users.
The situation is similar as for samsung-a5ulte and samsung-a5lte
which also are both in community already.
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.
Not sure why "qemu" is listed in the depends of bq-paella-downstream,
that does not really make sense. Also fixup the pkgdesc of the
nonfree-firmware subpackage, the modem works somewhat now.
[ci:skip-build]: already built successfully in CI
The "bq-picmt" device port is actually for the same device as the
"bq-paella" device package in community, just with the downstream
kernel. This is useful occasionally for testing.
However, the name applies that this device package should be used
on the BQ variant of the BQ Aquaris X5 (picmt) and the mainline
package should be used on the Cyanogen variant (paella). Actually
both packages work on both variants since the hardware is the same.
To make that clear, rename "bq-picmt" to "bq-paella-downstream".
Right now the "bq-picmt" device port is quite confusing.
It's actually for the same device as "bq-paella", which is in community
and uses the mainline kernel, except that it uses the downstream kernel.
Having the downstream kernel packaged is useful for testing sometimes,
but otherwise the device package is completely unsupported.
The mainline port works much better. The downstream port should only
be used if you know what you are doing (e.g. because you want to test
if something is working on downstream but not mainline) and therefore
it should not show up in "pmbootstrap init" by default.
Move the device package to unmaintained to implement that.
Also, add an "# Unmaintained: ..." comment that will be displayed
in "pmbootstrap init" if the device is selected anyway.
Unmaintained devices are device packages that:
- Are known to be broken in some way without an active maintainer
who can investigate how to fix it, or
- Have not received any updates for a very long time, or
- Are discouraged from using because they are just intended for testing.
An example for this are ports using the downstream kernel for devices
which have a mainline port that is working quite well.
Unmaintained devices are still built by bpo (otherwise it would not make
sense to keep them), but they do not show up in "pmbootstrap init".
However, it is possible to manually select them by entering the name.
pmbootstrap will warn in that case.
Unmaintained packages should have a # Unmaintained: <reason> comment
in the APKBUILD, this comment is displayed in "pmbootstrap init"
so that the user knows why the device should not be used unless they
know what they are doing.
In this git repository, everything is about aports, this distinction was only
useful back in the day when pmbootstrap and pmaports were in the same git
repository.
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
GNOME settings daemon notifies the user that the device will
suspend soon through a notification.
However, this triggers the notification LED which stays on during
suspend, causing unnecessary power consumption.
Plasma 5.20.90 was being built while a libgps upgrade happened. It seems
that even though the package had already been built for every arch, it
had not for x86 yet and thus our plasma-workspace is still depending on
the older package and fails to install because it isn't available
anymore
Just bump the pkgrel so it now gets correctly build against libgps.so.27
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.
According to Purism, the imx8mq-librem5.dtb alias is going away soon,
and we should be using the -r2 dtb. The -r2 dtb (which represents
Birch/Chestnut L5 variants) is most compatible, it'll boot on later
variants. dtbs for later L5 devices won't work on older devices.
Seems there are more places where ecm_find_qmlmodule is used
To fix the build from failing on armv7 we should disable them all
[ci:skip-build]: don't try to build all depends, takes too long
[ci:skip-vercheck]: unblocking armv7 build, no need to bump pkgrel
The build is still failing, probably because ecm_find_qmlmodule is not
only present in the main CMakeLists.txt, but also in others.
$ git grep ecm_find_qmlmodule
CMakeLists.txt:ecm_find_qmlmodule(QtQuick 2.3)
CMakeLists.txt:ecm_find_qmlmodule(QtQuick.Controls 1.2)
CMakeLists.txt:ecm_find_qmlmodule(QtQuick.Layouts 1.3)
CMakeLists.txt:ecm_find_qmlmodule(QtQuick.Window 2.1)
CMakeLists.txt:ecm_find_qmlmodule(QtMultimedia 5.0)
CMakeLists.txt:ecm_find_qmlmodule(org.kde.kquickcontrolsaddons 2.0)
CMakeLists.txt:ecm_find_qmlmodule(org.kde.plasma.core 2.0)
CMakeLists.txt:ecm_find_qmlmodule(org.kde.plasma.components 2.0)
kcmkwin/kwindesktop/CMakeLists.txt:ecm_find_qmlmodule(org.kde.plasma.core 2.0)
kcmkwin/kwineffects/CMakeLists.txt:ecm_find_qmlmodule(org.kde.plasma.core 2.0)
[ci:skip-build]: don't try to build all depends, takes too long
[ci:skip-vercheck]: unblocking arm build, no need to bump pkgrel
Seems we missed these when forking Plasma and now the armv7 builders are
failing on it
[ci:skip-build] Won't succeed anyway as the packages haven't been
uploaded to the repos yet, so pmbootstrap will try to build the entirety
of Plasma and fail because it takes too long
[ci:skip-vercheck] No need to bump pkgrel
This is a generic package for devices which use x86_64 CPU and 32-bit
EFI. Most distributions don't provide installation for 32-bit EFI, so
installation is not user-friendly.
Actually, these tablets deserve device-specific packages (I am going to
make ones for ASUS VivoTab Note 8 and ASUS Transformer Book T100TA), but
this one includes basic functions and can be booted on any 32-bit EFI
tablet with disabled secure boot and missing device-specific package.
I guess 32-bit EFI with 64-bit CPU is Intel's "feature" and AMD doesn't
have such stuff, so this package will be installed only on devices with
Intel CPU, unlike device-tablet-x64uefi which can be installed on any
x86_64 PC. So i decided to enable some Intel specific things (userspace
GPU stuff and alsa-ucm-conf).
I used for reference device-tablet-x64uefi and
device-trekstor-surftabduow1 packages. This package also can be used as
a reference for device-specific ones.
2.0.15 is a development 'version' (it'll never be released), and will be
replaced by 2.0.16 when that is released. The reason for forking this
is because there are some issues that are resolved here that prevent
SDL2 from working on the Librem 5. The fixes cannot be easily
backported to 2.0.14, hence the fork and upgrade.
fixes#950
[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.
[ci:skip-build] Never succeeds in time
[ci:skip-vercheck] We need our Mauikit to be a rel newer than in Alpine
repos, but the CI doesn't like it
This includes a big rewrite in kwin which should increase the
performance a whole lot, and some awesome other stuff
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
Added support for Motorola Moto E 2014 codename: condor
It is booting, has usb, battery, flashing needs special fastboot command for the boot partition
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.
- Upgrade librem5-base to v33
- Include the haptic vibration driver in initfs for supporting osk-sdl's
haptic feedback feature
- remove gps udev rule in pmaports in favor of using rule from
librem5-base
- install modem audio udev rule from librem5-base
- add openrc service for putting device into 'ship mode' on shutdown
(prevents battery from slowly draining)
- include Evergreen/r4 dtb in /boot
- Fix audio with port of ucm config to ucm2 (patch submitted upstream
here: https://source.puri.sm/Librem5/librem5-base/-/merge_requests/214)
Port based on an unofficial LineageOS port
from https://www.los-legacy.de/17.1/zerofltexx, using kernel from https://github.com/Exynos7420/android_kernel_samsung_exynos7420/
What works:
- Kernel boots
- Display and touch input (tested with Weston)
- USB networking
Note: I removed camera support in kernel config for now, as there were related kernel crashes.
Wifi doesn't work either yet because the firmware dependencies/paths need to be fixed first.
- 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
The modprobe.conf is not necessary on those devices because they already
load the panel module using deviceinfo_modules_initfs. Let's skip the
modprobe.conf in that case so we don't need to add all panels in two places.
A hack shamelessly stolen from Manjaro. Plasma Mobile runs in the user
session and needs direct access to the sys entries of the flashlight to
be able to toggle it in the GUI
[skip ci] Broken, thinks there is an unreferenced file while there is
not
Move the shelli-specific alsa config from MR 1741 into a subpackage that
only gets installed together with shelli.
With the config installed, programs using alsa instead of pulseaudio,
can't be controlled through the volume setting in Phosh anymore (and
probably other UIs too). Shelli doesn't use pulseaudio.
Change the path of the config file like in MR 1877, so it's easier to
override it if necessary.
While at it, improve the APKBUILD slightly by fixing the install_if of
the phosh subpkg (should depend on =$pkgver-r$pkgrel, see APKBUILD
reference), and fix long lines.
Fix about dialogs not being adaptive and all other changes by Purism,
which are the reason why we use the fork in the first place. The patches
didn't get applied in the previous version we had packaged in
postmarketOS, because the patches are in debian/patches now.
Remove check-version.py, it's in the source tree now.
Simply disabling FIMC IS does not work however due to compilation
errors and a null pointer dereference. 01-fix-FIMC-IS-disabling.patch
takes care of this.
As with other exynos devices some additional things had to be disabled
to make the kernel compile after FIMC IS had been disabled,
specifically:
CONFIG_CAMERA_EEPROM
CONFIG_VIDEO_EXYNOS_MIPI_CSIS
CONFIG_LEDS_MAX77803
Apart from that we also have:
02-netfilter-symbols.patch, which fixes another compilation error.
03-usb_gadget-set-random-rndis-host-MAC-address-to-prev.patch (taken
from another device) which prevents host mac address being set to
00:00:00:00:00.
Kernel sources have been changed to the lineage-16.0 branch in the
exynos5420 repo, as that is where development happens at the moment.
bpo is currently failing to build images with the on-device installer,
because calamares needs to be rebuilt against libboost_python38.so. Fork
it until that's resolved. [ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
Related: https://builds.sr.ht/~postmarketos/job/398948#task-img_installer-307
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.
based off from lineage os, manages to boot including ssh over usb.
had to disable:
CONFIG_HTC_RADIO_SMEM
CONFIG_HTC_MODEM_NOTIFIER
CONFIG_MSM_SMP2P
CONFIG_UIO_MSM_SHAREDMEM
[ci:skip-build]: already built successfully in CI
This adds eg25-manager for managing modem power in userspace instead of
relying on the modem-power stuff in the kernel. The userspace
eg25-manager has proven to be more reliable than using modem-power.
An older setup-modem script is installed for ofono, since eg25-manager
cannot interface with ofono (yet).
The eg25 init script was removed since it only dealt with configuring
the modem-power driver in the kernel
[ci:skip-build]: already built successfully in CI
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
Instead of running the entire setup_usb_network_configfs function we
run the parts that are actually necessary for
setup_usb_network_android to succeed when it is run afterwards.
USB networking, Touchscreen and display are working.
CONFIG_SND_SOC_QDSP6V2 is omitted from kernel config for now as the resulting driver fails to build.
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
Changes:
- Depends on soc-sprd-audio-sc8830 package for audio support
- Includes fixes for X11 and color mode
- Switches to dtbtool-sprd
[ci:skip-build] Already built fine on CI in a MR
This syncs u-boot with the upstream branch, and includes the following
new features:
- support for board rev in u-boot
- fix uart4
[ci:skip-build]: already built successfully in CI
SEC_RESTRICT_ROOTING is a Samsung-specific option,
which makes unable to get root permissions
on the device.
Needed for postmarketos/pmbootstrap!2000 to be merged.
[ci:skip-build] Builds fine locally
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: https://github.com/elogind/elogind/commit/8358fc595027145bf1f3ff572a4c3f23b232830a
* /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.
postmarketos-base will soon build its source="" variable with a shell
function. Support this use case by not trying to parse source="" with
pmbootstrap anymore, but rather parsing the trivial sha512sums
variable.
Don't print a message for each APKBUILD that is getting parsed. pytest
will display the stdout below the raised exception, so with the print
one had to scroll up a lot to find the actual error message. Now it is
printed at the bottom.
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]
Device: Asus Zenfone Max ZC550KL
MSM8916
Mainline Kernel
Works:
- Boots
- external sdcard
- Wifi/bt
- Display
- Touchscreen
I'm still working on this device. You can expect more things to work in
the future.
New upstream ALSA/PulseAudio release, new UCM regressions - of course!
Introduce some new hacks to make the ALSA UCM configurations work again.
This fixes weird "Combination of Speaker,Primary Microphone" outputs
appearing in the PulseAudio mixer.
And while we're at it, some minor improvements/additions:
- Default to Speaker/PrimaryMic instead of Headphones/Headset
I believe this is just a workaround until headphones detection
works properly.
- Add UCM configurations for oppo-a51f and lenovo-a6010
This packages the libhandy work in dino's feature/handy branch, which
makes the UI quite usable on mobile displays. A couple of windows don't
work well yet (e.g., the setting window), but chatting/omemo/file
transfer all work pretty well.
* Mainline kernel: enable installation of Wi-Fi firmware.
Now that we have Wi-Fi support in mainline kernel, use it.
* Mainline kernel: adjust description of mainline kernel
subpackage; we still cannot recommend it over downstream,
but it is not so experimental anymore.
* Downstream kernel: add workaround for broken SSH:
use dropbear instead of openssh server. See #808https://gitlab.com/postmarketOS/pmaports/-/issues/808
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
- if (posix_memalign (&__ptr, __alignment, __size) == 0)
+ if (_mm_posix_memalign (&__ptr, __alignment, __size) == 0)
return __ptr;
else
return NULL;
--
2.29.2
Loaded 100 of 3462 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.