Compare commits

..
Author SHA1 Message Date
Bart Ribbers 47dafed0bf extra-repos/systemd/systemd-services: add a service file for waydroid-session 2024-09-30 17:17:56 +02:00
jane400 21116cba50 TEMP: extra-repos/systemd/systemd: upgrade to 256.5 and support split-usr again (MR 5661)
[ci:skip-build]: already built successfully in CI
2024-09-30 07:23:48 -07:00
jane400 8bf4674f65 extra-repos/systemd/apk-tools: drop (MR 5661) 2024-09-30 07:23:48 -07:00
jane400 0e980e514c extra-repos/systemd: adjust bootstrap logic to remove usr-merge (MR 5661) 2024-09-30 07:23:48 -07:00
jane400 b32b59d235 systemd/systemd: upgrade to 256.5 (MR 5560) 2024-09-30 07:23:48 -07:00
Andrei Zisu 5837a196bb main/postmarketos-ui-gnome-*: enable systemd by default
[ci:skip-vercheck]
2024-09-30 07:23:47 -07:00
Bart Ribbers e8a08811c6 extra-repos/systemd/systemd-services: fix subpackage names for Plasma and Waydroid services (MR 5651)
The package names should be the original package names + the -systemd
suffix. I did this wrongly breaking both KDE Plasma and Waydroid
2024-09-30 07:23:47 -07:00
Aster Boese 1a18b25aa0 extra-repos/systemd/systemd: enable sysext and sysusers (MR 5597) 2024-09-30 07:23:47 -07:00
Clayton Craft 46656c6fc3 extra-repos/systemd/postmarketos-base-systemd: add waydroid presets (MR 5592) 2024-09-30 07:23:47 -07:00
Bart Ribbers 0105cadf3c extra-repos/systemd/systemd-services: add waydroid and related services (MR 5592) 2024-09-30 07:23:47 -07:00
Caleb Connolly e46af4cafb systemd: gnome-shell-mobile: upgrade to 46.1 (MR 5629)
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>

[ci:skip-build] already built in CI
2024-09-30 07:23:47 -07:00
Bart Ribbers e572ff62cc extra-repos/systemd/systemd-services: take over service files from origin packages (MR 5631)
We were only forking kactivitymanagerd and kglobalacceld for their
service files
2024-09-30 07:23:47 -07:00
Bart Ribbers 2646b0a86f extra-repos/systemd/kde*: upgrade to latest versions (MR 5590)
[ci:skip-build]: already built successfully in CI
2024-09-30 07:23:46 -07:00
Clayton Craft 2cdac2be2c systemd/pmos-base-systemd: add preset for udisks2 (MR 5589)
Provides disk mounting services for many UIs

[ci:skip-build]: already built successfully in CI
2024-09-30 07:23:46 -07:00
Clayton Craft e4374c4243 systemd/systemd-services: fix nftables unit (MR 5589)
The type was erroneously set as 'simple', and since we are setting
ExecStop we actually need to set RemainAfterExit to avoid running
ExecStop when the oneshot service runs. This is because nft returns/
exits pretty much immediately after applying the config.

fixes #2846
2024-09-30 07:23:46 -07:00
Clayton Craft ae4f019bc8 systemd/systemd-services: add udisks2 unit file (MR 5589) 2024-09-30 07:23:46 -07:00
Clayton Craft d384c92991 systemd/systemd-services: add evolution-data-server user services (MR 5589)
No presets because these are dbus activated.

fixes #2910
2024-09-30 07:23:46 -07:00
Bart Ribbers a6246a3d54 extra-repos/systemd/systemd-services: add kded (MR 5593) 2024-09-30 07:23:46 -07:00
Caleb Connolly 85e715be58 systemd-services: add lxc (MR 5598)
add the lxc template service

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-09-30 07:23:46 -07:00
Clayton Craft 2444f7b00f systemd/pmos-base-systemd: presets: fix some preset unit names, add sshd (MR 5588)
The unit name to kill pbsplash had a typo, and added a preset for sshd.

systemd didn't seem to match `phosh` or `gdm` to the correct unit,
unless they had `.service` added, so this was fixed.

Presets in this section were also sorted.
[ci:skip-build]: already built successfully in CI
2024-09-30 07:23:45 -07:00
Clayton Craft 26765bb93e systemd/systemd: fix default disable preset (MR 5588)
This didn't actually seem to do anything, resulting in some weird stuff
being enabled by default even though we did not specify a preset for it
(e.g. see !5556)

Based on my interpretation of the systemd preset manpage, this file
should be parsed last. It says that if a unit name has a preset that
was already configured in some previously parsed preset file, then any
matches after do not apply. This means that the `disable *` should not
disable any previously enabled (in previous .preset files) units. When
the unit name is omitted from the `disable` command, it seems to be a no-op.

