unity8/location-service: upgrade to 0_git20200818
unity8/qmenumodel: upgrade to 0_git20201008
unity8/settings-components: upgrade to 0_git20201125
unity8/system-settings: upgrade to 0_git20201218
unity8/trust-store: upgrade to 0_git20201008
unity8/ubuntu-download-manager: upgrade to 0_git20201109
unity8/ubuntu-ui-toolkit: upgrade to 0_git20201106
unity8/unity-api: upgrade to 0_git20201016
unity8/url-dispatcher: upgrade to 0_git20200925
unity8/lomiri-deviceinfo: new aport
unity8/click: upgrade to 0_git20200517
unity8/gmenuharness: upgrade to 0_git20200517
unity8/gsettings-qt: upgrade to 0_git20200715
unity8/libusermetrics: upgrade to 0_git20200517
unity8/platform-api: upgrade to 0_git20200720
unity8/qmenumodel: upgrade to 0_git20171227
unity8/qtmir: upgrade to 0_git20200610
unity8/settings-components: upgrade to 0_git20200527
unity8/system-settings: upgrade to 0_git20200827
unity8/trust-store: upgrade to 0_git20200527
unity8/ubuntu-app-launch: upgrade to 0_git20181230
unity8/ubuntu-download-manager: upgrade to 0_git20200118
unity8/ubuntu-themes: upgrade to 0_git20200211
unity8/ubuntu-ui-toolkit: upgrade to 0_git20200722
unity8/unity-api: upgrade to 0_git20200512
unity8/unity-system-compositor: upgrade to 0_git20200813
unity8/unity8: upgrade to 0_git20200908
unity8/url-dispatcher: upgrade to 0_git20181007
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
From d9942a2e54f69dee9c03e5e4339a6c62473e6845 Mon Sep 17 00:00:00 2001
From 2ea8b4f0d7cd8e96436ca14ef7f08615496d6d38 Mon Sep 17 00:00:00 2001
From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
Date: Sun, 30 Aug 2020 17:59:45 +0200
Subject: [PATCH 32/40] gcc-go: Fix handling of signal 34 on musl
Subject: [PATCH] gcc-go: Fix handling of signal 34 on musl
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@@ -39,5 +39,5 @@ index 11e4ec436bd..fe866eacb27 100644
if test "${GOOS}" = "aix"; then
--
2.29.2
2.31.0
Loaded 100 of 1215 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.