Compare commits

...
Author SHA1 Message Date
Caleb Connolly d7ee93f392 systemd-services: add iwd
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-07 13:58:46 +02:00
Caleb Connolly 7d5003a127 otter: fixes
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-06 17:00:25 +02:00
Caleb Connolly ebb802b1de postmarketos-initramfs: use full fat modprobe
Needed to support compressed modules

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-06 17:00:10 +02:00
Caleb Connolly af79c29545 linux-postmarketos-qcom-sdm845: more DTBs
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-06 15:01:36 +02:00
Caleb Connolly cb59f967b6 WIP: systemd: udev compat symlinks
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-06 15:01:35 +02:00
Caleb Connolly 30a4adad20 shift-otter: new device
SHIFTphone 8!

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-06 15:01:35 +02:00
Caleb Connolly 864bb9ebc1 postmarketos-initramfs: fix udev
There were two calls to setup_udev which caused.. whacky behaviour.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-06 15:01:34 +02:00
Caleb Connolly 625744ddde postmarketos-initramfs: switch to udev
mdev is slow and missing features, it also requires that we load all the
modules that we include at once making the boot process slower.

udev is required for unl0kr (and buffyboard), it can also load modules
on demand (and asynchronously). Making the boot process considerably
faster on devices, especially for generic images where we have lots of
drivers for different display panels in the initramfs.

This brings us more in line with other distros and generally improves
compatibility.

If devices use broken kernel modules which don't correctly define
modalias', these drivers may not be loaded by udev. This should be fixed
by defining the missing modalias statements in the driver.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-06 15:01:34 +02:00
Caleb Connolly 3524492433 postmarketos-initramfs: debug-shell: buffyboard
Drop the console-shell hook in favour of stuffing buffyboard into the
initramfs. This makes it possible to get a debug shell directly on the
device without needing to use a computer.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-06 15:01:33 +02:00
Caleb Connolly d47fe1c5a7 postmarketos-initramfs: better wait_[br]oot_partition
Rework the messages and avoid re-spawning the splash on every check.
Additionally, add a call to check_keys, this lets users drop to a debug
shell or export logs to triage this failure (particularly useful for
hard-to-reproduce issues).

Finally, add a (liberal) 30 second timeout and dump logs at the end. If
we're just waiting for a device to show up and it doesn't after 30
seconds then it's probably never going to...

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-05 17:19:50 +02:00
Caleb Connolly ae1217f294 postmarketos-initramfs: check for root subpartition
In mount_subpartition we currently try to look for the boot partition,
to see if we're done (either we aren't using subpartitions or we found
the right one). However it is possible that a device might have
originally used the subpartition scheme, but was later converted to have
a real boot partition (for EFI for example).

In this scenario, the boot partition would be found immediately, but the
root subpartition would not be.

Address this by making mount_subpartition check for success by calling
find_root_partition instead of find_boot_partition. For most
installations this has no impact.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-05 17:19:50 +02:00
Clayton Craft af32d7d01e device-*: depend on initramfs-minimal for devices with small boot 2024-05-05 17:19:50 +02:00
Caleb Connolly 74a3b30380 postmarketos-initramfs: debug-shell 2.0
This incorprates the debug-shell functionality directly into the
initramfs, so it's no longer necessary to build and boot a custom
initramfs in order to debug your device.

Additionally, the behaviour of the debug-shell is entirely reworked,
removing the telnet feature. Instead it creates an ACM serial gadget
which can be accessed via any normal terminal emulator (picocom,
minicom, etc; or PuTTY on windows). Rather than just invoking sh, the
debug-shell now creates a respawning getty on both the new virtual
console and the active console (this will either be the UART console
or tty0/1).

If fbkeyboard is available (it can be added by install
postmarketos-mkinitfs-hook-console-shell) then it will be launched on
tty0. A getty will also be launched on tty0 in this case even if it
otherwise wouldn't be (if the active console was the serial port for
example).

It is necessary to spawn these shells via getty since the logging rework
means we can no longer assume that stdin/out/err reference a TTY.

In addition to the above, it is now possible to trigger a log dump by
holding volume up during boot (if iskey is available). This can be
useful for helping users debug their devices if the issue doesn't result
in a failure that can be detected in the initramfs.

With these changes, the console-shell and debug-shell hook packages are
reduced to only adding the additional tools/features. console-shell is
still required for fbkeyboard, and debug-shell for the setup_usb_storage
tool.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-05 17:19:50 +02:00
Caleb Connolly 87d2cc88e4 main/iskey: new aport
iskey is a tiny tool that reports if any of the given keys are pressed.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-05 17:19:49 +02:00
Caleb Connolly 5009418505 postmarketos-initramfs: mount subpartitions after hooks
This step is the most likely to go wrong or have issues, and it has side
effects which can make it difficult to run multiple times on one boot.
Move it to after hooks so that e.g. when dropping to a debug shell, we
land before the first call.

This also makes booting to hooks a faster in many cases.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-05 17:19:49 +02:00
Caleb Connolly e310abc8f2 postmarketos-initramfs: use dd to allocate logs image
fallocate seems to cause some strange behaviour where the logs.img file
is treated like it's empty. Given it's small and in a ramdisk let's just
create it with dd instead.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-05 17:19:49 +02:00
Caleb Connolly 843198cb25 postmarketos-initramfs: check if UDC is configured before clearing
This fixes the annoying "sh: write error" and "Couldn't write to clear
UDC" messages that happen on every single boot.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-05 17:19:48 +02:00
Caleb Connolly 90e95660c1 postmarketos-initramfs: make CONFIGFS global
This variable is being used in more places, just make it global.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-05 17:19:48 +02:00
Caleb Connolly 6a358f2e19 main/postmarketos-initramfs: log to kernel ringbuffer
Rework logging to always log the initramfs output to the kernel
ringbuffer and deprecate PMOS_NO_OUTPUT_REDIRECT in favour of following
the kernel loglevel.

I know it seems silly to use syslogd for this, but it's necessary to
buffer writes to /dev/kmsg per-line if we want to correctly set the log
level, and "tee" does not do this (it will write multiple lines at once,
resulting in "<14>" prints in the ringbuffer). The main advantage to
this is that we won't have kernel logs cut in half by initramfs logs
anymore, everything will be nicely line buffered!

The previous logging solution of multiple "tail" commands would actually
fail to log up to the last few lines before a crash due to how tail
works (it polls the file and buffers lines).

I attempted something like this before, but I stopped after running into
ratelimiting issues. These are now resolved by configuring the
printk_devkmsg sysctl.

Dropping PMOS_NO_OUTPUT_REDIRECT:

The general motivations behind PMOS_NO_OUTPUT_REDIRECT was to avoid
cluttering up the console with initramfs logs when they aren't wanted;
this is now handled instead by the kernels logging facility. We log to
the ringbuffer at LOGLEVEL_INFO, so if "quiet" is specified on the
cmdline (or the loglevel is otherwise set above info) then initramfs
logs will also not be shown.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-05 17:19:48 +02:00
Caleb Connolly 1dd1fb440f postmarketos-initramfs: fork -minimal variant
We plan to make a lot of changes to the initramfs which will require
incresaing the size. There are some devices that have literally no free
space for this, so make a -minimal initramfs fork that can continue to
support those while we update the regular initramfs.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-05 17:19:48 +02:00
Caleb Connolly 347a990ac5 systemd/systemd-services: dconf: fix path (MR 5094)
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-05 17:14:44 +09:00
Caleb Connolly 7b3ad2eb3d systemd: linux-pam: upgrade to 1.6.0
following Alpine

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-04 02:17:17 +02:00
Caleb Connolly 6133ab762f systemd/gnome-shell-mobile: update
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-04 02:17:16 +02:00
Bart Ribbers e9643d3b6b extra-repos/systemd/kde*: upgrade to latest versions (MR 5068)
[ci:skip-build]: already built successfully in CI
2024-05-04 02:17:16 +02:00
Clayton Craft c049507b1f extra-repos/systemd: add kbd dependency (MR 5074)
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
2024-05-04 02:17:16 +02:00
Oliver Smith 80db8dbb85 (not for master): CI: build_changed_aports: systemd staging (MR 5070)
Add hacks that are currently needed to build packages with the
temporary systemd staging repository.

Related: https://postmarketos.org/systemd
[ci:ignore-count] [ci:skip-vercheck]
2024-05-04 02:17:16 +02:00
Oliver Smith ea43a2fb20 (not for master) CI: hardcode get_upstream_branch (MR 5070)
Set it to master_staging_systemd, and bypass the usual logic of looking
into pmaports.cfg and channels.cfg (of master branch!). This avoids
adding it to channels.cfg of the master branch.
2024-05-04 02:17:15 +02:00
Oliver Smith 8fc5c3fee0 (not for master): CI: disable armhf, riscv64, x86 (MR 5070)
The staging repository isn't being built for these.
2024-05-04 02:17:15 +02:00
Oliver Smith 0349f48ac0 systemd: fix "INSERT-REASON-HERE" comments (MR 5070) 2024-05-04 02:17:15 +02:00
Oliver Smith d06ecceeaa systemd/systemd-services: make shellcheck happy (MR 5070)
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.
2024-05-04 02:17:15 +02:00
Oliver Smith cad90435cd systemd: remove various unreferenced files (MR 5070)
Remove OpenRC specific files that were removed for the systemd-specific
forks.
2024-05-04 02:17:14 +02:00
Oliver Smith b4eb288aae systemd/mutter-mobile: fix provides= (MR 5070) 2024-05-04 02:17:14 +02:00
Oliver Smith a800def6af systemd/gnome-shell-mobile: fix provides= (MR 5070)
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.
2024-05-04 02:17:14 +02:00
Oliver Smith 175133e426 CI: test_kernel: skip linux-pam (MR 5070)
The linux-pam package is not a linux kernel :)
2024-05-04 02:17:14 +02:00
Oliver Smith 8d417ef90a CI: directory-structure: add extra-repos/systemd (MR 5070) 2024-05-04 02:17:13 +02:00
Oliver Smith ea0e060c7d editorconfig: add networkmanager.rules style (MR 5070)
This is forked from Alpine. Keep the style to not increase the diff.
2024-05-04 02:17:13 +02:00
Bart Ribbers 38ad76bd5b main/postmarketos-ui-plasma-{mobile,desktop}: start with systemd 2024-05-04 02:17:13 +02:00
Bart Ribbers ec2136ab20 extra-repos/systemd/kjournald: new aport 2024-05-04 02:17:13 +02:00
Bart Ribbers e96334751b extra-repos/systemd/plasma*: add initial systemd Plasma packages 2024-05-04 02:17:12 +02:00
Oliver Smith 0d9a5d6f3f extra-repos/systemd/: move from systemd/
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.
2024-05-04 02:17:12 +02:00
Oliver Smith 67d3e25e79 systemd/xorg-server: set !check 2024-05-04 02:17:12 +02:00
Oliver Smith b60b4f4cd9 systemd/gnome-shell-mobile: drop caribou dep
Remove it, like we did with temp/gnome-shell-mobile in pmaports master.
2024-05-04 02:17:12 +02:00
Oliver Smith 69b7f7a837 main/postmarketos-ui-sxmo-*: set pmb:systemd-never
Sxmo maintainers have decided to stay with OpenRC on postmarketOS. Set
this option, so pmbootstrap doesn't even ask the user if they want to
install Sxmo with systemd. The idea is that users don't end up
reporting issues about this unsupported use case.
2024-05-04 02:17:11 +02:00
Sam Day e15f67930c systemd-services: add phosh.service (MR 4904) 2024-05-04 02:17:11 +02:00
Sam Day f524288b7a postmarketos-ui-phosh: systemd support (MR 4904) 2024-05-04 02:17:11 +02:00
Oliver Smith 9e1608c006 systemd/postmarketos-base-systemd: depend on systemd-services
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.
2024-05-04 02:17:11 +02:00
Alexander Martinz 61e980363b systemd/systemd-services: add rtkit-daemon.service
Taken upstream from https://github.com/heftig/rtkit/blob/master/rtkit-daemon.service.in

Change-Id: I0ae6e1a70b961bafd52702a412a2cdcc12bb544a
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
2024-05-04 02:17:10 +02:00
Caleb Connolly 150faa730a main/postmarketos-dev: new aport
This package is meant to encompass what an average developer would want
from a postmarketOS image. We plan to provide -dev variants of some
postmarketOS images for some devices for use by the Linux mobile
developer community. These should include useful tools out of the box
and provide a familiar shell and coreutils.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-04 02:17:10 +02:00
Caleb Connolly 908621b482 TEMP: main/postmarketos-mkinitfs: usrmerge fork
There's some patches we didn't get upstreamed to mkinitfs yet, we need
them for /usr merge compatibility.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-04 02:17:10 +02:00
Caleb Connolly 1203c41daa main/postmarketos-config-nftables: systemd support
Apparently nftables-openrc doesn't get pulled in automatically? But we
can't just depend on it now. Add our own -openrc subpackage with the
correct install_if property to pull in nftables-openrc.

The upstream nftables-openrc subpackage should be fixed (if it's
broken).

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-04 02:17:10 +02:00
Caleb Connolly 2e2e853171 main/postmarketos-bootsplash: systemd support
Install a kill-pbsplash systemd service which is configured to be
started as part of the graphical-session user target. Additionally
install an override so that if the display-manager service (aliases to
gdm, sddm, etc) fails to start it will still kill pbsplash.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-04 02:17:09 +02:00
Caleb Connolly 46159bd126 main/postmarketos-base-ui: support systemd
Not sure if dropping the networkmanager-openrc dependency causes issues.
Otherwise, make the elogind subpackage conflict with systemd-logind.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-04 02:17:09 +02:00
Caleb Connolly b396a8c00a systemd/gnome-shell-mobile: add uclamp hack
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>
2024-05-04 02:17:09 +02:00
Caleb Connolly 3571a73289 CHECK: systemd/xorg-server: new aport
Maybe integrates with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-04 02:17:09 +02:00
Caleb Connolly 04f236b33f systemd/upower: new aport
Integrates with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-04 02:17:08 +02:00
Caleb Connolly 9acb435ac9 systemd/systemd-services: new aport
A collection of systemd services.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-04 02:17:08 +02:00
dcfadc8519 systemd/systemd: new aport
Co-Authored-by: jane400 <pmos@j4ne.de>
Co-Authored-by: Caleb Connolly <caleb@postmarketos.org>
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-04 02:16:48 +02:00
Caleb Connolly b4ec7134c7 systemd/postmarketos-base-systemd: new aport
postmarketOS base package with systemd stuff.
2024-05-04 00:42:30 +02:00
Caleb Connolly 12eda5a5b2 systemd/polkit: new aport
Integrates tightly with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-04 00:42:30 +02:00
Caleb Connolly 6b2cbc02ea CHECK: systemd/networkmanager: new aport
Can maybe drop and just package the service file.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-04 00:42:30 +02:00
Caleb Connolly fd525f81be systemd/mutter-mobile: new aport
Integrates tightly with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-04 00:42:30 +02:00
Caleb Connolly 708437dfff systemd/multipath-tools: new aport
Builds against systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-04 00:42:29 +02:00
Caleb Connolly fd223f5e99 systemd/linux-pam-systemd: new aport
integrates with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-04 00:42:29 +02:00
Caleb Connolly 3a8f876005 systemd/gnome-shell-mobile: new aport
Integrates tightly with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-04 00:42:29 +02:00
Caleb Connolly 856838e11b systemd/gnome-settings-daemon: new aport
Integrates tightly with systemd

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-04 00:42:29 +02:00
Caleb Connolly 31b121d2d7 systemd/gnome-session: new aport
Integrates tightly with systemd

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-04 00:42:28 +02:00
Caleb Connolly d05e4938e5 systemd/gnome-keyring: new aport
Integrates tightly with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-04 00:42:28 +02:00
Caleb Connolly 09573a9b58 systemd/gdm: new aport
gdm integrates tightly with systemd, fork from aports to rebuild against
systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-04 00:42:28 +02:00
Caleb Connolly 5d77cc14a4 systemd/dbus: new aport
Fork dbus and rebuild it with systemd support.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-04 00:42:28 +02:00
Caleb Connolly 4c4e7d3e86 systemd/apk-tools: new aport
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>
2024-05-04 00:42:27 +02:00
Caleb Connolly 068a5cd5e0 systemd/alpine-base: new aport
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>
2024-05-04 00:42:27 +02:00
Caleb Connolly eebfa15207 systemd/accountsservice: new aport
Forked from alpine to rebuild with systemd support.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-04 00:42:27 +02:00
Caleb Connolly ff6d3d36d3 systemd/abuild: new aport
Fork of abuild with a default_service implementation for generating
-service subpackages.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-04 00:42:27 +02:00
Caleb Connolly 76207368a1 temp/gnome-shell-mobile: drop
pmb can't handle multiple versions of a package yet ;P

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-04 00:42:06 +02:00
Caleb Connolly d5b607ee7a temp/mutter-mobile: drop
For systemd version

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-04 00:42:06 +02:00
Caleb Connolly 94ef9ff5d5 main/postmarketos-base-ui-gnome: split openrc depends to -openrc subpackage
Allow this package to be used on systemd installs without pulling in a
bunch of openrc services.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-04 00:42:06 +02:00
Oliver Smith 19d4e77aca pmaports.cfg: add repo:systemd section 2024-05-04 00:42:05 +02:00
Oliver Smith a10e3a3733 main/postmarketos-ui-gnome-mobile: set pmb:systemd
Let pmbootstrap install systemd along with postmarketos-ui-gnome-mobile,
unless the user sets "never" for systemd in "pmbootstrap init".
2024-05-04 00:42:05 +02:00
225 changed files with 10181 additions and 373 deletions

No files matched your search