Fixes !5207
2024-09-30 07:23:45 -07:00
Clayton Craft 5812f79cdc (not for master) remove temp/* pkgs that conflict with systemd repo
Until bpo moves to pmb v3.

See: https://gitlab.com/postmarketOS/build.postmarketos.org/-/issues/143
2024-09-30 07:23:45 -07:00
Clayton Craft 175c00a0e1 systemd/postmarketos-base-systemd: depend on newer linux-pam (MR 5579)
[ci:skip-build] already built successfully in CI
2024-09-30 07:23:45 -07:00
Clayton Craft b210546154 systemd/linux-pam: upgrade to 1.6.1-r1 (MR 5579)
pkgver and pkgrel match aports version

APKBUILD was rebased onto alpine aports version
2024-09-30 07:23:45 -07:00
Clayton Craft 553d184776 systemd/kmod: remove fork (MR 5572)
Patches were merged upstream:
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/71426

[ci:skip-build]: already built successfully in CI
2024-09-30 07:23:45 -07:00
Clayton Craft 14ce99d9ab systemd/pmos-base-systemd: disable multipathd by default (MR 5556)
This causes systemd to get stuck restarting multipathd forever on boot if it runs on systems with no multipath hardware. When this happens, the system never finishes booting.

It doesn't seem like any UIs/devices enable the multipathd service by default in openrc, and that we just depend on multipath-tools for kpartx and stuff (and not the daemon that comes with it)

[ci:skip-build] already built successfully in CI
2024-09-30 07:23:44 -07:00
Clayton Craft 843ba48fd0 systemd/pipewire: add install scripts for systemd presets (MR 5551)
fixes #3153
2024-09-30 07:23:44 -07:00
Clayton Craft 04ab4cf071 systemd/kmod: add fixes for usr merge (MR 5554)
This patch was submitted upstream to Alpine aports in
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/71426

[ci:skip-vercheck]
[ci:skip-build] already built successfully in CI
2024-09-30 07:23:44 -07:00
Clayton Craft d3b6c2b24a systemd/kmod: fork from Alpine to support usr merge (MR 5554)
actual patch to support usr merge will come later
2024-09-30 07:23:44 -07:00
Clayton Craft 38a197ced2 systemd/multipath-tools: upgrade to 0.10.0
rebased on aports
2024-09-30 07:23:44 -07:00
Caleb Connolly e1c47204e5 systemd: upgrade gnome shell and mutter mobile to 46 (MR 5363)
Upgrade to 46-mobile-0

[ci:skip-build]: already built successfully in CI
2024-09-30 07:23:44 -07:00
Clayton Craft fb633ef295 systemd: gnome-settings-daemon-mobile: new aport (MR 5363)
mobile shell has a fork of GSD which hard depends on systemd.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-09-30 07:23:44 -07:00
jane400 56cc1a8230 systemd/gnome-settings-daemon: add systemd subpkg (MR 5377)
also remove the elogind specific patch to use systemd for brightness
changes

Co-authored-by: Clayton Craft <clayton@craftyguy.net>

Note: the user services that the -systemd split pkg installs are not
enabled by default using systemd presets. None of them have 'Install'
sections, they appear to be mostly/all dbus activated instead.

[ci:ignore-count]
[ci:skip-build]: already built successfully in CI
2024-09-30 07:23:43 -07:00
jane400andClayton Craft e594afcbf4 systemd/gnome-session: add systemd subpkg (MR 5377)
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
2024-09-30 07:23:43 -07:00
jane400 f92d514c1f systemd/gdm: add systemd subpkg (MR 5377) 2024-09-30 07:23:43 -07:00
jane400andClayton Craft b94fe902ea systemd/gnome-keyring: add systemd subpkg (MR 5377)
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
2024-09-30 07:23:43 -07:00
jane400andClayton Craft 2df9909f0d systemd/networkmanager: add systemd subpkg (MR 5377)
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
2024-09-30 07:23:43 -07:00
jane400 f287d6bf63 systemd/postmarketos-base-systemd: add base presets (MR 5377)
Co-authored-by: Clayton Craft <clayton@craftyguy.net>

- Removed systemd-timesyncd, already enabled by a preset installed by
  the systemd package
- Removed default-disable.preset, it's already provided by the systemd
  package
- Removed user services from system preset
2024-09-30 07:23:43 -07:00
Clayton Craftandjane400 bcdb5fb639 systemd/systemd-services: use systemd preset macro to configure services (MR 5377)
also remove the rc_update workaround

Co-authored-by: jane400 <pmos@j4ne.de>
2024-09-30 07:23:43 -07:00
jane400 9eac90aecf systemd/polkit: add comment about why systemd preset isn't used (MR 5377)
Note: I/Clayton bumped the pkgrel because I don't want to
ci:skip-vercheck for *all* packages in the branch just to so that this
one doesn't fail.
2024-09-30 07:23:42 -07:00
jane400andClayton Craft 57a10375ca systemd/systemd: configure presets for systemd services (MR 5377)
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
2024-09-30 07:23:42 -07:00
Clayton Craftandjane400 793bd3e340 systemd/systemd: add macros for package install scripts (MR 5377)
These macros are based off of the upstream systemd RPM macros, but it
doesn't implement all of the macro functionality upstream. Initially
they will be used in the install scripts for apkbuilds that provide
systemd service unit files.

For example, a `$pkgname-systemd.post-install` script might have:
    . /usr/lib/systemd/systemd-apk-macros.sh
    systemd_service-post_install system sshd

And a `$pkgname-systemd.pre-deinstall` script might have:
    . /usr/lib/systemd/systemd-apk-macros.sh
    systemd_service_pre_deinstall user pipewire

One day maybe these could be upstreamed to systemd to provide some
apk/abuild compatible macros.

Co-authored-by: jane400 <pmos@j4ne.de>
2024-09-30 07:23:42 -07:00
jane400 86ceab9781 systemd/alpine-base: remove stub rc-update (MR 5377) 2024-09-30 07:23:42 -07:00
jane400 61f2c7849d systemd/dbus: don't generate a /etc/machine-id with the post-install trigger (MR 5377)
Generating the machine-id is handled by systemd's first boot mechanism,
so that was removed from the dbus post-install script
2024-09-30 07:23:42 -07:00
Bart Ribbers db31a29c8d extra-repos/systemd/drkonqi: fork from Alpine (MR 5470) 2024-09-30 07:23:42 -07:00
Bart Ribbers 1c9d31c914 extra-repos/systemd/kglobalacceld: fork from Alpine (MR 5470)
It installs /usr/lib/systemd/user/plasma-kglobalaccel.service
2024-09-30 07:23:42 -07:00
Bart Ribbers d126a84fac extra-repos/systemd/plasma*: upgrade to 6.1.4 (MR 5470) 2024-09-30 07:23:41 -07:00
Clayton Craft a4ad9a2228 systemd/systemd-services: add plasma-mobile (MR 5502)
[ci:skip-build] already built successfully in CI
2024-09-30 07:23:41 -07:00
jane400 20a4e0189a systemd/systemd-services: add eg25-manager.service (MR 5346) 2024-09-30 07:23:41 -07:00
Clayton Craft a2802bd138 systemd/systemd: fix typo in pre-install (MR 5468)
The space here caused this install script to attempt to create a group
named '2' and add a user named 'sgx' to it.

[ci:skip-build] already built successfully in CI
2024-09-30 07:23:41 -07:00
Caleb Connolly 540956bf9c systemd: apk-tools: update /usr merge patches (MR 5353)
Update to the reworked apk-tools /usr merge support.

Upstream MR: https://gitlab.alpinelinux.org/alpine/apk-tools/-/merge_requests/155

Fixes: #2988

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>

[ci:skip-build] already built successfully in CI
2024-09-30 07:23:41 -07:00
Clayton Craft 47237a200a systemd/plasma*: disable armv7 (MR 5366)
Fails in CI, and (according to Bart) might be disabled on this arch in
upstream aports later.
2024-09-30 07:23:41 -07:00
Bart Ribbers 3b8d098f1a extra-repos/systemd/plasma*: upgrade to 6.1.3 (MR 5366) 2024-09-30 07:23:40 -07:00
jane400andClayton Craft e58bef2059 systemd/networkmanager: remove some alpine-isms (MR 5375)
Co-authored-by: Clayton Craft <clayton@craftyguy.net>

[ci:skip-build] already built successfully in CI
2024-09-30 07:23:40 -07:00
jane400 b42ccc4f35 systemd/systemd: move user/group creation to pre-install (MR 5375) 2024-09-30 07:23:40 -07:00
Caleb Connolly def8d815d2 systemd/postmarketos-base-systemd: depend on systemd-timsyncd (MR 5339)
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-09-30 07:23:40 -07:00
Clayton Craft 2fae15262a systemd/pipewire: upgrade to 1.2.0 (MR 5361)
[ci:skip-vercheck]
[ci:skip-build] already built successfully in CI
2024-09-30 07:23:40 -07:00
Clayton Craft a872497c22 systemd/networkmanager: upgrade to 1.48.2 (MR 5361) 2024-09-30 07:23:40 -07:00
Clayton Craft 83bd4ade07 systemd/mutter: upgrade to 46.2 (MR 5361)
updated pkgver to follow format used elsewhere... "999$_pkgver"
2024-09-30 07:23:40 -07:00
Clayton Craft 924e6f3984 systemd/gnome-settings-daemon: upgrade to 46.0 (MR 5361) 2024-09-30 07:23:39 -07:00
Clayton Craft d9a52b8758 systemd/gdm: upgrade to 46.2 (MR 5361) 2024-09-30 07:23:39 -07:00
Clayton Craft 51ea52a1e1 systemd/gnome-shell: upgrade to 46.2 (MR 5361) 2024-09-30 07:23:39 -07:00
Clayton Craft 740e0458e0 systemd/gnome-keyring: upgrade to 46.1 (MR 5361)
FYI the autoreconf thing was sent to aports since this is fixing an
upstream packaging bug:

https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/69432
2024-09-30 07:23:39 -07:00
Clayton Craft 210988f4f2 systemd/systemd-services: fix pkgname for gnome-clocks service 2024-09-30 07:23:39 -07:00
Clayton Craft 9436bc3155 systemd/networkmanager: add -systemd subpkg for service
Missed this earlier when moving -service --> -systemd

Also updates the pkgver to be more in line with how we handle pkgver
elsewhere in this repo
2024-09-30 07:23:39 -07:00
David Heidelberg 3e34233bdc systemd/systemd-services: add missing bluez services (MR 5200)
Signed-off-by: David Heidelberg <david@ixit.cz>

[ci:skip-build] already built successfully in CI
2024-09-30 07:23:39 -07:00
Clayton Craft d2984402a9 systemd/systemd-services: adjust subpackages to use -systemd name (MR 5315) 2024-09-30 07:23:38 -07:00
Clayton Craft de55bdfbe3 systemd/upower: rename service subpkg to systemd (MR 5315) 2024-09-30 07:23:38 -07:00
Clayton Craft c59dfce187 systemd/polkit: rename service subpkg to systemd (MR 5315) 2024-09-30 07:23:38 -07:00
Clayton Craft 537f5218af systemd/pmos-base-systemd: depend on newer linux-pam pkg (MR 5315) 2024-09-30 07:23:38 -07:00
Clayton Craft dcbe9153df systemd/linux-pam: rename service subpkg to systemd (MR 5315) 2024-09-30 07:23:38 -07:00
Clayton Craft 44a01c5344 systemd/gdm: rename service subpkg to systemd (MR 5315) 2024-09-30 07:23:38 -07:00
Clayton Craft 57a1d6967a systemd/dbus: rename service subpkg to systemd (MR 5315) 2024-09-30 07:23:38 -07:00
Clayton Craft c5c08dfa0a systemd/abuild: add patch to warn on install to /bin or /lib 2024-09-30 07:23:37 -07:00
Clayton Craft 7b8355a44c systemd/abuild: update -systemd split func patch
Build abuild from upstream source and only apply the systemd split func
patch. The patch was also adjusted to use -systemd instead of -service
for subpackages
2024-09-30 07:23:37 -07:00
jane400 06723da03d systemd: postmarketos-base-systemd: manually include kmod-libs in initramfs for systemd-udevd (MR 5340)
As systemd v256 switched to dlopen for a bunch of dependencies
(specified in a custom format), this is no longer auto-detected
by either abuild or boot-deploy. So we include kmod manually for udevd
to work correctly.

This fixes the "no screen" issue on pine64-pinephone.
[ci:skip-build]: already built successfully in CI
2024-09-30 07:23:37 -07:00
jane400 6b365ad183 systemd/postmarketos-base-systemd: fix replaces failure (MR 5335)
the systemd v256 upgrade also moved some files to their
respecitive subpackages.

[ci:skip-build]: already built successfully in CI
2024-09-30 07:23:37 -07:00
Oliver Smith 574e2c177b systemd/plasma-workspace: workaround for build race condition (MR 5327)
Explicitly generate qwayland-plasma-shell.h first, in order to fix:
  In file included from /usr/include/PlasmaQuick/PlasmaQuick/PlasmaShellWaylandIntegration:1,
                   from /home/pmos/build/src/plasma-workspace-6.1.2/shell/panelconfigview.cpp:35:
  /usr/include/PlasmaQuick/plasmaquick/plasmashellwaylandintegration.h:14:10: fatal error: qwayland-plasma-shell.h: No such file or directory
     14 | #include "qwayland-plasma-shell.h"
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~
  compilation terminated.

Related: https://invent.kde.org/plasma/plasma-workspace/-/issues/132
[ci:skip-vercheck]
[ci:skip-build] times out after >3hr in gitlab CI
2024-09-30 07:23:37 -07:00
Bart Ribbers c85590ce9c community/plasma: upgrade to 6.1.2 (MR 5327)
[ci:skip-vercheck]
Rebased-By: Oliver Smith <ollieparanoid@postmarketos.org>
2024-09-30 07:23:37 -07:00
Clayton Craft 34fccafd5e systemd/kwin: include patch in repo
Apparently the patch url isn't stable(?) upstream, the checksum changed.
Since this is a simple 1 line patch, let's just include it in pmaports

This also changes kwin to use the more 'standard' pkgver used in other
packages forked for systemd support
2024-09-30 07:23:37 -07:00
jane400 e474904c47 systemd: upgrade to 256 and add me as co-maintainer (MR 5093)
The patches were put into the gitlab.com/postmarketos/systemd repo
and updated for stable-v256.

This also enables man pages, systemd-localed and localization support
via the compile flags.

[ci:skip-build] already built successfully in CI
2024-09-30 07:23:36 -07:00
Clayton Craft a3e9f9cbdf systemd/systemd-services: drop pulseaudio (MR 5142)
PA is started automatically by its "autospawn" config thing, and it
works pretty well... if it crashes then it's automatically restarted if
needed, etc.

The included service/socket unit files never really worked,
PA started from systemd would always race with (and often to) PA autospawn.

The subpkg here also resulted in a packaging bug where both
pulseaudio-service and pw-pulse-service were installed at the same time,
because the `install_if` listed `pulseaudio`, and `pw-pulse` also
provides `pulseaudio`. The two unit things conflict with each other.

I did some initial investigation, and getting systemd to manage PA
seemed like too much work especially since autospawn is probably good
enough and we hope to move to pw audio later.

[ci:skip-vercheck]
2024-09-30 07:23:36 -07:00
Clayton Craft 31cde5d7bb systemd/systemd-services: add wireplumber (MR 5142) 2024-09-30 07:23:36 -07:00
Clayton Craft 0fc8e56170 systemd: fork pipewire to build w/ systemd support (MR 5142)
Unfortunately there are some code paths that are required to support
socket activation, and they are only enabled at build time with
-Dsystemd=enabled. On the bright side, service/socket unit files are
included...

Also note that I disabled test on armv7 since they fail in our CI using
qemu on x86_64. They pass in Alpine on native armv7.
2024-09-30 07:23:36 -07:00
Caleb Connolly 9772344069 systemd: add udevd symlink (MR 5218)
symlink systemd-udevd to /usr/bin/udevd for compatibility with eudev
(initramfs).

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-09-30 07:23:36 -07:00
jane400 1f7f09dc53 systemd/systemd: don't force disable everything with presets (MR 5207)
This changes it into a default disable.

`disable *` selects all units and hence overrides all previous presets.
Just using `disable` just changes the default unit enablement policy.
[ci:skip-build]: already built successfully in CI
2024-09-30 07:23:36 -07:00
Clayton Craft 3cfe3610c7 systemd/systemd-services: Add geoclue, gnome-clocks, iwd, mpris-proxy, mmsd (MR 5204)
[ci:skip-build] already built successfully in CI
2024-09-30 07:23:36 -07:00
Clayton Craft c561a71093 systemd/gnome-session: upgrade to 46 (MR 5148)
fixes #2855
2024-09-30 07:23:35 -07:00
Dylan Van Assche 658cfc3ef0 systemd/iio-sensor-proxy: allow AF_QIPCRTR (MR 5190)
libssc requires QRTR protocol, allow it in systemd lockdown.

[ci:skip-build]: already built successfully in CI
2024-09-30 07:23:35 -07:00
Clayton Craft 0950a9b19d systemd/gnome-shell-mobile: rebase on latest master changes
See:
 - aaa7d267 temp/gnome-shell-mobile: rename extensions app to add "mobile" (MR 5176)
 - 5e865cde temp/gnome-shell-mobile: sync with upstream APKBUILD (MR 5176)
2024-09-30 07:23:35 -07:00
Clayton Craft 1e53236076 systemd/systemd-services: fix rtkit subpackage name (MR 5150)
For the `install_if` to work correctly, the subpackage should be named
after the main package that provides the app... in this case it's called
"rtkit"

[ci:skip-build] already built successfully in CI
2024-09-30 07:23:35 -07:00
Clayton Craft cec6bcba36 systemd/gnome-shell: actually build with systemd support (MR 5147)
This was a total blunder by earlier me...

fixes !5115
2024-09-30 07:23:35 -07:00
Clayton Craft d0129795f3 systemd/mutter,gnome-shell: disable crossdirect (MR 5115)
Workaround since building for armv7 on x86_64 fails, see
https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5115#note_1899890119

[ci:skip-vercheck]
[ci:skip-build] already built successfully in CI
2024-09-30 07:23:35 -07:00
Clayton Craft 03a8f26b42 systemd/gnome-shell: fork to enable systemd support (MR 5115)
fixes #2767

[ci:skip-vercheck]
2024-09-30 07:23:35 -07:00
Clayton Craft aea4f1a2fd systemd/mutter: fork to enable systemd support (MR 5115) 2024-09-30 07:23:34 -07:00
Clayton Craft 0d12b182bd systemd/gnome-desktop: fork to enable systemd support (MR 5115) 2024-09-30 07:23:34 -07:00
Clayton Craft 6c07f57085 systemd: use a more general install_if for x11 subpkg (MR 5118)
[ci:skip-build] already built successfully in CI

xorg-server-common is a shared dep between xorg-server and xwayland, and
this tmpfile config is required for both to work. Without this tmpfile
config, Xwayland may fail to start. In the case of GNOME, this is a
fatal event.
2024-09-30 07:23:34 -07:00
Caleb Connolly 1ae9ba5ec5 systemd/systemd-services: dconf: fix path (MR 5094)
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-09-30 07:23:34 -07:00
Caleb Connolly 4b9b7ea45e systemd: linux-pam: upgrade to 1.6.0
following Alpine

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-09-30 07:23:34 -07:00
Bart Ribbers dc29b3bb55 extra-repos/systemd/kde*: upgrade to latest versions (MR 5068)
[ci:skip-build]: already built successfully in CI
2024-09-30 07:23:34 -07:00
Clayton Craft 98ebd2fc4e 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-09-30 07:23:34 -07:00
Oliver Smith 2b5c050e11 (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-09-30 07:23:33 -07:00
Oliver Smith 86a322cc0a (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-09-30 07:23:33 -07:00
Oliver Smith 8927535f92 (not for master): CI: disable armhf, riscv64, x86 (MR 5070)
The staging repository isn't being built for these.
2024-09-30 07:23:33 -07:00
Oliver Smith 5e6b6cf738 systemd: fix "INSERT-REASON-HERE" comments (MR 5070) 2024-09-30 07:23:33 -07:00
Oliver Smith a009275918 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-09-30 07:23:33 -07:00
Oliver Smith 9871d62988 systemd: remove various unreferenced files (MR 5070)
Remove OpenRC specific files that were removed for the systemd-specific
forks.
2024-09-30 07:23:33 -07:00
Oliver Smith aca5ddbe89 systemd/mutter-mobile: fix provides= (MR 5070) 2024-09-30 07:23:33 -07:00
Oliver Smith 82730ccb6d 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-09-30 07:23:32 -07:00
Oliver Smith c30d5bc70d CI: test_kernel: skip linux-pam (MR 5070)
The linux-pam package is not a linux kernel :)
2024-09-30 07:23:32 -07:00
Oliver Smith 7e2b4dc50c CI: directory-structure: add extra-repos/systemd (MR 5070) 2024-09-30 07:23:32 -07:00
Oliver Smith 8efa22a2c2 editorconfig: add networkmanager.rules style (MR 5070)
This is forked from Alpine. Keep the style to not increase the diff.
2024-09-30 07:23:32 -07:00
Bart Ribbers 5a8eeeea70 extra-repos/systemd/kjournald: new aport 2024-09-30 07:23:32 -07:00
Bart Ribbers f0ee2d36d4 extra-repos/systemd/plasma*: add initial systemd Plasma packages 2024-09-30 07:23:32 -07:00
Oliver Smith f65519625e 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-09-30 07:23:32 -07:00
Oliver Smith 093667449c systemd/xorg-server: set !check 2024-09-30 07:23:31 -07:00
Oliver Smith 761da6d225 systemd/gnome-shell-mobile: drop caribou dep
Remove it, like we did with temp/gnome-shell-mobile in pmaports master.
2024-09-30 07:23:31 -07:00
Sam Day 4165eaff28 systemd-services: add phosh.service (MR 4904) 2024-09-30 07:23:31 -07:00
Oliver Smith b8e0a775b4 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-09-30 07:23:31 -07:00
Alexander Martinz 0357e2074e 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-09-30 07:23:31 -07:00
Caleb Connolly 247d60383c 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-09-30 07:23:31 -07:00
Caleb Connolly bc6d525eb6 CHECK: systemd/xorg-server: new aport
Maybe integrates with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-09-30 07:23:31 -07:00
Caleb Connolly 5ccf821246 systemd/upower: new aport
Integrates with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-09-30 07:23:30 -07:00
Caleb Connolly b56ec47cbe systemd/systemd-services: new aport
A collection of systemd services.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-09-30 07:23:30 -07:00
450ab1ab11 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-09-30 07:23:30 -07:00
Caleb Connolly 1a288c7983 systemd/postmarketos-base-systemd: new aport
postmarketOS base package with systemd stuff.
2024-09-30 07:23:30 -07:00
Caleb Connolly 676370cace systemd/polkit: new aport
Integrates tightly with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-09-30 07:23:30 -07:00
Caleb Connolly d4a0275231 CHECK: systemd/networkmanager: new aport
Can maybe drop and just package the service file.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-09-30 07:23:30 -07:00
Caleb Connolly 0a7ee85740 systemd/mutter-mobile: new aport
Integrates tightly with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-09-30 07:23:30 -07:00
Caleb Connolly 64cf388d94 systemd/multipath-tools: new aport
Builds against systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-09-30 07:23:29 -07:00
Caleb Connolly d275428124 systemd/linux-pam-systemd: new aport
integrates with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-09-30 07:23:29 -07:00
Caleb Connolly 4508d04908 systemd/gnome-shell-mobile: new aport
Integrates tightly with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-09-30 07:23:29 -07:00
Caleb Connolly bb8ee8b360 systemd/gnome-settings-daemon: new aport
Integrates tightly with systemd

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-09-30 07:23:29 -07:00
Caleb Connolly ea5f00b144 systemd/gnome-session: new aport
Integrates tightly with systemd

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-09-30 07:23:29 -07:00
Caleb Connolly 8a4bebea5c systemd/gnome-keyring: new aport
Integrates tightly with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-09-30 07:23:29 -07:00
Caleb Connolly 32c025d0a0 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-09-30 07:23:29 -07:00
Caleb Connolly 209a8bbccb systemd/dbus: new aport
Fork dbus and rebuild it with systemd support.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-09-30 07:23:28 -07:00
Caleb Connolly c98359d2eb 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-09-30 07:23:28 -07:00
Caleb Connolly cebeccde69 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-09-30 07:23:28 -07:00
Caleb Connolly 02dc63f045 systemd/accountsservice: new aport
Forked from alpine to rebuild with systemd support.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-09-30 07:23:28 -07:00
Caleb Connolly 81b1878c24 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-09-30 07:23:28 -07:00
Oliver Smith 2df5b73ae3 pmaports.cfg: add repo:systemd section 2024-09-30 07:23:28 -07:00
176 changed files with 5647 additions and 139 deletions

No files matched your search

+3
View File
@@ -17,6 +17,8 @@ from pmb.core.context import get_context
def build_strict(packages, arch):
common.run_pmbootstrap(["build_init"])
common.run_pmbootstrap(["config", "mirrors.pmaports",
"http://mirror.postmarketos.org/postmarketos/staging/systemd/"])
common.run_pmbootstrap(["--details-to-stdout", "--no-ccache", "build",
"--strict", "--force",
"--arch", arch, ] + list(packages))
@@ -46,6 +48,7 @@ if __name__ == "__main__":
sys.exit(1)
arch = sys.argv[1]
common.run_pmbootstrap(["config", "systemd", "always"])
# Get and print modified packages
common.add_upstream_git_remote()
packages = common.get_changed_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):
@@ -10,6 +10,7 @@ expected_directories = [
"device/community",
"device/main",
"device/testing",
"extra-repos/systemd",
"main",
"modem",
"non-free",
+3
View File
@@ -23,6 +23,9 @@ def test_aports_kernel():
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
@@ -143,11 +143,6 @@ build-x86_64:
script:
- .ci/build-x86_64.sh
build-x86:
extends: .build
script:
- .ci/build-x86.sh
build-aarch64:
extends: .build
script:
@@ -158,16 +153,6 @@ build-armv7:
script:
- .ci/build-armv7.sh
build-armhf:
extends: .build
script:
- .ci/build-armhf.sh
build-riscv64:
extends: .build
script:
- .ci/build-riscv64.sh
auto-update:
stage: autoupdate
rules:
@@ -0,0 +1,66 @@
From 0bda547b2d7694ab40e0237ea6ae8a25a237ee50 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pablo=20Correa=20G=C3=B3mez?= <ablocorrea@hotmail.com>
Date: Thu, 11 Apr 2024 13:57:26 +0200
Subject: [PATCH 1/2] abuild: add systemd splitfunc
Co-authored-by: Caleb Connolly <caleb@postmarketos.org>
---
abuild.in | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/abuild.in b/abuild.in
index 36317d6..74e47f1 100644
--- a/abuild.in
+++ b/abuild.in
@@ -815,6 +815,11 @@ postcheck() {
&& ! is_openrc_pkg "$name"; then
warning "Found OpenRC directory (/etc/conf.d or /etc/init.d) but name doesn't end with -openrc"
fi
+ # look for /usr/lib/systemd
+ if [ -e "$dir"/usr/lib/systemd ] \
+ && ! is_systemd_pkg "$name"; then
+ warning "Found systemd directory (/usr/lib/systemd) but it's not in a systemd package"
+ fi
# look for /usr/share/doc
if [ -e "$dir"/usr/share/doc ] \
&& ! is_doc_pkg "$name"; then
@@ -1371,6 +1376,11 @@ is_openrc_pkg() {
test "${1%-openrc}" != "$1"
}
+# returns true if this is the -systemd package
+is_systemd_pkg() {
+ test "${1%-systemd}" != "$1" || test "systemd" == "$1"
+}
+
# returns true if this is the -bash-completion package
is_bashcomp_pkg() {
test "${1%-bash-completion}" != "$1"
@@ -2143,6 +2153,24 @@ openrc() {
default_openrc
}
+# predefined splitfunc systemd
+default_systemd() {
+ depends="$depends_systemd"
+ pkgdesc="$pkgdesc (systemd files)"
+ install_if="systemd ${subpkgname%-systemd}=$pkgver-r$pkgrel"
+
+ if [ -d lib/systemd ]; then
+ error "Detected /lib/systemd dir, should be installed to /usr/lib/systemd"
+ return 1
+ fi
+
+ amove usr/lib/systemd
+}
+
+systemd() {
+ default_systemd
+}
+
default_devhelp() {
depends=""
pkgdesc="$pkgname - devhelp files"
--
2.45.2
@@ -0,0 +1,28 @@
From d27596cd67928e4795dc99dbc139b231354c3381 Mon Sep 17 00:00:00 2001
From: Clayton Craft <clayton@craftyguy.net>
Date: Fri, 5 Jul 2024 10:38:50 -0700
Subject: [PATCH 2/2] abuild: add warning in -systemd split func about
non-usr-merged birs
---
abuild.in | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/abuild.in b/abuild.in
index 74e47f1..e5f9be0 100644
--- a/abuild.in
+++ b/abuild.in
@@ -2165,6 +2165,10 @@ default_systemd() {
fi
amove usr/lib/systemd
+
+ if [ -d bin ] || [ -d lib ] || [ -d usr/sbin ]; then
+ warning "Files should be installed to /usr/bin or /usr/lib, not /bin, /lib, or /usr/sbin"
+ fi
}
systemd() {
--
2.45.2
+107
View File
@@ -0,0 +1,107 @@
# Forked from Alpine to add systemd-service support
pkgname=abuild
pkgver=99993.12.0
_pkgver=3.12.0
pkgrel=3
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.alpinelinux.org/alpine/abuild/-/archive/$_pkgver/abuild-$_pkgver.tar.gz
0001-abuild-add-systemd-splitfunc.patch
0002-abuild-add-warning-in-systemd-split-func-about-non-u.patch
"
builddir="$srcdir/$pkgname-$_pkgver"
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="
00fac67aa96a83f33406dde60bd9526bfa5fdff690b84dbe867b6ed197f147b2afafcdfbda900c005e00a64a42bcb98ca425ffc8bf2158b9540cbb67d935577d abuild-3.12.0.tar.gz
52cc5857b3c93bd4595de1d06c3c600b88871c68f7a1ea51e10d720ddd9c8fb7f0f63cd2f4fe280c0d9adaf607de8b858f4add3e46b1a5a28cc6c711359f6c60 0001-abuild-add-systemd-splitfunc.patch
3782341dac814ecbcb7d2b4242d85f03ca2e4bf9eeb3b1e9524b2c434b05c864f5a4b5b8abc4031085e7e943e90780fe07b1e99d4cfadf0695340ad321647cac 0002-abuild-add-warning-in-systemd-split-func-about-non-u.patch
"
@@ -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')
+33
View File
@@ -0,0 +1,33 @@
# Forked from Alpine to remove openrc dependency
pkgname=alpine-base
pkgver=9999
pkgrel=1
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"
package() {
mkdir -p "$pkgdir"
}
release() {
depends="alpine-keys"
pkgdesc="Alpine release data"
mkdir -p "$subpkgdir"
}
+109
View File
@@ -0,0 +1,109 @@
# Forked from Alpine to enable systemd
pkgname=dbus
pkgver=9991.14.10
_pkgver=1.14.10
pkgrel=3
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"
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-systemd
"
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,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 || :
+76
View File
@@ -0,0 +1,76 @@
# Forked from Alpine to add systemd!
pkgname=drkonqi
pkgver=99996.1.4
_pkgver=6.1.4
pkgrel=0
pkgdesc="The KDE crash handler"
# armhf blocked by extra-cmake-modules
arch="all !armhf"
url="https://kde.org/plasma-desktop/"
license="GPL-2.0-or-later"
depends="
kirigami
kitemmodels
py3-sentry-sdk
"
makedepends="
extra-cmake-modules
kcompletion-dev
kconfigwidgets-dev
kcoreaddons-dev
kcrash-dev
kdeclarative-dev
ki18n-dev
kidletime-dev
kio-dev
kjobwidgets-dev
knotifications-dev
kservice-dev
kstatusnotifieritem-dev
kuserfeedback-dev
kwallet-dev
kwidgetsaddons-dev
py3-chai
qt6-qtbase-dev
samurai
syntax-highlighting-dev
systemd-dev
"
checkdepends="
py3-psutil
py3-pygdbmi
"
case "$pkgver" in
*.90*) _rel=unstable;;
*) _rel=stable;;
esac
subpackages="$pkgname-lang"
_repo_url="https://invent.kde.org/plasma/drkonqi.git"
source="https://download.kde.org/stable/plasma/$_pkgver/drkonqi-$_pkgver.tar.xz"
builddir="$srcdir/$pkgname-$_pkgver"
build() {
cmake -B build -G Ninja \
-DWITH_PYTHON_VENDORING=OFF \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DBUILD_TESTING=ON
cmake --build build
}
check() {
# connectiontest requires a network connection
ctest --test-dir build --output-on-failure -E "(connection|preamble)test"
}
package() {
DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
ef79b3b4b31d1d8329a699a8b9d2a1dc28e7faf88ac7a3c11aa7361dc77adab3293d069d178da3e6d2117496736b30c7b092a7b27185381209ea2ce3aae4ab7c drkonqi-6.1.4.tar.xz
"
@@ -0,0 +1,72 @@
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 and /bin/rm instead of /usr/bin/touch and /ust/bin/rm
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/rm -f /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,44 @@
we use base-* named configs
--
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..3e0708b 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..f4643d1 100644
--- a/data/pam-openembedded/gdm-password.pam
+++ b/data/pam-openembedded/gdm-password.pam
@@ -1,5 +1,5 @@
#%PAM-1.0
-auth include common-auth
-account include common-account
-password include common-password
-session include common-session
+auth include base-auth
+account include base-account
+password include base-password
+session include base-session
+89
View File
@@ -0,0 +1,89 @@
# Forked from Alpine for systemd support
pkgname=gdm
pkgver=99946.2
_pkgver=46.2
pkgrel=1
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
json-glib-dev
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-systemd"
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-DOWNSTREAM-pam-rename-common-to-base.patch
Xsession
"
install="gdm.pre-install gdm.post-deinstall"
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
}
systemd() {
install="$subpkgname.post-install $subpkgname.pre-deinstall"
default_systemd
}
sha512sums="
29cb00b42b64313f63cbf33a0caf9ecaf43f38699983017966fba951b867742129ef150cd927d02add5f7c1c20049ba1301e5ee094caa54835dc12cf29c86210 gdm-46.2.tar.xz
70b2bb6d6711c17a14c6e6a48b7b29f1b22cf858953f16723ba3e00570dce0416bcb72e4b3d3d4ef608eed32e1f7efa617f94f0a3327c7f5ceeb6b7232e4be84 0001-DOWNSTREAM-use-bin-touch-instead-of-usr-bin-touch.patch
66611d49fc4c9578415a7e554834edcb9de99396bd0ca511dcfd4fb256e8a1cd1fd5f10464f4668ffe04799d919bc22ddb58e8bf272017edba69a7951522e63d 0003-DOWNSTREAM-pam-rename-common-to-base.patch
f836cf0acdf148f2ae09ac28251b5126ce597f08254c43b1ec77596f75e1a3229926116c13f98554625be763e8d28415b27bd679b0a5de9f86bdca7857054c82 Xsession
"
+2
View File
@@ -0,0 +1,2 @@
#!/bin/sh
exec "$@"
@@ -0,0 +1,4 @@
#!/bin/sh
. /usr/lib/systemd/systemd-apk-macros.sh
systemd_service_post_install system gdm.service
@@ -0,0 +1,4 @@
#!/bin/sh
. /usr/lib/systemd/systemd-apk-macros.sh
systemd_service_pre_deinstall system gdm.service
@@ -0,0 +1,6 @@
#!/bin/sh
deluser gdm 2>/dev/null
delgroup gdm 2>/dev/null
exit 0
+6
View File
@@ -0,0 +1,6 @@
#!/bin/sh
addgroup -S -g 32 gdm 2>/dev/null
adduser -S -D -H -h /var/lib/gdm -s /sbin/nologin -G gdm -g gdm -u 32 gdm 2>/dev/null
exit 0
+100
View File
@@ -0,0 +1,100 @@
# Forked from Alpine to add systemd!
pkgname=gnome-desktop
pkgver=99944.0
_pkgver=44.0
pkgrel=2
pkgdesc="GNOME desktop core libraries"
url="https://gitlab.gnome.org/GNOME/gnome-desktop"
arch="all"
license="GPL-2.0-or-later AND LGPL-2.1-or-later"
depends_dev="gobject-introspection-dev gsettings-desktop-schemas-dev"
makedepends="$depends_dev
eudev-dev
fontconfig-dev
gdk-pixbuf-dev
glib-dev
gtk-doc
gtk+3.0-dev
gtk4.0-dev
iso-codes-dev
itstool
libseccomp-dev
libxml2-utils
meson
systemd-dev
xkeyboard-config-dev
"
options="!check" # Can't find its own GSettings schemas
subpackages="
$pkgname-dev
$pkgname-doc
$pkgname-lang
$pkgname-dbg
$pkgname-debug
libgnome-bg-4:bg_four
libgnome-desktop-3:three
libgnome-desktop-4:four
libgnome-rr-4:rr_four
"
# Patch: https://gitlab.gnome.org/GNOME/gnome-desktop/-/merge_requests/158
source="https://download.gnome.org/sources/gnome-desktop/${_pkgver%.*}/gnome-desktop-$_pkgver.tar.xz
utf8-explicit.patch
"
builddir="$srcdir/$pkgname-$_pkgver"
build() {
abuild-meson \
-Db_lto=true \
-Dudev=enabled \
-Dbuild_gtk4=true \
-Dsystemd=enabled \
-Dlegacy_library=true \
. output
meson compile -C output
}
check() {
meson test --no-rebuild --print-errorlogs -C output
}
package() {
depends="
libgnome-bg-4=$_pkgver-r$pkgrel
libgnome-desktop-3=$_pkgver-r$pkgrel
libgnome-desktop-4=$_pkgver-r$pkgrel
libgnome-rr-4=$_pkgver-r$pkgrel
"
DESTDIR="$pkgdir" meson install --no-rebuild -C output
}
bg_four() {
amove usr/lib/girepository-*/GnomeBG-4.0.typelib
amove usr/lib/libgnome-bg-4.so.*
}
three() {
depends="bubblewrap"
amove usr/lib/girepository-*/GnomeDesktop-3.0.typelib
amove usr/lib/libgnome-desktop-3.so.*
}
four() {
depends="bubblewrap"
amove usr/lib/girepository-*/GnomeDesktop-4.0.typelib
amove usr/lib/libgnome-desktop-4.so.*
}
rr_four() {
amove usr/lib/girepository-*/GnomeRR-4.0.typelib
amove usr/lib/libgnome-rr-4.so.*
}
debug() {
amove usr/libexec/gnome-desktop-debug
}
sha512sums="
707e96ffe1bbe27c448dd007b5a005e06ea3bba945c1c6708c61b8cec204cef6f5ed540f8ba0f5e566c2fdbc825fc6f9f0440706e0aea132490ca6d48823e180 gnome-desktop-44.0.tar.xz
b50843e018121df5c426916cce919aae65570e373a26bb49cd53549963b41eeddf6bd439050f307646883e0777d8a5d8a266c3792c0c688ab02e892031b05f8e utf8-explicit.patch
"
@@ -0,0 +1,16 @@
diff --git i/libgnome-desktop/gnome-languages.c w/libgnome-desktop/gnome-languages.c
index adfc4eee..275b3182 100644
--- i/libgnome-desktop/gnome-languages.c
+++ w/libgnome-desktop/gnome-languages.c
@@ -364,7 +364,10 @@ add_locale (const char *language_name,
language_name_get_codeset_details (language_name, NULL, &is_utf8);
if (is_utf8) {
- name = g_strdup (language_name);
+ if (strchr (language_name, '.') == NULL)
+ name = g_strdup_printf ("%s.UTF-8", language_name);
+ else
+ name = g_strdup (language_name);
} else if (utf8_only) {
if (strchr (language_name, '.'))
@@ -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 @@
[directory to install PKCS#11 config])
])
if test -z "$with_pkcs11_config" ; then
- P11_SYSTEM_CONFIG_MODULES=$($PKG_CONFIG p11-kit-1 --variable=p11_module_configs)
+ 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,78 @@
# Forked from Alpine
# systemd unit activation
pkgname=gnome-keyring
pkgver=99946.1
_pkgver=46.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-doc
$pkgname-lang
$pkgname-systemd
"
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"
autoreconf -vfi
./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
}
systemd() {
install="$subpkgname.post-install $subpkgname.pre-deinstall"
default_systemd
}
sha512sums="
82d9685a87b43c6aa1f377114af389675836df4b5c26d43d6843f1dfac6ae0eb771a4ac67f71e5a2f5b88cbdbb5300d63bfcfd8087ee60463a9579d242c6b884 gnome-keyring-46.1.tar.xz
53e04eade3579fe5d65d11d6cde6c5fdffc9f73a3a7f372b1f4dbc7437212e753123c12854d3a5a7a22f3beb1b00604eec0371615ceb0f7024cb38cf35e33065 0001-build-Use-p11_module_configs-as-default-pkcs11-confi.patch
"
@@ -0,0 +1,4 @@
#!/bin/sh
. /usr/lib/systemd/systemd-apk-macros.sh
systemd_service_post_install user gnome-keyring-daemon
@@ -0,0 +1,4 @@
#!/bin/sh
. /usr/lib/systemd/systemd-apk-macros.sh
systemd_service_pre_deinstall user gnome-keyring-daemon
@@ -0,0 +1,54 @@
# Forked from Alpine for systemd
pkgname=gnome-session
pkgver=99946.0
_pkgver=46.0
pkgrel=1
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 $pkgname-systemd"
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 \
-Dsystemduserunitdir=/usr/lib/systemd/user \
. output
meson compile -C output
}
check() {
meson test --no-rebuild --print-errorlogs -C output
}
package() {
DESTDIR="$pkgdir" meson install --no-rebuild -C output
}
sha512sums="
2187b8ae4ac4ec728283c5dc03edba6472864a704f6c6cd7a3e962515a3925d3a8438f7f89855dd082d2c013868da81e16da280c70b0e07537c8e431301b4bd8 gnome-session-46.0.tar.xz
"
@@ -1,5 +1,8 @@
# Forked from Alpine for systemd support
pkgname=gnome-settings-daemon-mobile
pkgver=46.0
pkgver=99946.0
_pkgver=46.0
pkgrel=0
pkgdesc="GNOME settings daemon"
url="https://gitlab.gnome.org/verdre/gnome-settings-daemon-mobile"
@@ -7,11 +10,11 @@ arch="all"
options="!check" # tests fail on builders
license="GPL-2.0-only AND LGPL-2.1-only"
depends="pulseaudio"
provides="gnome-settings-daemon=$pkgver-r$pkgrel"
depends_dev="
alsa-lib-dev
colord-dev
cups-dev
elogind-dev
geoclue-dev
geocode-glib-dev>=3.26.4-r1
lcms2-dev
@@ -24,6 +27,7 @@ depends_dev="
nss-dev
pango-dev
polkit-dev
systemd-dev
pulseaudio-dev
upower-dev
"
@@ -50,37 +54,29 @@ _commit=46-mobile-0
_gvc_commit="8e7a5a4c3e51007ce6579292642517e3d3eb9c50"
source="gnome-settings-daemon-mobile-$_commit.tar.gz::https://gitlab.gnome.org/verdre/gnome-settings-daemon-mobile/-/archive/$_commit/gnome-settings-daemon-mobile-$_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"
builddir="$srcdir/gnome-settings-daemon-mobile-$_commit"
builddir="$srcdir/$pkgname-$_commit"
build() {
cd "$builddir"
rm -rf "$builddir/subprojects/gvc"
mv "$srcdir/libgnome-volume-control-$_gvc_commit" $builddir/subprojects/gvc
abuild-meson \
-Db_lto=true \
-Delogind=true \
-Dsystemd=false \
-Dsystemd=true \
. output
meson compile -C output
}
check() {
meson test --no-rebuild --print-errorlogs -C output
}
package() {
provides="gnome-settings-daemon=$pkgver-r$pkgrel"
DESTDIR="$pkgdir" meson install --no-rebuild -C output
}
dev() {
provides="gnome-settings-daemon-dev=$pkgver-r$pkgrel"
default_dev
}
lang() {
provides="gnome-settings-daemon-lang=$pkgver-r$pkgrel"
default_lang
check() {
meson test --no-rebuild --print-errorlogs -C output
}
package() {
DESTDIR="$pkgdir" meson install --no-rebuild -C output
}
sha512sums="
@@ -0,0 +1,77 @@
# Forked from Alpine for systemd support
pkgname=gnome-settings-daemon
pkgver=99946.0
_pkgver=46.0
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
$pkgname-systemd
"
source="https://download.gnome.org/sources/gnome-settings-daemon/${_pkgver%.*}/gnome-settings-daemon-$_pkgver.tar.xz
"
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="
445e9ee4709af7a67ded55733d4041357995fe9746bcf00fa81f52f6dddc2071e7114e9bf836bcf464bc0f04da3b3c08be04c1942963c1910d1a14b4434f6633 gnome-settings-daemon-46.0.tar.xz
"
@@ -1,9 +1,10 @@
# Forked from Alpine to add phone adaptivity patches
# Forked from Alpine to add phone adaptivity patches and systemd!
pkgname=gnome-shell-mobile
pkgver=46.1
pkgver=99946.1
_pkgver=46.1
pkgrel=0
pkgdesc="GNOME shell"
pkgdesc="GNOME shell mobile"
url="https://wiki.gnome.org/Projects/GnomeShell"
# gjs / riscv64: mutter-mobile
arch="all !armhf !s390x !riscv64"
@@ -12,7 +13,6 @@ depends="
accountsservice
adwaita-icon-theme
desktop-file-utils
elogind
font-adobe-source-code-pro
font-cantarell
gnome-bluetooth
@@ -24,15 +24,17 @@ depends="
gstreamer
ibus
librsvg
mutter-mobile>=46
networkmanager-common
polkit
systemd
tecla
unzip
upower
xorg-server
"
makedepends="
asciidoc
elogind-dev
systemd-dev
evolution-data-server-dev evolution-dev
gcr4-dev
gjs-dev>=1.64.0
@@ -48,7 +50,7 @@ makedepends="
libxml2-dev
libxml2-utils
meson
mutter-mobile-dev>=46
mutter-mobile-dev>=99946.0
networkmanager-dev
pipewire-dev
polkit-dev
@@ -73,28 +75,31 @@ subpackages="
gnome-mobile-extensions-app:extensions_app:noarch
"
_commit="46-mobile.1"
_gvc_commit="91f3f41490666a526ed78af744507d7ee1134323"
_gvc_commit="8e7a5a4c3e51007ce6579292642517e3d3eb9c50"
source="gnome-shell-mobile-$_commit.tar.gz::https://gitlab.gnome.org/verdre/gnome-shell-mobile/-/archive/$_commit/gnome-shell-mobile-$_commit.tar.gz
libgnome-volume-control-$_gvc_commit.tar.gz::https://gitlab.gnome.org/GNOME/libgnome-volume-control/-/archive/$_gvc_commit/libgnome-volume-control-$_gvc_commit.tar.gz
gsh.patch"
libgnome-volume-control-$_gvc_commit.tar.gz::https://gitlab.gnome.org/GNOME/libgnome-volume-control/-/archive/$_gvc_commit/gnome-shell-$_gvc_commit.tar.gz
gsh.patch
"
builddir="$srcdir/gnome-shell-mobile-$_commit"
options="!check" # Tests have circular dependency 'gnome-shell <-> gdm'
# To make sure pmb_recommends installs the correct one
_pmb_recommends="gnome-mobile-extensions-app"
# secfixes:
# 0:
# - CVE-2019-3820
prepare() {
default_prepare
rm -rf "$builddir/subprojects/gvc"
mv "$srcdir/libgnome-volume-control-$_gvc_commit" $builddir/subprojects/gvc
sed -i "s/mutter_api_version = '.*'/mutter_api_version = '99'/g" meson.build
# versions in the format "46-mobile.1" are considered invalid by pkg-config
sed -i 's/\([0-9]\+\)-mobile\.\([0-9]\+\)/\1.\2/' meson.build
sed -i "s/version: '$_commit'/version: '$_pkgver'/g" meson.build
}
build() {
abuild-meson \
-Dsystemd=false \
-Dtests=false \
. output
meson compile ${JOBS:+-j ${JOBS}} -C output
@@ -140,6 +145,6 @@ package() {
sha512sums="
aeca65c373979eacf73aff169b69f3cefa8f457a04e641481f79a3a6e398a51d3ccfc6c7a94ae4a81486dd08fb7b600b2a949efc9272ab17ae9719fc7fe35740 gnome-shell-mobile-46-mobile.1.tar.gz
c832e99bc56ae586734d468e4e1a17f107acc76076d07ba45c46359ba751d1e6abe6108e43730fdf1dd18153cfa9f374e3e81118ae4902f0974d5b5f54f8276b libgnome-volume-control-91f3f41490666a526ed78af744507d7ee1134323.tar.gz
ae4ac679bacd35948b44068e5a70407f473bd96986ee126abb1bdf066db5cbc2087a3ffae0b390286689cacbe8325870fd43663ba39f4f7543216e02bf083934 gsh.patch
ebc6985afbda5ddebcda44d8b6732a9abc2d7249aff3adf7a76a90aa681590f830dcf2e5f3534a624adc32d1f0445e261ee149d65c221f733e0c33e0690a004d libgnome-volume-control-8e7a5a4c3e51007ce6579292642517e3d3eb9c50.tar.gz
40cafbd0da2f2a40ff9e9db1026179d52a3b296a81fa43a98e433c0919800f0ec5231fcad32d523b8f01b8f7c0205dce1332e48493b0101ad02dae9469ac3de0 gsh.patch
"
@@ -0,0 +1,28 @@
Patch-Source: https://github.com/chimera-linux/cports/blob/793dbd2807070fd0fd4f7ba37fd73d4c5ff47584/main/gnome-shell/patches/no-exe-introspection.patch
commit 1d1e96c094570c3a822f835abbff0a5bca4ca10e
Author: Daniel Kolesa <daniel@octaforge.org>
Date: Sun Mar 19 19:11:00 2023 +0100
Disable 9bc89b821cf09195418f20225bbec39c0567d263
Even if we manually define _DYNAMIC, it does not work (segfaults
somewhere in musl, coming from g_strsplit) and is pretty useless
for our case anyway.
diff --git a/src/main.c b/src/main.c
index 8cccc0a..ef6408f 100644
--- a/src/main.c
+++ b/src/main.c
@@ -20,8 +20,12 @@
#include <meta/prefs.h>
#include <atk-bridge.h>
#include <link.h>
+#ifdef HAVE_EXE_INTROSPECTION
+#undef HAVE_EXE_INTROSPECTION
+#endif
+
#ifdef HAVE_EXE_INTROSPECTION
#include <dlfcn.h>
#include <elf.h>
#endif
+126
View File
@@ -0,0 +1,126 @@
# Forked from Alpine to add systemd!
pkgname=gnome-shell
pkgver=99946.2
_pkgver=46.2
pkgrel=0
pkgdesc="GNOME shell"
url="https://gitlab.gnome.org/GNOME/gnome-shell"
# gjs -> mozjs
arch="all !armhf !s390x"
license="GPL-2.0-or-later"
depends="
accountsservice
adwaita-icon-theme
desktop-file-utils
font-adobe-source-code-pro
font-cantarell
gnome-bluetooth
gnome-control-center
gnome-shell-schemas
gsettings-desktop-schemas>=46
gst-plugin-pipewire
gst-plugins-good
gstreamer
ibus
librsvg
networkmanager-common
systemd
tecla
unzip
upower
"
makedepends="
asciidoc
evolution-data-server-dev evolution-dev
gcr4-dev
gjs-dev>=1.78.0
gnome-autoar-dev
gnome-bluetooth-dev
gnome-control-center-dev
gnome-desktop-dev>=44.0
gobject-introspection-dev
gstreamer-dev
ibus-dev
libcanberra-dev
libnma-dev
libxml2-dev
libxml2-utils
meson
mutter-dev>=46
networkmanager-dev
pipewire-dev
polkit-dev
pulseaudio-dev
py3-setuptools
python3
sassc
startup-notification-dev
systemd-dev
tecla-dev
"
checkdepends="
mesa-dri-gallium
xvfb-run
"
# gdm is also needed but introduces circular dep
subpackages="
$pkgname-dbg
$pkgname-doc
$pkgname-lang
$pkgname-schemas::noarch
gnome-extensions-app:extensions_app:noarch
"
source="https://download.gnome.org/sources/gnome-shell/${_pkgver%.*}/gnome-shell-$_pkgver.tar.xz
gsh.patch
"
# TODO: crossdirect disabled due to armv7 crosscompile failure on x86_64, see
# https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5115#note_1899890119
options="!check !pmb:crossdirect" # Tests have circular dependency 'gnome-shell <-> gdm'
builddir="$srcdir/$pkgname-$_pkgver"
# secfixes:
# 0:
# - CVE-2019-3820
build() {
abuild-meson \
-Db_lto=true \
-Dtests=false \
. output
meson compile -C output
}
check() {
xvfb-run meson test --no-rebuild --print-errorlogs -C output
}
package() {
DESTDIR="$pkgdir" meson install --no-rebuild -C output
}
extensions_app() {
pkgdesc="Manage GNOME Shell extensions"
depends="gnome-shell libadwaita"
replaces="gnome-shell"
amove usr/bin/gnome-extensions-app
amove usr/share/applications/org.gnome.Extensions.desktop
amove usr/share/gnome-shell/org.gnome.Extensions
amove usr/share/gnome-shell/org.gnome.Extensions.data.gresource
amove usr/share/gnome-shell/org.gnome.Extensions.src.gresource
}
schemas() {
pkgdesc="GNOME Shell gsetting schemas"
depends=""
replaces="gnome-shell"
amove usr/share/glib-2.0/schemas
amove usr/share/gnome-control-center/keybindings
}
sha512sums="
9b23a23a8a9224a618ab159c653b0b0889e5097a62265210f5e71c15658f4a85fbaca8be9646da768e8acfc38eb7eecd35313f3b82d6fbfc3b45f7754479e3a8 gnome-shell-46.2.tar.xz
ae4ac679bacd35948b44068e5a70407f473bd96986ee126abb1bdf066db5cbc2087a3ffae0b390286689cacbe8325870fd43663ba39f4f7543216e02bf083934 gsh.patch
"
File renamed without changes.
+50
View File
@@ -0,0 +1,50 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
pkgname=kjournald
pkgver=24.08.1
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"
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="
6a20cc26d7e7ff9f84a6d10c7ec0f9a5e09dec3713802b36056423dce1968e273db2460337415675abb4dc1f849bcc0a5ae00e35658e0ee205afe18b5af1582d kjournald-24.08.1.tar.xz
"
@@ -0,0 +1,82 @@
# Forked from Alpine to add systemd!
pkgname=kscreenlocker
pkgver=99996.1.5
_pkgver=6.1.5
pkgrel=0
pkgdesc="Library and components for secure lock screen architecture"
# armhf blocked by extra-cmake-modules
arch="all !armhf !armv7"
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="
0448bbb8261dcaa0ea7bded8ab29311de21b88be4cb56bf68f5931dd97222ab7e24439d2a97c4544c5a723c3c5c7e2e2a019253c51aef5a26d8ec0cf6351c6b5 kscreenlocker-6.1.5.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
+115
View File
@@ -0,0 +1,115 @@
# Forked from Alpine to add systemd!
pkgname=kwin
pkgver=99996.1.5
_pkgver=6.1.5
pkgrel=0
pkgdesc="An easy to use, but flexible, composited Window Manager"
# armhf blocked by qt6-qtdeclarative
arch="all !armhf !armv7"
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 $pkgname-systemd"
_repo_url="https://invent.kde.org/plasma/kwin.git"
source="https://download.kde.org/stable/plasma/$(echo $_pkgver | cut -d . -f 1-3)/kwin-$_pkgver.tar.xz
"
# 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="
a71d1f814c948293d5552504115178f20e7450ead86c57b0fda79584f613fbc77851d1735945f7f05bf0b6b8c09cdacf53154820176d133f41ec736ae1492946 kwin-6.1.5.tar.xz
"
+101
View File
@@ -0,0 +1,101 @@
# 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.1
pkgrel=1
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-manual::noarch $pkgname-doc $pkgname-systemd"
source="https://github.com/linux-pam/linux-pam/releases/download/v$pkgver/Linux-PAM-$pkgver.tar.xz
https://github.com/linux-pam/linux-pam/releases/download/v$pkgver/Linux-PAM-$pkgver-docs.tar.xz
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.6.0-r0:
# - CVE-2024-22365
# 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 \
--disable-examples
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
}
manual() {
pkgdesc="$pkgdesc (manual)"
amove usr/share/doc/Linux-PAM
}
sha512sums="
ddb5a5f296f564b76925324550d29f15d342841a97815336789c7bb922a8663e831edeb54f3dcd1eaf297e3325c9e2e6c14b8740def5c43cf3f160a8a14fa2ea Linux-PAM-1.6.1.tar.xz
c6054ec6832f604c0654cf074e4e241c44037fd41cd37cca7da94abe008ff72adc4466d31bd254517eda083c7ec3f6aefd37785b3ee3d0d4553250bd29963855 Linux-PAM-1.6.1-docs.tar.xz
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
+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,25 @@
From 91e9ec2982ec57cf847d9aab6aeeec903797588f Mon Sep 17 00:00:00 2001
From: Leonardo Arena <rnalrd@alpinelinux.org>
Date: Thu, 29 Aug 2024 08:25:09 +0000
Subject: [PATCH] disable O2
---
Makefile.inc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile.inc b/Makefile.inc
index 729618b..978de09 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -99,7 +99,7 @@ SYSTEMD_LIBDEPS := $(if $(SYSTEMD),$(if $(shell test $(SYSTEMD) -gt 209 && echo
MODPROBE_UNIT := $(shell test "0$(SYSTEMD)" -lt 245 2>/dev/null || \
echo "modprobe@dm_multipath.service")
-OPTFLAGS := -O2 -g $(STACKPROT) --param=ssp-buffer-size=4
+OPTFLAGS := -Os -g $(STACKPROT) --param=ssp-buffer-size=4
# Set WARN_ONLY=1 to avoid compilation erroring out due to warnings. Useful during development.
WARN_ONLY :=
--
2.46.0
@@ -0,0 +1,66 @@
# Forked from Alpine to remove eudev dependency
pkgname=multipath-tools
pkgver=99990.10.0
_pkgver=0.10.0
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
multipathd.confd
0001-Disable-O2.patch
fix-basename.patch
"
options="!check"
builddir="$srcdir"/multipath-tools-"$_pkgver"
build() {
make WARN_ONLY=1 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 -m644 "$srcdir"/multipathd.confd \
"$pkgdir"/etc/conf.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="
8f545609fa20df7547428f2929571dc0df87c17d9f61f11aad3559446c2e94755e18b1c4b3780b3de92ec2cbc450939ca15a9d6c95551eee4084064d83874b2d multipath-tools-0.10.0.tar.gz
e81462b22c0cbc92ea935d7544b9f9a0c4ccbcf13f3bc03dadf6de96407c9cf49964c9bbf02f12a134e1255c66421c6fde39d54b15eef975e8df81bdc88b2213 multipath-tools.conf
6176a4ed32711ff8e417a58ca0cad8279d46ba98ec40095dbdb1035c49c0f82b06b5affbe2b79c5f2020b215ebe31ebeb408509dc810f5d21eb757e88be8c99f multipath.initd
17853ca127259e129bbd61f24a830777d5b6d69f6500313fa62a0e0773de73387ce2c3a58a93a6182ee3d4891d1ec5fc2322cb674e787b326ef9cd8dcff5cbab multipathd.initd
2adc2b8322645fec8763a662614b5682294f81dc0f1b9cacace5e5ea62125aa80f4874c1b10f11619e79871087846a946f7a383c22953ca1fbaeb9ea021c5114 multipathd.confd
12efc27a7fd492834dd1d86d67faa1a6884142779f5452ada5373d893cd441572e07f9f9ea441dd92d49274ccc21a53d70f2af8a49c63060ff7490b93e3cb58d 0001-Disable-O2.patch
3f65a2006c03ba168eb3fcec537042ae9e0ddbcab48a051970fcc477bd88b2eeb16db79c9f06d4fc7b7e06411d46e159b7d13d2fe9613ba5be1ed68d9e66e54c fix-basename.patch
"
@@ -0,0 +1,14 @@
diff --git a/libmultipath/configure.c b/libmultipath/configure.c
index d809490..62154fd 100644
--- a/libmultipath/configure.c
+++ b/libmultipath/configure.c
@@ -43,6 +43,9 @@
#include "sysfs.h"
#include "io_err_stat.h"
+#define basename(dev) \
+ (strrchr((dev),'/') ? strrchr((dev),'/')+1 : (dev))
+
/* group paths in pg by host adapter
*/
int group_by_host_adapter(struct pathgroup *pgp, vector adapters)
@@ -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,24 @@
#!/sbin/openrc-run
description="Initialize multipath"
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,4 @@
# Configuration for /etc/init.d/multipathd
# Comment out to run without process supervisor.
supervisor="supervise-daemon"
@@ -0,0 +1,10 @@
#!/sbin/openrc-run
description="Multipath monitoring daemon"
command="/usr/sbin/multipathd"
command_args="-d $command_args"
command_background="yes"
pidfile="/run/$RC_SVCNAME.pid"
output_log="/var/log/$RC_SVCNAME.log"
error_log="/var/log/$RC_SVCNAME.log"
@@ -1,8 +1,9 @@
# Forked from Alpine to apply mobile adaptivity patches
pkgname=mutter-mobile
pkgver=46.1
pkgrel=0
pkgver=99946.1
_pkgver=46.1
pkgrel=1
pkgdesc="clutter-based window manager and compositor"
url="https://wiki.gnome.org/Projects/Mutter/"
# ricsv64: doesn't build currently:
@@ -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
@@ -77,12 +77,12 @@ prepare() {
default_prepare
sed -i "s/libmutter_api_version = '.*'/libmutter_api_version = '99'/g" meson.build
# versions in the format "46-mobile.1" are considered invalid by pkg-config
sed -i 's/\([0-9]\+\)-mobile\.\([0-9]\+\)/\1.\2/' meson.build
sed -i "s/version: '$_commit'/version: '$_pkgver'/g" meson.build
}
build() {
abuild-meson \
-Degl_device=true \
-Dudev=true \
-Dnative_backend=true \
-Dintrospection=true \
@@ -110,11 +110,17 @@ 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
}
sha512sums="
210266238a9cf56b77e195559a2f99574de4a52b973bad7143a88f112730dd61ebf807e6644519998f39fe5ddbcb1bfd589d0d5167c92718953d5ad22eba2ae7 mutter-mobile-46-mobile.1.tar.gz
670927a5528f9fec4801b7dab8a377b7280c239acb1f7a9077647deef71119738deb958a94d4ce0a99d39b29eeab3b2505698f7d19b880bbcec9f5260202d3a6 pcversion.patch
2f2379d1f6676c69ba182d008d44c3d216ba5044af56352c785f4c34d17aeb0ac98a539827371d06ade7c2b42b06f916753c736167d2d89c0053b0a0e738c5d5 pcversion.patch
"
@@ -0,0 +1,16 @@
apk-tools 2.12.10 fails with this in a .pc depends file
diff --git a/meson.build b/meson.build
index e29c5001bcad..3f21f10cf49a 100644
--- a/meson.build
+++ b/meson.build
@@ -25,9 +25,9 @@ gdk_pixbuf_req = '>= 2.0'
pango_req = '>= 1.46.0'
cairo_req = '>= 1.10.0'
pangocairo_req = '>= 1.20'
pixman_req = '>= 0.42'
-gsettings_desktop_schemas_req = '>= 40.alpha'
+gsettings_desktop_schemas_req = '>= 40_alpha'
x11_req = '>= 1.7.0'
xcomposite_req = '>= 0.4'
xkbcommon_req = '>= 0.4.3'
xfixes_req = '>= 6'
+107
View File
@@ -0,0 +1,107 @@
# Forked from Alpine to add systemd!
pkgname=mutter
pkgver=99946.2
_pkgver=46.2
pkgrel=0
pkgdesc="clutter-based window manager and compositor"
url="https://wiki.gnome.org/Projects/Mutter/"
arch="all !s390x" # no libei-dev for s390x
license="GPL-2.0-or-later"
depends="
gnome-settings-daemon
gsettings-desktop-schemas
mutter-schemas
xkeyboard-config
"
makedepends="
at-spi2-core-dev
cairo-dev
dbus-dev
eudev-dev
fribidi-dev
gdk-pixbuf-dev
glib-dev
gnome-desktop-dev
gnome-settings-daemon-dev
gobject-introspection-dev
graphene-dev
gtk4.0-dev
json-glib-dev
lcms2-dev
libcanberra-dev
libdrm-dev
libei-dev
libgudev-dev
libice-dev
libinput-dev
libsm-dev
libwacom-dev
libx11-dev
libxau-dev
libxcb-dev
libxcomposite-dev
libxcursor-dev
libxdamage-dev
libxext-dev
libxfixes-dev
libxi-dev
libxinerama-dev
libxkbcommon-dev
libxkbfile-dev
libxrandr-dev
libxrender-dev
libxtst-dev
mesa-dev
meson
pango-dev
pipewire-dev
startup-notification-dev
systemd-dev
wayland-dev
wayland-protocols
xkeyboard-config-dev
xwayland-dev
"
# TODO: crossdirect disabled due to armv7 crosscompile failure on x86_64, see
# https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5115#note_1899890119
options="!check !pmb:crossdirect" # Can't be run with release builds
subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc $pkgname-lang $pkgname-schemas::noarch"
source="https://download.gnome.org/sources/mutter/${_pkgver%.*}/mutter-$_pkgver.tar.xz
fixudev-req.patch
pcversion.patch
"
builddir="$srcdir/$pkgname-$_pkgver"
build() {
abuild-meson \
-Db_lto=true \
-Degl_device=true \
-Dudev=true \
-Dnative_backend=true \
-Dintrospection=true \
-Dremote_desktop=true \
-Dprofiler=false \
-Dtests=false \
. output
meson compile -C output
}
schemas() {
pkgdesc="Mutter schemas related files"
depends=""
amove usr/share/glib-2.0/schemas
amove usr/share/GConf/gsettings
amove usr/share/gnome-control-center/keybindings
}
package() {
DESTDIR="$pkgdir" meson install --no-rebuild -C output
}
sha512sums="
7d8fd3ed38266e993691ee47d9a4e314e439e3269d6b0ed73fb192efa3c29d64edc2c45c178fa99c6807c8f31aca1a3524ccf3986b3a36c5e7cc66ad89b94e53 mutter-46.2.tar.xz
3e5dd59f2f2fd80edde13f64d70d52a023dec303fd8dbfa3ded0d77faf7643179f2ad74d4acd3450decb67deaf6ac85a7af5146fa96f33917b4363f884413af9 fixudev-req.patch
670927a5528f9fec4801b7dab8a377b7280c239acb1f7a9077647deef71119738deb958a94d4ce0a99d39b29eeab3b2505698f7d19b880bbcec9f5260202d3a6 pcversion.patch
"
@@ -0,0 +1,16 @@
Apparently the version limit is only required for systemd udev, it works
just fine with our version of eudev.
diff --git a/meson.build b/meson.build
index 2605a65..3550496 100644
--- a/meson.build
+++ b/meson.build
@@ -218,7 +218,7 @@ endif
have_libgudev = get_option('udev')
if have_libgudev
- libudev_dep = dependency('libudev', version: udev_req)
+ libudev_dep = dependency('libudev')
gudev_dep = dependency('gudev-1.0', version: gudev_req)
udev_dep = dependency('udev')
+262
View File
@@ -0,0 +1,262 @@
# Forked from Alpine to build with systemd support.
# integrates with logind for sleepmonitor and sessionmonitor.
pkgname=networkmanager
pkgver=9991.48.2
_pkgver=1.48.2
pkgrel=2
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
"
subpackages="
$pkgname-dbg
libnm
$pkgname-dev
$pkgname-elogind
$pkgname-lang
$pkgname-systemd
$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
$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 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
abuild-meson \
-Db_lto=true \
-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"
}
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
}
wifi() {
_default_plugin
pkgdesc="WiFi device plugin for NetworkManager"
depends="$depends wireless-regdb"
}
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"
}
_default_plugin() {
depends="$pkgname=$pkgver-r$pkgrel"
amove $_plugindir/libnm*-${subpkgname#"$pkgname"-}.so
}
systemd() {
install="$subpkgname.post-install $subpkgname.pre-deinstall"
default_systemd
}
sha512sums="
81ed641365183a03fe06346569939b164a0f7446694eb6c2790fef0118897987e494e3d75214df3e35f77f9c0f65375d4f867e942503f5a9ef11b46e9ba6b57d NetworkManager-1.48.2.tar.xz
0f79016bf717dea43830962f524deae8d1cedc274376e40bd912ebe63208c5b1c3b7a5aa14379da19020c587dbd5588df2f0066ca1540070a226983a43e4159b networkmanager.conf
9820ed2ead0af689644842de57657bb10330a1eaff0e85b21ae9913f55e399e47d8b41b0a12956f30de80272b4424c6e55f33acbc88e156879003a260bf576f6 networkmanager.rules
"
@@ -0,0 +1,4 @@
#!/bin/sh
. /usr/lib/systemd/systemd-apk-macros.sh
systemd_service_post_install system NetworkManager.service
@@ -0,0 +1,4 @@
#!/bin/sh
. /usr/lib/systemd/systemd-apk-macros.sh
systemd_service_pre_deinstall system NetworkManager.service
@@ -0,0 +1,2 @@
[main]
dhcp=internal
@@ -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";
}
});
+260
View File
@@ -0,0 +1,260 @@
# Forked from Alpine to rebuild with systemd support
pkgname=pipewire
pkgver=9991.2.0
_pkgver=1.2.0
pkgrel=1
_so_ver=0.3
pkgdesc="Multimedia processing graphs"
url="https://pipewire.org/"
arch="all"
license="LGPL-2.1-or-later"
pkggroups="pipewire"
makedepends="
alsa-lib-dev
avahi-dev
bash
bluez-dev
dbus-dev
doxygen
eudev-dev
fdk-aac-dev
glib-dev
graphviz
gst-plugins-base-dev
gstreamer-dev
jack-dev
libcamera-dev
libfreeaptx-dev
liblc3-dev
libusb-dev
libx11-dev
lilv-dev
meson
modemmanager-dev
ncurses-dev
pulseaudio-dev
py3-docutils
readline-dev
roc-toolkit-dev
sbc-dev
systemd-dev
vulkan-loader-dev
xmltoman
"
# move regular -dev after -jackdev, to steal files
subpackages="
$pkgname-dbg
$pkgname-doc
$pkgname-alsa
$pkgname-pulse
$pkgname-jack
$pkgname-jack-dev:jackdev
$pkgname-dev
gst-plugin-pipewire:gst_plugin
$pkgname-zeroconf
$pkgname-spa-bluez
$pkgname-spa-vulkan
$pkgname-tools
$pkgname-spa-tools:spa_tools
$pkgname-lang
"
install="$pkgname.post-upgrade $pkgname.post-install $pkgname.pre-deinstall"
source="https://gitlab.freedesktop.org/PipeWire/pipewire/-/archive/$_pkgver/pipewire-$_pkgver.tar.gz
pipewire.desktop
pipewire-launcher.sh
"
builddir="$srcdir/$pkgname-$_pkgver"
case "$CARCH" in
s390x)
# libldac not available for big endian
;;
*)
makedepends="$makedepends libldac-dev"
;;
esac
case "$CARCH" in
ppc64le|s390x|riscv64)
# no webrtc-audio-processing
;;
*)
makedepends="$makedepends webrtc-audio-processing-1-dev"
subpackages="$subpackages $pkgname-echo-cancel:echo_cancel"
;;
esac
# put libs last to steal residual files taken by some prior extras
subpackages="$subpackages $pkgname-libs"
build() {
CFLAGS="$CFLAGS -O2" \
CXXFLAGS="$CXXFLAGS -O2" \
CPPFLAGS="$CPPFLAGS -O2" \
abuild-meson \
-Db_lto=true \
-Dlibjack-path=/usr/lib \
-Dlibv4l2-path=/usr/lib \
-Ddocs=disabled \
-Dman=enabled \
-Dgstreamer=enabled \
-Dexamples=enabled \
-Dffmpeg=disabled \
-Djack-devel=true \
-Dsystemd=enabled\
-Dvulkan=enabled \
-Dsdl2=disabled \
-Dlv2=enabled \
-Dlibcamera=enabled \
-Droc=enabled \
-Dbluez5-codec-lc3=enabled \
-Dbluez5-backend-native-mm=enabled \
-Dsession-managers=[] \
. output
meson compile -C output
}
check() {
# disable tests on armv7, this is run via qemu+binfmt on pmOS CI and fails.
# See: https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5142#note_1969455333
[ "$CARCH" = "armv7" ] && return
meson test --no-rebuild --print-errorlogs -C output
}
package() {
DESTDIR="$pkgdir" meson install --no-rebuild -C output
install -Dm644 "$srcdir"/pipewire.desktop -t "$pkgdir"/etc/xdg/autostart/
install -Dm755 "$srcdir"/pipewire-launcher.sh "$pkgdir"/usr/libexec/pipewire-launcher
}
alsa() {
pkgdesc="ALSA support for pipewire"
replaces="$pkgname" # for backward compatibility
amove usr/lib/alsa-lib
amove usr/share/alsa/alsa.conf.d
install -d "$subpkgdir"/etc/alsa/conf.d
for i in "$subpkgdir"/usr/share/alsa/alsa.conf.d/*.conf; do
ln -s -- "${i#"$subpkgdir"}" "$subpkgdir"/etc/alsa/conf.d/
done
}
pulse() {
pkgdesc="Pulseaudio support for pipewire"
depends="
pipewire-session-manager
pulseaudio-utils
"
provides="pulseaudio=$pkgver-r$pkgrel pulseaudio-bluez=$pkgver-r$pkgrel"
provider_priority=1
install="$subpkgname.post-install $subpkgname.pre-deinstall"
amove usr/bin/pipewire-pulse
amove usr/lib/pipewire-$_so_ver/libpipewire-module-protocol-pulse.so
amove usr/lib/pipewire-$_so_ver/libpipewire-module-pulse-tunnel.so
amove usr/lib/pipewire-$_so_ver/libpipewire-module-filter-chain-lv2.so
amove usr/share/pipewire/pipewire-pulse.conf
amove usr/share/pipewire/pipewire-pulse.conf.avail
amove usr/lib/systemd/user/pipewire-pulse.service
amove usr/lib/systemd/user/pipewire-pulse.socket
}
jack() {
pkgdesc="JACK support for pipewire"
depends="pipewire-session-manager"
provides="jack=$pkgver-r$pkgrel"
replaces="jack"
amove usr/lib/libjack*.so.*
amove usr/bin/pw-jack
amove usr/lib/spa-*/jack/libspa-jack.so
amove usr/share/pipewire/jack.conf
}
gst_plugin() {
pkgdesc="Multimedia graph framework - PipeWire plugin"
depends="pipewire-session-manager gst-plugins-base"
install_if="$pkgname=$pkgver-r$pkgrel gstreamer"
amove usr/lib/gstreamer-1.0
}
echo_cancel() {
pkgdesc="WebRTC-based echo canceller module for PipeWire"
depends="$pkgname=$pkgver-r$pkgrel"
amove usr/lib/pipewire-$_so_ver/libpipewire-module-echo-cancel.so
}
zeroconf() {
pkgdesc="$pkgdesc - Zeroconf support"
depends=""
provides="pulseaudio-zeroconf=$pkgver-r$pkgrel"
provider_priority=1
amove usr/lib/pipewire-$_so_ver/libpipewire-module-zeroconf-discover.so
amove usr/lib/pipewire-$_so_ver/libpipewire-module-raop-*.so
}
bluez() {
pkgdesc="PipeWire BlueZ5 SPA plugin (Bluetooth)"
depends=""
replaces="$pkgname" # for backward compatibility
amove usr/lib/spa-*/bluez5
}
vulkan() {
pkgdesc="PipeWire Vulkan SPA plugin"
depends=""
amove usr/lib/spa-*/vulkan
}
tools() {
pkgdesc="PipeWire tools"
depends="$pkgname=$pkgver-r$pkgrel"
replaces="$pkgname" # for backward compatibility
amove usr/bin/pw-*
}
spa_tools() {
pkgdesc="PipeWire SPA tools"
depends=""
replaces="$pkgname" # for backward compatibility
amove usr/bin/spa-*
}
jackdev() {
pkgdesc="JACK development files (from pipewire)"
provides="jack-dev=$pkgver-r$pkgrel"
amove usr/lib/libjack*.so
amove usr/include/jack
amove usr/lib/pkgconfig/jack.pc
}
libs() {
default_libs
# the libraries must be paired with the client config and the plugins,
# see:
# https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3296
# https://bugs.archlinux.org/task/78813
amove \
usr/share/pipewire/client*.conf* \
usr/lib/pipewire-*/ \
usr/lib/spa-*/
}
sha512sums="
0f13532fab70459442d683d71f91fd3c3f0cfab1fbfb5dbdef915dab90d5b271f8af0e052eecc295f54c53516f5a553201c62d5ee20b335801b86f714594a046 pipewire-1.2.0.tar.gz
b70b05151bcf4b7f13d68b2731d789b9c062fadfcb91f4ed6bdb0d495390b0010f57034fb115a053e1459c7d9ea27523ca1c0c69639aeeb96c17ebac8dfc5b57 pipewire.desktop
6f4322d306bef346187778fc0975d608fdd37d4c8e08815a0aed28ef7e07c3f21d6a80b70743d0f867bdc237f5e1dc28131c778e7a45e363e5677668ce7acdb1 pipewire-launcher.sh
"
@@ -0,0 +1,22 @@
#!/bin/sh
# We need to kill any existing pipewire instance to restore sound
pkill -u "${USER}" -fx /usr/bin/pipewire-pulse 1>/dev/null 2>&1
pkill -u "${USER}" -fx /usr/bin/pipewire-media-session 1>/dev/null 2>&1
pkill -u "${USER}" -fx /usr/bin/wireplumber 1>/dev/null 2>&1
pkill -u "${USER}" -fx /usr/bin/pipewire 1>/dev/null 2>&1
exec /usr/bin/pipewire &
# wait for pipewire to start before attempting to start related daemons
while [ "$(pgrep -f /usr/bin/pipewire)" = "" ]; do
sleep 1
done
if [ -x /usr/bin/wireplumber ]; then
exec /usr/bin/wireplumber &
elif [ -x /usr/bin/pipewire-media-session ]; then
exec /usr/bin/pipewire-media-session &
fi
[ -f "/usr/share/pipewire/pipewire-pulse.conf" ] && exec /usr/bin/pipewire-pulse &
@@ -0,0 +1,4 @@
#!/bin/sh
. /usr/lib/systemd/systemd-apk-macros.sh
systemd_service_post_install user pipewire-pulse.socket
@@ -0,0 +1,4 @@
#!/bin/sh
. /usr/lib/systemd/systemd-apk-macros.sh
systemd_service_pre_deinstall user pipewire-pulse.socket
@@ -0,0 +1,10 @@
[Desktop Entry]
Version=1.0
Name=Pipewire
Comment=Start Pipewire
Exec=/usr/libexec/pipewire-launcher
Terminal=false
Type=Application
X-KDE-autostart-phase=1
X-GNOME-HiddenUnderSystemd=true
X-systemd-skip=true
@@ -0,0 +1,6 @@
#!/bin/sh
addgroup -S pipewire 2>/dev/null
. /usr/lib/systemd/systemd-apk-macros.sh
systemd_service_post_install user pipewire.socket
@@ -0,0 +1,14 @@
#!/bin/sh
ver_old="$2"
if [ "$(apk version -t "$ver_old" '0.3.33-r3')" = '<' ]; then
cat >&2 <<-EOF
*
* Pipewire bluez5 (Bluetooth) and FFmpeg SPA plugins, ALSA support, pw-* and
* spa-* tools have been moved to subpackages. If you use them, install
* pipewire-spa-bluez, pipewire-spa-ffmpeg, pipewire-alsa, pipewire-tools and/or
* pipewire-spa-tools, repsectively.
*
EOF
fi
@@ -0,0 +1,4 @@
#!/bin/sh
. /usr/lib/systemd/systemd-apk-macros.sh
systemd_service_pre_deinstall user pipewire.socket
@@ -0,0 +1,172 @@
# Forked from Alpine to add systemd!
pkgname=plasma-workspace
pkgver=99996.1.5
_pkgver=6.1.5
pkgrel=0
pkgdesc="KDE Plasma Workspace"
# armhf blocked by extra-cmake-modules
arch="all !armhf !armv7"
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
qcoro-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
$pkgname-systemd
"
_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"
# secfixes:
# 6.0.5.1:
# - CVE-2024-36041
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_X11_DEFAULT_SESSION=OFF \
-DINSTALL_SDDM_WAYLAND_SESSION=OFF # Fails to get permissions to take control over tty
# workaround for:
# https://invent.kde.org/plasma/plasma-workspace/-/issues/132
ninja -C build shell/qwayland-plasma-shell.h
ninja -C build shell/wayland-plasma-shell-client-protocol.h
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 -a ctest --test-dir build --output-on-failure -E "$skipped_tests"
}
package() {
DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
1b68ddb1d287733ec16900a14b56bf1dbdfb9bce0d10666c1a710612dee6cc786629ea0a924627d58f1268a9594e3bfae587d57bcd7c926bf48b8e914c5d9238 plasma-workspace-6.1.5.tar.xz
"
+108
View File
@@ -0,0 +1,108 @@
# Forked from Alpine to rebuild with systemd support
pkgname=polkit
pkgver=999124
_pkgver=124
pkgrel=2
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-systemd
"
source="https://gitlab.freedesktop.org/polkit/polkit/-/archive/$_pkgver/polkit-$_pkgver.tar.bz2
alpine-polkit.pam
"
builddir="$srcdir/polkit-$_pkgver"
# Not running 'systemctl preset' on polkit
# Reasoning from fedora:
# # The implied (systemctl preset) will fail and complain, but the macro hides
# # and ignores the fact. This is in fact what we want, polkit.service does not
# # have an [Install] section and it is always started on demand.
# https://src.fedoraproject.org/rpms/polkit/blob/rawhide/f/polkit.spec
# 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,67 @@
# Maintainer: Oliver Smith <ollipearanoid@postmarketos.org>
# pmbootstrap installs this, if systemd is selected in "pmbootstrap init".
pkgname=postmarketos-base-systemd
pkgver=6
pkgrel=1
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
systemd-timesyncd
tzdata
linux-pam=1.6.1-r1
systemd-services
"
replaces="alpine-baselayout postmarketos-base systemd systemd-logind"
replaces_priority=100
_source644="
etc/motd.ansi
etc/profile.d/99motd.sh
etc/systemd/logind.conf
etc/ssh/sshd_config.d/usepam.conf
usr/share/mkinitfs/files/01-initramfs-base-systemd.files
usr/lib/systemd/system-preset/90-base.preset
usr/lib/systemd/user-preset/90-base.preset
"
_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
15423bfda57c90ab62fe69865ca4072a0aeb83bf77d9c278257e346f4da81843d010b41003c91ae9f3fcb1c67447645e7c19078eea2bf11312051e6ad7523ad1 rootfs-usr-share-mkinitfs-files-01-initramfs-base-systemd.files
a0d48ea738e0368286f54785f263a4df8acda1b90fca57bd3e1b6db99e5ab8300744c949c300a339a2007642df5c6f4884a0fe1b6aef649b4410ff8cbd040508 rootfs-usr-lib-systemd-system-preset-90-base.preset
9439d7b3142c46f49380d079752a54cc4154fc5990de342568ac25ca0b44d3dfe19b3f110c0e161378671972fadd13e6923846237c2bdb99494e2bfd694fa95e rootfs-usr-lib-systemd-user-preset-90-base.preset
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,69 @@
# overrides for systemd
disable systemd-network*
disable systemd-homed*
# starting multipathd on systems with no multipath hardware can soft-hang
# boot, so disable it by default
disable multipathd.service
# for basically all Uis
## system services
enable ModemManager.service
enable NetworkManager.service
enable apk-polkit-server.service
enable bluetooth.service
enable haveged.service
enable hkdm.service
enable kill-pbsplash.service
enable nftables.service
enable postmarketos-tweakd.service
enable sshd.service
enable systemd-rfkill.service
enable udisks2.service
# Note: technically these two shouldn't be enabled at the same time, but
# pmos-base-wifi provides should make sure that only one is installed at the
# same time.
enable iwd.service
enable wpa_supplicant.service
# UIs:
## plasma
enable hfd-service.service
enable urfkill.service
enable plasma-mobile.service
enable sddm.service
## phosh
enable phosh.service
## gnome
enable gdm.service
# Waydroid
enable sensorfwd.service
enable waydroid-container.service
enable waydroid-sensors.service
# Device specifics:
# TODO: i like the idea of device/soc specific presets, we should move this out of here
enable adsp-audio.service
enable gesture.service
enable gnss-share
## sensors
enable hexagonrpcd-sdsp.service
enable iio-sensor-proxy.service
## qcom
enable pd-mapper.service
enable tqftpserv.service
enable qbootctl.service
enable q6voiced.service
enable rmtfs.service
enable qrtr-ns.service
enable diag-router.service
## pinephone{,-pro}
enable eg25-manager.service
@@ -0,0 +1,10 @@
## user services
enable dbus-broker.service
enable dbus.socket
enable obex.service
enable pipewire-pulse.socket
enable pipewire.socket
enable pulseaudio.socket
enable wireplumber.service
enable waydroid-session.service
@@ -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
"
Loaded 100 of 176 files, more files were not shown because too many files have changed in this diff. Show more