Fixes CI being broken everywhere:
File "/builds/postmarketOS/pmaports/.ci/testcases/conftest.py", line 32, in args
init_args(args)
File "/tmp/pmbootstrap/pmb/helpers/args.py", line 94, in init
context.ccache = args.ccache
^^^^^^^^^^^
AttributeError: 'PmbArgs' object has no attribute 'ccache'
Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7670>
(cherry picked from commit a652a6f334)
polkit-elogind has provider priority 10 in Alpine, so it would actually
end up preferred over the systemd polkit. Fix this by increasing the
priority of the provider. This went unnoticed so far because pmbootstrap
always preferred providers with exact name matches so far.
Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7373>
(cherry picked from commit 7c8101aa9a)
Note by ollieparanoid: cherry-picking this to v25.06 fixes pmbootstrap#2693
The busybox-static packages were used by devices using the obscure
"isorec" boot method (that I originally introduced with the
samsung-i9100, based on what I saw in the downstream kernel repo at the
time IIRC). This method is fairly limited, e.g. we can't append a
cmdline easily according to MR 6917. After the samsung-i9100 has been
switched over to use u-boot in MR 6921, all users of busybox-static are
now in device/archived/. Let's remove the busybox-static packages so
there are less packages we need to sync with Alpine.
Backport note: no device in v25.06 uses busybox-static-*, so it can
safely be removed.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7145>
(cherry picked from commit 38245b028f)
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7417
Mirror some of the changes to the Pixel 3a:
device-google-sargo: add sensors support (MR 5329)
google-sargo: add gpi to modules-initfs to fix fde (MR 5347)
google-sargo: do not enable HexagonRPCD on every upgrade (MR 5400)
google-sargo: stop HexagonRPCD on suspend (MR 5400)
google-sargo: make necessary userspace changes for kernel v6.10.2
device-google-sargo: remove nonfree_firmware subpkg (MR 6107)
device-google-sargo: Fix hexagonrpcd on systemd (MR 6147)
device-google-sargo: install hexagonrpcd conf to new location (MR 6217)
device/*: explicitly depend on openrc if install scripts call rc-update
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6718
(cherry picked from commit d1f8b4179f)
Remove the systemd-specific MOTD that says it is still in preview.
v25.06 is about to come out, the first stable release with systemd!
Any future adjustments to make it use fancy ascii colors etc. should be
made in postmarketos-base instead.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6669
[ci:skip-build]: already built successfully in CI
(cherry picked from commit c8b5872b56)
Configure the new keyboard Stevia to have arrow keys by default in the
terminal. The previous default terminal Squeekboard had separate arrow
keys as well.
While it is possible to move up/down/left/right with Stevia after
pressing the space bar and moving the finger into a given direction, I
found that it:
* Is less precise (e.g. going up exactly 1 command in the terminal,
which is my main use case, requires some effort to not go up 2 or 3
commands by accident).
* Takes longer to do this action vs. having a separate button (you need
to press space for ~a second until it goes into that special movement
mode and then take more time to carefully move where you want, a
simple button press is much quicker).
* I saw other users note on Mastodon that moving down is cumbersome for
them, given that there is not much space towards the bottom of the
screen below the space bar.
Having a lot of buttons in the list is fine IMHO, they can be scrolled
through quickly by swiping left and right.
Related: https://fosstodon.org/@phosh/114026426425496074
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6609
That's the best i came up with without changing the provider priorities
in Alpine upstream. This would also work but since p-o-s- self-describes
it self as the secondary choice for Phosh's OSK I chose this.
> Stevia is an alternative keyboard for Phosh. It can replace the default OSK
> squeekboard.
To switch from our default away:
apk add !postmarketos-ui-phosh-default-osk <squeekboard/phosh-osk-stub>
If you then want to switch again:
apk add <new osk> !<current osk>
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6605
This is needed by some(all?) Xwayland implementations too, so don't make
installing it exclusive to having the actual X11 xorg-server installed.
This fixes an issue where Xwayland doesn't work on COSMIC.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6658
[ci:skip-build]: already built successfully in CI
(cherry picked from commit 34d62b85da)
The UCM for some devices, such as MT8192 Chromebooks, relies on the
alsactl save/restore service to initialize default audio mixer settings.
Without this, the audio server is unable to control the sound card.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6556
[ci:skip-build]: already built successfully in CI
(cherry picked from commit 34812abec4)
This test is apparently wrong a lot now, so let's disable it. Audio
apps should inhibit sleep/suspend on their own, or worst case you can do
something like `systemd-inhibit <audio app>`.
We still want sleep-inhibitor around for now to inhibit sleep/shutdown
when an SSH client is connected or when apk is running.
Fixes#3745
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6612
[ci:skip-build]: already built successfully in CI
(cherry picked from commit 492fead1ce)
These failed to build in v25.06 because they use packages during the
build that are only listed in depends, not in makedepends. pmbootstrap
is more strict about it these days, so fix it.
[ci:skip-vercheck]
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6626
[ci:skip-build]: already built successfully in CI
(cherry picked from commit c1b3ec05f3)
gitflic.ru broke something (due to anti-bot protection?) so that
release download URLs are not accessible for automated services
even though they can be downloaded in a browser. I'll talk to
their support, but for now host file somewhere else.
Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6625
[ci:skip-build]: already built successfully in CI
(cherry picked from commit e2a9015897)
The u-boot-sourceparts-pocketpc package doesn't build for some reason.
Let's remove it for now to not unblock v25.06 bringup, we can add it
back if somebody fixes the build. I'll leave the kernel since that has
already built successfully.
Related: https://builds.sr.ht/~postmarketos/job/1505453
This device depends on a downstream kernel, so it should have been in
the downstream category and therefore removed from stable.
Fix for master is in pmaports!6624.
pmbootstrap only installs makedepends when building packages, not the
depends as it did in the past. Adjust this package to fix:
>>> firmware-samsung-a6lte: Entering fakeroot...
/usr/bin/abuild: line 21: can't open /lib/firmware/brcm/brcmfmac43456-sdio.bin.zst: no such file
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6617
[ci:skip-build]: already built successfully in CI
(cherry picked from commit fa0f9e64f0)
This isn't needed anymore as now we build each package only once:
* Now we build a systemd-stage0 package first, against which we build
dbus and polkit.
* The proper systemd package gets built against these afterwards.
Doing it this way simplifies things a lot:
* Can do the bootstrap iteratively, instead of only in one go (and if it
fails having to start all over again).
* Makes pmbootstrap and bpo easier to maintain as we can drop this
bootstrap logic.
* CI works as expected again when modifying multiple packages that would
need to be bootstrapped.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6440
(cherry picked from commit 991d91e0a5)
Some Wayland compositors (tested with GNOME) are broken because of the
mediatek DRM driver wrongly announce AFBC on SoCs w/o AFBC displaying
support.
Pick a patch from mailing list to fix this issue.
Test is done on a kodama with google-kukui generic port and GNOME Shell
recipe.
Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6589
[ci:skip-build]: already built successfully in CI
(cherry picked from commit 92e3b88f6b)
Fails to build, remove it from stable:
Traceback (most recent call last):
File "/home/pmos/build/src/hwtest-0.7.0/setup.py", line 1, in <module>
from setuptools import setup
ModuleNotFoundError: No module named 'setuptools'
mbwl depends on wlroots0.17-dev from alpine testing, which isn't
available in alpine stable. Remove it from postmarketOS stable, if
somebody wants to have it in pmOS stable then add it back in a merge
request with all dependencies.
The abuild package has been forked to temp/abuild and
extra-repos/systemd/abuild in the past. The systemd one is legacy from
the initial systemd repo bootstrap method that is currently broken and
will be replaced soon (see MR 6440). While the new one is not ready yet,
this package is currently not useful so remove it to fix the failing
upstream-compat check (currently it is on a different version than
temp/abuild).
[ci:skip-vercheck]: just removing a comment in temp/abuild
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6573
[ci:skip-build]: already built successfully in CI
Since non-booting and non-packaged devices were merged into one list, any
device that was listed as booting but wasn't packaged would get detected
as non-booting. That created a loop where to pass CI one would have to set
packaged = yes, which they shouldn't do until the port has actually been
merged, which they can't do unless it passes CI...
Now the section has been split into two sub-sections, thus the non-booting
section is separate once again. This fixes the issue, but we need to tell
the CI script to use that section name.
This effectively reverts commit e9d2ac8021.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6579
[ci:skip-build]: already built successfully in CI
Analog to a recent change in Fedora:
https://src.fedoraproject.org/rpms/libcamera/pull-request/14
This change allows to easily create virtual cameras, which is helpful
for testing and debugging purposes, both for system components like Mesa
and Pipewire as well as various apps.
The virtual cameras can be enabled by:
```
cd /usr/share/libcamera/pipeline/virtual
cp virtual.yaml.example virtual.yaml
systemctl --user restart pipewire
```
Using the test option allows to keep the arch dependent automatic pipeline
selection in place. It also enables building of the vimc pipeline -
which is very small - and all tests, however those don't get included
into the packages.
The new dependency, libyuv, is very small and already installed by
default for DEs like gnome-mobile.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6567
[ci:skip-build]: already built successfully in CI
Using systemd-tmpfiles to create the directory in /tmp seems to be the most systemd way to do it.
The config file for the systemd has a different format because the format of the openrc file doesn't lend itself to being used in a systemd service.
Thanks to @craftyguy for suggested fix.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6529
Add the new non-qcom name from phy-qcom-snps-eusb2 (only in linux-next so
keep the old name as well for now), and add the missing repeaters for USB
ports on many WoA laptops (ptn3222 for USB-A and ps883x for USB-C).
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6538
[ci:skip-build]: already built successfully in CI
Shells (and DEs!) that set environment from /etc/profile.d will end
up sourcing 20locale.sh from alpine-baselayout. This file will set
`LANG=C.UTF8`, and this will override whatever systemd-localed/systemd
sets LANG to. In other words, locale.conf is effectively ignored. I
hit this issue when debugging why the date in COSMIC was always `M05`
instead of `May`, and why various COSMIC components failed to detect the
locale (because it was set to C.UTF8)
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6535
[ci:skip-build]: already built successfully in CI
From my testing the different modules are roughly needed due to:
* Without the aes stuff unlock fails with
trusted_key: encrypted_key: failed to alloc_cipher (-2)
* Without i2c_brcmstb hdmi fails to come up due to
missing dependencies:
platform axi:gpu: deferred probe pending: (reason unknown)
* The sound stuff also seems to be a dependency of the drm hdmi driver
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6536
We are already passing a list of modules through the modules-initfs
file. By dropping modules from cmdline we silence this dmesg warning:
[ 0.000000] Unknown kernel command line parameters "modules=loop,squashfs,sd-mod,usb-storage", will be passed to user space.
Out of the listed modules, only squashfs is actually built as a module
by linux-rpi, so most of them do not make sense in any case.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6536
The same patch is already used on 3 devices, to make it shared.
WARNING: vmlinux.o(.devinit.text+0x1bd4): Section mismatch in reference from the function msm_pm_boot_probe() to the function .init.text:msm_pm_boot_init()
ERROR: postmarketos-base-downstream-disable-udev-v4l-2-r1: trying to overwrite usr/lib/udev/rules.d/60-persistent-v4l.rules owned by systemd-udevd-257.5-r0.
The APKBUILD reference seems to suggest that versioned provides= can
have any valid version string (e.g. 0.12-r3) in the `provides=` var, and
that it doesn't have to match `$pkgver-r$pkgrel` for the APKBUILD. IIRC
this test intends to catch typos like `provides=foo=$pkgver-$pkgrel`, so
this makes it pass when any valid version string is given.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6475
[ci:skip-build]: already built successfully in CI
alpine-base directly depends on openrc. We have had different[1]
conversations[2] with upstream. And the main conclussion[3] has been:
if you want to do something different, just depend on things
yourself. This is indeed what docker images do. So let's just get the
things that we want from alpine base (quite some!), and ignore what we
don't want (openrc, busybox openrc and init packages). Up until commit
12d125ab8b72f0249fd6aae000170a4fa78a83ab in pmbootstrap every
postmarketOS installation would have alpine-base in
/etc/apk/world. Therefore, we add a versioned provides to
postmarketos-base with a very high version, which conflicts with the
upstream version but should be chosen instead.
alpine-conf is now a dependency of postmarketos-base-openrc, since it
dependes on openrc for calling setup-*
scripts. postmarketos-base-systemd already implements those needed.
Contrary to the first attempt[4], I have kept the dependency on
alpine-release. Changes to that are independent to the usr-merge, and
can be done as a follow-up.
This should allow to drop the fork of alpine-base currently in the
systemd-extra repository!
To this day, every single pmOS installation will have alpine-base in
the world file, which means that systemd installs will the forked
package until users specifically run "apk del alpine-base". We must
add this to release notes and to an edge blog post. Alternatively we
could have an empty package with a very high version providing
alpine-base. This also means that to get installs to work, we need a
pmbootstrap release with[5] on it.
[1] https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/63935
[2] https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/71686
[3] https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/71686#note_435428
[4] https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/5026
[5] https://gitlab.postmarketos.org/postmarketOS/pmbootstrap/-/merge_requests/2580Fixes#2806
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6475
Why is this needed?
To be able to test the usr-merge downstream we need to stop
depending on alpine-baselayout. For that, we need to stop depending on
alpine-base. This is a first step to create a "provides" solution
downstream between openrc and systemd systems, so that in a follow-up
commit we can recreate alpine-base downstream without the hard-coded
openrc dependency. The virtual instead of a versioned dependency means
that:
* In theory systemd and openrc could be installed in parallel. In
practice we avoid that with !openrc in the systemd package and
!systemd in the postmarketos-base-openrc one. There is a lot more
work required with provides (both upstream and downstream) regarding
things like elogind and eudev to be able to even have them
package-wise ready to be installed in parallel
* There must always be one installed. Here we have 3 scenarios:
* pmbootstrap install where pmbootstrap will decide which one
* update from existing install. The virtual makes sure that APK
won't remove the local package because versions changed
* Manual APK work, where the provider_priority or the user will
choose
How does this work? Hypothesis:
* openrc upgrades: the postmarketos-base-openrc remains installed,
moves from being an "install_if", to be there because it fulfills
the postmarketos-base-init requirements.
* systemd upgrades: postmarketos-base-systemd is still in
/etc/apk/world, and it fulfills the new dependency in
postmarketos-base. Nothing happens.
* openrc installs: pmbootstrap will choose one of
postmarketos-base-openrc and postmarketos-base-systemd... But which?
The one with the higher version?
* systemd installs: postmarketos-base-systemd is installed before
anything else is. That means, postmarketos-base-init will already
be satisfied when postmarketos-base gets installed, and openrc will
not be installed
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6475
This is inconsistent through the file. In addition, the "_" prefix is
often used when a function is not directly a split function from a
subpackage, but a "private" function that others call. So remove it to
make it clear that these are subpackage split functions
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6475
It is a lot more prone to breaking than stable, which is the
default. The reason to have them there is also not very clear.
The editor-config has been there since its introduction in
e7a8141113. It might be that at the time
it was not in community or in a stable release. The shellcheck-grep
has been there since 81872a59c1, which
was already 6 years ago. Probably at the time our tooling was a lot
less integrated and stable in alpine as it is today, and everything
was running edge.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6471
This sounds counter-productive and counter-intuitive, but hear me out:
this allows using `needs` to depend on those jobs, without further
templating downstream jobs.
In turn, those jobs depending on a disabled jobs, while they still exist
in the “graph” of the pipeline, are also transitively disabled.
This change, for all intents and purpose, is a no-op regarding the
amounts of jobs being sent to CI runners.
Also updates the comment for the placeholder job, since the wording
could lead to think that *having jobs* is sufficient. In reality, having
jobs that ran succesfully is necessary for the child pipeline to be
successful.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6399
None of the devices running trailblazer actually need all these daemons
or firmware. Move almost everything to recommends so that users can free
up space and so that customised images can be built with
--no-recommends.
Since there are some folks already using trailblazer who DO depend on
these packages, let's try letting users know about this at least.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6239
Add device tree and initial stab at panel driver for the new barnesnoble-encore device.
Changes to be committed:
new file: device/community/linux-postmarketos-omap/0013-arm-dts-Add-barnesnoble-encore-support.patch
new file: device/community/linux-postmarketos-omap/0014-panel-Add-lg-ld070ws1-for-barnesnoble-encore.patch
modified: device/community/linux-postmarketos-omap/APKBUILD
modified: device/community/linux-postmarketos-omap/config-postmarketos-omap.armv7
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6486
[ci:skip-build]: already built successfully in CI
Add device package for barnesnoble-encore, aka Barnes & Noble Nook Color. Device tree and initial stab at panel driver will be added as a separate commit to the mainline omap kernel.
new file: device/testing/device-barnesnoble-encore/APKBUILD
new file: device/testing/device-barnesnoble-encore/deviceinfo
new file: device/testing/device-barnesnoble-encore/modules-initfs
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6486
The gcc-x86_64 is only built for aarch64. Set the depends line to
so:libc.musl-aarch64.so.1 as we had it before 42a50731 ("cross/gcc-*:
upgrade to 14.2.0-r6"). I had set it to so:libc.musl-x86_64.so.1 like
the other cross gccs by accident.
[ci:skip-build]: I'll verify it builds locally before merge.
[ci:skip-vercheck]: version not bumped intentionally.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6501
Bring back manually listed soname depends that were removed in 42a50731
("cross/gcc-*: upgrade to 14.2.0-r6 "). Without these we get various
cross compiler errors (issue 3705).
How these were removed: the cross/gcc-* packages are generated from
"pmbootstrap aportgen", and the code in master currently removes those.
There was a WIP MR that adds the depends again, but it was not finished
(pmbootstrap MR 2521). This needs to be fixed in pmbootstrap and we need
a better process that ensures we can't push broken cross compilers to
master anymore if followed correctly. I'll look into all of that, but
first let's get the cross compilers working again in edge.
[ci:skip-vercheck]: for generated gccs we keep the same pkgrel as in
alpine. I'll force a rebuild in BPO after merge (not
ideal, but fixing this is rather urgent as cross
compilation is otherwise broken in pmOS edge)
[ci:skip-build]: tested locally
Related: issue 3705
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6500
Run aportgen again with pmbootstrap MR 2597 to fix the conflict when
installing cross gcc and native gcc at the same time:
(52/53) Installing gcc-armv7 (14.2.0-r6)
ERROR: gcc-armv7-14.2.0-r6: trying to overwrite usr/lib/libgcc_s.so.1 owned by libgcc-14.2.0-r6.
[ci:skip-vercheck]: for generated gccs we keep the same pkgrel as in
alpine. I'll force a rebuild in BPO after merge (not
ideal, but fixing this is rather urgent as cross
compilation is otherwise broken in pmOS edge)
[ci:skip-build]: tested locally with gcc-armv7
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6497
The value after the colon is defines to apply only to the
XDG_CURRENT_DESKTOP. Phosh upstream defines it for setting a yellow
accent color and no background image, and therefore takes priority if we
don't enforce it to the XDG_CURRENT_DESKTOP value aswell.
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6479
The value after the colon is defines to apply only to the
XDG_CURRENT_DESKTOP. Phosh upstream defines it for setting a yellow
accent color and no background image, and therefore takes priority if we
don't enforce it to the XDG_CURRENT_DESKTOP value aswell.
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6479
The DTS patches for it do not apply anymore, and exkc has said that
their device is now broken, so they are unable to continue maintaining
the port.
As a stop-gap solution, xiaomi-once users who still wish to use
postmarketOS can use the p212 port. They are also welcome to fix the
devicetree patches and upstream them.
Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6412
Installing systemd-resolved by default is still probably not a good
idea (e.g. until #1430 is fixed, at least?), but this adds config for
NM and sd-resolved to get the stub resolver set up automatically when
systemd-resolved is installed manually by a user.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6250
[ci:skip-build]: already built successfully in CI
This helps ensure the logs are actually flushed.
The numbers chosen are relatively arbitrary, and it might be that using
a longer delay, maybe with more messages too, is desirable.
Right now, it's printing 20 times over a span of 2 seconds.
The whole `precision` schtick is how we can approximate float division,
when using only integer division. Then, the important trick is to shove
the given number back into the correct representation for `sleep`, and
careful `printf` application gives us exactly what we need.
Signed-off-by: Samuel Dionne-Riel <samuel@dionne-riel.com>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6335
[ci:skip-build]: already built successfully in CI
- Point shellcheck to the files this is sourcing
- Tell it about the shell in use
- Drop unused variable (grepped around)
The last change is about how the hooks are ran. The warning shellcheck
was giving was that using `if <command...>; then ...; fi` is preferred,
instead of comparing `$?`.
This is exactly what is now being done, so the branches have been
swapped around, and the command (full path to a hook) is being used
within the if condition.
Signed-off-by: Samuel Dionne-Riel <samuel@dionne-riel.com>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6335
alpine-base directly depends on openrc. We have had different[1]
conversations[2] with upstream. And the main conclussion[3] has been:
if you want to do something different, just depend on things
yourself. This is indeed what docker images do. So let's just get the
things that we want from alpine base (quite some!), and ignore what we
don't want (openrc, busybox openrc and init packages). alpine-conf is
now a dependency of postmarketos-base-openrc, since it dependes on
openrc for calling setup-* scripts. postmarketos-base-systemd already
implements those needed.
Contrary to the first attempt[4], I have kept the dependency on
alpine-release. Changes to that are independent to the usr-merge, and
can be done as a follow-up.
This should allow to drop the fork of alpine-base currently in the
systemd-extra repository!
To this day, every single pmOS installation will have alpine-base in
the world file, which means that systemd installs will the forked
package until users specifically run "apk del alpine-base". We must
add this to release notes and to an edge blog post. Alternatively we
could have an empty package with a very high version providing
alpine-base.
[1] https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/63935
[2] https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/71686
[3] https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/71686#note_435428
[4] https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/5026
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6375
Why is this needed?
To be able to test the usr-merge downstream we need to stop
depending on alpine-baselayout. For that, we need to stop depending on
alpine-base. This is a first step to create a "provides" solution
downstream between openrc and systemd systems, so that in a follow-up
commit we can recreate alpine-base downstream without the hard-coded
openrc dependency. The virtual instead of a versioned dependency means
that:
* In theory systemd and openrc could be installed in parallel. In
practice we avoid that with !openrc in the systemd package and
!systemd in the postmarketos-base-openrc one. There is a lot more
work required with provides (both upstream and downstream) regarding
things like elogind and eudev to be able to even have them
package-wise ready to be installed in parallel
* There must always be one installed. Here we have 3 scenarios:
* pmbootstrap install where pmbootstrap will decide which one
* update from existing install. The virtual makes sure that APK
won't remove the local package because versions changed
* Manual APK work, where the provider_priority or the user will
choose
How does this work? Hypothesis:
* openrc upgrades: the postmarketos-base-openrc remains installed,
moves from being an "install_if", to be there because it fulfills
the postmarketos-base-init requirements.
* systemd upgrades: postmarketos-base-systemd is still in
/etc/apk/world, and it fulfills the new dependency in
postmarketos-base. Nothing happens.
* openrc installs: pmbootstrap will choose one of
postmarketos-base-openrc and postmarketos-base-systemd... But which?
The one with the higher version?
* systemd installs: postmarketos-base-systemd is installed before
anything else is. That means, postmarketos-base-init will already
be satisfied when postmarketos-base gets installed, and openrc will
not be installed
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6375
This is inconsistent through the file. In addition, the "_" prefix is
often used when a function is not directly a split function from a
subpackage, but a "private" function that others call. So remove it to
make it clear that these are subpackage split functions
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6375
Xiaomi didn't ship some firmware in the vendor partition, so i needed to package that firmware by myself, at that point i had some reports that in some devices (or some android versions) they were missing some firmware, so i would rather go back to package the firmware in a different package
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6429
Mainline port supports all features currently available on the
platform, bringing whyred in line with the best supported devices
on the sdm660 kernel.
Working:
* framebuffer display
* regulators
* volume/power keys
* gpio hall sensor
* battery fulegauge & charger
* PMIC vibrator
* PMIC WLED backlight
* notification LED
* storage: eMMC, SD cards
* USB (only USB2 and only gadget mode, like the rest of the platform)
* hardware video enocder/decoder (venus)
* WCN3990 Bluetooth, Wi-Fi
* Synaptics rmi4 touchscreen
* Display (mdss), GPU Adreno 509
* LCD IPS video mode panel (Tianma TD4310)
* sensors are automagically supported too
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6469
Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
Prepare to add a systemd-stage0 package that will replace the existing
bootstrap logic. First we need to let systemd provide systemd-stage0 and
wait until the new binary packages are built.
In follow-up patches (MR 6440), a systemd-stage0 package will be
introduced (that does not depend on systemd-enabled dbus or polkit). The
systemd/dbus and systemd/polkit will be changed to use
systemd-stage0-dev and systemd-stage0-libs as makedepends. This makes
the following bootstrap work when building without a binary repository:
1. systemd-stage0
2. dbus
3. polkit
4. systemd
If we already have the binary repository, dbus and polkit will be built
against systemd proper as it provides systemd-stage0 packages with this
patch.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6451
[ci:skip-build]: already built successfully in CI
Remove the _shell subpackage that Alpine has from our forked package, as
pmbootstrap currently can't handle it. It tries to build the dependency
gnome-shell for armhf even through this, even though it has !armhf.
A WIP fix for this is in pmbootstrap MR 2592. But let's try to get the
upstream compat check green again first.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6461
[ci:skip-build]: already built successfully in CI
Bundle patch files with the aport instead of using a custom tarball.
This allows using official tarballs and also gives more transparency.
Besides this, there's other small changes:
* Update to 6.14.4
* Add zstd to makedepends (fixes compile error)
* Drop unneeded CC assignment
* Drop unneeded mkdir call (nitpick from pmaports!6409)
Signed-off-by: Duje Mihanović <duje.mihanovic@skole.hr>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6459
[ci:skip-build]: already built successfully in CI
The currently shipped firmware only worked on early EVT and DVT1
devices, because it is unsigned.
Signed firmware, to enable support for 8.0 was uploaded a long
time ago, but the firmware package was not bumped.
With this bump now all variations of otter are supported:
- EVT
- DVT1
- DVT2
- 8.0 (MP)
- 8.1 (MP)
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6454
[ci:skip-build]: already built successfully in CI
The initfs compression was a leftover from when the device aport
was using the sdm845 mainline kernel (as we played with the otter
bringup there).
This resulted in causing the device to not boot.
Also remove the kernel cmdline as it is already handled by getty.
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6455
[ci:skip-build]: already built successfully in CI
The device has seen a decent amount of work put into it and is usable
on a basic level. Many features unfortunately remain unavailable, but
the device fulfills the wiki requirements to be moved to community, so
let's do that to increase visibility.
The PXA1908 firmware package and the U-Boot package are moved together
with the device packages.
[ci:skip-vercheck]
Signed-off-by: Duje Mihanović <duje.mihanovic@skole.hr>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6409
[ci:skip-build]: already built successfully in CI
As many other downstream kernels, this needs to depend on linux-headers
to fix:
In file included from /home/pmos/build/src/android_kernel_alcatel_ttab-1795ea3c237773d32616954a03738d67d209a8d7/scripts/sortextable.c:31:
/home/pmos/build/src/android_kernel_alcatel_ttab-1795ea3c237773d32616954a03738d67d209a8d7/tools/include/tools/be_byteshift.h:4:10: fatal error: linux/types.h: No such file or directory
4 | #include <linux/types.h>
| ^~~~~~~~~~~~~~~
It also needs xz:
/home/pmos/build/src/android_kernel_alcatel_ttab-1795ea3c237773d32616954a03738d67d209a8d7/scripts/xz_wrap.sh: exec: line 23: xz: not found
Related: https://builds.sr.ht/~postmarketos/job/1477748#task-pmbootstrap_build-583
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6446
[ci:skip-build]: already built successfully in CI
Some phones sold under the Jolla brand are manufactured by a partner,
e.g. the Jolla C2 is manufactured by Reeder. Although these phones
usually have another name given to them by the manufacturer, the name
used by Jolla is more recognizable. Allow specifying a name that
starts with "Jolla" instead of the manufacturer name.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6426
If a custom bl1 is used on sdcard, then it should be embedded at
0x200 (512). If a GPT filesystem is used, then the GPT header uses
roughly the first 0x500 bytes, and hence bl1 overwrites part of the
GPT header in that configuration.
Change to msdos partition type so that the filesystem works fine
whether or not we use stock bl1 or custom one.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6442
The wrong branch was not only used for pytest, but for all CI tests that
used pmbootstrap. I've fixed the bug in pmbootstrap now and added a
generic check to ensure we would catch a similar bug if we had one in
the future.
This reverts commit 7fd9e01f7f.
Related: pmaports issue 3674
Related: pmbootstrap MR 2586
Related: ci-common MR 14
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6439
MR 6417 added a workaround for a GTK4 issue in flatpak by setting
GSK_RENDERER=ngl for all Qualcomm devices. This is now causing crashes on
many of the older Qualcomm devices that specifically avoid usage of the ngl
renderer. These devices already set a custom GSK_RENDERER in /etc/profile.d
(e.g. on MSM8916 devices: gl in v24.12, cairo in edge).
Several device packages install those settings into /etc/profile.d/adreno*
so let's avoid the conflict for now by reducing the priority of the flatpak
workaround and installing it to /etc/profile.d/99-flatpak*. That way the
setting from the device packages takes priority.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6434
This will be the last 6.6.x update, next update will be based on the
6.12 lts.
* Support for exynos5420-samsung-v1awifi is added thanks to
@Eisenbahnfan
* Several: fixes for usb and charging for Exynos 5250
devices (manta in particular) has been added thanks to @Alexmrqt
Tested on exynos5250-google-snow, exnyos5420-samsung-klimtlte and
exynos5422-odroid-xu4.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6432
[ci:skip-build]: already built successfully in CI
Let the openrc subpackage depend on eg25-manager-openrc to ensure the
latter gets installed first. Otherwise this can happen:
(122/741) Installing device-pine64-pinephonepro-openrc (4-r3)
Executing device-pine64-pinephonepro-openrc-4-r3.post-install
* rc-update: service `eg25-manager' does not exist
ERROR: device-pine64-pinephonepro-openrc-4-r3.post-install: script exited with error 1
(123/741) Installing eg25-manager-openrc (0.5.2-r0)
Related: https://builds.sr.ht/~postmarketos/job/1472555#task-img-521
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6424
[ci:skip-build]: already built successfully in CI
This removes the audio-none subpkg, and the dependency that
postmarketos-base-ui had on it.
This renames the pmos-base-ui-audio virtual that the pw and pa backends
provided to `postmarketos-base-ui-audio-backend`.
To allow UIs to select no audio components, a new pmos-base-ui-audio
subpkg was added. UIs that need audio should depend on the virtual
pkg `postmarketos-base-ui-audio`. UIs that don't want audio can simply
depend on postmarketos-ui-base and no audio stuff will be pulled in.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6408
This reverts commit e2557598d7. The patch
caused installs to fail where the device package explicitly depends on
postmarketos-base-ui-audio-pipewire:
ERROR: unable to select packages:
postmarketos-base-ui-audio-pipewire-35-r0:
conflicts: postmarketos-base-ui-audio-none-35-r0[postmarketos-base-ui-audio=35-r0]
satisfies: device-xiaomi-nabu-5-r0[postmarketos-base-ui-audio-pipewire]
postmarketos-base-ui-35-r0[postmarketos-base-ui-audio]
postmarketos-base-ui-audio-none-35-r0:
conflicts: postmarketos-base-ui-audio-pipewire-35-r0[postmarketos-base-ui-audio=35-r0]
satisfies: world[postmarketos-base-ui-audio-none]
postmarketos-base-ui-35-r0[postmarketos-base-ui-audio]
I've also tried to move the postmarketos-base-ui-audio-pipewire
dependency into a subpackage that doesn't get installed when
postmarketos-ui-console gets installed. But that did *not* work:
audio() {
# This does NOT work!
install_if="$pkgname=$pkgver-r$pkgrel postmarketos-base-ui !postmarketos-ui-console"
mkdir "$subpkgdir"
}
It could work if postmarketos-ui-console did not depend on
postmarketos-base-ui, maybe that should be looked at in a follow-up
patch. Or just install the audio stack and require the user to do
UI=none if they want a really minimal system. Let's revert the patch now
to fix failing installs in bpo, e.g. master:xiaomi-nabu:console.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6408
This is used by the DE's upstream (popOS), and works reasonably well so
let's install it by default so that apps that depend on secret manager
things work OOTB.
[ci:skip-build]: already built successfully in CI
[ci:skip-vercheck]
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6410
Following Alpine's example. This allows some optimizations:
* Don't start one job per architecture simply to skip them after
rebase and before merge
* If there are no packages, don't start the jobs at all (not true,
gitlab bug)
* Avoid creating jobs for architectures that don't have changed
packages, thus further reducing the unnecessary
jobs and possibly reducing transient failures
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
Introduce some basic infrastructure to allow running per-package unit
test jobs, as well as a library to support unit-testing shell scripts.
Packages can provide their own unit tests by adding a tests/
subdirectory to the package, this should contain a .gitlab-ci.yml file
with jobs that extend the .package-test job template as well as any
supporting data and scripts.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6182
These two functions echo their output, requiring the use of a subshell
to capture it. However they also attempt to cache the output in global
variables.
Unfortunately, we can't do both. Variables set in the subshell aren't
reflected in the parent shell.
Rework these functions so they take a variable to set as a parameter
(like the "read" command). This avoids spawning a subshell and enables
the caching functionality that was added previously.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6182
Since kernel v6.14-rc3 HID_LENOVO now depends on ACPI which we don't
want to require enabling on various non-ACPI phones.
Move to it x86 & x86_64 since it's anyways apparently only useful for
"Lenovo / Thinkpad devices".
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6387
[ci:skip-build]: already built successfully in CI
- Add UCM2 configurations for biscuit
- Add udev rule to switch headphone output
- Add asound config
- Add pulseaudio configs
This commit provides a basic pulseaudio setup for biscuit. The device appears
to only support 48kHz audio. Resampled 44kHz audio crackles and pops currently
due to the buffer underrunning. Some more tweaking may be needed to improve
audio playback quality.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6304
[ci:skip-build]: already built successfully in CI
* apk-tools passes the directories it triggers on as arguments to the
trigger script. Use them to only run the relevant parts of the
triggers.
* Remove "|| :" from commands, as we run the script without "set -e", it
won't fail if a single command fails. Put explicit "exit 0" at the end
to ensure this even if the last command beforehand failed.
* Print messages for each action so we know what is happening.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6346
[ci:skip-build]: already built successfully in CI
The iptables frontend for nftables seems to not play nice. Since we use
nftables in postmarketOS anyway, tell tailscale to use it directly. This
fixes routing not working and the following error seen in tailscale status
- adding [-i tailscale0 -j MARK --set-mark 0x40000/0xff0000] in v4/filter/ts-forward: running [/usr/sbin/iptables -t filter -A ts-forward -i tailscale0 -j MARK --set-mark 0x40000/0xff0000 --wait]: exit status 2: Warning: Extension MARK revision 0 not supported, missing kernel module?
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6344
This patch is in 257, so we can drop it when upgrading. Without this
patch, we'd have to the enable sysv compat stuff in systemd just to get
this legacy.conf file generated/installed, which totally doesn't seem
worth it (the sysv compat stuff seems to be a lot!)
Fixes#3616
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6352
[ci:skip-build]: already built successfully in CI
The linux-edge kernel enables the BL_SWITCHER kernel option, which enables
an in-kernel big.LITTLE switcher - with it enabled, only 4 cores are enabled
at a time, and the kernel switches between the big and little cores. However,
in a server workload, it's more likely that a user wants all 8 cores to work
simultaneously.
Disable the switcher by default by providing the no_bL_switcher cmdline option.
It can still be re-enabled by writing 1 to /sys/kernel/bL_switcher/active.
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6350
It's important to use a versioned constraint so that if the
package is ever removed from the binary repository it will actually be
removed from the users system too.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6347
[ci:skip-build]: already built successfully in CI
GPT paritions seem to interfere with the firmware baked into the SD card image;
both U-Boot and various Linux tools report the GPT partition table as broken
and fall back to the backup table. Notably, this makes the card difficult to
mount in another device. "Fixing" the partition table makes it refuse to boot.
Force the msdos partition type in deviceinfo to fix this.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6342
Fixes a conflict between systemd and systemd-udev where apk thinks they both provide cmd:udevadm:
ERROR: unable to select packages:
systemd-256.11-r2:
conflicts: systemd-udevd-256.11-r2[cmd:udevadm=256.11-r2]
systemd-udevd-256.11-r2:
conflicts: systemd-256.11-r2[cmd:udevadm=256.11-r2]
[ci:ignore-count]
[ci:skip-build] already built in CI
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6334
What we want is to reload services that need to be reloaded after
upgrade (those that are marked with needs-reload or needs-restart), to
handle systemctl daemon-reload too, and to reload udev, sysusers,
tmpfiles, etc.
This all needs to be done in a particular order, which we would ideally
do with different triggers (and triggers with consistent ordering!), but
apk can't do that so instead we have this inefficient solution which
will probably do a bunch of useless processing. ah well
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6334
As recommended on matrix, there is no need to keep everything in subpackages,
so they are being removed. Also, hexagonrpcd is being removed as it
doesn't work on this device’s soc yet.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6317
[ci:skip-build]: already built successfully in CI
Starqltechn alsa ucm profiles was included in alsa-ucm-conf-sdm845
repository. Add it to dependency list to get audio working.
This also sorts depends and source lists alphabetically.
[ci:skip-build]: already built successfully in CI
The recent optimization of not running "mkinitfs" during the trigger
script when running in pmbootstrap lead to unexpected behavior for some
use cases: testing initramfs changes and upgrading the initramfs in the
chroot (e.g. with pmbootstrap chroot --image). Let the user know that it
gets skipped and tell them how they can force building a new initramfs,
as discussed with Caleb.
[ci:skip-build]: already built successfully in CI
Perhaps the biggest highlight of this release is addition of
Qualcomm Sensor Manager support (thx @Tooniis).
Several little impovements:
* Notification LED support for clover, laevnder, tulip ( @setotau )
* missing SDCC block resets were added, several devices ( @alexeymin )
* missing SD card detect GPIOs were added, several devices ( @alexeymin )
* SD card instability was fixed, several devices ( @alexeymin )
* pd_mapper module now supports SDM630/636 ( @alexeymin )
* numerous dtbs_check warnings fixed, in preparation for upstreaming
* several commits were dropped, they are now upstream!
Manual config changes:
* SNS_REG/SMGR modules were enabled
* LED/QCOM_LPG modules were enabled
FIXME: qrtr as a bus requires some kconfigs to be =y (for SMGR patchset):
* CONFIG_QRTR=y
* CONFIG_QRTR_SMD=y
Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6321
[ci:skip-build]: already built successfully in CI
Currently the initramfs is littered with various code snippets which
read /proc/cmdline. This is error prone and results in more complicated
code especially as we want to standardise all the pmos specific cmdline
arguments, and where some arguments have the same behaviour as
deviceinfo variables.
Let's do the parsing correctly, once, and set global variables to
enable/disable/configure parts of the initramfs. At the same time
introduce namespaced and standard versions of the remaining arguments
which haven't been standardised yet.
Now (for example) to check if the splash is disabled, rather than
grepping /proc/cmdline for PMOS_NOSPLASH AND checking if
deviceinfo_no_framebuffer is true, you can just check if "$nosplash" =
"y".
This will drastically simplify the process of adding additional
configuration options in the future.
Most of the code here was taken from the Arch Linux initramfs and
simplified/adjusted to better fix our use case.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6172
This adds a default preset for user units, that disables them by
default. This behavior is identical to what we do with system presets,
which means that if we want a unit enabled by default then we need
to add a preset for it or rely on some other unit to pull it in
automatically. Without this default preset, user units are enabled by
default when `systemctl preset` is run on them, which may not always be
the desired behavior (i.e. we don't want this behavior with system units).
Add starqltechn initfs modules, recently enabled in linux kernel.
This provides touchscreen and haptics support when in initramfs.
This allows to use onscreen keyboard in initramfs debug mode.
Get dbus building in edge again. This regressed due to the cross-native2
work in pmb which stopped using abuild to install makedepends and does
it in pmb instead. But pmbootstrap's parsing logic can't handle
conditions in the APKBUILD.
Related: issue 3604
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
[ci:skip-build]: already built successfully in CI
Our epiphany got blocked by https://gitlab.gnome.org/ due to their new
AI scraping protection. We used a older User-agent that is not
regocnized by their protection and blocked us with "Access Denied.".
Nowadays Epiphany uses a dynamic user agent by default depending on the
chassis reported by systemd-hostnamed (e.g. mobile or desktop).
Fixes: 2722f6cac5 ("main/postmarketos-ui-{gnome,phosh}: less revealing epiphany user-agent (MR 1402)")
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6293
[ci:skip-build]: already built successfully in CI
The thermal monitor measures an NTC thermistor which decreases voltage
when the temperature increases.
When fixing the scaling for the first time, a wrong division by 20 was
removed. The voltage code was still high by a factor of 28900/16384,
enough that the thermal monitor constantly signalled/interrupted at a
low voltage/high temperature trip point. The thermal monitor still
reports the correct temperature so the kernel keeps the wrong trip
points and lets the thermal monitor keep interrupting 1000 times/sec.
Fix the other scaling amount so the thermal monitor sends interrupts at
the right temperature (with some imprecision).
Set CGO_ENABLED=1 to fix the following when cross compiling with
cross-native2 from x86_64 to (armv7,riscv64,armhf):
-buildmode=pie requires external (cgo) linking, but cgo is not enabled
Depends: pmbootstrap MR 2565
Related: https://gitlab.alpinelinux.org/alpine/aports/-/issues/15809
Don't run mkinitfs inside "pmbootstrap install" with the trigger
script, as it triggers multiple times as the rootfs gets constructed,
slowing down the process. Instead, pmbootstrap runs "mkinitfs"
explicitly once at the end of "pmbootstrap install".
pmaports master has pmbootstrap_min_version=2.3.2 in pmaports.cfg, which
already runs "mkinitfs" at the end of "pmbootstrap install", see
pmb/install/_install.py, install_system_image().
This way you can add e.g. [ci:skip-vercheck] to the commit it actually
belongs to instead of having to add it to the last one in the series,
which is unintuitive. It still doesn't only run the check on commits
that contain the message, which might be a nice future improvement.
So that the file managers and choosers - Nautilus by default - show thumbnails
not only for images but also videos. Apart from being a nice-to-have, it
can help prevent privacy issues like uploading/sending wrong videos - an
increasingly realistic scenario as camera recording becomes more usable.
Note that Gnome usually uses totem-video-thumbnailer for that job,
but ffmpegthumbnailer has fewer dependencies, seems to be more stable,
is slightly faster - and pmOS already comes with ffmpeg, so there are
no additional licensing issues.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6300
This enables systemd-oomd by default and provides some default
configuration for system.slice and for all slices that run under user.
This default slice config is inspired by what Fedora ships,
which seems like a sensible default for us to start with. Units/slices
within these two top-ish level slices can set their own limits and
actions if they want.
Always make sure openssh server w/ PAM support is installed. This also
drops an implicit dependency on `openssh-client`, this was pulled in
previously by `depends="openssh"`.
fixes#3570
Upgrading from the old LTS (6.1.y) to the latest LTS (6.6.y) version.
Kept most of the defaults, except where the current/previous config dictated another logical decision.
Only containing black levels for now.
This should only slightly increase image quality, but apparently also
works around a bug in libcamera making the output all black, with
occasional purple or red flashes.
[ci:skip-build]: already built successfully in CI
Changelog:
- Support busybox 'date' command
BB's `date` doesn't support the long form for args (e.g. `--utc`), only
the short form, while coreutils supports both versions. By using the
short form swclock-offset can support both versions of `date`
Fixes#3585
[ci:skip-build]: already built successfully in CI
The package name was missing the -systemd suffix, causing it to conflict
with the real polkit-kde-agent-1 package.
[ci:skip-build]: already built successfully in CI
deviceinfo_disable_dhcpd only disables dhcpd during init, but it should
also be disabled in other contexts.
[ci:skip-build]: already built successfully in CI
The regex has not been working for a long while, there have been
previous attempts to try fix it, but it's still failing. There is
also common understanding in the team, that the regex is not terribly
useful. So remove it.
We now have a bot that reads those lines from APKBUILD files, instead
of using a proprietary gitlab feature. Relevant changes:
* Change @ollieparanoid for @Newbyte as maintainer for GNOME packages
where Oliver was listed.
* Don't add @craftyguy as Librem5 maintainer, as he dropped it long
ago
* Remove entries referencing archived ports
* Don't touch jenneron's maintainership. That's a task for another day
* Don't add "balejk" as maintainer. We have tried pinging them, but
seem to be currently idle
person is. Help figuring it out would be welcomed.
* Don't add "binarycraft" as maintainer. Last contribution was years
ago: https://gitlab.com/binarycraft
* Don't add more maintainers to linux-postmarketos-qcom-msm8953, as it
would have ended up with 7, which might be a bit too much
* Don't add more maintainers to the PinePhone. The current ones seem
to actually be the most active
* Don't add Danct12 to N900. Sicelo has been single-handedly managing
it for a long while
* Update maintainer emails for Nikita Travkin, Alexey Minnekhanov, and
Barnabás Czémán
[ci:skip-vercheck] Co-Maintainer changes require no pkgrel updates
since the names do not make it to the package itself
[ci:ignore-count]
Fixes#3530
[ci:skip-build]: already built successfully in CI
pam_dump_runtime_dir isn't needed with systemd. if a user install this
module, this might break with logind integration..
[ci:skip-build]: already built successfully in CI
(S805X)
Tested on Xiaomi Mi TV Stick (S805Y).
Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
[ci:skip-build]: already built successfully in CI
1. dependencies useful for all X11 DEs/WMs moved to x11 subpackage
2. add dmenu-based power key menu with options for shutdown, reboot, and
screenshot
3. handle power and screenlock keys using i3 directly, instead of acpi/evtest
4. add mouse key emulation via Shift+keyboard-keys
[ci:skip-build]: already built successfully in CI
More detail in the included patch but tl;dr patches a dummy mmap
function in the PCM audio driver that causes a kernel panic
when used by pulse.
[ci:skip-build]: already built successfully in CI
pmbootstrap > 3.3.1 is stricter with the dependencies, it will only
install packages that are in makedepends during builds. Before it also
installed packages from depends.
Add postmarketos-mvcfg to makedepends, as it gets used in build().
postmarketos-mvcfg will be removed in the future (see issue 3580), but
let's unbreak the build first.
Related: pmbootstrap issue 2574
[ci:skip-build]: already built successfully in CI
Reverts 82a8d55197 (device-nokia-n900: drop partition resize cmdline option
(MR 6164)) since it seems resizing does not actually take place automatically,
at least as far as the N900 is concerned
[ci:skip-build]: already built successfully in CI
There are some notable changes:
- systemd-journal-upload is now available, but not tested
- pam files now live under `/usr/lib/pam.d`. users can easily override
configuration by putting files under /etc/pam.d with the same name.
- journalctl should now work for `wheel` groups without privilege
esclation to root. ACLs' for /var/log/journal should hopefully be
set correctly now.
- /bin/udevadm /sbin/{init,udevd} are now provided by the APKBUILD itself
- The split-usr backport lives now in the downstream release.
The current -systemd subpackage isn't getting installed due to the
invalid install_if statement. As abuild's fork in pmOS for systemd
specifies a default_systemd() and systemd() function, overriding it
here isn't needed.
The -systemd subpackage contains configuration for gnome-session in
systemd mode.
- By placing a file into systemd/user/gnome-session@phosh.target.d,
we generate a valid gnome-session@phosh.target.
- The first invokation of gnome-session by phosh-session includes
the arg `--session phosh`. When gnome-session sees a running
systemd user manager via dbus, it will signal to systemd to start
`gnome-session@phosh.target`.
As we switched to tinydm/autologin for phosh on systemd-edge, this
will only work when autologin also tries to load pam_systemd.so.
[ci:skip-build]: already built successfully in CI
Update the close-to-mainline linux kernel fork for the MSM8930 processor to 6.13.0.
According to wctrl, this also makes WiFi work, if you place the drivers in the initramfs. Haven't tried that.
[ci:skip-build]: already built successfully in CI
kded currently doesn't start with the session, but when I rename the systemd unit file to plasma-kded6.service, it starts automatically.
[ci:skip-build]: already built successfully in CI
1. disable USB-gadget as this device has a UART available in HW
2. disable the fb detection (used for pbsplash), as I am not progressing
with getting HDMI working.
Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
[ci:skip-build]: already built successfully in CI
Since we have aports-qa-bot now set up to ping maintainers, let's make
it explicit that I maintain these packages.
Clean up CODEOWNERS as well for my entries which anyways contain my
username which is not used on gitlab.p.o.
[ci:skip-vercheck] # even though Maintainer line is embedded in .apk, it
doesn't make sense to mass rebuild these packages just for that.
[ci:ignore-count]
[ci:skip-build]: already built successfully in CI
The kernel doesn't compile anymore due to updated toolchain:
scripts/Makefile.lib:414: *** prerequisites cannot be defined in recipes. Stop.
make[3]: *** [../scripts/Makefile.modbuiltin:54: techpack/audio/dsp] Error 2
Remove it since mainline kernel is working better anyways.
I evaluated using systemd/zram-generator but decided against it for the following reasons:
1) it was more difficult to configure using the existing deviceinfo var
we have for zram_pct, this meant that we would ultimately couldn't have
a consistent way to configure zram stuff for all supported init systems
2) it's a Rust app, and was failing to build in CI for armv7, riscv64,
and armhf with some weird qemu crashes, failed tests, etc
3) zram-init Just Works, upstream ships a unit file for it so they
support running under systemd already
[ci:skip-build]: already built successfully in CI
The SM7150 devices have seen a lot of work put into them and are
generally very usable except for microphone/earpiece audio and cameras.
Both of these features are still work in progress and should be
available sometime in the future. They fulfil the requirements for
community in the Wiki, so let's promote them.
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
PMEM aka persistent memory enables a region of memory to be treated as a
block device. This is particularly useful as a way for EFI bootloaders
to retrieve a full OS image (via HTTP) and make it accessible to the OS.
Support for this is making its way to U-Boot: https://lore.kernel.org/u-boot/20250203105912.196654-1-sughosh.ganu@linaro.org/
Let's enable this in postmarketOS so we can enable HTTP booting images
directly from postmarketOS.org.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
[ci:skip-build]: already built successfully in CI
No longer needed since soc-qcom provides all of the config/dependency
requirements that this pkg used to. It can be re-added later if some new
sdm845-specific stuff is needed
Commit cb7074d8a8 removed this subpackage
and unconditionally enabled the unl0kr quirk in soc-qcom-sm7150, but the
xiaomi-davinci device package was never updated to account for this.
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
[ci:skip-build]: already built successfully in CI
This has caused some issues for me, specifically in my framework,
where unl0kr was otherwise not showing in the main screen (but would
if connected an HDMI over the USB-C port)
[ci:ignore-count]
[ci:skip-build]: already built successfully in CI
A surprinsingly amount of devices use this quirk. So instead of having
each of those packages package the file individually, let's create a
single unl0kr subpackage that they can depend on
Fix that building phosh, gnome, plasma-mobile images fails with:
==> Generating vmlinuz.kpart
Building depthcharge image for board 'Unnamed veyron board' ('veyron').
Couldn't build a small enough image for this board.
Related: https://builds.sr.ht/~postmarketos/job/1422513#task-img-1544
Related: bpo issue 153
[ci:skip-build]: already built successfully in CI
The Khadas VIM3 [1] is a popular devboard (SBC).
It has an Amlogic A311D SoC and is well supported in mainline linux.
Add board support in testing.
Note that we use the soc-amlogic-s905 package which also provides
support for A311d.
[1] https://www.khadas.com/vim3
Signed-off-by: Mattijs Korpershoek <mattijs.korpershoek@gmail.com>
Installation of lang gets moved from pmbootstrap to pmaports, since
pmbootstrap previously had installed lang only on non-default locale
systems. With this change also systems on the default locale can switch
between languages.
Closes: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/3314
[ci:skip-vercheck]: only _pmb_recommends was changed
[ci:skip-build]: already built successfully in CI
At first fix issue #3315 caused by config file snippet openbox/rc.xml. The
snippet results in unresponsive window headers after changing the Openbox
theme. The Openbox settings GUI ObConf-Qt is not set up to handle config
snippets. Therefore replace the snippet by the full file of openbox/rc.xml.
The issue was investigated at:
https://github.com/Mikachu/openbox/issues/23
Secondly custom Openbox themes of dark style Onyx and bright style Clearlooks
with larger window buttons are added.
Thirdly the default Openbox theme is set to custom Clearlooks with larger
window buttons and additionally the Openbox font size is increased.
Detailed changelog of GitLab repository antoni.aloytorrens/lxqt-tablet:
- Increase Openbox font sizes
- Set default Openbox theme to "Clearlooks-L" with larger buttons
- Add custom Openbox themes Clearlooks with larger window buttons
- Add custom Openbox themes Onyx with larger window buttons
- Set the number of desktops to two again
- Restore full openbox/rc.xml config file
[ci:skip-build]: already built successfully in CI
Alpine now ships compressed firmware, so the old firmware file name is no
longer available, causing wl1251-cal to fail. Fix by manually creating the
expected uncompressed file.
Additionally, wl1251-cal has not been running early enough in most cases,
causing the kernel to use default nvs. Fix by blacklisting the driver and
probing it after the correct nvs has been extracted and saved.
[ci:skip-build]: already built successfully in CI
The kernel couldn't be compiled. Additional patches were necessary to compile the linux kernel again.
[ci:skip-build]: already built successfully in CI
This does not yet switch to mainline wifi driver [^1]. I will do that later
so that if that needs to be reverted the kernel upgrade itself can stay.
[^1]: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/3420
[ci:skip-build]: already built successfully in CI
modules-initfs: Add touchscreen and panels, drop gpi and spi
1. Add the touchscreen (nt36xxx-spi), panels (panel-huaxing-nt36672c,
panel_tianma_nt36672c) and wled to modules-initfs, as these drivers
have been switched to modules.
2. Drop GPI and SPI from the module list as they have been configured
as built-in within the kernel.
Refine nonfree firmware dependencies:
1. Removed the common GPU firmware package from soc-qcom-sm7150 and
subsequently re-added it to firmware-xiaomi-surya in earlier commits.
We now ensure the GPU ZAP firmware is installed by adding
firmware-xiaomi-surya-gpu as a dependency to nonfree_firmware.
2. Incorporated firmware-xiaomi-surya-sensors into nonfree_firmware,
following its prior inclusion in firmware-xiaomi-surya.
3. Extended the integration of the soc-qcom-sm7150-libssc-180-degrees
udev rule into nonfree_firmware, building on its earlier addition to
soc-qcom-sm7150.
4. Install firmware unconditionally and provide a path for hexagonfs.
The Xiaomi POCO X3 NFC (xiaomi-surya) has two possible panel variants:
Huaxing and Tianma. The kernel dts file has been split to accommodate
these variants. Update the device package to enable panel selection
during the pmbootstrap init.
Co-authored-by: Jens Reidel <adrian@travitia.xyz>
Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
1. Added maintainers information.
2. Use a new method for firmware installation.
3. Add firmware for sensors.
Co-authored-by: Jens Reidel <adrian@travitia.xyz>
Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
Drop the signed A615 GPU ZAP firmware from soc-qcom-sm7150 due to
compatibility issues causing crashes on Xiaomi (sweet/courbet) devices.
This firmware will be re-added in device-specific firmware packages
without being added to initramfs modules. Removing this firmware from
initramfs modules will not impact FDE functionality, as it is not
necessary for basic image display on panels.
Removal from initramfs modules is due to a change in the path to the
A615 GPU ZAP firmware, now device-specific.
Depend on new alsa ucm config package.
Add hexagonrpcd as a dependency and enable the
hexagonrpcd-adsp-sensorspd service for SSC.
Implement accel libssc_180_degrees mount matrix:
Introduce new udev rules tailored for Xiaomi devices (surya/davinci)
and potentially applicable to a broader range of sm7150 devices.
These rules are added to the SoC package and will be set as dependencies
in device packages for nonfree_firmware in subsequent commits.
Drop userspace pd-mapper, we have switched to the in-kernel
pd-mapper.
Add bootmac to set bt mac address.
Install nonfree firmware unconditionally.
Co-developed-by: Danila Tikhonov <danila@jiaxyga.com>
Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
Co-developed-by: Jens Reidel <adrian@travitia.xyz>
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
Also add config to rmtfs so systemd starts stuff in the correct order.
I added the msm-modem unit here instead of in pmaports/modem/msm-modem
because systemd-services handles creating boilerplate install scripts
automatically.
fixes#3451
[ci:skip-build]: already built successfully in CI
Users who want pulseaudio or pipewire (for audio) can still install
them, but by removing any audio backend by default we can avoid creating
images that include pulseaudio/gstreamer/mesa.
Before:
$ ls -hal /home/clayton/.local/var/pmbootstrap/chroot_native/home/pmos/rootfs/qemu-aarch64.img
-rw-r--r-- 1 root 12345 1.1G Feb 10 14:49 /home/clayton/.local/var/pmbootstrap/chroot_native/home/pmos/rootfs/qemu-aarch64.img
After:
$ ls -hal /home/clayton/.local/var/pmbootstrap/chroot_native/home/pmos/rootfs/qemu-aarch64.img
-rw-r--r-- 1 root 12345 806M Feb 10 14:49 /home/clayton/.local/var/pmbootstrap/chroot_native/home/pmos/rootfs/qemu-aarch64.img
fixes#3541
[ci:skip-build]: already built successfully in CI
Our libcamera fork needs a rebuild, as pointed out by the
upstream-compat monitoring job:
Increase 'libcamera' pkgrel (9 -> 10), missing depend(s): so:libgtest.so.1.15.2
[ci:skip-build]: already built successfully in CI
GTK shipped the ngl (new GL) renderer last year and deprecated the
legacy gl renderer. In GTK 4.17 this renderer has been removed entirely,
which means the devices that were forcing the use of this legacy
renderer need to now fallback to software rendering instead.
Fixes: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/3533
Signed-off-by: Sam Day <me@samcday.com>
[ci:skip-build]: already built successfully in CI
This check is present for "normal" packages, duplicate it for
ones that are thrown into "retry build with systemd later" list.
We need to explicitly pass with_extra_repos="enabled" arg to
find() to avoid getting cached "package not found in repos" result.
Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
[ci:skip-build]: already built successfully in CI
This replaces the downstream kernel with a near-to-mainline kernel, and also adds a msm8930-specific mainline package. While this removes some functionality (screen, touchscreen), this makes the boot more stable (boots no matter if charging or not). To flash this, you first need to flash lk2nd, and then flash to the userdata partition with pmbootstrap flasher flash_rootfs --partition userdata. You might need to wipe the system partition. The boot finishes, but to get USB networking, you might need to dis- and re-connect the device ca. 10 seconds after (re-)booting. SSH and internet-over-USB works fully.
Suddenly apk wants to install other ucm pkgs that conflict with
soc-qcom-sdm845-ucm, like the soc-qcom-msm8996-ucm pkg. Later when the
sdm845-ucm is installed it conflicts with the previously installed (and
incorrect) ucm pkg.
This SOC pkg depends on alsa-utils from e95d28a6, but the
call_audio_idle_suspend_workaround.sh that was added in that commit
doesn't actually seem to be using apps from alsa-utils, so maybe it's
safe to remove that dependency and fix an issue where apk will sometimes
install the wrong alsa-ucm-conf pkg for a device...
[ci:skip-build]: already built successfully in CI
Run e2fsck before resizing the root partition so that resize2fs will
actually succeed
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Tweaked-by: Oliver Smith <ollieparanoid@postmarketos.org>
[ci:skip-build]: already built successfully in CI
The udmabuf allocator enjoys increasing popularity, not only being
used by libcameras swISP and some virtualisation apps, but since Mesa
commit d74ea2c1 even in llvmpipe - and more projects plan adoption,
such as Gstreamer.
Thus let's ensure it's universally available for UI users if the
kernel supports it.
As there are DEs that don't support the "uaccess" tag, such as SXMO,
and "legacy" groups are still used in pmOS anyway, use the later.
- hexagonrpcd-adsp-rootpd should only be started if valid config exists
for it, e.g. provided by device pkgs
- For devices with a CDSP: only the -adsp-rootpd and -sdsp services should
be started.
- For devices with only an ADSP: only -adsp-rootpd and -adsp-sensorspd
should be started.
This also stops the hexagonrpcd-adsp-sensorspd on suspend, attempting
to work around some issue wrt sargo that is implemented in openrc (see
fe00027849)
[ci:skip-build]: build tested locally since alsa-ucm conflicts prevent
build testing in CI
By sharing the config file and making the systemd unit files match the
openRC ones as close as possible.
Also fix the q6voiced.conf path while on it.
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
By sharing the config file and making the systemd unit files match the
openRC ones as close as possible.
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
Matching the openRC ones. Also make use of the hexagonrpcd_fw_dir env var
and reuse the correcponding conf files, making it easier to support
both init systems.
Drop all uses of the /etc/skel feature for adding configuration files and
scripts to the user's $HOME. Files installed via /etc/skel are outside the
control of the package manager and may result in broken installations. At the
least, they are not updateable from the packaging.
To implement this:
* drop $HOME/.protip_shell.sh, whose usefulness is questionable
* relocate i3blocks blocklets to /usr/share, and the config file to /etc/xdg,
which is an i3blocks' standard search path (`man i3blocks`)
* move the i3 configuration file to /etc/xdg, from where it can be picked up
and included by the config file provided via postmarketos-ui-i3wm. Configs
from $HOME are still parsed, and will be honored by i3wm, subject to i3's
limitations in connection with including extra config files
* at i3 startup, with the help of an external script, ensure there is an i3
config file in $HOME, even if empty. This prevents i3-config-wizard from
running and mangling the config files
* convert xdefaults to Xresources and store in /usr/share/X11. Load it to on
the environment by calling `xrdb` during i3 startup
Gstreamer enables hw de- and encoding by default for the most common APIs,
including V4L2-stateful. Unfortunately the venus driver is still quite
unstable, reliably crashing in very common scenarios, triggering apps
like Snapshot, Showtime or Tuba to show error messages or not working
properly - partly because of non-optimal error-handling.
Until the kernel driver situation improves, set environment variables
that demote the decoders to fallbacks in case nothing else is available,
and disable the hw-encoders completely as they tend to destabalise the
whole system if something goes wrong.
Useful command for env variables:
systemctl --user show-environment
This MR adds the boilerplate packaging needed for Mediaberry.
mbrt and sysapps are not included in this MR because Alpine Linux does not (yet?) package CEF.
For transparency: The packages here are based on the code from https://codeberg.org/lasagna/lasagna-pmaports.
[ci:skip-build]: CI fails cause of fakeroot on armv7 - known issue with CI.
Pretty sure when you already have a-z specified as range, second one
should be A-Z and not A-z.
Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
Since 1.15.11 this is supported (see
https://github.com/flatpak/flatpak/pull/5688/files). According
to the docs:
System-wide remotes can be statically preconfigured by dropping
flatpakrepo files into /usr/share/flatpak/remotes.d/ and
/etc/flatpak/remotes.d/. If a file with
the same name exists in both, the file under
/etc will take precedence.
This allows us to move the file without fear that if users disabled
or modified the repo, apk will keep the file in /etc and we won't
override it.
This is part of a wider effort to move things out of /etc and
into /usr
Fixes#2596
[ci:skip-build]: already built successfully in CI
It is needed by udev, which is in initfs-extra. If libkmod and its
dependencies are put in the first initfs then the boot.img size
increases by roughly 2 MB, which is a problem for devices with small
boot partitions.
Fixes: postmarketOS/pmaports#3510
[ci:skip-build]: already built successfully in CI (riscv64 failed
because of know qemu CI issue)
Add a note with the reason for archiving and a suggestion to use the generic port (qcom-msm8953), remove maintainers. These individual ports was replaced (MR 5800) by the generic one (qcom-msm8953)
[ci:ignore-count] [ci:skip-vercheck]
The current OOTB Gstreamer experience on Gnome DEs can be disappointing as
a lot of default codecs and elements are missing. This is often not obvious
for users as Gst in various cases has less optimal fallbacks, easily leaving
the impression that either an app, drivers or hardware are at fault.
Add the most important packages to pmb_recommends so users have a better time.
Notes:
- Many images already ship ffmpeg-libavcodec, so this shouldn't worsen the
legal situation.
- '-bad' is usually already pulled in indirectly while '-good' at least for
GS variants is already required. Both are strongly recommended for apps
like Showtime, Snapshot and many more mobile-friendly apps from the
ecosystem.
- '-bad' really isn't bad any more these days and various elements in it
are used by default if available. That is, many elements there should have
long moved to '-good'.
This was done in 7 steps:
* prepare by running pmbootstrap kconfig migrate
* fix up kconfig category:uefi
* fix up kconfig category:zram
* fix up kconfig category:default
* fix up kconfig category:default (NULL_TTY)
* fix up kconfig category:input
* bump pkgrels
[ci:skip-build]
[ci:ignore-count]
The null TTY driver provides a proper (dummy) TTY interface when
console=null is set on the kernel cmdline. This fixes certain
applications which don't correctly handle read() immediately returning
with 0 bytes (e.g. busybox syslogd).
Most normal EFI devices don't boot with console=null and as such there
are various foot-guns littered all over Linux userspace and even in our
own initramfs. However some android devices even enforce console=null,
so it's something we have to deal with.
NULL_TTY should reduce the chance of folks running into strange problems
because of this.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Changelog of xfce4-phone 0.6.0:
- Update screenshot
- Remove separator on the left-hand side of the clock
- Increase font size of the clock
- Change order of panel plugins "pulseaudio" and "power-manager"
- Increase icon size of status tray in panel
- After Xfce 4.20 release remove outdated "backdrop" settings
- After Xfce 4.20 release set theme "Greybird" explicitely
[ci:skip-build]: already built successfully in CI
The Xfce4 power manager can control the display brightness. It doesn't
save and restore it over boots, however. In distributions with systemd
this is handled by "systemd-backlight@.service". For OpenRC the package
brightnessctl offers a service saving the state of the brightness at
shutdown and reboot.
As brightnessctl is a rather simple tool and not specifically adapted to
Xfce4, it can get confused when the power manager e.g. lowers the display
brightness when on idle. To avoid such a hassle, the display power settings
were simplifyed in repository "xfce4-phone" version 0.5.3 (and needed a
correction in version 0.5.4). Users nonetheless can change them if desired.
From c7ec8da7280d7f97f5543eb9ddeca7600aafc43c Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:50:33 +0000
Subject: [PATCH 09/35] Ensure that msgfmt doesn't encounter problems during
gcc bootstrapping.
Solves error messages like the following:
msgfmt: /var/tmp/portage/sys-devel/gcc-4.1.2/work/build/./gcc/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/libstdc++.so.6)
The libgcc_s.so used during build doesn't satisfy the needs of the
libstdc++.so that msgfmt is linked against. On the other hand, msgfmt
is used as a stand-alone application here, and what library it uses
behind the scenes is of no concern to the gcc build process.
Therefore, simply invoking it "as usual", i.e. without any special
From c7ec8da7280d7f97f5543eb9ddeca7600aafc43c Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:50:33 +0000
Subject: [PATCH 09/35] Ensure that msgfmt doesn't encounter problems during
gcc bootstrapping.
Solves error messages like the following:
msgfmt: /var/tmp/portage/sys-devel/gcc-4.1.2/work/build/./gcc/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/libstdc++.so.6)
The libgcc_s.so used during build doesn't satisfy the needs of the
libstdc++.so that msgfmt is linked against. On the other hand, msgfmt
is used as a stand-alone application here, and what library it uses
behind the scenes is of no concern to the gcc build process.
Therefore, simply invoking it "as usual", i.e. without any special
Loaded 100 of 4874 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.