+3
View File
@@ -15,6 +15,9 @@ import pmb.helpers.pmaports
def build_strict(packages, arch):
common.run_pmbootstrap(["build_init"])
common.run_pmbootstrap(["config", "mirrors_postmarketos",
"http://mirror.postmarketos.org/postmarketos/staging/systemd/"])
common.run_pmbootstrap(["config", "systemd", "always"])
common.run_pmbootstrap(["--details-to-stdout", "--no-ccache", "build",
"--strict", "--force",
"--arch", arch, ] + list(packages))
+2 -28
View File
@@ -60,34 +60,8 @@ def get_upstream_branch():
:returns: branch name, e.g. "v20.05" """
# Prefer gitlab CI target branch name if it's set (i.e. running in gitlab CI)
if target_branch := os.environ.get("CI_MERGE_REQUEST_TARGET_BRANCH_NAME"):
return target_branch
global cache
if "upstream_branch" in cache:
return cache["upstream_branch"]
# Get channel (e.g. "stable") from pmaports.cfg
# https://postmarketos.org/pmaports.cfg
pmaports_dir = get_pmaports_dir()
pmaports_cfg = configparser.ConfigParser()
pmaports_cfg.read(f"{pmaports_dir}/pmaports.cfg")
channel = pmaports_cfg["pmaports"]["channel"]
# Get branch_pmaports (e.g. "v20.05") from channels.cfg
# https://postmarketos.org/channels.cfg
channels_cfg_str = run_git(["show", "upstream/master:channels.cfg"])
channels_cfg = configparser.ConfigParser()
channels_cfg.read_string(channels_cfg_str)
assert channel in channels_cfg, \
f"Channel '{channel}' from pmaports.cfg in your branch is unknown." \
" This appears to be an old branch, consider recreating your change" \
" on top of master."
ret = channels_cfg[channel]["branch_pmaports"]
cache["upstream_branch"] = ret
return ret
# HACK for master_staging_systemd branch
return "master_staging_systemd"
def get_changed_files(removed=True):
-1
View File
@@ -20,7 +20,6 @@ sh_files="
./main/postmarketos-installkernel/installkernel-pmos
./main/postmarketos-initramfs/init.sh
./main/postmarketos-initramfs/init_functions.sh
./main/postmarketos-mkinitfs-hook-debug-shell/20-debug-shell.sh
./main/postmarketos-mkinitfs-hook-debug-shell/setup_usb_storage.sh
./main/postmarketos-mkinitfs-hook-netboot/netboot.sh
./main/ttyescape/*.post-install
@@ -10,6 +10,7 @@ expected_directories = [
"device/main",
"device/testing",
"device/unmaintained",
"extra-repos/systemd",
"main",
"modem",
"non-free",
+3
View File
@@ -20,6 +20,9 @@ def test_aports_kernel(args):
apkbuild = pmb.parse.apkbuild(path)
aport_name = os.path.basename(os.path.dirname(path))
if aport_name == "linux-pam":
continue # This package isn't a linux kernel!
if "pmb:cross-native" not in apkbuild["options"]:
raise RuntimeError(f"{aport_name}: \"pmb:cross-native\" missing in"
" options= line")
+5
View File
@@ -12,3 +12,8 @@ indent_style = tab
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
# Forked from Alpine
[extra-repos/systemd/networkmanager/networkmanager.rules]
indent_style = space
indent_size = 4
-15
View File
@@ -141,11 +141,6 @@ build-x86_64:
script:
- .ci/build-x86_64.sh
build-x86:
extends: .build
script:
- .ci/build-x86.sh
build-aarch64:
extends: .build
script:
@@ -155,13 +150,3 @@ build-armv7:
extends: .build
script:
- .ci/build-armv7.sh
build-armhf:
extends: .build
script:
- .ci/build-armhf.sh
build-riscv64:
extends: .build
script:
- .ci/build-riscv64.sh
@@ -3,7 +3,7 @@
pkgname=device-google-peach-pit
pkgdesc="Samsung Chromebook 2 (11.6 inch)"
pkgver=6
pkgrel=1
pkgrel=2
url="https://postmarketos.org"
license="MIT"
arch="armv7"
@@ -14,6 +14,7 @@ depends="
linux-postmarketos-exynos5
postmarketos-base
postmarketos-cros-common
postmarketos-initramfs-minimal
"
makedepends="devicepkg-dev"
source="
+2 -1
View File
@@ -3,7 +3,7 @@
pkgname=device-google-snow
pkgdesc="Samsung Chromebook"
pkgver=6
pkgrel=1
pkgrel=2
url="https://postmarketos.org"
license="MIT"
arch="armv7"
@@ -14,6 +14,7 @@ depends="
linux-postmarketos-exynos5
postmarketos-base
postmarketos-cros-common
postmarketos-initramfs-minimal
"
makedepends="devicepkg-dev"
source="
@@ -64,6 +64,8 @@ package() {
mkdir -p "$pkgdir"/boot/dtbs/qcom
cp -r "$pkgdir"/boot/dtbs-tmp/qcom/sdm8* "$pkgdir"/boot/dtbs/qcom
cp -r "$pkgdir"/boot/dtbs-tmp/qcom/sm* "$pkgdir"/boot/dtbs/qcom
cp -r "$pkgdir"/boot/dtbs-tmp/qcom/qcm* "$pkgdir"/boot/dtbs/qcom
rm -rf "$pkgdir"/boot/dtbs-tmp
rm -f "$pkgdir"/lib/modules/*/build "$pkgdir"/lib/modules/*/source
@@ -3,7 +3,7 @@
pkgname=device-google-peach-pi
pkgdesc="Samsung Chromebook 2 (13.3 inch)"
pkgver=6
pkgrel=1
pkgrel=2
url="https://postmarketos.org"
license="MIT"
arch="armv7"
@@ -14,6 +14,7 @@ depends="
linux-postmarketos-exynos5
postmarketos-base
postmarketos-cros-common
postmarketos-initramfs-minimal
"
makedepends="devicepkg-dev"
source="
+2 -1
View File
@@ -2,7 +2,7 @@
pkgname=device-google-spring
pkgdesc="HP Chromebook 11 G1"
pkgver=2
pkgrel=1
pkgrel=2
url="https://postmarketos.org"
license="MIT"
arch="armv7"
@@ -13,6 +13,7 @@ depends="
linux-postmarketos-exynos5
postmarketos-base
postmarketos-cros-common
postmarketos-initramfs-minimal
"
makedepends="devicepkg-dev"
source="deviceinfo modules-initfs"
+2 -1
View File
@@ -2,7 +2,7 @@
pkgname=device-samsung-klte
pkgdesc="Samsung Galaxy S5 (G900F/G9006/G9008/G9009W)"
pkgver=7
pkgrel=0
pkgrel=1
url="https://postmarketos.org"
license="MIT"
arch="armv7"
@@ -11,6 +11,7 @@ depends="
lk2nd-msm8974
mkbootimg
postmarketos-base
postmarketos-initramfs-minimal
swclock-offset
"
makedepends="devicepkg-dev"
@@ -0,0 +1,36 @@
# Reference: <https://postmarketos.org/devicepkg>
# Maintainer: Caleb Connolly <caleb@postmarketos.org>
pkgname=device-shift-otter
pkgdesc="SHIFT SHIFTphone 8"
pkgver=1
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
options="!check !archcheck"
depends="
firmware-qcom-adreno-a660
linux-postmarketos-qcom-sdm845
make-dynpart-mappings
mkbootimg
postmarketos-base
soc-qcom-sc7280
soc-qcom-sc7280-qbootctl
"
makedepends="devicepkg-dev"
source="
deviceinfo
modules-initfs
"
build() {
devicepkg_build $startdir $pkgname
}
package() {
devicepkg_package $startdir $pkgname
}
sha512sums="
b06f25dc2ea717aae558beb943eaf48fa99c19966dbe82071914ee15ae4e77cfa997da67915cb48ef26cb9ff63a9f719bb1bc5f295ef61659afce1b8b6351e87 deviceinfo
3332d49c084e8f942a8528cd779fc0d3f673bc064ca9282eeab60f04deb901772d7315239b093cb2104fe9fcc0568c078e5d1f4d4ea05a55480994417d49ac00 modules-initfs
"
@@ -0,0 +1,38 @@
# Reference: <https://postmarketos.org/deviceinfo>
# Please use double quotes only. You can source this file in shell
# scripts.
deviceinfo_format_version="0"
deviceinfo_name="SHIFT SHIFTphone 8"
deviceinfo_manufacturer="SHIFT"
deviceinfo_codename="shift-otter"
deviceinfo_year="2024"
deviceinfo_dtb="qcom/qcm6490-shift-otter"
deviceinfo_append_dtb="true"
deviceinfo_arch="aarch64"
deviceinfo_flash_kernel_on_update="true"
# Device related
deviceinfo_gpu_accelerated="true"
deviceinfo_chassis="handset"
deviceinfo_keyboard="false"
deviceinfo_external_storage="true"
deviceinfo_getty="ttyMSM0;115200"
# Bootloader related
deviceinfo_flash_method="fastboot"
deviceinfo_kernel_cmdline="PMOS_NOSPLASH"
deviceinfo_generate_bootimg="true"
deviceinfo_bootimg_qcdt="false"
deviceinfo_bootimg_mtk_mkimage="false"
deviceinfo_bootimg_dtb_second="false"
deviceinfo_flash_pagesize="4096"
deviceinfo_flash_offset_base="0x00000000"
deviceinfo_flash_offset_dtb="0x01f00000"
deviceinfo_flash_offset_kernel="0x00008000"
deviceinfo_flash_offset_ramdisk="0x01000000"
deviceinfo_flash_offset_second="0x00000000"
deviceinfo_flash_offset_tags="0x00000100"
deviceinfo_header_version="2"
deviceinfo_rootfs_image_sector_size="4096"
deviceinfo_flash_sparse="true"
@@ -0,0 +1,8 @@
fsa4480
msm
panel-shift-sh8804b
qcom_glink_smem
pmic_glink
ucsi_glink
gpi
focaltech_ts
+103
View File
@@ -0,0 +1,103 @@
# Forked from Alpine to add systemd-service support
pkgname=abuild
pkgver=99993.12.0
_pkgver=3.12.0
_commit="d45c6dbee9171fa9dc25b2d6b298469619fbedb6"
_ver=${_pkgver%_git*}
pkgrel=1
pkgdesc="Script to build Alpine Packages"
url="https://git.alpinelinux.org/cgit/abuild/"
arch="all"
license="GPL-2.0-only"
depends="fakeroot scanelf openssl>3 apk-tools>=2.0.7-r1 libc-utils
attr tar pkgconf patch lzip curl libcap-getcap"
makedepends="openssl-dev>3 zlib-dev pkgconfig scdoc"
checkdepends="kyua git"
install="$pkgname.pre-install $pkgname.pre-upgrade"
subpackages="
apkbuild-cpan:cpan:noarch
apkbuild-gem-resolver:gems:noarch
apkbuild-pypi:pypi:noarch
abuild-rootbld:_rootbld:noarch
$pkgname-doc
"
options="suid !check" # tests are SLOW in qemu
pkggroups="abuild"
source="https://gitlab.com/calebccff/abuild/-/archive/$_commit/abuild-$_commit.tar.gz"
builddir="$srcdir"/abuild-"$_commit"
build() {
make VERSION="$_pkgver-r$pkgrel"
}
check() {
make check
}
package() {
make install VERSION="$_pkgver-r$pkgrel" DESTDIR="$pkgdir"
install -m 644 abuild.conf "$pkgdir"/etc/abuild.conf
case "$CARCH" in
x86*|ppc64le)
# binutils only supports it here
cat >>"$pkgdir"/usr/share/abuild/default.conf <<-EOF
# binutils ld.bfd supports this on this architecture; default to it
export RUSTFLAGS="\$RUSTFLAGS -Clink-arg=-Wl,-z,pack-relative-relocs"
export LDFLAGS="\$LDFLAGS -Wl,-z,pack-relative-relocs"
EOF
esac
case "$CARCH" in
x86_64)
# https://lists.alpinelinux.org/~alpine/devel/%3C1628515011.zujvcn248v.none%40localhost%3E
# note that this is x86-exclusive. on other architectures, this is pretty much always bad
# https://github.com/rust-lang/rust/pull/106380
cat >>"$pkgdir"/usr/share/abuild/default.conf <<-EOF
# -fno-plt has very slight improvements to general code size and speed on x86-only,
# for the common system dynamic linking case
export CFLAGS="\$CFLAGS -fno-plt"
export CXXFLAGS="\$CXXFLAGS -fno-plt"
EOF
;;
esac
install -d -m 775 -g abuild "$pkgdir"/var/cache/distfiles
}
cpan() {
pkgdesc="Script to generate perl APKBUILD from CPAN"
depends="perl perl-libwww perl-json perl-module-build perl-module-build-tiny
perl-lwp-protocol-https"
amove usr/bin/apkbuild-cpan
}
gems() {
pkgdesc="APKBUILD dependency resolver for RubyGems"
depends="ruby ruby-augeas"
amove usr/bin/apkbuild-gem-resolver
}
pypi() {
pkgdesc="Script to generate python3 APKBUILD from PYPI"
depends="perl perl-libwww perl-json perl-module-build-tiny perl-lwp-protocol-https
perl-ipc-system-simple"
amove usr/bin/apkbuild-pypi
}
_rootbld() {
pkgdesc="Build packages in chroot"
depends="abuild bubblewrap cmd:envsubst git"
mkdir -p "$subpkgdir"
}
sha512sums="
3959c47c8ada26a23f647b4af4258e6ff1a8c7b6b4821cafe655da953933f12fed8c5753a8ec2cde6abd1e3e9b67dccaa74acc0633827d581d532905af9fb1e4 abuild-d45c6dbee9171fa9dc25b2d6b298469619fbedb6.tar.gz
"
@@ -0,0 +1,5 @@
#!/bin/sh
addgroup -S abuild 2>/dev/null
exit 0
+1
View File
@@ -0,0 +1 @@
abuild.pre-install
@@ -0,0 +1,59 @@
# Forked from Alpine to build with systemd support
# this provides the ability to activate user sessions
# from dbus by invoking logind
pkgname=accountsservice
pkgver=99923.13.9
_pkgver=23.13.9
pkgrel=0
pkgdesc="D-Bus interface for user account query and manipulation"
url="https://www.freedesktop.org/software/accountsservice/"
arch="all"
license="GPL-3.0-or-later"
depends_dev="gobject-introspection-dev"
makedepends="
$depends_dev
dbus-dev
systemd-dev
glib-dev
meson
polkit-dev
vala
"
subpackages="$pkgname-dev $pkgname-lang lib$pkgname:libs"
source="https://www.freedesktop.org/software/accountsservice/accountsservice-$_pkgver.tar.xz
musl-fgetspent_r.patch
musl-wtmp.patch
opt-tests.patch
"
# mocklibc fails to build with implicits
options="!check"
builddir="$srcdir/accountsservice-$_pkgver"
build() {
abuild-meson \
-Db_lto=true \
-Dsystemdsystemunitdir=/usr/lib/systemd/system \
-Dintrospection=true \
-Ddocbook=false \
-Dgtk_doc=false \
-Dadmin_group=wheel \
-Dtests="$(want_check && echo true || echo false)" \
. output
meson compile -C output
}
check() {
meson test --print-errorlogs --no-rebuild -C output
}
package() {
DESTDIR="$pkgdir" meson install --no-rebuild -C output
}
sha512sums="
c6eb543ce2e07b61bbdfa454e388949bc688517be0536b14f30c66383ed105b15d3fab8b6c62b1eaa08f67d9bdc29b928729d9f7c704f47de4decf0de8e12f89 accountsservice-23.13.9.tar.xz
469392beca8f5941eafaa193c4fcb0472770ee4183ce520416a1b5d6abafe0e201990eb74d06bfbd9e20af08e55aff5f0031f267083f6c6879f0fe4e5028103c musl-fgetspent_r.patch
6d81caed730473d5c94d575c580a236b4267b374bf50588860922a7ecbeef0b2a1d50124fa3ae195c4f26abe8c3bd6df2aea6d27a0ce23e99acef9fff3eb9652 musl-wtmp.patch
cc5ea18d885ccc5a85f5f4191d3157f3953878af289a9cabc373afea67726042144d66fd9f8d08dac7090fc23037ab98adb4101e8378a16ab2eb04043c88378f opt-tests.patch
"
@@ -0,0 +1,34 @@
diff --git a/src/daemon.c b/src/daemon.c
index 312394a..e7b3c58 100644
--- a/src/daemon.c
+++ b/src/daemon.c
@@ -140,6 +140,28 @@ error_get_type (void)
#define MAX_LOCAL_USERS 50
#endif
+#ifndef __GLIBC__
+ /* Musl libc does not support fgetspent_r(), write own
+ * wrapper
+ */
+static int fgetspent_r(FILE *fp, struct spwd *spbuf, char *buf, size_t buflen, struct spwd **spbufp) {
+ struct spwd *shadow_entry = fgetspent(fp);
+ if(!shadow_entry)
+ return -1;
+ size_t namplen = strlen(shadow_entry->sp_namp);
+ size_t pwdplen = strlen(shadow_entry->sp_pwdp);
+
+ if(namplen + pwdplen + 2 > buflen)
+ return -1;
+
+ *spbufp = memcpy(spbuf, shadow_entry, sizeof(struct spwd));
+ spbuf->sp_namp = strncpy(buf, shadow_entry->sp_namp, namplen + 1);
+ spbuf->sp_pwdp = strncpy(buf + namplen + 1, shadow_entry->sp_pwdp, pwdplen + 1);
+
+ return 0;
+}
+#endif
+
static struct passwd *
entry_generator_fgetpwent (Daemon *daemon,
GHashTable *users,
@@ -0,0 +1,15 @@
the assert expects a working /var/log/wtmp at build time
diff --git a/meson.build b/meson.build
index 4a509e7..f995d28 100644
--- a/meson.build
+++ b/meson.build
@@ -103,8 +103,7 @@ elif cc.has_header_symbol('paths.h', '_PATH_WTMPX')
config_h.set('PATH_WTMP', '_PATH_WTMPX')
else
- path_wtmp = '/var/log/utx.log'
- assert(run_command('test', '-e', path_wtmp, check: false).returncode() == 0, 'Do not know which filename to watch for wtmp changes')
+ path_wtmp = '/var/log/wtmp'
config_h.set_quoted('PATH_WTMP', path_wtmp)
endif
@@ -0,0 +1,24 @@
diff --git a/meson.build b/meson.build
index 4a509e7..5119fab 100644
--- a/meson.build
+++ b/meson.build
@@ -232,7 +232,9 @@ if get_option('gtk_doc')
subdir('doc/libaccountsservice')
endif
-subdir('tests')
+if get_option('tests')
+ subdir('tests')
+endif
configure_file(
output: 'config.h',
diff --git a/meson_options.txt b/meson_options.txt
index b34a0fa..56872c7 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -13,3 +13,4 @@ option('vapi', type: 'boolean', value: true, description : 'Enable Vala bindings
option('docbook', type: 'boolean', value: false, description: 'build documentation (requires xmlto)')
option('gtk_doc', type: 'boolean', value: false, description: 'use gtk-doc to build documentation')
+option('tests', type: 'boolean', value: true, description: 'tests')
+37
View File
@@ -0,0 +1,37 @@
# Forked from Alpine to remove openrc dependency
pkgname=alpine-base
pkgver=9999
pkgrel=0
pkgdesc="Meta package for minimal alpine base"
url="https://alpinelinux.org"
arch="noarch"
license="MIT"
depends="
alpine-baselayout
alpine-release
apk-tools
busybox
busybox-suid
libc-utils
"
# can't include systemd here, as we wan't to upgrade from alpine's base to our systemd-base while building
subpackages="alpine-release:release"
replaces="alpine-baselayout"
options="pmb:strict !check"
source="rc-update"
package() {
install -Dm755 rc-update "$pkgdir"/usr/bin/rc-update
}
release() {
depends="alpine-keys"
pkgdesc="Alpine release data"
mkdir -p "$subpkgdir"
}
sha512sums="
18227112a559e2b90c9a3cf4eb16762595370130c88cb7b7d1a0fda2ba894918802dd084f7c505f8eb379f078d4c2ed2e384f03d16ff25075acdb31ab0186813 rc-update
"
+41
View File
@@ -0,0 +1,41 @@
#!/bin/sh
# Dummy to make post-install scripts work
# Will fail in chroot for sysV compat services
# FIXME: FIXME: FIXME: FIXME: FIXME:
# Get the last argument to rc-update, it's
instruction="enable"
for service; do
case "$service" in
"rc-update")
;;
"-q")
;;
"add")
instruction="enable"
;;
"del")
instruction="disable"
;;
*)
break
;;
esac
done
case "$service" in
"networkmanager")
service="NetworkManager"
;;
"modemmanager")
service="ModemManager"
;;
esac
# The service files might be missing due to how apk orders the install
# so we record them all to let systemd-services.trigger enable them
# at the end of installation
if ! systemctl $instruction $service; then
echo "$instruction $service" >> /run/rc-update.failed
fi
+101
View File
@@ -0,0 +1,101 @@
# Forked from Alpine to support usr-merge:
# https://gitlab.alpinelinux.org/alpine/apk-tools/-/merge_requests/155
pkgname=apk-tools
pkgver=9992.14
_pkgver=2.14.0
pkgrel=6
pkgdesc="Alpine Package Keeper - package manager for alpine"
arch="all"
url="https://gitlab.alpinelinux.org/alpine/apk-tools"
license="GPL-2.0-only"
subpackages="$pkgname-dbg $pkgname-dev $pkgname-static $pkgname-doc $pkgname-zsh-completion"
# Musl 1.2 introduced new ABI for time64 => upgrading apk-tools
# while staying on musl <1.2 causes missing symbols
# starting with musl 1.2.3_git (pre 1.2.3), we added DT_RELR
# it is possible for old systems to upgrade, and apk-tools would upgrade first,
# which would upgrade to a binary that cannot run until musl is upgraded.
# forcing this constraint makes apk upgrade musl as part of the 'critical' transaction,
# and update musl first.
depends="musl>=1.2.3_git20230424"
makedepends_build="openssl>3 lua5.3 lua5.3-lzlib scdoc"
makedepends_host="zlib-dev openssl-dev zlib-static openssl-libs-static linux-headers"
makedepends="$makedepends_build $makedepends_host lua-dev"
_lua="no"
if [ "$CBUILD" = "$CHOST" ]; then
_lua="lua5.3"
subpackages="$subpackages $_lua-apk:luaapk"
makedepends="$makedepends $_lua-dev"
# ca-certificates-bundle needed for https certificate validation
depends="$depends ca-certificates-bundle"
fi
_commit="3ffd8c224c5e87328bd237dad6a63bb75fb10255"
source="https://gitlab.com/calebccff/apk-tools/-/archive/$_commit/apk-tools-$_commit.tar.gz
_apk
"
builddir="$srcdir/$pkgname-$_commit"
# secfixes:
# 2.12.6-r0:
# - CVE-2021-36159
# 2.12.5-r0:
# - CVE-2021-30139
prepare() {
default_prepare
sed -i -e 's:-Werror::' Make.rules
echo "FULL_VERSION=$_pkgver-r$pkgrel" > config.mk
}
build() {
make LUA="$_lua"
make static LUA="$_lua"
}
check() {
make check LUA="$_lua"
}
package() {
make DESTDIR="$pkgdir" LUA="$_lua" install
install -d "$pkgdir"/var/lib/apk \
"$pkgdir"/lib/apk/exec \
"$pkgdir"/etc/apk/keys \
"$pkgdir"/etc/apk/protected_paths.d
install -Dm644 "$srcdir"/_apk "$pkgdir"/usr/share/zsh/site-functions/_apk
rm -r "$pkgdir"/usr/share/doc
}
static() {
pkgdesc="Alpine Package Keeper - static binary"
install -Dm755 "$builddir"/src/apk.static \
"$subpkgdir"/sbin/apk.static
# lets sign the static binary so it can be vefified from distros
# that does not have apk-tools
local abuild_conf=${ABUILD_CONF:-"/etc/abuild.conf"}
local abuild_home=${ABUILD_USERDIR:-"$HOME/.abuild"}
local abuild_userconf=${ABUILD_USERCONF:-"$abuild_home/abuild.conf"}
[ -f "$abuild_userconf" ] && . "$abuild_userconf"
local privkey="$PACKAGER_PRIVKEY"
local pubkey=${PACKAGER_PUBKEY:-"$privkey.pub"}
local keyname=${pubkey##*/}
${CROSS_COMPILE}strip "$subpkgdir"/sbin/apk.static
openssl dgst -sha1 -sign "$privkey" \
-out "$subpkgdir"/sbin/apk.static.SIGN.RSA.$keyname \
"$subpkgdir"/sbin/apk.static
}
luaapk() {
pkgdesc="Lua module for apk-tools"
mkdir -p "$subpkgdir"/usr/
mv "$pkgdir"/usr/lib "$subpkgdir"/usr/lib/
}
sha512sums="
5028790865c4a1e8b231bceb2d28e06f870cbdd6e0bb8ef5d203420dfb137142ead08002659af16c103d867f8501eb00624d7860c20df490f95dd2ec24226153 apk-tools-3ffd8c224c5e87328bd237dad6a63bb75fb10255.tar.gz
7870676720f5007eee9482786e02246f8e3474afb90e76c9c83aebe914747a8e007b5d2eed6441933f4922024b3f0664db270f21981ad6c2db877a110b0cd79e _apk
"
+268
View File
@@ -0,0 +1,268 @@
#compdef apk
function _apk {
local -a global_opts=(
"(-h --help)"{-h,--help}"[Print help information]"
"(-i --interactive)"{-i,--interactive}"[Ask confirmation before performing certain operations]"
"(-p --root)"{-p,--root}"[Manage file system at ROOT]"
"(-q --quiet)"{-q,--quiet}"[Print less information]"
"(-U --update-cache)"{-U,--update-cache}"[Alias for '--cache-max-age 1']"
"(-v --verbose)"{-v,--verbose}"[Print more information]"
"(-V --version)"{-V,--version}"[Print program version and exit]"
"(-X --repository)"{-X,--repository}"[Specify additional package repository]:repository:_host"
"--allow-untrusted[Install packages with untrusted signature or no signature]"
"--arch[Temporarily override architecture]:arch:(armhf mips64 s390x x86_64 x86 aarch64 ppc64le armv7 riscv64)"
"--cache-dir[Temporarily override the cache directory]:directory:_dir_list"
"--cache-max-age[Maximum age for index in cache before it's refreshed]:minutes"
"--force-binary-stdout[Continue even if binary data will be printed to the terminal]"
"--force-broken-world[Continue even if world cannot be satisfied]"
"--force-non-repository[Continue even if packages may be lost on reboot]"
"--force-old-apk[Continue even if packages use unsupported features]"
"--force-overwrite[Overwrite files in other packages]"
"--force-refresh[Do not use cached files]"
"--keys-dir[Override directory of trusted keys]:directory:_dir_list"
"--no-cache[Do not use any local cache path]"
"--no-network[Do not use the network]"
"--no-progress[Disable progress bar even for TTYs]"
"--print-arch[Print default arch and exit]"
"--progress[Show progress]"
"--progress-fd[Write progress to the specified file descriptor]:file descriptor"
"--purge[Delete modified configuration files or uninstalled packages from cache]"
"--repositories-file[Override system repositories]:repository file:_files"
"--wait[Wait to get an exclusive repository lock before failing]:seconds"
)
local -a commit_opts=(
"(-s --simulate)"{-s,--simulate}"[Simulate the requested operation without making any changes]"
"--clean-protected[Do not create .apk-new files in configuration directories]"
"--overlay-from-stdin[Read list of overlay files from stdin]"
"--no-scripts[Do not execute any scripts]"
"--no-commit-hooks[Skip pre/post hook scripts]"
"--initramfs-diskless-boot[Enables selected force options, disables commit hooks and more]"
)
local -a latest_opt=("(-l --latest)"{-l,--latest}"[Always choose the latest package by version]")
local -a upgrade_opt=("(-u --upgrade)"{-u,--upgrade}"[Upgrade packages and it's dependencies]")
local context state state_descr line
typeset -A opt_args
local curcontext="$curcontext"
local ret=1
function _ccache_apk_world { [[ "$1" -ot /etc/apk/world ]] }
function _ccache_apk_avail {
for i in /var/cache/apk/APKINDEX.*; do
[[ "$1" -ot "$i" ]] && return
done
}
function _apk_available_pkgs {
local -a _apk_available_packs
zstyle ":completion:${curcontext}:" cache-policy _ccache_apk_avail
local IFS=$'\n'
if _cache_invalid apk_index_packages_available || ! _retrieve_cache apk_index_packages_available; then
_apk_available_packs=(${${$(/sbin/apk list -a 2>/dev/null)%% *}%-*-r[[:digit:]]*})
_store_cache apk_index_packages_available _apk_available_packs
fi
_describe 'available packages' _apk_available_packs
}
function _apk_installed_pkgs {
local -a _apk_installed_packs
zstyle ":completion:${curcontext}:" cache-policy _ccache_apk_world
local IFS=$'\n'
if _cache_invalid apk_index_packages_installed || ! _retrieve_cache apk_index_packages_installed; then
_apk_installed_packs=(${${$(/sbin/apk list -I 2>/dev/null)%% *}%-*-r[[:digit:]]*})
_store_cache apk_index_packages_installed _apk_installed_packs
fi
_describe 'installed packages' _apk_installed_packs
}
function _apk_packages {
_alternative 'repo:available packages:_apk_available_pkgs' 'localpkgs:local packages:_files -g "*.apk"'
}
function _apk_cache {
local -a cache_subcmds=(
"clean:Remove package files which are no longer necessary"
"download:Fetch package files from the repositories and store them in the cache"
"sync:Clean and Download"
)
_describe 'subcommand' cache_subcmds
}
function _apk_subcmds {
local -a cmds=(
"add:Add packages to world and commit changes"
"del:Remove packages from world and commit changes"
"fix:Fix, reinstall or upgrade packages without modifying world"
"update:Update repository indexes"
"upgrade:Install upgrades available from repositories"
"cache:Manage the local package cache"
"info:Give detailed information about packages or repositories"
"list:List packages matching a pattern or other criteria"
"dot:Render dependencies as graphviz graphs"
"policy:Show repository policy for packages"
"search:Search for packages by name or description"
"index:Create repository index file from packages"
"fetch:Download packages from global repositories to a local directory"
"manifest:Show checksums of package contents"
"verify:Verify package integrity and signature"
"audit:Audit system for changes"
"stats:Show statistics about repositories and installations"
"version:Compare package versions or perform tests on version strings"
)
_describe 'subcommand' cmds
}
local -a completion_spec=($global_opts ':subcommand:_apk_subcmds')
case ${${words:#-*}[2]} in
(add)
completion_spec+=(
$commit_opts \
$latest_opt \
$upgrade_opt \
"--initdb[Initialize a new package database]" \
"(-t --virtual)"{-t,--virtual}"[Create virtual package with given dependencies]" \
"--no-chown[Do not change file owner or group]" \
"*:package:_apk_packages"
)
;;
(del)
completion_spec+=(
$commit_opts \
"(-r --rdepends)"{-r,--rdepends}"[Recursively delete all top-level reverse dependencies]" \
"*:installed package:_apk_installed_pkgs"
)
;;
(fix)
completion_spec+=(
$commit_opts \
"(-d --depends)"{-d,--depends}"[Fix dependencies of specified packages]" \
"(-r --reinstall)"{-r,--reinstall}"[Reinstall packages]" \
"(-u --upgrade)"{-u,--upgrade}"[Upgrade if an upgrade is available and does not break dependencies]" \
"(-x --xattr)"{-x,--xattr}"[Fix packages with broken xattrs]" \
"--directory-permissions[Reset all directory permissions]" \
"*:package:_apk_packages"
)
;;
(update) completion_spec+=($commit_opts);;
(upgrade)
completion_spec+=(
$commit_opts \
$latest_opt \
"(-a --available)"{-a,--available}"[Reset all packages to versions available from current repositories]" \
"--ignore[Upgrade all other packages than the ones listed]" \
"--no-self-upgrade[Do not do an early upgrade of the 'apk-tools' package]" \
"--prune[Remove packages which are no longer available from any configured repository]" \
"--self-upgrade-only[Only perform a self-upgrade of the 'apk-tools' package]" \
"*:package:_apk_packages"
)
;;
(cache)
completion_spec+=(
$latest_opt \
$upgrade_opt \
'2:subcommand:_apk_cache'
)
;;
(info)
completion_spec+=(
"(-a --all)"{-a,--all}"[List all information known about the package]" \
"(-d --description)"{-d,--descripton}"[Print the package description]" \
"(-e --installed)"{-e,--installed}"[Check package installed status]" \
"(-L --contents)"{-L,--contents}"[List files included in the package]" \
"(-P --provides)"{-P,--provides}"[List what the package provides]" \
"(-r --rdepends)"{-r,--rdepends}"[List reverse dependencies of the package]" \
"(-R --depends)"{-R,--depends}"[List the dependencies of the package]" \
"(-s --size)"{-s,--size}"[Print the package's installed size]" \
"(-w --webpage)"{-w,--webpage}"[Print the URL for the package's upstream webpage]" \
"(-W --who-owns)"{-W,--who-owns}"[Print the package which owns the specified file]:file:_files" \
"(-i --install-if)"{-i,--install-if}"[List the package's install_if rule]" \
"--license[Print the package SPDX license identifier]" \
"--replaces[List the other packages for which this package is marked as a replacement]" \
"(-I --rinstall-if)"{-I,--rinstall-if}"[List other packages whose install_if rules refer to this package]" \
"--triggers[Print active triggers for the package]" \
"*:package:_apk_packages"
)
;;
(list)
completion_spec+=(
"(-I --installed)"{-I,--installed}"[Consider only installed packages]" \
"(-O --orphaned)"{-O,--orphaned}"[Consider only orphaned packages]" \
"(-a --available)"{-a,--available}"[Consider only available packages]" \
"(-u --upgradable --upgradeable)"{-u,--upgradable,--upgradeable}"[Consider only upgradable packages]" \
"(-o --origin)"{-o,--origin}"[List packages by origin]" \
"(-d --depends)"{-d,--depends}"[List packages by dependency]" \
"(-P --providers)"{-P,--providers}"[List packages by provider]" \
"*:pattern"
)
;;
(dot)
completion_spec+=(
"--errors[Consider only packages with errors]" \
"--installed[Consider only installed packages]"
)
;;
(index)
completion_spec+=(
"(-d --description)"{-d,--description}"[Add a description to the index]:description" \
"(-o --output)"{-o,--output}"[Output generated index to file]:output:_files" \
"(-x --index)"{-x,--index}"[Read an existing index to speed up the creation of the new index]" \
"--no-warnings[Disable warnings about missing dependencies]" \
"--rewrite-arch[Set all package's architecture to arch]:arch:(armhf mips64 s390x x86_64 x86 aarch64 ppc64le armv7 riscv64)" \
"*:package:_apk_packages"
)
;;
(fetch)
completion_spec+=(
"(-l --link)"{-l,--link}"[Create hard links if possible]" \
"(-o --output)"{-o,--output}"[Where to write the downloaded files]:directory:_dir_list" \
"(-r --recursive)"{-r,--recursive}"[Fetch packages and all of their dependencies]" \
"(-s --stdout)"{-s,--stdout}"[Dump the .apk file(s) to stdout]" \
"--simulate[Simulate the requested operation without making any changes]" \
"--url[Print the full URL for downloaded packages]" \
"*:package:_apk_packages"
)
;;
(manifest) completion_spec+=("*:package:_apk_packages");;
(verify) completion_spec+=("*:package:_apk_packages");;
(audit)
completion_spec+=(
"--backup[Audit configuration files only (default)]" \
"--check-permissions[Check file permissions too]" \
"--packages[Print only the packages with changed files]" \
"--system[Audit all system files]" \
"(-r --recursive)"{-r,--recursive}"[Descent into directories and audit them as well]" \
"*:files:_files"
)
;;
(version)
completion_spec+=(
"(-a --all)"{-a,--all}"[Consider packages from all repository tags]" \
"(-c --check)"{-c,--check}"[Check versions for validity]:*: " \
"(-I --indexes)"{-I,--indexes}"[Print the version and description for each repository's index]:*: " \
"(-l --limit)"{-l,--limit}"[Limit to packages with output matching given operand]:operand:('>' '=' '<' '>=' '<=')" \
"(-t --test)"{-t,--test}"[Compare two version strings]:*: " \
"*:package:_apk_packages"
)
;;
(policy) completion_spec+=("*:package:_apk_packages");;
(search)
completion_spec+=(
"(-a --all)"{-a,--all}"[Print all matching package versions]" \
"(-d --description)"{-d,--description}"[Search in description as well]" \
"(-e -x --exact)"{-e,-x,--exact}"[Match package names exactly]" \
"--has-origin[Match by package origin]" \
"(-o --origin)"{-o,--origin}"[Print base package name]" \
"(-r --rdepends)"{-r,--rdepends}"[Print reverse dependencies]" \
"*:package:_apk_packages"
)
;;
esac
_arguments -C -s $completion_spec && ret=0
return ret
}
+109
View File
@@ -0,0 +1,109 @@
# Forked from Alpine to enable systemd
pkgname=dbus
pkgver=9991.14.10
_pkgver=1.14.10
pkgrel=1
pkgdesc="Freedesktop.org message bus system"
url="https://www.freedesktop.org/Software/dbus"
arch="all"
license="AFL-2.1 OR GPL-2.0-or-later"
depends_dev="util-linux-dev"
makedepends="
$depends_dev
expat-dev
glib-dev
libsm-dev
libx11-dev
meson
systemd-dev
xmlto
libcap-getcap
"
pkggroups="messagebus"
provider_priority=1
install="$pkgname.pre-install $pkgname.post-install"
triggers="$pkgname.trigger=/usr/share/dbus-1/system.d"
options="!check" # Borked in pmbootstrap...
subpackages="
$pkgname-daemon-launch-helper:launchhelper
$pkgname-dev
$pkgname-doc
$pkgname-libs
$pkgname-x11
$pkgname-service
"
source="https://dbus.freedesktop.org/releases/dbus/dbus-$_pkgver.tar.xz"
builddir="$srcdir/dbus-$_pkgver"
# secfixes:
# 1.14.4-r0:
# - CVE-2022-42010
# - CVE-2022-42011
# - CVE-2022-42012
# 1.12.18-r0:
# - CVE-2020-12049
# 1.12.16-r0:
# - CVE-2019-12749
build() {
CFLAGS="$CFLAGS -flto=auto" \
./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--localstatedir=/var \
--sysconfdir=/etc \
--with-system-pid-file=/run/dbus/dbus.pid \
--enable-checks \
--disable-assertions \
--enable-systemd \
--enable-inotify \
--enable-libaudit \
--enable-user-session \
--disable-static
make
}
check() {
make check
}
package() {
depends="$pkgname-libs=$pkgver-r$pkgrel"
make DESTDIR="$pkgdir" install
# can't install tmpfs
rm -r "$pkgdir"/var/run
}
libs() {
pkgdesc="D-BUS access libraries"
depends="systemd-libs"
amove usr/lib/lib*.so.*
}
x11() {
pkgdesc="X11 add-ons for D-BUS"
depends="$pkgname=$pkgver-r$pkgrel"
amove usr/bin/dbus-launch
}
launchhelper() {
pkgdesc="DBus SUID launch helper for autospawning"
install_if="$pkgname=$pkgver-r$pkgrel"
amove usr/libexec/dbus-daemon-launch-helper
}
dev() {
default_dev
}
sha512sums="
775b708326059692937acb69d4ce1a89e69878501166655b5d1b1628ac31b50dd53d979d93c84e57f95e90b15e25aa33893e51a7421d3537e9c2f02b1b91bfae dbus-1.14.10.tar.xz
"
@@ -0,0 +1,4 @@
#!/bin/sh
# Don't populate this, we want systemd-firstboot to do it instead.
exec dbus-uuidgen --ensure=/etc/machine-id
@@ -0,0 +1,6 @@
#!/bin/sh
addgroup -S messagebus 2>/dev/null
adduser -S -D -H -h /dev/null -s /sbin/nologin -G messagebus -g messagebus messagebus 2>/dev/null
exit 0
+4
View File
@@ -0,0 +1,4 @@
#!/bin/sh
dbus-send --system --type=method_call --dest=org.freedesktop.DBus / \
org.freedesktop.DBUS.ReloadConfig >/dev/null 2>&1 || :
@@ -0,0 +1,71 @@
From a12b01f4f71d7ca1ed528ea11f99520c10b0d93c Mon Sep 17 00:00:00 2001
From: Newbyte <newbie13xd@gmail.com>
Date: Tue, 14 Mar 2023 19:37:17 +0100
Subject: [PATCH 1/2] DOWNSTREAM: use /bin/touch instead of /usr/bin/touch
as that's the path here in Alpine.
---
data/61-gdm.rules.in | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/data/61-gdm.rules.in b/data/61-gdm.rules.in
index a4f841bdf..481c5b4dd 100644
--- a/data/61-gdm.rules.in
+++ b/data/61-gdm.rules.in
@@ -2,13 +2,13 @@ SUBSYSTEM!="pci", GOTO="gdm_pci_device_end"
ACTION!="bind", ACTION!="add", GOTO="gdm_pci_device_end"
# cirrus
-ATTR{vendor}=="0x1013", ATTR{device}=="0x00b8", ATTR{subsystem_vendor}=="0x1af4", ATTR{subsystem_device}=="0x1100", RUN+="/usr/bin/touch /run/udev/gdm-machine-has-virtual-gpu", ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}="1", GOTO="gdm_pci_device_end"
+ATTR{vendor}=="0x1013", ATTR{device}=="0x00b8", ATTR{subsystem_vendor}=="0x1af4", ATTR{subsystem_device}=="0x1100", RUN+="/bin/touch /run/udev/gdm-machine-has-virtual-gpu", ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}="1", GOTO="gdm_pci_device_end"
# virtio
-ATTR{vendor}=="0x1af4", ATTR{device}=="0x1050", ATTR{subsystem_vendor}=="0x1af4", ATTR{subsystem_device}=="0x1100", RUN+="/usr/bin/touch /run/udev/gdm-machine-has-virtual-gpu", ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}="1", GOTO="gdm_pci_device_end"
+ATTR{vendor}=="0x1af4", ATTR{device}=="0x1050", ATTR{subsystem_vendor}=="0x1af4", ATTR{subsystem_device}=="0x1100", RUN+="/bin/touch /run/udev/gdm-machine-has-virtual-gpu", ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}="1", GOTO="gdm_pci_device_end"
# qxl
-ATTR{vendor}=="0x1b36", ATTR{device}=="0x0100", RUN+="/usr/bin/touch /run/udev/gdm-machine-has-virtual-gpu", ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}="1", GOTO="gdm_pci_device_end"
+ATTR{vendor}=="0x1b36", ATTR{device}=="0x0100", RUN+="/bin/touch /run/udev/gdm-machine-has-virtual-gpu", ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}="1", GOTO="gdm_pci_device_end"
# vga
-ATTR{vendor}=="0x1234", ATTR{device}=="0x1111", RUN+="/usr/bin/touch /run/udev/gdm-machine-has-virtual-gpu", ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}="1", GOTO="gdm_pci_device_end"
+ATTR{vendor}=="0x1234", ATTR{device}=="0x1111", RUN+="/bin/touch /run/udev/gdm-machine-has-virtual-gpu", ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}="1", GOTO="gdm_pci_device_end"
# disable Wayland on Hi1710 chipsets
ATTR{vendor}=="0x19e5", ATTR{device}=="0x1711", GOTO="gdm_disable_wayland"
@@ -36,7 +36,7 @@ SUBSYSTEM!="drm", GOTO="gdm_nomodeset_end"
# but keep it enabled for simple framebuffer drivers
DRIVERS=="simple-framebuffer", GOTO="gdm_nomodeset_end"
IMPORT{parent}="GDM_MACHINE_HAS_VIRTUAL_GPU"
-ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}!="1", RUN+="/usr/bin/touch /run/udev/gdm-machine-has-hardware-gpu"
+ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}!="1", RUN+="/bin/touch /run/udev/gdm-machine-has-hardware-gpu"
IMPORT{cmdline}="nomodeset", GOTO="gdm_disable_wayland"
LABEL="gdm_nomodeset_end"
@@ -46,7 +46,7 @@ LABEL="gdm_nomodeset_end"
KERNEL!="nvidia", GOTO="gdm_nvidia_end"
SUBSYSTEM!="module", GOTO="gdm_nvidia_end"
ACTION!="add", GOTO="gdm_nvidia_end"
-RUN+="/usr/bin/touch /run/udev/gdm-machine-has-vendor-nvidia-driver"
+RUN+="/bin/touch /run/udev/gdm-machine-has-vendor-nvidia-driver"
# Check if suspend/resume services necessary for working wayland support is available
TEST{0711}!="/usr/bin/nvidia-sleep.sh", GOTO="gdm_disable_wayland"
@@ -68,7 +68,7 @@ LABEL="gdm_nvidia_end"
KERNEL!="card[0-9]-eDP-*", GOTO="gdm_laptop_check_end"
SUBSYSTEM!="drm", GOTO="gdm_laptop_check_end"
ACTION!="add", GOTO="gdm_laptop_check_end"
-RUN+="/usr/bin/touch /run/udev/gdm-machine-is-laptop"
+RUN+="/bin/touch /run/udev/gdm-machine-is-laptop"
GOTO="gdm_hybrid_nvidia_laptop_check"
LABEL="gdm_laptop_check_end"
@@ -79,7 +79,7 @@ SUBSYSTEM!="drm", GOTO="gdm_hybrid_graphics_check_end"
ACTION!="add", GOTO="gdm_hybrid_graphics_check_end"
IMPORT{program}="/bin/sh -c \"echo GDM_NUMBER_OF_GRAPHICS_CARDS=`ls -1d /sys/class/drm/card[0-9] | wc -l`\""
ENV{GDM_NUMBER_OF_GRAPHICS_CARDS}=="1", RUN+="/usr/bin/rm -f /run/udev/gdm-machine-has-hybrid-graphics"
-ENV{GDM_NUMBER_OF_GRAPHICS_CARDS}!="1", RUN+="/usr/bin/touch /run/udev/gdm-machine-has-hybrid-graphics"
+ENV{GDM_NUMBER_OF_GRAPHICS_CARDS}!="1", RUN+="/bin/touch /run/udev/gdm-machine-has-hybrid-graphics"
LABEL="gdm_hybrid_graphics_check_end"
# If this is a hybrid graphics laptop with vendor nvidia driver, disable wayland
--
2.39.2
@@ -0,0 +1,45 @@
diff --git a/data/pam-openembedded/gdm-autologin.pam b/data/pam-openembedded/gdm-autologin.pam
index a9f4354..3e0708b 100644
--- a/data/pam-openembedded/gdm-autologin.pam
+++ b/data/pam-openembedded/gdm-autologin.pam
@@ -1,5 +1,5 @@
#%PAM-1.0
-auth required pam_permit.so
-account include common-account
-password include common-auth
-session include common-session
+auth required pam_rootok.so
+account include base-account
+password include base-auth
+session include base-session
diff --git a/data/pam-openembedded/gdm-launch-environment.pam b/data/pam-openembedded/gdm-launch-environment.pam
index a9f4354..6f095e7 100644
--- a/data/pam-openembedded/gdm-launch-environment.pam
+++ b/data/pam-openembedded/gdm-launch-environment.pam
@@ -1,5 +1,5 @@
#%PAM-1.0
-auth required pam_permit.so
-account include common-account
-password include common-auth
-session include common-session
+auth required pam_rootok.so
+account include base-account
+password include base-auth
+session include base-session
diff --git a/data/pam-openembedded/gdm-password.pam b/data/pam-openembedded/gdm-password.pam
index 758464d..dd324f8 100644
--- a/data/pam-openembedded/gdm-password.pam
+++ b/data/pam-openembedded/gdm-password.pam
@@ -1,5 +1,8 @@
#%PAM-1.0
-auth include common-auth
-account include common-account
-password include common-password
-session include common-session
+auth include base-auth
+auth optional pam_gnome_keyring.so
+account include base-account
+password include base-password
+password optional pam_gnome_keyring.so use_authtok
+session include base-session
+session optional pam_gnome_keyring.so auto_start
+83
View File
@@ -0,0 +1,83 @@
# Forked from Alpine for systemd support
pkgname=gdm
pkgver=9999
_pkgver=45.0.1
pkgrel=0
pkgdesc="GNOME display manager"
url="https://wiki.gnome.org/Projects/GDM"
# blocked by gnome-shell
arch="all !armhf !s390x"
license="GPL-2.0-or-later"
depends="
dbus
gnome-session
gnome-settings-daemon
gnome-shell
gsettings-desktop-schemas
linux-pam>=1.4
xrdb
xwayland
"
makedepends="
accountsservice-dev
dconf
eudev-dev
gettext
glib-dev
gtk+3.0-dev
itstool
libcanberra-dev
libgudev-dev
libsm-dev
libx11-dev
libxau-dev
libxcb-dev
libxdmcp-dev
linux-pam-dev
meson
systemd-dev
"
subpackages="$pkgname-dev $pkgname-doc $pkgname-lang $pkgname-service"
options="!check" # Causes circular dep with gnome-shell
source="https://download.gnome.org/sources/gdm/${_pkgver%%.*}/gdm-$_pkgver.tar.xz
0001-DOWNSTREAM-use-bin-touch-instead-of-usr-bin-touch.patch
0003-pam-rename-common-to-base.patch
Xsession
"
install="gdm.pre-install"
builddir="$srcdir/gdm-$_pkgver"
build() {
abuild-meson \
-Db_lto=true \
-Ddefault-pam-config=openembedded \
-Dgdm-xsession=false \
-Dpam-mod-dir=/usr/lib/security \
-Dselinux=disabled \
-Dlibaudit=disabled \
-Dsystemdsystemunitdir=/usr/lib/systemd/system \
-Dsystemduserunitdir=/usr/lib/systemd/user \
. output
meson compile -C output
}
package() {
DESTDIR="$pkgdir" meson install --no-rebuild -C output
# install -Dm644 /dev/stdin usr/lib/sysusers.d/gdm.conf <<END
#g gdm 120 -
#u gdm 120 "Gnome Display Manager" /var/lib/gdm
#END
#sed -i "s/pam_systemd\.so/pam_elogind.so/" "$pkgdir"/etc/pam.d/*
install -m755 -D "$srcdir/Xsession" "$pkgdir"/etc/gdm
}
sha512sums="
f0c667dd5df034087e284c2ec1131b55a85cd9e832c15c2aff1637e1e36d4d62a7d86528a2e524bb2782ca7d7cc7cb9c34a9ce9bba688ad222af409e2eb69abe gdm-45.0.1.tar.xz
f91ad0ccae448649e4a7c707b83c796988968a698718db0aedbf2b7c2b9aec0d0cfb12fb4bb7f5de99d3cf337bf4528608625d701872bad8bdc98f8020f0ea95 0001-DOWNSTREAM-use-bin-touch-instead-of-usr-bin-touch.patch
eef64cbc347a2ce894a84f7d1d7612af71b6731492ab67f78a17c9ab37db9cfa0f9d6e8415e58821404eb15336eedd263ca14bfc542b808b62bf684b1594e0fe 0003-pam-rename-common-to-base.patch
f836cf0acdf148f2ae09ac28251b5126ce597f08254c43b1ec77596f75e1a3229926116c13f98554625be763e8d28415b27bd679b0a5de9f86bdca7857054c82 Xsession
"
+2
View File
@@ -0,0 +1,2 @@
#!/bin/sh
exec "$@"
+6
View File
@@ -0,0 +1,6 @@
#!/bin/sh
addgroup -S gdm 2>/dev/null
adduser -S -D -H -h /var/lib/gdm -s /sbin/nologin -G gdm -g gdm gdm 2>/dev/null
exit 0
@@ -0,0 +1,57 @@
https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/gnome-keyring/trunk/0001-build-Use-p11_module_configs-as-default-pkcs11-confi.patc
From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
Date: Sat, 21 May 2022 18:42:21 +0000
Subject: [PATCH] build: Use p11_module_configs as default pkcs11-config dir
When building p11-kit with meson, `p11_system_config_modules` points at
the dir for system config in `/etc. This is its proper meaning.
When building p11-kit with autotools, `p11_system_config_modules` is a
copy of `p11_module_configs` "for compatibility", and points to the dir
for packaged configs in `/usr/share`.
We want the dir for packaged configs, so use the right variable.
---
configure.ac | 10 +++++-----
pkcs11/rpc-layer/Makefile.am | 2 +-
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/configure.ac b/configure.ac
index 1bf7c14c8ccc..98d8c01018fb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -294,15 +294,15 @@ AC_ARG_WITH(pkcs11-config, [
[directory to install PKCS#11 config])
])
if test -z "$with_pkcs11_config" ; then
- P11_SYSTEM_CONFIG_MODULES=$($PKG_CONFIG p11-kit-1 --variable=p11_system_config_modules)
+ P11_MODULE_CONFIGS=$($PKG_CONFIG p11-kit-1 --variable=p11_module_configs)
else
- P11_SYSTEM_CONFIG_MODULES="$with_pkcs11_config"
+ P11_MODULE_CONFIGS="$with_pkcs11_config"
fi
-if test "$P11_SYSTEM_CONFIG_MODULES" = ""; then
+if test "$P11_MODULE_CONFIGS" = ""; then
AC_MSG_ERROR([Could not find location for pkcs11 module config])
fi
-AC_MSG_RESULT($P11_SYSTEM_CONFIG_MODULES)
-AC_SUBST(P11_SYSTEM_CONFIG_MODULES)
+AC_MSG_RESULT($P11_MODULE_CONFIGS)
+AC_SUBST(P11_MODULE_CONFIGS)
AC_MSG_CHECKING([module path to install pkcs11 modules])
AC_ARG_WITH(pkcs11-modules, [
diff --git a/pkcs11/rpc-layer/Makefile.am b/pkcs11/rpc-layer/Makefile.am
index ccdff9191ad4..d3a3b57bbc6e 100644
--- a/pkcs11/rpc-layer/Makefile.am
+++ b/pkcs11/rpc-layer/Makefile.am
@@ -46,7 +46,7 @@ gnome_keyring_pkcs11_la_LDFLAGS = \
-no-undefined -export-symbols-regex 'C_GetFunctionList'
# This is the configuration file that p11-kit uses to load the module
-pkcs11configdir = $(P11_SYSTEM_CONFIG_MODULES)
+pkcs11configdir = $(P11_MODULE_CONFIGS)
pkcs11config_DATA = \
pkcs11/rpc-layer/gnome-keyring.module
@@ -0,0 +1,68 @@
# Forked from Alpine
# systemd unit activation
pkgname=gnome-keyring
pkgver=99942.1
_pkgver=42.1
pkgrel=2
pkgdesc="GNOME keyring"
url="https://wiki.gnome.org//Projects/GnomeKeyring"
arch="all"
license="GPL-2.0-only LGPL-2.0-only"
# the gcr binaries are needed for things to open the keyring via libsecret
depends="gcr"
makedepends="
autoconf
automake
gcr-dev
gobject-introspection-dev
gtk+3.0-dev
gtk-doc
intltool
libcap-ng-dev
libgcrypt-dev
libxslt
linux-pam-dev
openssh-client
systemd-dev
"
checkdepends="
dbus-x11
python3
xvfb-run
"
provides="dbus:org.freedesktop.Secrets"
# Highest priority of the bunch since it has the least deps
provider_priority=500
options="!check" # Failing tests on 32-bit architectures
subpackages="$pkgname-lang $pkgname-doc"
source="https://download.gnome.org/sources/gnome-keyring/${_pkgver%.*}/gnome-keyring-$_pkgver.tar.xz
0001-build-Use-p11_module_configs-as-default-pkcs11-confi.patch"
builddir="$srcdir/gnome-keyring-$_pkgver"
build() {
export LDFLAGS="$LDFLAGS -lintl"
./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--sysconfdir=/etc \
--with-pam-dir=/usr/lib/security \
--disable-selinux \
--with-libcap-ng=no
make
}
check() {
xvfb-run make check -j1
}
package() {
export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1
make DESTDIR="$pkgdir" install
}
sha512sums="
560dc409c21768dcbdf42151986a5bbbfb9a092d2c36295cf76bd603cdf9650fa80670631c7fb8b3e1822bed6a1f55c34b2170a1419ce45fbe8ca08c7eaf3a57 gnome-keyring-42.1.tar.xz
427b6f95d1860fb2d8bdb44782d3e504d8adcec9ffe949726b2bf278ce9d483e8ae72362f339d49cdd945988e6b21a3863e2249a14c2b3c8fc5c351fa3f8b25a 0001-build-Use-p11_module_configs-as-default-pkcs11-confi.patch
"
@@ -0,0 +1,54 @@
# Forked from Alpine for systemd
pkgname=gnome-session
pkgver=99945.0
_pkgver=45.0
pkgrel=0
pkgdesc="GNOME session manager"
url="https://gitlab.gnome.org/GNOME/gnome-session"
arch="all"
license="GPL-2.0-or-later"
depends="
alsa-plugins-pulse
bash
dconf
polkit
"
makedepends="
docbook-xml
systemd-dev
gnome-desktop-dev
gnome-settings-daemon-dev
gtk+3.0-dev
itstool
json-glib-dev
libsm-dev
libxml2-utils
libxslt
meson
upower-dev
xmlto
"
options="!check" #no tests
subpackages="$pkgname-lang $pkgname-doc"
source="https://download.gnome.org/sources/gnome-session/${_pkgver%%.*}/gnome-session-$_pkgver.tar.xz"
builddir="$srcdir/gnome-session-$_pkgver"
build() {
abuild-meson \
-Db_lto=true \
. output
meson compile -C output
}
check() {
meson test --no-rebuild --print-errorlogs -C output
}
package() {
DESTDIR="$pkgdir" meson install --no-rebuild -C output
rm -rf "$pkgdir"/DELETEME
}
sha512sums="
3eb3b4b9fcab2ec35bb61bac6257b254f142167250bbc1eb71d46aed350372f8942601c9d5ca5856e8686b53b70321f914cb55f1639daecfe6c61d84cb6d8aba gnome-session-45.0.tar.xz
"
@@ -0,0 +1,74 @@
# Forked from Alpine for systemd support
pkgname=gnome-settings-daemon
pkgver=9999
_pkgver=44.1
pkgrel=1
pkgdesc="GNOME settings daemon"
url="https://gitlab.gnome.org/GNOME/gnome-settings-daemon"
arch="all"
options="!check" # tests fail on builders
license="GPL-2.0-only AND LGPL-2.1-only"
depends="pulseaudio"
depends_dev="
alsa-lib-dev
colord-dev
cups-dev
geoclue-dev
geocode-glib-dev>=3.26.4-r1
lcms2-dev
libcanberra-dev
libgweather4-dev
libnotify-dev
libwacom-dev
modemmanager-dev
networkmanager-dev
nss-dev
pango-dev
polkit-dev
pulseaudio-dev
upower-dev
"
makedepends="
$depends_dev
coreutils
gcr4-dev
glib-dev
gnome-desktop-dev
gsettings-desktop-schemas-dev
gtk+3.0-dev
libxml2-utils
meson
"
checkdepends="
gnome-session
gnome-shell
py3-dbusmock
py3-gobject3
umockdev-dev
"
subpackages="$pkgname-dev $pkgname-lang"
source="https://download.gnome.org/sources/gnome-settings-daemon/${_pkgver%.*}/gnome-settings-daemon-$_pkgver.tar.xz
dont-use-logind-for-brightness-changing.patch
"
builddir="$srcdir/gnome-settings-daemon-$_pkgver"
build() {
abuild-meson \
-Db_lto=true \
-Dsystemd=true \
. output
meson compile -C output
}
check() {
meson test --no-rebuild --print-errorlogs -C output
}
package() {
DESTDIR="$pkgdir" meson install --no-rebuild -C output
}
sha512sums="
a955d74a594d49f67a5c27ac60d6f1e9b4aba7b12cbd0af8d3be02c4b2e8385f1abfbe08b62177b69851e9202960a17429373bf5533adbd73699232fefea6c79 gnome-settings-daemon-44.1.tar.xz
fd80b939a14bbc5dd502afda0bc6511f2d9c045018680e5ae7fbec32efadb564c5060ec91d374330f246d70571aad5979ce8c175175a29b5ccec3443c8286dc6 dont-use-logind-for-brightness-changing.patch
"
@@ -0,0 +1,16 @@
Brightness control is currently broken with elogind, so fall back to
the previous codepath which doesn't use elogind.
See https://github.com/elogind/elogind/issues/158
diff --git a/plugins/power/gsd-backlight.c b/plugins/power/gsd-backlight.c
index ca5f272..59048d9 100644
--- a/plugins/power/gsd-backlight.c
+++ b/plugins/power/gsd-backlight.c
@@ -482,7 +482,7 @@ gsd_backlight_set_brightness_val_async (GsdBacklight *backlight,
if (backlight->udev_device != NULL) {
BacklightHelperData *task_data;
- if (backlight->logind_proxy) {
+ if (0) {
g_dbus_proxy_call (backlight->logind_proxy,
"SetBrightness",
g_variant_new ("(ssu)",
@@ -1,7 +1,8 @@
# Forked from Alpine to add phone adaptivity patches
# Forked from Alpine to add phone adaptivity patches and systemd!
pkgname=gnome-shell-mobile
pkgver=45_git20240426
pkgver=99945_git20240426
_pkgver=45_git20230908
pkgrel=1
pkgdesc="GNOME shell"
url="https://wiki.gnome.org/Projects/GnomeShell"
@@ -10,7 +11,6 @@ license="GPL-2.0-or-later"
depends="
accountsservice
adwaita-icon-theme
elogind
font-adobe-source-code-pro
font-cantarell
gnome-bluetooth
@@ -23,12 +23,15 @@ depends="
ibus
librsvg
networkmanager-common
polkit
systemd
unzip
upower
xorg-server
"
makedepends="
asciidoc
elogind-dev
systemd-dev
evolution-data-server-dev evolution-dev
gcr4-dev
gjs-dev>=1.64.0
@@ -44,7 +47,7 @@ makedepends="
libxml2-dev
libxml2-utils
meson
mutter-mobile-dev>=45_git20230905
mutter-mobile-dev>=44_git20230405
networkmanager-dev
pipewire-dev
polkit-dev
@@ -61,12 +64,15 @@ checkdepends="
# gdm is also needed but introduces circular dep
provides="gnome-shell=$pkgver-r$pkgrel"
subpackages="$pkgname-dbg $pkgname-doc $pkgname-lang $pkgname-schemas::noarch"
_commit="3a352e95bf540d663f35554ee2de5dcd1ff408bc"
_commit="df3f6b4c512d2f181e86ff7f6b1646ce7b907344"
_gvc_commit="8e7a5a4c3e51007ce6579292642517e3d3eb9c50"
source="mobile-shell-$_commit.tar.gz::https://gitlab.gnome.org/verdre/mobile-shell/-/archive/$_commit/mobile-shell-$_commit.tar.gz
libgnome-volume-control-$_gvc_commit.tar.gz::https://gitlab.gnome.org/GNOME/libgnome-volume-control/-/archive/$_gvc_commit/gnome-shell-$_gvc_commit.tar.gz
disable-telepathy-integration.patch
gsh.patch"
gsh.patch
gnome-shell-uclamp.sh
uclamp-override.conf
"
builddir="$srcdir/mobile-shell-$_commit"
options="!check" # Tests have circular dependency 'gnome-shell <-> gdm'
@@ -84,7 +90,6 @@ prepare() {
build() {
abuild-meson \
-Dsystemd=false \
-Dtests=false \
. output
meson compile ${JOBS:+-j ${JOBS}} -C output
@@ -113,11 +118,17 @@ package() {
# owned by postmarketos-hidden-desktop-entries
rm $pkgdir/usr/share/applications/org.gnome.Extensions.desktop
install -Dm755 "$srcdir/gnome-shell-uclamp.sh" "$pkgdir/usr/libexec/gnome-shell-uclamp"
install -Dm644 "$srcdir/uclamp-override.conf" \
"$pkgdir/etc/systemd/user/org.gnome.Shell@.service.d/override.conf"
}
sha512sums="
036961581d1837fbd224448cf901780988264e8f0a0493607fc7c9649aec732f48e2a217d603eda744c10925865e3f8eb624c6519bb5ba63e00298f983959b74 mobile-shell-3a352e95bf540d663f35554ee2de5dcd1ff408bc.tar.gz
f7445d29006496865f9ea9d70efd1e2f1be1886b97bdd09bb5b000db6b576200d076178050527e920837dc416b1803851cb7d33e8024fc99acecdcc4c73816dd mobile-shell-df3f6b4c512d2f181e86ff7f6b1646ce7b907344.tar.gz
ebc6985afbda5ddebcda44d8b6732a9abc2d7249aff3adf7a76a90aa681590f830dcf2e5f3534a624adc32d1f0445e261ee149d65c221f733e0c33e0690a004d libgnome-volume-control-8e7a5a4c3e51007ce6579292642517e3d3eb9c50.tar.gz
2ca70115fab957fdf276b7f0772786e1afd56b0b22bcfd92f5b5f1d29676dc97c19cfb079434d0dbf7b459f1d133dbd8d1faa0d88f7b94846040a23856f951f8 disable-telepathy-integration.patch
dba79b94ab4bcf0db51aa4a19c5fb52f9dae05909fe13531fe9dc06d9db334ac3328bd4040484eac8ef851057ee471a28d86800aa2ae82eec7274f5f79b9146a gsh.patch
545d584307ee90894525a75b7c2b99c4e05d7f903dd2181509ca0c04c5711b50a539c2f1263a8dfe26380cf121817ff2eaecac38f4fc2d0bdde5629d73f7ee0c gnome-shell-uclamp.sh
71ac6a8694ddcda211ff4060a55c374ae5b8eb7c3cd2a057b6eccac2c83b87bac18e09fda1d572054357d7f2e6e57b79f80a6a3cebeca75335931e1676011055 uclamp-override.conf
"
@@ -0,0 +1,6 @@
#!/usr/bin/sh
sleep 5
uclampset --pid $(pidof gnome-shell) -m 900 2>&1 >/dev/null || true
echo "Configured gnome-shell uclamp..."
@@ -0,0 +1,2 @@
[Service]
ExecStartPost=-/usr/libexec/gnome-shell-uclamp
@@ -0,0 +1,57 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: team/kde <bribbers@disroot.org>
# The group tag is just to easily find this APKBUILD by some scripts for automation
# group=kde-plasma
pkgname=kactivitymanagerd
pkgver=9999_git20240428
_pkgver=6.0.4
pkgrel=0
pkgdesc="System service to manage user's activities and track the usage patterns"
# armhf blocked by qt6-qtdeclarative
arch="all !armhf"
url="https://kde.org/plasma-desktop/"
license="GPL-2.0-only OR GPL-3.0-only"
depends="qt6-qtbase-sqlite"
makedepends="
boost-dev
extra-cmake-modules
kconfig-dev
kcoreaddons-dev
kdbusaddons-dev
kglobalaccel-dev
ki18n-dev
kio-dev
kwindowsystem-dev
kxmlgui-dev
qt6-qtbase-dev
samurai
"
case "$pkgver" in
*.90*) _rel=unstable;;
*) _rel=stable;;
esac
subpackages="$pkgname-lang"
_repo_url="https://invent.kde.org/plasma/kactivitymanagerd.git"
source="https://download.kde.org/stable/plasma/$_pkgver/kactivitymanagerd-$_pkgver.tar.xz"
builddir="$srcdir/$pkgname-$_pkgver"
build() {
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib
cmake --build build
}
check() {
ctest --test-dir build --output-on-failure
}
package() {
DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
10a945a70f4c4ab2b28a9731771c0a79aef9ce99b6c179544c85e1c7935554893284d3718c9653eff3a2c2534149a8f337b92dbc9c43c9336988961b8201a295 kactivitymanagerd-6.0.4.tar.xz
"
@@ -0,0 +1,12 @@
diff --git a/lib/journaldexportreader.cpp b/lib/journaldexportreader.cpp
index 7ad19d6..b304a46 100644
--- a/lib/journaldexportreader.cpp
+++ b/lib/journaldexportreader.cpp
@@ -5,6 +5,7 @@
#include "journaldexportreader.h"
#include "kjournaldlib_log_general.h"
+#include <endian.h>
#include <QDebug>
#include <QVector>
#include <QIODevice>
+56
View File
@@ -0,0 +1,56 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
# The group tag is just to easily find this APKBUILD by some scripts for automation
# group=kde-applications
pkgname=kjournald
pkgver=24.02.2
pkgrel=0
pkgdesc="Framework for interacting with systemd-journald"
# armhf blocked by extra-cmake-modules
arch="all !armhf"
url="https://invent.kde.org/system/kjournald"
license="BSD-3-Clause AND LGPL-2.1-or-later AND MIT"
depends_dev="
kcoreaddons-dev
ki18n-dev
qt6-qtbase-dev
qt6-qtdeclarative-dev
systemd-dev
"
makedepends="$depends_dev
extra-cmake-modules
samurai
"
checkdepends="xvfb-run"
subpackages="$pkgname-dev $pkgname-lang"
case "$pkgver" in
*.90*) _rel=unstable;;
*) _rel=stable;;
esac
_repo_url="https://invent.kde.org/system/kjournald.git"
source="https://download.kde.org/$_rel/release-service/$pkgver/src/kjournald-$pkgver.tar.xz
0001-kjournald-missing-include.patch
"
build() {
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib
cmake --build build
}
check() {
ctest --test-dir build --output-on-failure -E "test_(viewmodel|filtercriteriamodel|remotejournal)"
}
package() {
DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
90f809a57ce862433fd46f7013fa2a8e16cc2decaf9e78d3d35a47058a654ea4b91e0ff17baef47010bcbf35b38508ef7f56c361536383bdcf4b5150ca00a213 kjournald-24.02.2.tar.xz
5e5b67d49d45fb3721522f4682c8cfbf6cd6a68caba45b58c52712dc173652bc48409f5d0f4b2b9872b0f44f2e0daeefb32f4db351ad79fe0b3d69801d01d985 0001-kjournald-missing-include.patch
"
@@ -0,0 +1,85 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
# The group tag is just to easily find this APKBUILD by some scripts for automation
# group=kde-plasma
pkgname=kscreenlocker
pkgver=9999_git20240428
_pkgver=6.0.4
pkgrel=0
pkgdesc="Library and components for secure lock screen architecture"
# armhf blocked by extra-cmake-modules
arch="all !armhf"
url="https://kde.org/plasma-desktop/"
license="GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only)"
depends="linux-pam"
depends_dev="
kcmutils-dev
kcrash-dev
kdeclarative-dev
kglobalaccel-dev
ki18n-dev
kidletime-dev
knotifications-dev
ksvg-dev
ktextwidgets-dev
kwayland-dev
kwindowsystem-dev
kxmlgui-dev
layer-shell-qt-dev
libkscreen-dev
libplasma-dev
libseccomp-dev
linux-pam-dev
qt6-qtbase-dev
solid-dev
systemd-dev
xcb-util-keysyms-dev
"
makedepends="
$depends_dev
extra-cmake-modules
samurai
"
checkdepends="xvfb-run"
case "$_pkgver" in
*.90*) _rel=unstable;;
*) _rel=stable;;
esac
_repo_url="https://invent.kde.org/plasma/kscreenlocker.git"
source="https://download.kde.org/$_rel/plasma/$_pkgver/kscreenlocker-$_pkgver.tar.xz
kde.pam
kde-fingerprint.pam
kde-smartcard.pam
"
subpackages="$pkgname-dev $pkgname-lang"
options="!check" # Requires running loginctl
builddir="$srcdir/$pkgname-$_pkgver"
build() {
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib
cmake --build build
}
check() {
xvfb-run ctest --test-dir build --output-on-failure
}
package() {
DESTDIR="$pkgdir" cmake --install build
install -D -m644 "$srcdir"/kde.pam "$pkgdir"/etc/pam.d/kde
install -m644 "$srcdir"/kde-fingerprint.pam "$pkgdir"/etc/pam.d/kde-fingerprint
install -m644 "$srcdir"/kde-smartcard.pam "$pkgdir"/etc/pam.d/kde-smartcard
}
sha512sums="
a5f01c8d1c976584546dacdb9d0f18ee8b59bf3e00caf01a6de294d1998eaf0806e551650d0528a3b3d4f65954fc7edadd808ba75b5b7d7060646058ab8d34cf kscreenlocker-6.0.4.tar.xz
cdbc45fb74a3c43fb2302fe09bf2f9f644ca93693e0110cf748c403762236aaeea8284a8d21fc495014c69b6d5fe4789aaff7687ce9f03dda270490fa5042e2b kde.pam
fe2f244b73b5cccf4b7125b9e3cac0a35566840e4ba2f69937fd8053aa56af71ee43dcbfa9c0f79de9ebe31f656e98a5d38955f77560be5c3535b08215ad8789 kde-fingerprint.pam
2ae866d25224ba345ea9d5ddb2fce668de5c51d1cfbb4d7a048c50107ccd6cffc3231a46855599c0ba3d62ff002a26e45b69d9029f88f4ab42661465a5e526c5 kde-smartcard.pam
"
@@ -0,0 +1,15 @@
auth substack fingerprint-auth
auth include postlogin
account required pam_nologin.so
account include fingerprint-auth
password include fingerprint-auth
session required pam_selinux.so close
session required pam_loginuid.so
session required pam_selinux.so open
session optional pam_keyinit.so force revoke
session required pam_namespace.so
session include fingerprint-auth
session include postlogin
@@ -0,0 +1,15 @@
auth substack smartcard-auth
auth include postlogin
account required pam_nologin.so
account include smartcard-auth
password include smartcard-auth
session required pam_selinux.so close
session required pam_loginuid.so
session required pam_selinux.so open
session optional pam_keyinit.so force revoke
session required pam_namespace.so
session include smartcard-auth
session include postlogin
@@ -0,0 +1,5 @@
#%PAM-1.0
auth include base-auth
account include base-account
password include base-password
session include base-session
+120
View File
@@ -0,0 +1,120 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: team/kde <bribbers@disroot.org>
# The group tag is just to easily find this APKBUILD by some scripts for automation
# group=kde-plasma
pkgname=kwin
pkgver=9999_git20240428
_pkgver=6.0.4.1
pkgrel=0
pkgdesc="An easy to use, but flexible, composited Window Manager"
# armhf blocked by qt6-qtdeclarative
arch="all !armhf"
url="https://kde.org/plasma-desktop/"
license="GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only) AND LGPL-2.1-only"
depends="
hwdata
kirigami
qt6-qtmultimedia
qt6-qtwayland
xwayland
"
depends_dev="$pkgname
breeze-dev
fontconfig-dev
kcmutils-dev
kcompletion-dev
kconfig-dev
kconfigwidgets-dev
kcoreaddons-dev
kcrash-dev
kdeclarative-dev
kdecoration-dev
kglobalaccel-dev
ki18n-dev
kiconthemes-dev
kidletime-dev
kio-dev
knewstuff-dev
knotifications-dev
kpackage-dev
krunner-dev
kscreenlocker-dev
kservice-dev
ksvg-dev
ktextwidgets-dev
kwayland-dev
kwidgetsaddons-dev
kwindowsystem-dev
kxmlgui-dev
lcms2-dev
libdrm-dev
libepoxy-dev
libinput-dev
libplasma-dev
libqaccessibilityclient-dev
libxcvt-dev
libxi-dev
libxkbcommon-dev
mesa-dev
mesa-gbm
pipewire-dev
plasma-activities-dev
qt6-qtbase-dev
qt6-qtdeclarative-dev
qt6-qtsensors-dev
wayland-dev
xcb-util-cursor-dev
xcb-util-image-dev
xcb-util-wm-dev
"
makedepends="$depends_dev
extra-cmake-modules
kdoctools-dev
kglobalacceld-dev
kpipewire-dev
libcap-utils
libdisplay-info-dev
plasma-wayland-protocols
qt6-qttools-dev
samurai
systemd-dev
"
checkdepends="xvfb-run"
case "$pkgver" in
*.90*) _rel=unstable;;
*) _rel=stable;;
esac
subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc $pkgname-lang"
_repo_url="https://invent.kde.org/plasma/kwin.git"
source="https://download.kde.org/stable/plasma/${_pkgver%.*}/kwin-$_pkgver.tar.xz
0001-$pkgname-Fix-building-of-tests.patch::https://invent.kde.org/plasma/kwin/-/commit/a879c59a082707e0e7dfa8ebeb7b239551ec9c71.patch
"
# Broken, fails to setup due to missing or invalid XDG_RUNTIME_DIR?
options="!check"
builddir="$srcdir/$pkgname-$_pkgver"
build() {
# significantly reduce debug symbol size
# use None here to not make cmake pass bare -g (-g2)
CFLAGS="$CFLAGS -O2 -g1" CXXFLAGS="$CXXFLAGS -O2 -g1" \
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib
cmake --build build
}
check() {
XDG_RUNTIME_DIR="$(mktemp -p -d "$builddir")" \
xvfb-run ctest --test-dir build --output-on-failure
}
package() {
DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
a38605dea13a225220544b77f835bff5bb191861ad34dd5ea6de06069921bc6db1f2683cb361d421ab3f7a82c58d2ff914512074a17e8e554bac3e5303f19ab5 kwin-6.0.4.1.tar.xz
14c4ddceca2ef51a139319bdd64bc84d7a1df7c6419e86bdbb04572be3212ca46f5c25cd61fa3b511d7644046f92a07408e472e41d95aab93ec494138a09c1a9 0001-kwin-Fix-building-of-tests.patch
"
+93
View File
@@ -0,0 +1,93 @@
# Forked from Alpine enable systemd
# MODIFIED base-sessionl.pamd for systemd!
pkgname=linux-pam
# MUST be kept in sync to avoid accidentally pulling in the alpine version
# we hard depend on this exact version in postmarketos-base-systemd. When updating
# the package here it must also be updated in postmarketos-base-systemd.
pkgver=1.6.0
pkgrel=0
pkgdesc="Linux PAM (Pluggable Authentication Modules for Linux)"
url="https://www.kernel.org/pub/linux/libs/pam"
arch="all"
license="BSD-3-Clause"
depends_dev="gettext-dev"
makedepends="
$depends_dev
autoconf
automake
bison
flex-dev
libtool
linux-headers
systemd-dev
"
options="pmb:strict suid !check"
provider_priority=100
subpackages="$pkgname-dev $pkgname-doc $pkgname-service"
source="
https://github.com/linux-pam/linux-pam/releases/download/v$pkgver/Linux-PAM-$pkgver.tar.xz
pam_namespace.patch
base-auth.pamd
base-account.pamd
base-password.pamd
base-session.pamd
base-session-noninteractive.pamd
other.pamd
login.pamd
su.pamd
"
builddir="$srcdir"/Linux-PAM-$pkgver
# secfixes:
# 1.5.1-r0:
# - CVE-2020-27780
build() {
./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--libdir=/usr/lib \
--sysconfdir=/etc \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--with-systemdunitdir=/usr/lib/systemd/system \
--localstatedir=/var \
--disable-nls \
--disable-db
make
}
package() {
make DESTDIR="$pkgdir" install
# install our pam.d files
install -Dm644 "$srcdir"/base-auth.pamd "$pkgdir"/etc/pam.d/base-auth
install -Dm644 "$srcdir"/base-password.pamd "$pkgdir"/etc/pam.d/base-password
install -Dm644 "$srcdir"/base-account.pamd "$pkgdir"/etc/pam.d/base-account
install -Dm644 "$srcdir"/base-session.pamd "$pkgdir"/etc/pam.d/base-session
install -Dm644 "$srcdir"/base-session-noninteractive.pamd \
"$pkgdir"/etc/pam.d/base-session-noninteractive
install -Dm644 "$srcdir"/other.pamd "$pkgdir"/etc/pam.d/other
install -Dm644 "$srcdir"/login.pamd "$pkgdir"/etc/pam.d/login
install -Dm644 "$srcdir"/su.pamd "$pkgdir"/etc/pam.d/su
# make "unix_chkpwd" shadow group and enable g+s
chgrp shadow "$pkgdir"/sbin/unix_chkpwd \
&& chmod g+s "$pkgdir"/sbin/unix_chkpwd
}
sha512sums="
7af07edb71a79275ad7f7f3bd82a4619b12a23a10f5fb2e5d810c6aadb718fd739ed17ca336c3420945d48d326e91874d8e45cfc5a4bf01a0cc5f9663bd2a0ad Linux-PAM-1.6.0.tar.xz
e9593ffb9bc29368c8e12fef770562bffd84001053bee5c4b0b859d4b39c675a13c1f9b689c619b78f61eee23a152e5a64ece4cca81d4306049a9108167cc708 pam_namespace.patch
988e4ba32fe6b7adeb4898c784eb40d6f88f3fca78ead82b61686f0e1597f306abb3ee338aa2e4cf2db0191b8c1a7e319332e7f6d6aed3ab381f71c0a3355de9 base-auth.pamd
5d3e960ead44dcb2b3f732825482eefab9a9ffa4d4d5fc1d30cbf2fe8c5c896f1114a0ad3a6c606fa9fbf5c43400388f4ee8d7fca8110721eabfc9691004756b base-account.pamd
b3a900d6067ba04faa8016d9408da75917e8c0502020a4048bba1de2ca54c705c4d5f8307e759080fd5a9d5f3522f52a708803f1f01627eac56d9d7c6d363d13 base-password.pamd
2cf01d7cf2ec63d7cfe10bd90ed3cae8c5354e086495b0738e6e18df4c0ac14336228128a943731d186cc7492b15e7aee039f2c46dcd50c1fde434bb0c9af7fd base-session.pamd
2f18114b8a6a78ed798646962526876f3536b4759c00dce339e21f0695ea71d0917c048dc852c3d1c79bd17cd19dc513a3c6463abaffcff3f792b906cec98ede base-session-noninteractive.pamd
299bb3791652174a4d836d60f146200bb692ad80c20c18e6e872543ac8885156ff1a7ca00acaf55b89672fa98f00b8df53879c9ab1913a9cc91f620163dd50be other.pamd
ae3a807bc121eb59b54f5e53ff8efdde972610cf7463b6a38bccbc89b49954aa2e0a8693919b01f8bc7a956ba58c97de34a28963bc14f526b70b3073d64427b5 login.pamd
a71ac72a21a5d18612365b2b0a4a0da1f9d1101a30d3f5d97f479f6378c3a0fbc219617000448c8b5a0ab2597f2e4944202b13a69624dbe849bf9ea39d00ca22 su.pamd
"
@@ -0,0 +1,4 @@
# basic PAM configuration for Alpine.
account required pam_unix.so
account required pam_nologin.so
@@ -0,0 +1,8 @@
# basic PAM configuration for Alpine.
auth required pam_unix.so nullok
auth required pam_nologin.so
auth required pam_env.so
-auth optional pam_gnome_keyring.so
-auth optional pam_kwallet5.so
@@ -0,0 +1,7 @@
# basic PAM configuration for Alpine.
password required pam_unix.so nullok sha512 shadow
# desktop keyrings
-password optional pam_gnome_keyring.so use_authtok
-password optional pam_kwallet5.so
@@ -0,0 +1,5 @@
# basic PAM configuration for Alpine.
session required pam_env.so
session required pam_limits.so
session required pam_unix.so
@@ -0,0 +1,14 @@
# basic PAM configuration for Alpine.
session include base-session-noninteractive
# potential providers that set up session stuff / a XDG_RUNTIME_DIR
-session optional pam_rundir.so
-session optional pam_elogind.so
-session optional pam_systemd.so
-session optional pam_ck_connector.so
-session optional pam_turnstile.so
# desktop keyrings
-session optional pam_gnome_keyring.so auto_start
-session optional pam_kwallet5.so auto_start
+6
View File
@@ -0,0 +1,6 @@
# "login" that is required by pam-enabled util-linux-login/shadow-login
auth include base-auth
account include base-account
password include base-password
session include base-session
+6
View File
@@ -0,0 +1,6 @@
#%PAM-1.0
# default config for any service don't specified
auth include base-auth
account include base-account
password include base-password
session include base-session-noninteractive
@@ -0,0 +1,39 @@
From cc9d40b7cdbd3e15ccaa324a0dda1680ef9dea13 Mon Sep 17 00:00:00 2001
From: Jacob Heider <jacob@pkgx.dev>
Date: Wed, 17 Jan 2024 11:49:26 -0500
Subject: [PATCH] pam_namespace: include stdint.h
pam_namespace.c makes use of SIZE_MAX but doesn't include stdint.h,
resulting in the following build failures on 1.6.0:
pam_namespace.c: In function 'process_line':
pam_namespace.c:649:41: error: 'SIZE_MAX' undeclared (first use in this function)
649 | if (count > UINT_MAX || count > SIZE_MAX / sizeof(uid_t)) {
| ^~~~~~~~
pam_namespace.c:41:1: note: 'SIZE_MAX' is defined in header '<stdint.h>'; did you forget to '#include <stdint.h>'?
40 | #include "argv_parse.h"
+++ |+#include <stdint.h>
41 |
pam_namespace.c:649:41: note: each undeclared identifier is reported only once for each function it appears in
649 | if (count > UINT_MAX || count > SIZE_MAX / sizeof(uid_t)) {
| ^~~~~~~~
Fixes: v1.6.0~100 ("pam_namespace: validate amount of uids in config")
Resolves: https://github.com/linux-pam/linux-pam/issues/733
---
modules/pam_namespace/pam_namespace.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/modules/pam_namespace/pam_namespace.c b/modules/pam_namespace/pam_namespace.c
index f72d67189..b16731c22 100644
--- a/modules/pam_namespace/pam_namespace.c
+++ b/modules/pam_namespace/pam_namespace.c
@@ -34,6 +34,8 @@
#define _ATFILE_SOURCE
+#include "config.h"
+#include <stdint.h>
#include "pam_cc_compat.h"
#include "pam_inline.h"
#include "pam_namespace.h"
+6
View File
@@ -0,0 +1,6 @@
# basic PAM configuration for Alpine.
auth sufficient pam_rootok.so
auth include base-auth
account include base-account
password include base-password
session include base-session-noninteractive
@@ -0,0 +1,31 @@
From 1494b5a3d96d8e8273c8c4e12cb08b2a86162842 Mon Sep 17 00:00:00 2001
From: Leonardo Arena <rnalrd@alpinelinux.org>
Date: Mon, 13 Sep 2021 07:18:04 +0000
Subject: [PATCH] Disable 'O2' and 'Werror' CFLAGS
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -97,8 +97,8 @@ ERROR_DISCARDED_QUALIFIERS := $(call TEST_CC_OPTION,-Werror=discarded-qualifiers
WNOCLOBBERED := $(call TEST_CC_OPTION,-Wno-clobbered -Wno-error=clobbered,)
WFORMATOVERFLOW := $(call TEST_CC_OPTION,-Wformat-overflow=2,)
-OPTFLAGS := -O2 -g $(STACKPROT) --param=ssp-buffer-size=4
-WARNFLAGS := -Werror -Wall -Wextra -Wformat=2 $(WFORMATOVERFLOW) -Werror=implicit-int \
+OPTFLAGS := -Os -g $(STACKPROT) --param=ssp-buffer-size=4
+WARNFLAGS := -Wall -Wextra -Wformat=2 $(WFORMATOVERFLOW) -Werror=implicit-int \
-Werror=implicit-function-declaration -Werror=format-security \
$(WNOCLOBBERED) -Werror=cast-qual $(ERROR_DISCARDED_QUALIFIERS)
CPPFLAGS := -Wp,-D_FORTIFY_SOURCE=2
--- a/libmultipath/configure.c
+++ b/libmultipath/configure.c
@@ -10,6 +10,7 @@
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
+char *basename();
#include <sys/file.h>
#include <errno.h>
#include <ctype.h>
--
2.32.0
@@ -0,0 +1,60 @@
# Forked from Alpine to remove eudev dependency
pkgname=multipath-tools
pkgver=99990.9.7
_pkgver=0.9.7
pkgrel=0
pkgdesc="Device Mapper Multipathing Driver"
url="http://christophe.varoqui.free.fr/"
arch="all"
license="LGPL-2.0-only"
depends="device-mapper"
makedepends="
json-c-dev
libaio-dev
lvm2-dev
ncurses-dev
perl
readline-dev
systemd-dev
userspace-rcu-dev
util-linux-dev
"
subpackages="$pkgname-doc $pkgname-openrc"
source="$pkgname-$_pkgver.tar.gz::https://github.com/opensvc/multipath-tools/archive/refs/tags/$_pkgver.tar.gz
multipath-tools.conf
multipath.initd
multipathd.initd
0001-Disable-Werror-and-O2.patch
"
options="!check"
builddir="$srcdir"/multipath-tools-"$_pkgver"
build() {
make prefix="/usr" \
sysconfdir="/etc" \
configdir="/etc/multipath/conf.d" \
mandir="/usr/share/man" \
infodir="/usr/share/info"
}
package() {
make prefix="/usr" SYSTEMDPATH="/usr/lib" LIB=lib DESTDIR="$pkgdir" install
install -D -m644 "$srcdir"/$pkgname.conf \
"$pkgdir"/etc/multipath.conf
install -D -m755 "$srcdir"/multipathd.initd \
"$pkgdir"/etc/init.d/multipathd
install -D -m755 "$srcdir"/multipath.initd \
"$pkgdir"/etc/init.d/multipath
install -D -m644 README.md \
"$pkgdir"/usr/share/doc/$pkgname/README.md
}
sha512sums="
0f4c97179a3de5a0c77893fec229eb183293fed8e5e01a9945b261845ccf5d13f8ef2c2ff0c17c9345217d236275caed4765422ec95aed80821f11658bf96e26 multipath-tools-0.9.7.tar.gz
e81462b22c0cbc92ea935d7544b9f9a0c4ccbcf13f3bc03dadf6de96407c9cf49964c9bbf02f12a134e1255c66421c6fde39d54b15eef975e8df81bdc88b2213 multipath-tools.conf
97deeee57daee787d807da0a4dbf50baae047ddcda30925f7000ec822b5a17a3dc55196c3e032c8ffbc2caeac690ce5ca485b0a7c99f15e66bddaa000439112a multipath.initd
71933b27a9ed76d00766ee29e0583ccf08bd689805cf77e284bc318bae62ad7bcde1894b2e50993019462b0c9787eaa780b271244ff11ef52cca290604900343 multipathd.initd
7235f38f7e86d0b035bf8904397bebfa2439bfc2d52986cfa60b39432eaadd6283fdfb7d73169d80a44ec5119cde37e25892e45c76e89cd145915207aa4c908f 0001-Disable-Werror-and-O2.patch
"
@@ -0,0 +1,113 @@
##
## This is a template multipath-tools configuration file
## Uncomment the lines relevent to your environment
##
#defaults {
# udev_dir /dev
# polling_interval 10
# selector "round-robin 0"
# path_grouping_policy multibus
# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
# prio_callout /bin/true
# path_checker directio
# rr_min_io 100
# rr_weight priorities
# failback immediate
# no_path_retry fail
# user_friendly_names no
#}
#blacklist {
# wwid 26353900f02796769
# devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
# devnode "^hd[a-z][[0-9]*]"
# devnode "^cciss!c[0-9]d[0-9]*[p[0-9]*]"
# device {
# vendor DEC.*
# product MSA[15]00
# }
#}
#blacklist_exceptions {
# devnode "^dasd[c-d]+[0-9]*"
# wwid "IBM.75000000092461.4d00.34"
#}
#multipaths {
# multipath {
# wwid 3600508b4000156d700012000000b0000
# alias yellow
# path_grouping_policy multibus
# path_checker directio
# path_selector "round-robin 0"
# failback manual
# rr_weight priorities
# no_path_retry 5
# rr_min_io 100
# }
# multipath {
# wwid 1DEC_____321816758474
# alias red
# }
#}
#devices {
# device {
# vendor "COMPAQ "
# product "HSV110 (C)COMPAQ"
# path_grouping_policy multibus
# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
# path_checker directio
# path_selector "round-robin 0"
# hardware_handler "0"
# failback 15
# rr_weight priorities
# no_path_retry queue
# rr_min_io 100
# product_blacklist LUN_Z
# }
# device {
# vendor "COMPAQ "
# product "MSA1000 "
# path_grouping_policy multibus
# }
#}
#defaults {
# udev_dir /dev
# user_friendly_names yes
#}
#blacklist {
# devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
# devnode "^hd[a-z]"
# devnode "^sda"
# devnode "^sdb"
# devnode "^sdc"
# devnode "^sdd"
# devnode "^sda[0-9]"
# devnode "^sdb[0-9]"
# device {
# vendor DELL
# product "PERC|Universal"
# }
#}
#devices {
# device {
# vendor DELL
# product MD3000i
# hardware_handler "1 rdac"
# path_checker rdac
# path_grouping_policy group_by_prio
# prio_callout "/sbin/mpath_prio_rdac /dev/%n"
# failback immediate
# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
# }
#}
#multipaths {
# multipath {
# device {
# vendor DELL
# product MD3000i
# }
# }
#}
@@ -0,0 +1,22 @@
#!/sbin/openrc-run
depend() {
before checkfs fsck multipathd iscsid lvm
after modules device-mapper
}
start() {
ebegin "Loading multipath modules"
modprobe -aq dm_mod dm-multipath
eend $?
ebegin "Activating multipath devices"
multipath -v0 >/dev/null
eend $?
}
stop() {
ebegin "Deactivating multipath devices"
multipath -v0 -F >/dev/null
eend $?
}
@@ -0,0 +1,7 @@
#!/sbin/openrc-run
supervisor=supervise-daemon
command=/usr/sbin/multipathd
command_args_foreground="-d"
output_log=/var/log/${RC_SVCNAME}.log
error_log=/var/log/${RC_SVCNAME}.log
@@ -1,7 +1,8 @@
# Forked from Alpine to apply mobile adaptivity patches
pkgname=mutter-mobile
pkgver=45_git20230908
pkgver=99945_git20230908
_pkgver=45_git20230908
pkgrel=1
pkgdesc="clutter-based window manager and compositor"
url="https://wiki.gnome.org/Projects/Mutter/"
@@ -20,7 +21,7 @@ makedepends="
at-spi2-core-dev
cairo-dev
dbus-dev
elogind-dev
systemd-dev
eudev-dev
fribidi-dev
gdk-pixbuf-dev
@@ -31,7 +32,7 @@ makedepends="
graphene-dev
gtk+3.0-dev
json-glib-dev
lcms2-dev
libei-dev
libcanberra-dev
libdrm-dev
libgudev-dev
@@ -54,7 +55,6 @@ makedepends="
libxrandr-dev
libxrender-dev
libxtst-dev
libei-dev
mesa-dev
meson
pango-dev
@@ -111,6 +111,12 @@ lang() {
provides="mutter-lang=$pkgver-r$pkgrel"
}
dev() {
default_dev
provides="mutter-dev=$pkgver-r$pkgrel"
}
package() {
DESTDIR="$pkgdir" meson install --no-rebuild -C output
}
@@ -118,6 +124,6 @@ package() {
sha512sums="
715c3efbbf416a11ae0a723184d1e018d3679c876bc419f110da1200f9dad3b7719255ac81cca301cff55e16ba36578bc9906805599ff009faeebf9455f5bcb1 mobile-mutter-0f08f5aba4c9b5ac34b2d5711182d50b719d838e.tar.gz
6f21171bbd0ad0fc67cbaf5fb1478b22b482a9ae33b9328cc51a5dd31bcf7d95cd41e6cbbac21d3d8801cc064a62a64ae38ed7d0501ab605b861058c32f3bc30 fixudev-req.patch
b0f2fc36b6eeb7b49aed4a689c1a8d982d22f0b9d246c4c47ae950d5b06c5fe900ac5b0640a2d25ec97042a83138c51e87d878f74dc016774205cfc8bbf06f00 pcversion.patch
bb46a4692aaff0c9e6092d1ba80d19b336035e983f0f20a437a586757bc2530860f50fbd46b09f73e88f0dd80ea7188d1df467b8f762918717785e618b6e9c4b pcversion.patch
a9a82e945081480ae7ce59098aa3e46c87f5ea97481bd4c4933b3ef0a1757492ecb6e8453e8a2f74fb42edd51d39f76aaf9ef45ad8c52008acd6bbcbec219f83 version.patch
"
@@ -12,4 +12,3 @@ index 3550496..15b9e7d 100644
json_glib_req = '>= 0.12.0'
xcomposite_req = '>= 0.4'
xkbcommon_req = '>= 0.4.3'
libei_req = '>= 1.0.0'
+284
View File
@@ -0,0 +1,284 @@
# Forked from Alpine to build with systemd support.
# integrates with logind for sleepmonitor and sessionmonitor.
pkgname=networkmanager
pkgver=9999
_pkgver=1.42.6
pkgrel=0
pkgdesc="Network Management daemon"
url="https://wiki.gnome.org/Projects/NetworkManager"
arch="all"
license="GPL-2.0-or-later"
depends_dev="$pkgname=$pkgver-r$pkgrel libnm=$pkgver-r$pkgrel"
makedepends="
bash
curl-dev
dbus-glib-dev
eudev-dev
gettext-dev
gnutls-dev
gobject-introspection-dev
gtk-doc
jansson-dev
libgudev-dev
libndp-dev
libnl3-dev
libpsl-dev
libxslt
linux-headers
meson
mobile-broadband-provider-info
modemmanager-dev
newt-dev
nss-dev
openresolv
perl
polkit-dev
ppp-dev
py3-gobject3
python3
readline-dev
systemd-dev
util-linux-dev
vala
"
checkdepends="
bash
dbus
iproute2-minimal
iproute2-tc
py3-dbus
"
install="
$pkgname.pre-install
$pkgname.pre-upgrade
$pkgname.post-install
$pkgname.post-upgrade
"
subpackages="
$pkgname-dbg
libnm
$pkgname-dev
$pkgname-elogind
$pkgname-lang
$pkgname-service
$pkgname-adsl
$pkgname-bluetooth
$pkgname-ovs
$pkgname-ppp
$pkgname-wwan
$pkgname-wifi
$pkgname-cli
$pkgname-tui
$pkgname-initrd-generator:initrd_generator
$pkgname-bash-completion
$pkgname-dnsmasq
"
source="https://download.gnome.org/sources/NetworkManager/${_pkgver:0:4}/NetworkManager-$_pkgver.tar.xz
$pkgname.conf
pppd-2.5.patch
$pkgname.rules
"
builddir="$srcdir/NetworkManager-$_pkgver"
# on the builders:
# mount("/sys") failed with Operation not permitted (1)
options="!check"
_plugindir="usr/lib/NetworkManager/$_pkgver"
build() {
#msg 'Building without systemd'
#_build output \
# -Dsession_tracking=no \
# -Dsuspend_resume=consolekit \
# -Dsystemd_journal=false \
# -Dsystemdsystemunitdir=no
msg 'Building with systemd'
_build output \
-Dsession_tracking=systemd \
-Dsuspend_resume=systemd \
-Dsystemd_journal=true \
-Dtests="$(want_check && echo yes || echo no)"
}
_build() {
local outdir=$1; shift
#-Db_lto=true \
abuild-meson \
-Dconfig_dhcp_default=internal \
-Dconfig_plugins_default=ifupdown \
-Dcrypto=nss \
-Ddbus_conf_dir=/usr/share/dbus-1/system.d \
-Ddhcpcd=true \
-Ddnsmasq=/usr/sbin/dnsmasq \
-Ddocs=false \
-Difupdown=true \
-Diptables=/sbin/iptables \
-Diwd=true \
-Dlibaudit=no \
-Dmodify_system=true \
-Dnft=/usr/sbin/nft \
-Dofono=true \
-Dpolkit=true \
-Dpppd=/usr/sbin/pppd \
-Dpppd_plugin_dir=/usr/lib/pppd/2.5.0 \
-Dqt=false \
-Dselinux=false \
-Dsystemdsystemunitdir=/usr/lib/systemd/system \
-Dtests=no \
-Dudev_dir=/usr/lib/udev \
-Dvapi=true \
"$@" \
. "$outdir"
meson compile -C "$outdir"
}
check() {
XDG_RUNTIME_DIR="$(mktemp -d -p "$builddir")" \
dbus-run-session -- \
meson test -t 4 --no-rebuild --print-errorlogs -C output-elogind
}
package() {
depends="
libnm=$pkgver-r$pkgrel
dbus
"
provides="networkmanager-common"
provider_priority=500
DESTDIR="$pkgdir" meson install --no-rebuild -C output
install -m644 -D "$srcdir/$pkgname.conf" "$pkgdir"/etc/NetworkManager/NetworkManager.conf
# allow plugdev users to modify connections
install -m644 -D "$srcdir/$pkgname.rules" \
"$pkgdir/usr/share/polkit-1/rules.d/01-org.freedesktop.NetworkManager.settings.modify.system.rules"
mv "$pkgdir/usr/share/doc/NetworkManager" "$pkgdir/usr/share/doc/$pkgname"
# post-install message
cat > "$pkgdir"/usr/share/doc/$pkgname/README.alpine <<-EOF
To modify system network connections without the root password: add your user account to the 'plugdev' group, or use Polkit.
To use iwd instead of the default wpa_supplicant install iwd, start its service and add the following to your /etc/NetworkManager/NetworkManager.conf:
[device]
wifi.backend=iwd
EOF
}
dev() {
default_dev
amove usr/share/dbus-1/interfaces/*.xml
}
libnm() {
pkgdesc="GObject-based client library for NetworkManager"
replaces_priority=200
amove usr/lib/libnm.so*
}
elogind() {
pkgdesc="NetworkManager with logind support"
depends="$pkgname"
mkdir -p "$subpkgdir"
}
adsl() {
_default_plugin
pkgdesc="ADSL device plugin for NetworkManager"
}
bluetooth() {
_default_plugin
pkgdesc="BlueTooth device plugin for NetworkManager"
depends="$depends bluez"
}
ovs() {
_default_plugin
pkgdesc="Open vSwitch device plugin for NetworkManager"
depends="$depends openvswitch"
}
ppp() {
pkgdesc="PPP plugin for NetworkManager"
depends="$pkgname=$pkgver-r$pkgrel"
amove $_plugindir/libnm-ppp-plugin.so
amove usr/lib/pppd/*/nm-pppd-plugin.so
}
# TODO: Add dependency on wpa_supplicant or iwd via some virtual (?).
wifi() {
_default_plugin
pkgdesc="WiFi device plugin for NetworkManager"
depends="$depends wireless-regdb"
install="$subpkgname.post-install"
}
wwan() {
_default_plugin
pkgdesc="Mobile broadband device plugin for NetworkManager"
depends="$depends mobile-broadband-provider-info"
}
cli() {
pkgdesc="$pkgdesc (command line interface)"
depends="$pkgname=$pkgver-r$pkgrel"
amove usr/bin/nmcli
}
tui() {
pkgdesc="$pkgdesc (textbased user interface)"
depends="$pkgname=$pkgver-r$pkgrel"
amove usr/bin/nmtui*
}
initrd_generator() {
pkgdesc="Early boot NetworkManager configuration generator"
depends="" # Q: should it depend on $pkgname?
replaces="$pkgname<1.34.0-r3"
amove usr/libexec/nm-initrd-generator
}
gtkdoc() {
pkgdesc="$pkgdesc (gtk docs)"
amove usr/share/gtk-doc
}
dnsmasq() {
pkgdesc="Support for NetworkManager dnsmasq features"
depends="$pkgname=$pkgver-r$pkgrel dnsmasq-dnssec-dbus"
mkdir -p "$subpkgdir"
}
service() {
default_service
}
_default_plugin() {
depends="$pkgname=$pkgver-r$pkgrel"
amove $_plugindir/libnm*-${subpkgname#$pkgname-}.so
}
sha512sums="
606a996043d8fbc7972329b94bc9854557950f665790381611eddfc632850b31584a4ba2d773fa9d12127db4c37ea2076c657521b78cedb012144df6f41d3748 NetworkManager-1.42.6.tar.xz
0f79016bf717dea43830962f524deae8d1cedc274376e40bd912ebe63208c5b1c3b7a5aa14379da19020c587dbd5588df2f0066ca1540070a226983a43e4159b networkmanager.conf
0190d8c757dcb5c1a50f8b080952ed138e4fe78b06b8a2649521f18fd87f2fec274a35b0aaf0d0579d05a369feb9015dfd6469777f70444744d401525de834cb pppd-2.5.patch
9820ed2ead0af689644842de57657bb10330a1eaff0e85b21ae9913f55e399e47d8b41b0a12956f30de80272b4424c6e55f33acbc88e156879003a260bf576f6 networkmanager.rules
"
@@ -0,0 +1,14 @@
#!/bin/sh
cat >&2 <<EOF
*
* To control WiFi devices, install either 'wpa_supplicant' or 'iwd' package,
* enable and start the corresponding service (rc-update add <name>;
* rc-service <name> start), and restart networkmanager.
*
* If you chose iwd, you have to also add 'wifi.backend=iwd' into section
* '[device]' in /etc/NetworkManager/NetworkManager.conf.
*
EOF
exit 0
@@ -0,0 +1,2 @@
[main]
dhcp=internal
@@ -0,0 +1,16 @@
#!/bin/sh
cat >&2 <<EOF
*
* To modify system network connections without the root password, add your user
* account to the 'plugdev' group.
*
* If you use wifi, bluetooth, ppp, wwan (mobile broadband), adsl or ovs (Open
* vSwitch), install the corresponding plugin: apk add networkmanager-<name>.
*
* If you use NetworkManager features which require dnsmasq, you need to install
* dnsmasq support: apk add networkmanager-dnsmasq
*
EOF
exit 0
@@ -0,0 +1,15 @@
#!/bin/sh
old_ver=$2
if [ "$(apk version -t "$ver_old" '1.34.0-r3')" = '<' ]; then
cat >&2 <<-EOF
*
* NetworkManager plugins adsl, bluetooth, ovs, ppp, wwan (mobile broadband),
* and wifi have been split into subpackages. If you use some of them, install
* the corresponding packages (e.g. 'apk add networkmanager-wifi').
*
EOF
fi
exit 0
@@ -0,0 +1,5 @@
#!/bin/sh
addgroup -S plugdev 2>/dev/null
exit 0
@@ -0,0 +1 @@
networkmanager.pre-install
@@ -0,0 +1,9 @@
// Let users in plugdev group modify NetworkManager
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.NetworkManager.settings.modify.system" &&
subject.isInGroup("plugdev") && subject.active) {
return "yes";
}
});
@@ -0,0 +1,326 @@
Patch-Source: https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1558
--
From c1c2d24b557ceb90d28bd3b818bb61bcb6753975 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Eivind=20N=C3=A6ss?= <eivnaes@yahoo.com>
Date: Sat, 4 Mar 2023 22:26:00 +0000
Subject: [PATCH 1/2] ppp, adding support for compiling against pppd-2.5.0
This change does the following
* Adding in nm-pppd-compat.h to mask details regarding different
versions of pppd.
* Fix the nm-pppd-plugin.c regarding differences in API between
2.4.9 (current) and latet pppd 2.5.0 in master branch
* Additional fixes to the configure.ac to appropriately set defines used
for compilation
---
configure.ac | 17 ++++-
src/core/ppp/nm-pppd-compat.h | 127 ++++++++++++++++++++++++++++++++++
src/core/ppp/nm-pppd-plugin.c | 45 ++++++------
3 files changed, 164 insertions(+), 25 deletions(-)
create mode 100644 src/core/ppp/nm-pppd-compat.h
diff --git a/configure.ac b/configure.ac
index 6af061ddbc..ce0c23722c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -767,13 +767,17 @@ else
fi
AM_CONDITIONAL(WITH_PPP, test "${enable_ppp}" = "yes")
+PPPD_VERSION=2.4.9
+PKG_CHECK_EXISTS([pppd], [
+ PPPD_VERSION=`$PKG_CONFIG --modversion pppd`
+])
+
AC_ARG_WITH([pppd-plugin-dir],
AS_HELP_STRING([--with-pppd-plugin-dir=DIR], [path to the pppd plugins directory]))
-
if test -n "$with_pppd_plugin_dir" ; then
PPPD_PLUGIN_DIR="$with_pppd_plugin_dir"
else
- PPPD_PLUGIN_DIR="${libdir}/pppd/2.4.5"
+ PPPD_PLUGIN_DIR="${libdir}/pppd/$PPPD_VERSION"
fi
AC_SUBST(PPPD_PLUGIN_DIR)
@@ -786,6 +790,15 @@ fi
AC_DEFINE_UNQUOTED(PPPD_PATH, "$PPPD_PATH", [Define to path of pppd binary])
AC_SUBST(PPPD_PATH)
+AC_CHECK_HEADERS(pppd/chap.h pppd/chap-new.h pppd/chap_ms.h)
+AC_DEFINE_UNQUOTED([PPP_VERSION(x,y,z)],
+ [((x & 0xFF) << 16 | (y & 0xFF) << 8 | (z & 0xFF) << 0)],
+ [Macro to help determine the particular version of pppd])
+PPP_VERSION=$(echo $PPPD_VERSION | sed -e "s/\./\,/g")
+AC_DEFINE_UNQUOTED(WITH_PPP_VERSION, PPP_VERSION($PPP_VERSION),
+ [The real version of pppd represented as an int])
+
+
# ModemManager1 with libmm-glib
AC_ARG_WITH(modem-manager-1,
AS_HELP_STRING([--with-modem-manager-1],
diff --git a/src/core/ppp/nm-pppd-compat.h b/src/core/ppp/nm-pppd-compat.h
new file mode 100644
index 0000000000..c7bea084ae
--- /dev/null
+++ b/src/core/ppp/nm-pppd-compat.h
@@ -0,0 +1,127 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+/*
+ * Copyright (C) Eivind Næss, eivnaes@yahoo.com
+ */
+
+#ifndef __NM_PPPD_COMPAT_H__
+#define __NM_PPPD_COMPAT_H__
+
+/* Define INET6 to compile with IPv6 support against older pppd headers,
+ pppd >= 2.5.0 use PPP_WITH_IPV6CP and is defined in pppdconf.h */
+#define INET6 1
+
+/* PPP < 2.5.0 defines and exports VERSION which overlaps with current package VERSION define.
+ this silly macro magic is to work around that. */
+#undef VERSION
+#include <pppd/pppd.h>
+
+#ifndef PPPD_VERSION
+#define PPPD_VERSION VERSION
+#endif
+
+#include <pppd/fsm.h>
+#include <pppd/eui64.h>
+#include <pppd/ipcp.h>
+#include <pppd/ipv6cp.h>
+#include <pppd/upap.h>
+
+#if 1
+#include <pppd/chap.h>
+#endif
+
+#if 0
+#include <pppd/chap-new.h>
+#endif
+
+#if 1
+#include <pppd/chap_ms.h>
+#endif
+
+#ifndef PPP_PROTO_CHAP
+#define PPP_PROTO_CHAP 0xc223
+#endif
+
+#ifndef PPP_PROTO_EAP
+#define PPP_PROTO_EAP 0xc227
+#endif
+
+#if 0
+
+static inline bool
+debug_on(void)
+{
+ return debug;
+}
+
+static inline const char *
+ppp_ipparam(void)
+{
+ return ipparam;
+}
+
+static inline int
+ppp_ifunit(void)
+{
+ return ifunit;
+}
+
+static inline const char *
+ppp_ifname(void)
+{
+ return ifname;
+}
+
+static inline int
+ppp_get_mtu(int idx)
+{
+ return netif_get_mtu(idx);
+}
+
+static inline void
+ppp_set_ifname(const char *new_name)
+{
+ g_strlcpy(ifname, new_name, IF_NAMESIZE);
+}
+
+typedef enum ppp_notify {
+ NF_PID_CHANGE,
+ NF_PHASE_CHANGE,
+ NF_EXIT,
+ NF_SIGNALED,
+ NF_IP_UP,
+ NF_IP_DOWN,
+ NF_IPV6_UP,
+ NF_IPV6_DOWN,
+ NF_AUTH_UP,
+ NF_LINK_DOWN,
+ NF_FORK,
+ NF_MAX_NOTIFY
+} ppp_notify_t;
+
+typedef void(ppp_notify_fn)(void *ctx, int arg);
+
+static inline void
+ppp_add_notify(ppp_notify_t type, ppp_notify_fn *func, void *ctx)
+{
+ struct notifier **list[NF_MAX_NOTIFY] = {
+ [NF_PID_CHANGE] = &pidchange,
+ [NF_PHASE_CHANGE] = &phasechange,
+ [NF_EXIT] = &exitnotify,
+ [NF_SIGNALED] = &sigreceived,
+ [NF_IP_UP] = &ip_up_notifier,
+ [NF_IP_DOWN] = &ip_down_notifier,
+ [NF_IPV6_UP] = &ipv6_up_notifier,
+ [NF_IPV6_DOWN] = &ipv6_down_notifier,
+ [NF_AUTH_UP] = &auth_up_notifier,
+ [NF_LINK_DOWN] = &link_down_notifier,
+ [NF_FORK] = &fork_notifier,
+ };
+
+ struct notifier **notify = list[type];
+ if (notify) {
+ add_notifier(notify, func, ctx);
+ }
+}
+
+#endif /* #if WITH_PPP_VERSION < PPP_VERSION(2,5,0) */
+#endif /* #ifdef __NM_PPPD_COMPAT_H__ */
diff --git a/src/core/ppp/nm-pppd-plugin.c b/src/core/ppp/nm-pppd-plugin.c
index e2e34d2aaf..59a2dcc94b 100644
--- a/src/core/ppp/nm-pppd-plugin.c
+++ b/src/core/ppp/nm-pppd-plugin.c
@@ -7,29 +7,23 @@
#include <config.h>
#define ___CONFIG_H__
-#include <pppd/pppd.h>
-#include <pppd/fsm.h>
-#include <pppd/ipcp.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <net/if.h>
#include <arpa/inet.h>
#include <dlfcn.h>
+#include <glib.h>
-#define INET6
-#include <pppd/eui64.h>
-#include <pppd/ipv6cp.h>
+#include "nm-pppd-plugin.h"
+#include "nm-pppd-compat.h"
+#include "nm-ppp-status.h"
#include "libnm-glib-aux/nm-default-glib.h"
-
#include "nm-dbus-interface.h"
-#include "nm-pppd-plugin.h"
-#include "nm-ppp-status.h"
-
int plugin_init(void);
-char pppd_version[] = VERSION;
+char pppd_version[] = PPPD_VERSION;
static struct {
GDBusConnection *dbus_connection;
@@ -125,7 +119,7 @@ nm_phasechange(int arg)
char new_name[IF_NAMESIZE];
int ifindex;
- ifindex = if_nametoindex(ifname);
+ ifindex = if_nametoindex(ppp_ifname());
/* Make a sync call to ensure that when the call
* terminates the interface already has its final
@@ -143,9 +137,11 @@ nm_phasechange(int arg)
NULL);
/* Update the name in pppd if NM changed it */
- if (if_indextoname(ifindex, new_name) && !nm_streq0(ifname, new_name)) {
- g_message("nm-ppp-plugin: interface name changed from '%s' to '%s'", ifname, new_name);
- g_strlcpy(ifname, new_name, IF_NAMESIZE);
+ if (if_indextoname(ifindex, new_name) && !nm_streq0(ppp_ifname(), new_name)) {
+ g_message("nm-ppp-plugin: interface name changed from '%s' to '%s'",
+ ppp_ifname(),
+ new_name);
+ ppp_set_ifname(new_name);
}
}
}
@@ -166,7 +162,7 @@ nm_ip_up(void *data, int arg)
ipcp_options opts = ipcp_gotoptions[0];
ipcp_options peer_opts = ipcp_hisoptions[0];
GVariantBuilder builder;
- guint32 pppd_made_up_address = htonl(0x0a404040 + ifunit);
+ guint32 pppd_made_up_address = htonl(0x0a404040 + ppp_ifunit());
g_return_if_fail(G_IS_DBUS_CONNECTION(gl.dbus_connection));
@@ -186,7 +182,7 @@ nm_ip_up(void *data, int arg)
g_variant_builder_add(&builder,
"{sv}",
NM_PPP_IP4_CONFIG_INTERFACE,
- g_variant_new_string(ifname));
+ g_variant_new_string(ppp_ifname()));
g_variant_builder_add(&builder,
"{sv}",
@@ -292,7 +288,7 @@ nm_ip6_up(void *data, int arg)
g_variant_builder_add(&builder,
"{sv}",
NM_PPP_IP6_CONFIG_INTERFACE,
- g_variant_new_string(ifname));
+ g_variant_new_string(ppp_ifname()));
g_variant_builder_add(&builder, "{sv}", NM_PPP_IP6_CONFIG_OUR_IID, eui64_to_variant(go->ourid));
g_variant_builder_add(&builder,
"{sv}",
@@ -393,6 +389,7 @@ nm_exit_notify(void *data, int arg)
static void
add_ip6_notifier(void)
{
+#if 0
static struct notifier **notifier = NULL;
static gsize load_once = 0;
@@ -409,6 +406,9 @@ add_ip6_notifier(void)
add_notifier(notifier, nm_ip6_up, NULL);
else
g_message("nm-ppp-plugin: no IPV6CP notifier support; IPv6 not available");
+#else
+ ppp_add_notify(NF_IPV6_UP, nm_ip6_up, NULL);
+#endif
}
int
@@ -427,17 +427,16 @@ plugin_init(void)
return -1;
}
- gl.ipparam = g_strdup(ipparam);
+ gl.ipparam = g_strdup(ppp_ipparam());
chap_passwd_hook = get_credentials;
chap_check_hook = get_chap_check;
pap_passwd_hook = get_credentials;
pap_check_hook = get_pap_check;
- add_notifier(&phasechange, nm_phasechange_hook, NULL);
- add_notifier(&ip_up_notifier, nm_ip_up, NULL);
- add_notifier(&exitnotify, nm_exit_notify, NULL);
+ ppp_add_notify(NF_PHASE_CHANGE, nm_phasechange_hook, NULL);
+ ppp_add_notify(NF_IP_UP, nm_ip_up, NULL);
+ ppp_add_notify(NF_EXIT, nm_exit_notify, NULL);
add_ip6_notifier();
-
return 0;
}
--
GitLab
@@ -0,0 +1,156 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: team/kde <bribbers@disroot.org>
# The group tag is just to easily find this APKBUILD by some scripts for automation
# group=kde-plasma
pkgname=plasma-workspace
pkgver=9999_git20240428
_pkgver=6.0.4
pkgrel=0
pkgdesc="KDE Plasma Workspace"
# armhf blocked by extra-cmake-modules
arch="all !armhf"
url="https://kde.org/plasma-desktop/"
license="(GPL-2.0-only OR GPL-3.0-only) AND LGPL-2.1-or-later AND GPL-2.0-or-later AND MIT AND LGPL-2.1-only AND LGPL-2.0-or-later AND (LGPL-2.1-only OR LGPL-3.0-only) AND LGPL-2.0-only"
depends="
accountsservice
fprintd
kactivitymanagerd
kde-cli-tools
kded
kio-extras
kirigami
kirigami-addons
kwin
milou
pipewire-session-manager
plasma-integration
qt6-qttools
tzdata
"
depends_dev="
baloo-dev
breeze-dev
eudev-dev
gpsd-dev
icu-dev
iso-codes-dev
karchive-dev
kauth-dev
kcmutils-dev
kcoreaddons-dev
kcrash-dev
kdbusaddons-dev
kdeclarative-dev
kded-dev
kglobalaccel-dev
kglobalacceld-dev
kguiaddons-dev
kholidays-dev
ki18n-dev
kiconthemes-dev
kidletime-dev
kio-dev
kitemmodels-dev
knewstuff-dev
knotifications-dev
knotifyconfig-dev
kpackage-dev
kparts-dev
kpipewire-dev
kquickcharts-dev
krunner-dev
kscreenlocker-dev
kstatusnotifieritem-dev
ksvg-dev
ktexteditor-dev
ktextwidgets-dev
kunitconversion-dev
kuserfeedback-dev
kwayland-dev
kwin-dev
layer-shell-qt-dev
libcanberra-dev
libkexiv2-dev
libkscreen-dev
libksysguard-dev
libplasma-dev
libqalculate-dev
networkmanager-qt-dev
phonon-dev
plasma-activities-stats-dev
plasma-wayland-protocols
plasma5support-dev
prison-dev
qt6-qtwayland-dev
wayland-dev
wayland-protocols
zlib-dev
"
makedepends="$depends_dev
extra-cmake-modules
kded
kdoctools-dev
libxtst-dev
qt6-qttools-dev
samurai
xdotool
systemd
"
checkdepends="xvfb-run"
case "$_pkgver" in
*.90*) _rel=unstable;;
*) _rel=stable;;
esac
subpackages="$pkgname-dbg $pkgname-dev $pkgname-libs $pkgname-doc $pkgname-lang $pkgname-zsh-completion"
_repo_url="https://invent.kde.org/plasma/plasma-workspace.git"
source="https://download.kde.org/$_rel/plasma/$_pkgver/plasma-workspace-$_pkgver.tar.xz"
builddir="$srcdir/$pkgname-$_pkgver"
replaces="plasma-desktop<5.24 breeze<5.22.90"
build() {
# reduce size of debug syms
CFLAGS="$CFLAGS -O2 -g1" CXXFLAGS="$CXXFLAGS -O2 -g1" \
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DPLASMA_WAYLAND_DEFAULT_SESSION=TRUE
cmake --build build
}
check() {
# nightcolortest requires running dbus
# testdesktop, lookandfeel-kcmTest, test_kio_fonts, servicerunnertest systemtraymodeltest are broken
# tst_triangleFilter requires plasma-workspace to be installed
# locationsrunnertest requires a running Wayland environment
local skipped_tests="("
local tests="
nightcolortest
testdesktop
lookandfeel-kcmTest
test_kio_fonts
servicerunnertest
systemtraymodeltest
tst_triangleFilter
locationsrunnertest
"
case "$CARCH" in
arm*|aarch64|ppc64le) tests="$tests calculatorrunnertest" ;;
esac
for test in $tests; do
skipped_tests="$skipped_tests|$test"
done
skipped_tests="$skipped_tests)"
xvfb-run ctest --test-dir build --output-on-failure -E "$skipped_tests"
}
package() {
DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
d55cd7232b2d4da4172e813cdaa432e9582f3d16a7f38055303617a0c66f67511c6e20cc19bfb8bff68e06515c445783040dd212fbb686b2993f469ec6757466 plasma-workspace-6.0.4.tar.xz
"
+102
View File
@@ -0,0 +1,102 @@
# Forked from Alpine to rebuild with systemd support
pkgname=polkit
pkgver=999124
_pkgver=124
pkgrel=0
pkgdesc="Application development toolkit for controlling system-wide privileges"
url="https://www.freedesktop.org/wiki/Software/polkit/"
arch="all"
license="GPL-2.0-or-later"
options="suid !check" # Needs a functioning dbus daemon
makedepends="
dbus-dev
duktape-dev
systemd-dev
expat-dev
glib-dev
gobject-introspection-dev
gtk-doc
linux-pam-dev
meson
perl
"
pkgusers="polkitd"
pkggroups="polkitd"
install="$pkgname.pre-install $pkgname.pre-upgrade"
subpackages="
$pkgname-dev
$pkgname-libs
$pkgname-doc
$pkgname-lang
$pkgname-service
"
source="https://gitlab.freedesktop.org/polkit/polkit/-/archive/$_pkgver/polkit-$_pkgver.tar.bz2
alpine-polkit.pam
"
builddir="$srcdir/polkit-$_pkgver"
# secfixes:
# 0.120-r2:
# - CVE-2021-4034
# 0.119-r0:
# - CVE-2021-3560
build() {
msg 'Building with systemd'
_build systemd -Dsession_tracking="libsystemd-login"
}
_build() {
local outdir="$1"
shift
abuild-meson \
-Db_lto=true \
-Dtests="$(want_check && echo true || echo false)" \
-Dman=true \
-Dpam_prefix=/etc/pam.d \
"$@" \
. "$outdir"
meson compile -C "$outdir"
}
check() {
meson test --print-errorlogs --no-rebuild -C systemd
}
package() {
depends="$pkgname-libs=$pkgver-r$pkgrel"
provides="$pkgname-elogind=$pkgver-r$pkgrel"
DESTDIR="$pkgdir" meson install --no-rebuild -C systemd
cd "$pkgdir"
# Use our own polkit rules, upstream may change them
install -m644 "$srcdir"/alpine-polkit.pam etc/pam.d/polkit-1
# See polkit's configure script which tells us what permissions to set
chown -R polkitd:polkitd etc/polkit-1/rules.d usr/share/polkit-1/rules.d
chmod -R 700 etc/polkit-1/rules.d usr/share/polkit-1/rules.d
chmod 4755 usr/lib/polkit-1/polkit-agent-helper-1
chmod 4755 usr/bin/pkexec
}
libs() {
provides="polkit-elogind-libs polkit-noelogind-libs"
provider_priority=9999
default_libs
}
dev() {
provides="polkit-elogind-dev polkit-noelogind-dev"
provider_priority=9999
default_dev
}
sha512sums="
db520882b0bedf1c96052570bf4c55d7e966d8172f6d26acf0791d98c4b911fce5ee39e6d830f06122ac8df33c6b43c252cdb7ba3a54523804824ebf355405dc polkit-124.tar.bz2
f5102dc00d390b3a3c957b62e1712db778c7ffb7378f3d8e816c0757c11a308c5d5303e42595b0d6add9839247c773880cd34e56afacc89eb6efaadf9aae7826 alpine-polkit.pam
"
@@ -0,0 +1,7 @@
auth requisite pam_nologin.so
auth required pam_env.so
auth required pam_unix.so
account required pam_unix.so
session required pam_unix.so
session required pam_limits.so
password required pam_unix.so
@@ -0,0 +1,6 @@
#!/bin/sh
addgroup -S polkitd 2>/dev/null
adduser -S -D -H -h /var/empty -s /sbin/nologin -G polkitd -g polkitd polkitd 2>/dev/null
exit 0
+1
View File
@@ -0,0 +1 @@
polkit.pre-install
@@ -0,0 +1,59 @@
# Maintainer: Oliver Smith <ollipearanoid@postmarketos.org>
# pmbootstrap installs this, if systemd is selected in "pmbootstrap init".
pkgname=postmarketos-base-systemd
pkgver=1
pkgrel=2
pkgdesc="Meta package for running postmarketOS with systemd"
url="https://postmarketos.org"
arch="noarch"
license="GPL-3.0-or-later"
options="!check"
depends="
openssh-server-pam
polkit
systemd
tzdata
linux-pam=1.6.0-r0
systemd-services
"
replaces="alpine-baselayout postmarketos-base systemd"
_source644="
etc/motd.ansi
etc/profile.d/99motd.sh
etc/systemd/logind.conf
etc/ssh/sshd_config.d/usepam.conf
"
_source755="
usr/bin/setup-timezone
"
flatpath() {
local i
for i in $@; do
echo "rootfs-$i" | sed s./.-.g
done
}
source="$(flatpath $_source644 $_source755)"
package() {
local i
for i in $_source644; do
install -Dm644 "$srcdir/$(flatpath "$i")" "$pkgdir/$i"
done
for i in $_source755; do
install -Dm755 "$srcdir/$(flatpath "$i")" "$pkgdir/$i"
done
# This gets printed still so overwrite it with an empty file.
touch $pkgdir/etc/motd
}
sha512sums="
a6c27ab5d365807a40b16328918b6ca3d7f97a4128381674001cf46133928d8bb073ff4691b78c82f7965bcc2649d7ca4bf3e7453dd61be9b9341bbe6b448fd6 rootfs-etc-motd.ansi
fbaa33425e507062a454f11bda48508f261c2144e5c23a20f567dc1cef14ce1dec57f8d934f418f5b6095509757f8503481aba9790a04c8f9f6995e65833d8c9 rootfs-etc-profile.d-99motd.sh
2faac294bb632762e247b850f09ff4b544ccff6c462efd8d4faca71ba30bdfa9c460377a0dc88e92c5dbbe251017d164064a56ac0e0410f224b45d4f5f81866c rootfs-etc-systemd-logind.conf
208f53c1d142151277cfcf0a95df839919ce8cb15ec888d50890dc6b3631a994335bfa12194cec856b649f97cfd7c80019c595cc0ea2c5ee96498a3e76a9950b rootfs-etc-ssh-sshd_config.d-usepam.conf
605df1f004783d2e0ec5dd99a688bca27502c8c24bc05fb4dc26589b2070b0fbd1cf9bd56e6861d7cda2f8ac8147e7eb040acfd886185c01c8cf9de8b1ce2dcd rootfs-usr-bin-setup-timezone
"
@@ -0,0 +1,13 @@
\033[1;33mNOTICE:\033[22m This build is for showcasing systemd support, it is buggy,
unreliable, and NOT suitable for use on devices you rely on.
As there is no binary repository for systemd packages yet, please
do not run \033[38;5;252mapk upgrade -a\033[33m as it *will* break your system.
For up to date info on the state of systemd support in postmarketOS,
please see \033[38;5;75mhttps://postmarketos.org/systemd\033[0m
This distribution is based on Alpine Linux.
First time using postmarketOS? Make sure to read the cheatsheet in the wiki:
-> \033[38;5;75mhttps://postmarketos.org/cheatsheet\033[0m
@@ -0,0 +1,6 @@
# Very minimal ANSI motd
. /etc/os-release
echo
echo -e " Welcome to \033[32mpostmarketOS $VERSION\033[0m/\033[97msystemd\033[0m! ^^\n"
echo -e "$(cat /etc/motd.ansi | sed 's/^/ /')"
@@ -0,0 +1,2 @@
# postmarketOS: enable PAM auth for environment configuration
UsePAM yes
@@ -0,0 +1,35 @@
# This file is provided by postmarketos-base. See logind.conf(5) for details.
[Login]
#NAutoVTs=6
#ReserveVT=6
#KillUserProcesses=no
#KillOnlyUsers=
#KillExcludeUsers=root
#InhibitDelayMaxSec=5
#UserStopDelaySec=10
HandlePowerKey=ignore
#HandlePowerKeyLongPress=ignore
#HandleRebootKey=reboot
#HandleRebootKeyLongPress=poweroff
#HandleSuspendKey=suspend
#HandleSuspendKeyLongPress=hibernate
#HandleHibernateKey=hibernate
#HandleHibernateKeyLongPress=ignore
#HandleLidSwitch=suspend
#HandleLidSwitchExternalPower=suspend
#HandleLidSwitchDocked=ignore
#PowerKeyIgnoreInhibited=no
#SuspendKeyIgnoreInhibited=no
#HibernateKeyIgnoreInhibited=no
#LidSwitchIgnoreInhibited=yes
#RebootKeyIgnoreInhibited=no
#HoldoffTimeoutSec=30s
#IdleAction=ignore
#IdleActionSec=30min
#RuntimeDirectorySize=10%
#RuntimeDirectoryInodesMax=
#RemoveIPC=yes
#InhibitorsMax=8192
#SessionsMax=8192
#StopIdleSessionSec=infinity
@@ -0,0 +1,19 @@
#!/bin/sh -e
# Stub that implements a simplified version of Alpine's setup-timezone, so
# pmbootstrap can call it during "pmbootstrap install" without having a
# dependency on alpine-conf, which in turn depends on openrc.
if [ "$#" != "2" ] || [ "$1" != "-i" ]; then
echo "setup-timezone stub from postmarketos-base-systemd"
echo "usage: setup-timezone -i TIMEZONE"
exit 1
fi
TZ_FILE="/usr/share/zoneinfo/$2"
if ! [ -e "$TZ_FILE" ]; then
echo "ERROR: not found: $TZ_FILE"
exit 1
fi
ln -sf "$TZ_FILE" /etc/localtime
@@ -0,0 +1,40 @@
diff --git a/services/sddm-autologin.pam b/services/sddm-autologin.pam
index b42991e..25c43d1 100644
--- a/services/sddm-autologin.pam
+++ b/services/sddm-autologin.pam
@@ -6,8 +6,8 @@ auth required pam_nologin.so
auth required pam_permit.so
-auth optional pam_gnome_keyring.so
-auth optional pam_kwallet5.so
-account include system-local-login
-password include system-local-login
-session include system-local-login
+account include base-account
+password include base-password
+session include base-session
-session optional pam_gnome_keyring.so auto_start
-session optional pam_kwallet5.so auto_start
diff --git a/services/sddm.pam b/services/sddm.pam
index df11003..5c2d8a6 100644
--- a/services/sddm.pam
+++ b/services/sddm.pam
@@ -1,15 +1,15 @@
#%PAM-1.0
-auth include system-login
+auth include base-auth
-auth optional pam_gnome_keyring.so
-auth optional pam_kwallet5.so
-account include system-login
+account include base-account
-password include system-login
+password include base-password
-password optional pam_gnome_keyring.so use_authtok
session optional pam_keyinit.so force revoke
-session include system-login
+session include base-session
-session optional pam_gnome_keyring.so auto_start
-session optional pam_kwallet5.so auto_start
@@ -0,0 +1,30 @@
From a0dd7b641b98534961522753071fbf4143751a98 Mon Sep 17 00:00:00 2001
From: Harald Sitter <sitter@kde.org>
Date: Mon, 24 Oct 2022 13:15:48 +0200
Subject: [PATCH] disable automatic portal launching
in Qt6 (and the KDE patch collection for Qt 5) genericunixservices will
internally attempt to probe the portal tech early on in the app life
cycle. this causes the protal system to launch app and then crash
because we aren't actually providing a fully functional session. instead
opt out of this altogether
Patch modified to apply properly on SDDM 0.19.0
---
src/greeter/GreeterApp.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/greeter/GreeterApp.cpp b/src/greeter/GreeterApp.cpp
index bbce512..183f7d1 100644
--- a/src/greeter/GreeterApp.cpp
+++ b/src/greeter/GreeterApp.cpp
@@ -334,6 +334,9 @@ int main(int argc, char **argv)
QSurfaceFormat::setDefaultFormat(format);
}
+ // Qt internally may load the xdg portal system early on, prevent this, we do not have a functional session running.
+ qputenv("QT_NO_XDG_DESKTOP_PORTAL", "1");
+
QGuiApplication app(argc, argv);
QCommandLineParser parser;
+90
View File
@@ -0,0 +1,90 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
pkgname=sddm
pkgver=9999_git20240428
_pkgver=0.21.0
pkgrel=0
pkgdesc="Simple Desktop Display Manager"
url="https://github.com/sddm/sddm/"
# armhf blocked by qt5-qtdeclarative
arch="all !armhf"
license="GPL-2.0-only"
depends="
dbus-x11
linux-pam
upower
xorg-server
"
makedepends="
extra-cmake-modules
libxcb-dev
linux-pam-dev
py3-docutils
qt6-qtbase-dev
qt6-qtdeclarative-dev
qt6-qttools-dev
samurai
systemd-dev
upower-dev
utmps-dev
"
subpackages="$pkgname-doc $pkgname-lang $pkgname-openrc"
install="sddm.pre-install"
langdir="/usr/share/sddm/translations"
pkgusers="sddm"
pkggroups="sddm"
source="https://github.com/sddm/sddm/archive/v$_pkgver/sddm-v$_pkgver.tar.gz
0001-pam-path-fix.patch
0003-disable-automatic-portal-launching.patch
sddm.initd
sddm.confd
"
builddir="$srcdir/$pkgname-$_pkgver"
# secfixes:
# 0.19.0-r0:
# - CVE-2020-28049
build() {
CXXFLAGS="$CXXFLAGS -flto=auto" \
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DBUILD_MAN_PAGES=ON \
-DBUILD_WITH_QT6=ON \
-DENABLE_JOURNALD=ON \
-DNO_SYSTEMD=OFF \
-DUSE_ELOGIND=OFF \
-DUID_MIN=500 \
-DUID_MAX=65000 \
-DDBUS_CONFIG_DIR=/usr/share/dbus-1/system.d
cmake --build build
}
check() {
ctest --test-dir build --output-on-failure
}
package() {
DESTDIR="$pkgdir" cmake --install build
install -Dm755 "$srcdir"/sddm.initd "$pkgdir"/etc/init.d/sddm
install -Dm644 "$srcdir"/sddm.confd "$pkgdir"/etc/conf.d/sddm
}
lang() {
pkgdesc="Languages for package $pkgname"
install_if="$pkgname=$pkgver-r$pkgrel lang"
depends="$depends_lang"
amove usr/share/sddm/translations-qt6
}
sha512sums="
2e8e460e7f318f20a406dcbb1a9fa1dc78b6a5b8d888bfbbaae22b9c642dbc49cf2ac682b4ea9ed847bbafa9bdc361ba08795e59cad970088b370caaaa70f458 sddm-v0.21.0.tar.gz
42a0b24717820d98a42d178b5d3a40441672d496c9d8f7c2f8002d770a2718324e9d00d0f27602232b91e8bb042693125507d6cb8371b6f6f211f2b95babe666 0001-pam-path-fix.patch
bc7b572331de32245abba234e3537885a3d9dd20273a12bd7a82eb754467dd3c753fc4d90ec24cc206f7df0210cf3119dd056c477168b4173b77fc335b6546b0 0003-disable-automatic-portal-launching.patch
4876bf46790dd507f0df803987ad81d7ff2a00c22a8aabec88dd0e3a23aeda92aac59f08ef56ed1bf2b5cb9443077e77b31c9f453bafab2fd6f533be242fcbd4 sddm.initd
b841282b96110ec59a7aa539db0737327b09549d55c78dc4b2c3b28b4a6ad1facf015b3175cb6d3a38f13e47aa6314ef3dc1514a4e60dd653a97409ec54ba706 sddm.confd
"
+1
View File
@@ -0,0 +1 @@
supervisor=supervise-daemon
+16
View File
@@ -0,0 +1,16 @@
#!/sbin/openrc-run
name="Display Manager"
description="SDDM Display Manager"
command=/usr/bin/sddm
command_args="$sddm_opts"
depends() {
provide display-manager
needs localmount
}
start_pre() {
checkpath -d -o sddm:video -m755 /var/lib/sddm
}
@@ -0,0 +1,6 @@
#!/bin/sh
addgroup -S sddm 2>/dev/null
adduser -G video -h /var/lib/sddm -S -s /sbin/nologin sddm 2>/dev/null
exit 0
@@ -0,0 +1,166 @@
# Maintainer: Caleb Connolly <caleb@connolly.tech>
# Service files for projects that would otherwise either
# need to be forked just for the service, or don't provide
# a service file at all.
# How to add a new service file (4 steps):
pkgname=systemd-services
# 1. bump pkgver
pkgver=7
pkgrel=0
pkgdesc="Systemd service files"
url="https://postmarketos.org"
arch="noarch"
options="!check"
license="BSD-3-Clause"
triggers="$pkgname.trigger=/usr/lib/systemd"
# 2. Add a new entry to subpackes in the format
# <pkgname>-service:_service where pkgname is the name
# of the package this service file should be part of
# ALPHABETICAL ORDER!!!
subpackages="
apk-polkit-rs-service:_service
at-spi2-core-service:_service
bluez-service:_service
dconf-service:_service
flatpak-service:_service
hexagonrpcd-service:_service
iio-sensor-proxy-service:_service
iwd-service:_service
modemmanager-service:_service
nftables-service:_service
openssh-server-pam-service:_service
pd-mapper-service:_service
phosh-service:_service
pulseaudio-service:_service
q6voiced-service:_service
qbootctl-service:_service
rmtfs-service:_service
rtkit-daemon-service:_service
sleep-inhibitor-service:_service
tqftpserv-service:_service
wpa_supplicant-service:_service
xdg-desktop-portal-service:_service
xdg-desktop-portal-gtk-service:_service
xdg-desktop-portal-gnome-service:_service
xdg-desktop-portal-wlr-service:_service
"
# 3. Add a new entry below with the list of service files
# to install for that package
_apk_polkit_rs_sources="system/apk-polkit-server.service"
_at_spi2_core_sources="user/at-spi-dbus-bus.service"
_bluez_sources="system/bluetooth.service"
_dconf_sources="user/dconf.service"
_flatpak_sources="system/flatpak-system-helper.service user/flatpak-session-helper.service user/flatpak-portal.service"
_hexagonrpcd_sources="system/hexagonrpcd-sdsp.service system/iio-sensor-proxy.d/hexagonrpcd.conf"
_iio_sensor_proxy_sources="system/iio-sensor-proxy.service"
_iwd_sources="system/iwd.service"
_modemmanager_sources="system/ModemManager.service"
_nftables_sources="system/nftables.service"
_openssh_server_pam_sources="system/sshd.service system/sshdgenkeys.service"
_pd_mapper_sources="system/pd-mapper.service"
_phosh_sources="system/phosh.service"
_pulseaudio_sources="user/pulseaudio.service user/pulseaudio.socket"
_q6voiced_sources="system/q6voiced.service"
_qbootctl_sources="system/qbootctl.service"
_rmtfs_sources="system/rmtfs.service"
_rtkit_daemon_sources="system/rtkit-daemon.service"
_sleep_inhibitor_sources="system/sleep-inhibitor.service"
_tqftpserv_sources="system/tqftpserv.service"
_wpa_supplicant_sources="system/wpa_supplicant.service"
_xdg_desktop_portal_sources="
user/xdg-desktop-portal.service
user/xdg-desktop-portal-rewrite-launchers.service
user/xdg-document-portal.service
user/xdg-permission-store.service
"
_xdg_desktop_portal_gtk_sources="user/xdg-desktop-portal-gtk.service"
_xdg_desktop_portal_gnome_sources="user/xdg-desktop-portal-gnome.service"
_xdg_desktop_portal_wlr_sources="user/xdg-desktop-portal-wlr.service"
flatpath() {
local i
for i in $@; do
echo "$i" | sed s./.-.g
done
}
# 4. Add the _sources variable to the list below
source="$(flatpath \
$_apk_polkit_rs_sources \
$_at_spi2_core_sources \
$_bluez_sources \
$_dconf_sources \
$_flatpak_sources \
$_hexagonrpcd_sources \
$_iio_sensor_proxy_sources \
$_iwd_sources \
$_modemmanager_sources \
$_nftables_sources \
$_openssh_server_pam_sources \
$_pd_mapper_sources \
$_phosh_sources \
$_pulseaudio_sources \
$_q6voiced_sources \
$_qbootctl_sources \
$_rmtfs_sources \
$_rtkit_daemon_sources \
$_sleep_inhibitor_sources \
$_tqftpserv_sources \
$_wpa_supplicant_sources \
$_xdg_desktop_portal_sources \
$_xdg_desktop_portal_gtk_sources \
$_xdg_desktop_portal_gnome_sources \
$_xdg_desktop_portal_wlr_sources \
)"
_service() {
local name=$(echo ${subpkgname%%-service})
local n=$(echo ${subpkgname%-service} | sed s/-/_/g)
pkgdesc="$name systemd service files"
install_if="systemd-services=$pkgver-r$pkgrel systemd $name"
for f in $(eval "echo \$_${n}_sources"); do
install -Dm644 "$srcdir/$(flatpath "$f")" "$subpkgdir"/usr/lib/systemd/"$f"
done
}
package() {
mkdir -p "$pkgdir"
}
sha512sums="
269dfc4748a9f1c4f49be8bab399d7412b6ff3b6d6ed9b3f2e31074b791789fb39aad450b4d43d318e7a070d1118ba79f216782b064cd106feac3eb4a8ca5581 system-apk-polkit-server.service
12f5e008b0a41b3426b29f33556689ef88ba7184293ddb78fdaaf05cc4d029fd0b4c8fbef668aefed103a9f48c525f04a8e4e60ddc6e4329698aaf761b8e8f81 user-at-spi-dbus-bus.service
de133c35cf95d7c833368c9010264668e72657400ad4e5259ef046321c878507f36ef73fa7b4759f69c9d18cda8f8db8d7675d794d9a28f46480fb4d47ba9e0c system-bluetooth.service
e4de73d12abd046c8683e3be6e3aab40a5db3f5d6246cedbb3ff099bcc8037a167b23ac957d30f1118db571b69cb10c042272ac2b54dacf83fa6a3e9dad13a87 user-dconf.service
0cfef56afeea103ca487b36f13665021bb349b8c890f023135a93c47d45cb58dd39ffe76212fb780546b1aaed8174e40345a961d7125f7d7ace5921e1dcc7ba9 system-flatpak-system-helper.service
815a3072c211c85ff475ac7f2fb9c280b567b98777c0f7bf7fea4575b5eaa3b9a4003a08eb3b8cb5b2d7f9fb6525e04491e8d87013e2539ae3a574db647f97b1 user-flatpak-session-helper.service
7a17986c0f0554f0b27a5933b3e04657323edb23047878616727863fdc748cb8d8fea978f43895341037e2d1512bbd492bdbc19c40419cd3e109345614645388 user-flatpak-portal.service
b009a1494f84705dcbea664823e24fb18f326ca84017d9c470ef55c0225d519993aacacf76b24c895ee926dbc2b3269ebc6b2a353cda5ad1b732af5624941a6a system-hexagonrpcd-sdsp.service
af0e416f78ab317fe09813de58b446e5178457992ea4a2da2eb128811045201087d847e1b7ac0447a59c20129a736135e5d76b113262aa1f76b994e77b9c6b42 system-iio-sensor-proxy.d-hexagonrpcd.conf
46574c2380f438ca52342a1a492f3e6fce270adfe55f284c79bda0d7f038e261da770d52a2822e141eb2029c29cd84fea07e8221fed2d8510f21cdd509d9db4c system-iio-sensor-proxy.service
df3388cb7b9d035e54b34d8f8a6594be89c3015f979fe3bdc199fb7db1ab0bef821d6b306eecdf978eb227454d5e50aab29ac02d9722b1b075ec0ce4705e3518 system-iwd.service
5eab6a59c81232b188df45482e325b2d1cb9e038ca147a1b6983c1c095d8194fba804793c5e291b201a820976c8f506aadd2daf7c52fe573a3af708fc9984641 system-ModemManager.service
d41d0aa1d4d577cd718185399c95055c0511d4aeb902c771ccec13655354aafc85c3f270431fd3debc7e05f0a8cbdb90f1969b673ae7e5310c1f46cb8120e3f2 system-nftables.service
fa445c4a53214524baed4e9c52a5463592a074f88a5a286eacb60d0907c0545f725afde23abd68cf611067add80c2ccb289a381fc5ff6a5f654ea49c81f02fe8 system-sshd.service
c0badea3905c1d53d213fbfe11d25b556a2e484fe77eb50e9f4d42e25b67b56a0804e7d8e1b7731cd280cbb3525b4c60311817609381e2308d9f2dfb7c0d7072 system-sshdgenkeys.service
0bed9a8a719661609ad84d1c6fcdf2fe9213e741682b7ddebad82d9744f137c593788ed522868f10b95b599d81743d07ec3212630a7e99d333261dfa1bf1cc11 system-pd-mapper.service
5f53e07a48c64ab27deead4c1dc64dbea048de5632026d131e27e0fc3115723a1138d043199e2fdba9a281c420b3286a0aa96b063ed7f02c1153487ef732dd98 system-phosh.service
416cdca1d43af8f7a9fcb5c04abdc666500f918fa5a6985736be6132da074aa1f322ba891d74eefaeff4b8911240a3942bf82ef21ec3ba0c1f10ccc37e6cea49 user-pulseaudio.service
26c47085980e3f11f214d51846509f41ec9367360355b2d3fb40c7dc6e4394e04d084e645081d03c794669b902141513fbc6c3828b599588e308f98e28d99a92 user-pulseaudio.socket
4c4c3f1e5e829ff67dd35df59120ab59730ff1f1ca0aab93f16d670132979a99099fad59e6c736908cc19df9172c9bdfe476ec721a1cc28de8c2210da46ce1f1 system-q6voiced.service
621189aa251655796795f4fa0cd79360bb67573e7327e545064eaadafc83cc7b382a405d6ba80662e0a4ece3876e4270e3563d859a6ba63b5e3854b39c35873e system-qbootctl.service
11bb0ff9ab32f0f230c665db2738e37e5226fa200621b9207baf92e0632a38f840395a55ef6e827763911cf78f3bad95cd3456e77cc01b30b8abce96dc13df9d system-rmtfs.service
1a0958e4fe232967946e9f2b17a13434b137236ba5d18442175d648b084d82df3a9fc5723c1621be899ee290b99777ac3c0ee6ad733e72d8e70f63b37ad00036 system-rtkit-daemon.service
be9df5e3fd9c88ec1a8db4aa2d9e8075d74ee3d2670aa3cfc611df3cff4d4041ac888a0338c9d5f134bbc69aa32eb52ac40eb3e0981813afa18389cba14d3818 system-sleep-inhibitor.service
c569b27925297672c479e12a6425abdf5791886fff77c2c2b67b7aa9277eb0a22e7b95b52dbc225870c97460d0988a4dae18ed864e19096c704c0895de55b699 system-tqftpserv.service
d55edea6983ad73b1817dfac3e6d418113c8e0fbd6cb2835dedcad2e5c76c8889c09348a184ed4ab38397d7d539831ef6a7ce08037e12c7ab6dc274519dc5812 system-wpa_supplicant.service
9a3620d3df53540a91efa48df322288d96ec887415f538877a979be40eb5239b95917b9ac57fda2c699fe3f1c6500f7de09a4ce6625b0818f5786e125713552f user-xdg-desktop-portal.service
e09a3c76f3be961dce9f564bb654ea84d1d7fb59907a2168c0569bf6c17a5ebe9fbe4d1f94f1d014433757bb721bc443d5962deb540cacbd5547b1dd47717f92 user-xdg-desktop-portal-rewrite-launchers.service
9dd95f10dcdb6234697b012c6f428cfca0cfbde24a8951e96cb4c463f55a22d40096a94ca0018f9dbe4ebb2c80eb39faeaa9222f6fb419831520a138f88f0321 user-xdg-document-portal.service
1262f10b97989be726432700a923d7717570feb7b0d78c3c573e21ee6be320f5a618d0d21c1eb351702397caa95b476b8854bf83545993fb464b4a7a80067800 user-xdg-permission-store.service
eb01dd32fc598e49cbae31847aee4c3e28ee5014df052d65ad02c9a943a9e3399a4a119aa136630efef1157e31f6adc2d8420f8e72dc9da4c0b72645e4c84faa user-xdg-desktop-portal-gtk.service
0ee2f844819c5f954d269d3703c17b5e51888bb89bd4376d3960f97735b1ba9769c932817270fdb75b8ddf291c21ab6eb78d1a8bde14aac83564881b36914066 user-xdg-desktop-portal-gnome.service
744c60fdc6e53ba2c9f370ce8462e1a420cfea973edff49d0caf7a3e65f0f35257d61b5ae3ace3e9d9d48e382cb54d9f2ff96ad02d5e16758a49ba2e07963e5a user-xdg-desktop-portal-wlr.service
"
Loaded 100 of 225 files, more files were not shown because too many files have changed in this diff. Show more