we have abuild in both the systemd and edge repos due to #3452
it seems like just adding an explicit bootstrap step is enough to get
things going properly. That probably isn't even needed since it seems
like the bootstrap failure we saw was specific to that scenario and
probably wouldn't show up again. but better safe than sorry.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
This reverts commit 609f3a5544.
The changes proposed in MR 5983 depend on changes in the upstream sc7150
kernel, howerver a new kernel release is currently not feasible as
instabilities still need to be worked out.
Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
[ci:skip-build]: already built successfully in CI
Add support for Redmi 4 (prada), Redmi 4A (rolex),
Motorola Moto G5S (montana) and Huawei Mediapad T3 10 (agassi).
Remove downstream motorola montana and xiaomi rolex packages.
[ci:skip-build]: already built successfully in CI
After the initial merge wireplumber failed on bpo for armv7,
It was recommended to disable tests for armv7 for now.
fixes#3454
Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
Tweaked-by: Oliver Smith <ollieparanoid@postmarketos.org>
[ci:skip-vercheck]: no bump because we don't need a rebuild where it
succeeded
tests are disabled anyways (!check), and having gnome-session in
checkdepends creates a circular dependency in some situations since
gnome-session has gnome-setttings-daemon-dev in makedepends
[ci:skip-build]: CI can't build test because bpo is currently stuck, I build tested it locally
fbd-alert-slider.service is actually already provided by feedbackd from
aports.
This reverts commit c3c625a49aaa46353c7e80de153edc9fd3ef27a5.
[ci:skip-build]: already built successfully in CI
also add _pkgname for the upstream name in aports for linux-pam-pmos
[ci:skip-build]: CI bugs out building armv7 and aarch64, but skipping
since changes shouldn't affect building
These are now defined in pmos-base-systemd, those deps aren't needed
for building stuff upon systemd-dev.
[ci:skip-build]: CI bugs out, Clayton successfully build tested armv7
and aarch64 manually
Those dependencies are either run or dlopen-ed during runtime of
systemd, systemctl etc.
As we not even require util-linux's version of runuser, we just use
the login-utils virtual in pmos-base-systemd. And while we're at it,
move the runtime dependencies to pmos-base. This is also more fitting
for libkmod, which is needed in the initramfs, as it is one of the
runtime deps of systemd-udev.
Fixes#3408
[ci:skip-build]: already built successfully in CI (except armv7, which
times out the runner, but Clayton thinks that's just our CI being dumpy)
[ci:skip-build]: aarch64 was build tested locally (by Clayton), x86_64
build job failed in CI because the artifacts were too big but the actual
package building worked
I don't understand why the upstream APKBUILD provides jack-dev with
pipewire's pkg{ver,rel}. This blocks users potentially running
abuild deps on aports packages, so not a huge loss.
Unblocking BPO with this 🙃
[ci:skip-build]: built locally, merging as critical.
[ci:skip-build]: CI builds sucessfully on x86_64 and armv7,
there's an failure in aarch64/gnome-shell, but compiling
on a native aarch64 system and testing also works. (-jane400)
This doens't work with crossdirect since apparently it calls the
compiler during package() stage:
ERROR: Error in gtkdoc helper script:
ERROR: ['/usr/bin/gtkdoc-scangobj', .... failed with status 1
============================================================================================
ERROR: crossdirect was called with: LD_PRELOAD=libfakeroot.so
This should ensure that postmarketos-base-systemd installs our linux-pam
package, not the one from alpine. (The old way to pin our package was
based on fragile version pinning, as our pam wasn't bumped to 9999, but
had the same version as aports).
fixes#3170
[ci:skip-build]: already built successfully in CI
APKBUILD was rebased onto the latest verstion in Alpine aports (1.50.0-r3)
[ci:skip-build]: bug in CI prevents it from completing, but builds fine locally
This wasn't actually working because it was using an unset var when
calling 'systemctl disable'.
[ci:skip-build]: CI cannot complete build testing because of infra
issue, but that's fine because this change doens't actually require
compiling systemd.
New dependencies were not included so this failed to build properly. The
other changes were pulled from the version in aports, to make rebasing
in the future easier.
[ci:skip-build]: CI cannot complete build testing because of infra
issues downloading from download.kde.org
libseat 0.9.0 no longer performs an automatic VT switch when taking
control of a seat to allow sessions to be started in the background. As
consequence, one must manually switch if one wants a background session
to be immediately activated.
Issue a chvt on ExecStartPost, when the service is deemed running.
Upstream: https://gitlab.gnome.org/World/Phosh/phosh/-/merge_requests/1566
[ci:skip-build]: already built successfully in CI
When kernel auditing is enabled and things crash, this leads to a lot of
really annoying messages printed to the console/TTY that can interfere
with debug. Kernel audit info can be reached using other userspace
tools.
[ci:skip-build]: already built successfully in CI
We actually want usr/lib/udevd here, not lib/udevd. This fixes the
initramfs not building and some other weirdness.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Do note that this commit was amended after the fact, the patch got
inlined into this repo to not brick this branch if the MR gets pushed
to.
[ci:skip-build]: already built successfully in CI
The type was erroneously set as 'simple', and since we are setting
ExecStop we actually need to set RemainAfterExit to avoid running
ExecStop when the oneshot service runs. This is because nft returns/
exits pretty much immediately after applying the config.
fixes#2846
The unit name to kill pbsplash had a typo, and added a preset for sshd.
systemd didn't seem to match `phosh` or `gdm` to the correct unit,
unless they had `.service` added, so this was fixed.
Presets in this section were also sorted.
[ci:skip-build]: already built successfully in CI
This didn't actually seem to do anything, resulting in some weird stuff
being enabled by default even though we did not specify a preset for it
(e.g. see !5556)
Based on my interpretation of the systemd preset manpage, this file
should be parsed last. It says that if a unit name has a preset that
was already configured in some previously parsed preset file, then any
matches after do not apply. This means that the `disable *` should not
disable any previously enabled (in previous .preset files) units. When
the unit name is omitted from the `disable` command, it seems to be a no-op.
Fixes!5207
This causes systemd to get stuck restarting multipathd forever on boot if it runs on systems with no multipath hardware. When this happens, the system never finishes booting.
It doesn't seem like any UIs/devices enable the multipathd service by default in openrc, and that we just depend on multipath-tools for kpartx and stuff (and not the daemon that comes with it)
[ci:skip-build] already built successfully in CI
also remove the elogind specific patch to use systemd for brightness
changes
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
Note: the user services that the -systemd split pkg installs are not
enabled by default using systemd presets. None of them have 'Install'
sections, they appear to be mostly/all dbus activated instead.
[ci:ignore-count]
[ci:skip-build]: already built successfully in CI
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
- Removed systemd-timesyncd, already enabled by a preset installed by
the systemd package
- Removed default-disable.preset, it's already provided by the systemd
package
- Removed user services from system preset
These macros are based off of the upstream systemd RPM macros, but it
doesn't implement all of the macro functionality upstream. Initially
they will be used in the install scripts for apkbuilds that provide
systemd service unit files.
For example, a `$pkgname-systemd.post-install` script might have:
. /usr/lib/systemd/systemd-apk-macros.sh
systemd_service-post_install system sshd
And a `$pkgname-systemd.pre-deinstall` script might have:
. /usr/lib/systemd/systemd-apk-macros.sh
systemd_service_pre_deinstall user pipewire
One day maybe these could be upstreamed to systemd to provide some
apk/abuild compatible macros.
Co-authored-by: jane400 <pmos@j4ne.de>
The space here caused this install script to attempt to create a group
named '2' and add a user named 'sgx' to it.
[ci:skip-build] already built successfully in CI
Build abuild from upstream source and only apply the systemd split func
patch. The patch was also adjusted to use -systemd instead of -service
for subpackages
As systemd v256 switched to dlopen for a bunch of dependencies
(specified in a custom format), this is no longer auto-detected
by either abuild or boot-deploy. So we include kmod manually for udevd
to work correctly.
This fixes the "no screen" issue on pine64-pinephone.
[ci:skip-build]: already built successfully in CI
Explicitly generate qwayland-plasma-shell.h first, in order to fix:
In file included from /usr/include/PlasmaQuick/PlasmaQuick/PlasmaShellWaylandIntegration:1,
from /home/pmos/build/src/plasma-workspace-6.1.2/shell/panelconfigview.cpp:35:
/usr/include/PlasmaQuick/plasmaquick/plasmashellwaylandintegration.h:14:10: fatal error: qwayland-plasma-shell.h: No such file or directory
14 | #include "qwayland-plasma-shell.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
Related: https://invent.kde.org/plasma/plasma-workspace/-/issues/132
[ci:skip-vercheck]
[ci:skip-build] times out after >3hr in gitlab CI
Apparently the patch url isn't stable(?) upstream, the checksum changed.
Since this is a simple 1 line patch, let's just include it in pmaports
This also changes kwin to use the more 'standard' pkgver used in other
packages forked for systemd support
The patches were put into the gitlab.com/postmarketos/systemd repo
and updated for stable-v256.
This also enables man pages, systemd-localed and localization support
via the compile flags.
[ci:skip-build] already built successfully in CI
PA is started automatically by its "autospawn" config thing, and it
works pretty well... if it crashes then it's automatically restarted if
needed, etc.
The included service/socket unit files never really worked,
PA started from systemd would always race with (and often to) PA autospawn.
The subpkg here also resulted in a packaging bug where both
pulseaudio-service and pw-pulse-service were installed at the same time,
because the `install_if` listed `pulseaudio`, and `pw-pulse` also
provides `pulseaudio`. The two unit things conflict with each other.
I did some initial investigation, and getting systemd to manage PA
seemed like too much work especially since autospawn is probably good
enough and we hope to move to pw audio later.
[ci:skip-vercheck]
Unfortunately there are some code paths that are required to support
socket activation, and they are only enabled at build time with
-Dsystemd=enabled. On the bright side, service/socket unit files are
included...
Also note that I disabled test on armv7 since they fail in our CI using
qemu on x86_64. They pass in Alpine on native armv7.
This changes it into a default disable.
`disable *` selects all units and hence overrides all previous presets.
Just using `disable` just changes the default unit enablement policy.
[ci:skip-build]: already built successfully in CI
For the `install_if` to work correctly, the subpackage should be named
after the main package that provides the app... in this case it's called
"rtkit"
[ci:skip-build] already built successfully in CI
[ci:skip-build] already built successfully in CI
xorg-server-common is a shared dep between xorg-server and xwayland, and
this tmpfile config is required for both to work. Without this tmpfile
config, Xwayland may fail to start. In the case of GNOME, this is a
fatal event.
This is required by systemd-vconsole-setup, which is currently
configured to run on boot (without kbd/loadkeys, the service crashes.)
[ci:skip-build]: already built successfully in CI
Fix for:
In systemd-services.trigger line 14:
systemctl $cmd $service
^--^ SC2086 (info): Double quote to prevent globbing and word splitting.
^------^ SC2086 (info): Double quote to prevent globbing and word splitting.
Should be =$pkgver-r$pkgrel instead of =$_pkgver-r$pkgrel. Otherwise CI
fails, and it is right, we do want to provide the very high version so
we don't install the regular package by accident if the regular package
gets upgraded before this forked version.
Let's put everything systemd related in an extra-repos directory, so it
is clear that the packages from here will end up in a separate, optional
binary package repository.
Add the dependency, so the systemd-services package gets built as part
of the bootstrap. Otherwise no service files will be installed, as the
individual service files get pulled in via install_if, and that only
works if a binary package is available.
This is a hack to configure utilisation clamping for gnome-shell. It
works by telling the scheduler that the gnome-shell process should run
with a much higher performance level. This improve animation performance
and general UI smoothness. A proper solution to have gnome-shell manage
this itself is in the works upstream.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
For systemd (and our own sanity) we need to do the /usr merge. This fork
of apk-tools includes the logic to support alpine packages like tar
which install the main tar binary to /bin and then a symlink to
/usr/bin/...
We should find a way to implement this in upstream apk-tools, and
continue pushing Alpine to also adopt the merged /usr model.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
alpine-base hard depends on openrc... Fork it to drop this.
We should eventually upstream this by having alpine-base depend on a
virtual pid1 or init-system subpackage which openrc and systemd can both
provide.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
The qrtr-openrc package was removed in 94a777390c
but somehow still left in depends of this package.
Fix the errors like:
ERROR: unable to select packages:
qrtr-openrc (no such package):
required by: soc-qcom-sc8180x-nonfree-firmware-openrc-1-r1[qrtr-openrc]
This is the one and only mention of qrtr-openrc package in pmaports.
P.S. It's very telling how many users sc8180x has, if this was unnoticed
for 8 months.
Signed-off-by: Alexey Min <alexey.min@gmail.com>
Generate extlinux config for newer lk2nd and switch to msdos partition type,
since lk2nd doesn't support GPT yet.
Signed-off-by: Stanislav Jakubek <stano.jakubek@gmail.com>
[ci:skip-build]: already built successfully in CI
This drops some kconfig that was added in !5836, which shouldn't be
required for device kernels to comply with the "input" kconfig check.
HID_HYPERV_MOUSE: requires enabling HyperV guest support in the kernel,
we shouldn't impose this on all device kernels.
HID_KUNIT_TEST: No reason to enable kunit support, we aren't testing the
kernel with device kernels
SURFACE_HID: Requires enabling a bunch of Microsoft Surface platform
drivers/support, doesn't make sense to require for all device kernels.
Kernels that support Surface devices can enable these as needed, since I
don't think any non-surface devices would even have surface HID input hw
in them.
Replace this deprecated variable with the new equivalent.
[ci:ignore-count]
[ci:skip-build]: armv7 fails in CI (qemu instabilities w/ our runner),
Clayton verified checksums for armv7 stuff manually
This is the port for the Librem 5 devkit, I still have one but haven't
booted it in years and it's unlikely anyone else is using this (since
this port is super outdated and almost certainly not functional as-is).
Let's archive it so that it doesn't cause any confusion.
[ci:skip-vercheck]
[ci:skip-build]: we don't actually want to build test this thing
When enabling new options in kconfigcheck, it's likely that some kernels
in pmaports will fail, but often undesirable to rebuild all the kernels
particularly when the options being enabled are for quality of life.
Adjust the rules for the kconfig check job in CI so that it will fail
with a warning in this case, but still fail with an error when an
updated kernel package doesn't pass.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
[ci:skip-build]: already built successfully in CI
Looks like a lot of HID drivers are missing from pmOS device-specific
kernels. Let's try to deal with it by enabling all the HID related
drivers that the Fedora aarch64 and x86 kernels enable.
[ci:skip-kconfig-check]: too many kernels fail from the new required
config here, it's unfeasible to update them all right now
Recent kernel occupies 47120384 bytes in uncompressed state,
which is more than reserved memory for kernel
0x80000000 - 0x82800000 (40M).
Shift FDT image to give more memory space (56M) to load Linux.
Disable GPT to be able to chainload stuff on uSD from vendor u-boot on
internal eMMC. The vendor u-boot does not support GPT.
If booting is done by reprogramming the boot order or zeroing internal
bootloader, GPT is no problem.
[ci:skip-build]: already built successfully in CI
Enable CONFIG_LEDS_GROUP_MULTICOLOR as a module to fix issue #3424.
Previously, notifications triggered the torch flash instead of the
status indicator LED. This change allows proper use of the multicolor
LED driver, ensuring notifications utilize the status indicator LED.
[ci:skip-build]: already built successfully in CI
there is available qcom-msm8953 which is working with latest lk2nd fine on kuntao, but after flashing by building with device-lenovo-kuntao, it is resulting rebooting the system continuously with latest lk2nd, so imo it should be archived
Fixes#3414.
The package `device-pine64-pinephone-vccq-mod` installs a u-boot user script.
The user script was loaded at address 0x50700000 partially overwriting
the initramfs (0x4FF00000-0x50883fd1), and causing a boot loop.
The user script load address was increased to 0x50f00000, leaving 16MB
of free space for the initramfs, the current initramfs size is 9.52MB.
Tested: Build and install package on Pinephone 1.2a running PMOS 24.12.
[ci:skip-build]: already built successfully in CI
Bootloader needs to be at 0x400 for IMX6 devices. That is ignored by
pmbootstrap which places the GPT header there. Revert to msdos partition
table style to workaround that bug.
What works:
* Flashing with heimdall and a SD card
* Networking over USB
* SSH over USB
* Splash screen (when booting from charging screen)
What doesn't work:
* Any other UI than "none" (they boot, but no graphics and no SSH)
Steps to flash:
* pmbootstrap init # Select samsung-loganrelte, select "none" as UI
* pmbootstrap build linux-samsung-loganrelte
* pmbootstrap build device-samsung-loganrelte
* pmbootstrap install --sdcard=/dev/sdX # doesn't boot from internal storage
* pmbootstrap flasher flash_kernel
Somehow enabling in-kernel PD mapper (introduced in 5b9f51b200dcb
"remoteproc: qcom: enable in-kernel PD mapper"), breaks the bottom mic
on xiaomi-beryllium (Poco F1) and distorts audio on OP6 (and possibly
OP6T). Temporarily disable it and log the rprocs in use until we better
understand what causes the issue.
Link: pmaports#3353
Link: pmaports#3320
Link: pmaports#3245
Link: pmaports#3253
Signed-off-by: Frank Oltmanns <frank@oltmanns.dev>
[ci:skip-build]: already built successfully in CI
boot-deploy uses 'local', which technically isn't POSIX-compliant
and if someone has 'sh' from something else that strictly adheres to
POSIX then boot-deploy will fail.
This is a workaround for https://gitlab.postmarketos.org/postmarketOS/boot-deploy/-/issues/38
[ci:skip-build]: already built successfully in CI
There is a special check in init_2nd.sh for older postmarketOS
installations that do not have a valid /etc/fstab file. When /boot does not
appear in fstab, it searches for the boot partition and mounts it manually.
However, /boot might be intentionally omitted in fstab, e.g. because we
just have a single rootfs partition that also contains /boot. In that case
it will wait forever, trying to find the missing boot partition.
The old installations do not have any entries in fstab, so fix this by
checking if the file is empty instead (with all comments and whitespace
removed).
[ci:skip-build]: already built successfully in CI
This reverts commit 1259d74b09.
The main reason why that change was necessary is because we skipped
mounting subpartitions entirely if we found a potential root partition
(which could be simply a crypto_LUKS partition from a different distro).
Now that we look only for the actual root partition (based on the UUID),
this should not happen anymore.
Checking both conditions causes delays if there is no boot partition,
e.g. if pmOS was installed with --single-partition. Usually we don't need
to mount the boot partition anymore, because all needed files are part of
the initramfs. So let's drop the check for the boot partition again and
rely on the UUIDs to ensure we set up the correct partitions.
When using an encrypted installation of postmarketOS, the pmos_root_uuid=
on the cmdline only tells us the UUID of the crypto_LUKS partition. Once
the partition is unlocked, we perform the the old unreliable auto detection
again. This might mount the wrong partition if multiple installations of
pmOS are attached to the system.
After we unlock the root partition, we know exactly where the root
partition is supposed to be (= at /dev/mapper/root). Let's use that
directly instead of going through the whole detection sequence again.
Right now we fallback to the old behavior of searching for the "pmOS_root"
label when the root partition specified by pmos_root_uuid= on the cmdline
is not found. This works fine most of the time, but there are edge cases in
which this does not behave correctly. Problems occur especially if there
are multiple installations of pmOS (e.g. one on internal storage, and one
on USB drive/SD card). Depending on timing or enumeration order, the system
might boot into the wrong rootfs if the intended root partition shows up
too late.
For the boot partition we already enforce the UUID provided on the cmdline.
Let's apply the same for the root partition to ensure we always boot into
the correct root partition.
2024-12-30 15:46:01 -08:00
691 changed files with 23409 additions and 23975 deletions
Loaded 100 of 691 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.