Compare commits

...
Author SHA1 Message Date
Clayton Craft 72fbb91a3b DO NOT MERGE: apk-tools: workaround apk-tools upgrade failure
see https://gitlab.com/postmarketOS/pmaports/-/issues/3075
2024-08-21 14:32:52 -07:00
Caleb Connolly 4740e93271 apk-tools: fix triggers maybe (MR 5513)
Fix triggers like kmod not being run, resulting in depmod not being
executed and kernel modules not being loaded as a result.

Needs more testing
2024-08-19 17:15:47 -07:00
Clayton Craft 734eb8e852 systemd/systemd-services: add plasma-mobile (MR 5502)
[ci:skip-build] already built successfully in CI
2024-08-19 16:00:20 -07:00
jane400 d56258fca9 systemd/systemd-services: add eg25-manager.service (MR 5346) 2024-08-19 15:20:58 -07:00
Clayton Craft 16eeb781d5 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-08-19 15:20:58 -07:00
Caleb Connolly 0a566b5ee2 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-08-19 15:20:57 -07:00
Clayton Craft 47ee8e9836 systemd/plasma*: disable armv7 (MR 5366)
Fails in CI, and (according to Bart) might be disabled on this arch in
upstream aports later.
2024-08-19 15:20:57 -07:00
Bart Ribbers 09d50951f4 extra-repos/systemd/plasma*: upgrade to 6.1.3 (MR 5366) 2024-08-19 15:20:57 -07:00
jane400andClayton Craft 8797329b09 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-08-19 15:20:57 -07:00
jane400 57135d0139 systemd/systemd: move user/group creation to pre-install (MR 5375) 2024-08-19 15:20:57 -07:00
Caleb Connolly 7d2699c9a5 systemd/postmarketos-base-systemd: depend on systemd-timsyncd (MR 5339)
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-08-19 15:20:57 -07:00
Clayton Craft 1166fd5267 systemd/pipewire: upgrade to 1.2.0 (MR 5361)
[ci:skip-vercheck]
[ci:skip-build] already built successfully in CI
2024-08-19 15:20:56 -07:00
Clayton Craft 15faac9ed3 systemd/networkmanager: upgrade to 1.48.2 (MR 5361) 2024-08-19 15:20:56 -07:00
Clayton Craft cb873f3184 systemd/mutter: upgrade to 46.2 (MR 5361)
updated pkgver to follow format used elsewhere... "999$_pkgver"
2024-08-19 15:20:56 -07:00
Clayton Craft c09624b121 systemd/gnome-settings-daemon: upgrade to 46.0 (MR 5361) 2024-08-19 15:20:56 -07:00
Clayton Craft 752ffc7767 systemd/gdm: upgrade to 46.2 (MR 5361) 2024-08-19 15:20:56 -07:00
Clayton Craft 29ae102389 systemd/gnome-shell: upgrade to 46.2 (MR 5361) 2024-08-19 15:20:56 -07:00
Clayton Craft 6c8465f84a 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-08-19 15:20:56 -07:00
Clayton Craft 8772068e9b systemd/systemd-services: fix pkgname for gnome-clocks service 2024-08-19 15:20:55 -07:00
Clayton Craft b60e6726f7 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-08-19 15:20:55 -07:00
David Heidelberg 8419f4a72f 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-08-19 15:20:55 -07:00
Clayton Craft 46715b7912 systemd/systemd-services: adjust subpackages to use -systemd name (MR 5315) 2024-08-19 15:20:55 -07:00
Clayton Craft ef7605975e systemd/upower: rename service subpkg to systemd (MR 5315) 2024-08-19 15:20:55 -07:00
Clayton Craft 80e3bdcce3 systemd/polkit: rename service subpkg to systemd (MR 5315) 2024-08-19 15:20:55 -07:00
Clayton Craft ca2b609c81 systemd/pmos-base-systemd: depend on newer linux-pam pkg (MR 5315) 2024-08-19 15:20:55 -07:00
Clayton Craft a8e35e9d86 systemd/linux-pam: rename service subpkg to systemd (MR 5315) 2024-08-19 15:20:54 -07:00
Clayton Craft 014c65bf69 systemd/gdm: rename service subpkg to systemd (MR 5315) 2024-08-19 15:20:54 -07:00
Clayton Craft 1342908b31 systemd/dbus: rename service subpkg to systemd (MR 5315) 2024-08-19 15:20:54 -07:00
Clayton Craft 21303faa3e systemd/abuild: add patch to warn on install to /bin or /lib 2024-08-19 15:20:54 -07:00
Clayton Craft 3dd1cb3a26 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-08-19 15:20:54 -07:00
jane400 9f643d77c2 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-08-19 15:20:54 -07:00
jane400 ce4710b1ee 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-08-19 15:20:54 -07:00
Oliver Smith db633133ca 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-08-19 15:20:53 -07:00
Bart Ribbers ad590c99bb community/plasma: upgrade to 6.1.2 (MR 5327)
[ci:skip-vercheck]
Rebased-By: Oliver Smith <ollieparanoid@postmarketos.org>
2024-08-19 15:20:53 -07:00
Clayton Craft 118e05c91e 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-08-19 15:20:53 -07:00
jane400 f40890ab22 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-08-19 15:20:53 -07:00
Clayton Craft 8f416bbcfa 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-08-19 15:20:53 -07:00
Clayton Craft 5147d235b3 systemd/systemd-services: add wireplumber (MR 5142) 2024-08-19 15:20:53 -07:00
Clayton Craft 9a96093d5d 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-08-19 15:20:52 -07:00
Caleb Connolly 14794e9ffb 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-08-19 15:20:52 -07:00
jane400 f2c748916f 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-08-19 15:20:52 -07:00
Clayton Craft 9949a02da7 systemd/systemd-services: Add geoclue, gnome-clocks, iwd, mpris-proxy, mmsd (MR 5204)
[ci:skip-build] already built successfully in CI
2024-08-19 15:20:52 -07:00
Clayton Craft 69afbe93de systemd/gnome-session: upgrade to 46 (MR 5148)
fixes #2855
2024-08-19 15:20:52 -07:00
Dylan Van Assche 6c1ccc5268 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-08-19 15:20:52 -07:00
Clayton Craft 8c6efac6f2 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-08-19 15:20:52 -07:00
Clayton Craft 8a3538712a 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-08-19 15:20:51 -07:00
Clayton Craft a040336f4c systemd/gnome-shell: actually build with systemd support (MR 5147)
This was a total blunder by earlier me...

fixes !5115
2024-08-19 15:20:51 -07:00
Clayton Craft 94b9cd5d01 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-08-19 15:20:51 -07:00
Clayton Craft ace0c43ee7 systemd/gnome-shell: fork to enable systemd support (MR 5115)
fixes #2767

[ci:skip-vercheck]
2024-08-19 15:20:51 -07:00
Clayton Craft 3b489efbbb systemd/mutter: fork to enable systemd support (MR 5115) 2024-08-19 15:20:51 -07:00
Clayton Craft aea1f8591b systemd/gnome-desktop: fork to enable systemd support (MR 5115) 2024-08-19 15:20:51 -07:00
Clayton Craft 2527d9400e 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-08-19 15:20:51 -07:00
Caleb Connolly c23852ce4b systemd/systemd-services: dconf: fix path (MR 5094)
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-08-19 15:20:50 -07:00
Caleb Connolly 477e2d8955 systemd: linux-pam: upgrade to 1.6.0
following Alpine

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-08-19 15:20:50 -07:00
Bart Ribbers 2bfa211005 extra-repos/systemd/kde*: upgrade to latest versions (MR 5068)
[ci:skip-build]: already built successfully in CI
2024-08-19 15:20:50 -07:00
Clayton Craft ae4cb565b4 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-08-19 15:20:50 -07:00
Oliver Smith b78758537c (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-08-19 15:20:50 -07:00
Oliver Smith db047f787b (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-08-19 15:20:50 -07:00
Oliver Smith 8abc06a065 (not for master): CI: disable armhf, riscv64, x86 (MR 5070)
The staging repository isn't being built for these.
2024-08-19 15:20:50 -07:00
Oliver Smith 65d749ef72 systemd: fix "INSERT-REASON-HERE" comments (MR 5070) 2024-08-19 15:20:49 -07:00
Oliver Smith cafbcb9f22 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-08-19 15:20:49 -07:00
Oliver Smith 4773090876 systemd: remove various unreferenced files (MR 5070)
Remove OpenRC specific files that were removed for the systemd-specific
forks.
2024-08-19 15:20:49 -07:00
Oliver Smith e9e76859c1 systemd/mutter-mobile: fix provides= (MR 5070) 2024-08-19 15:20:49 -07:00
Oliver Smith 6b171d333a 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-08-19 15:20:49 -07:00
Oliver Smith 56c2579869 CI: test_kernel: skip linux-pam (MR 5070)
The linux-pam package is not a linux kernel :)
2024-08-19 15:20:49 -07:00
Oliver Smith ba504d7562 CI: directory-structure: add extra-repos/systemd (MR 5070) 2024-08-19 15:20:49 -07:00
Oliver Smith 91b9c3dd66 editorconfig: add networkmanager.rules style (MR 5070)
This is forked from Alpine. Keep the style to not increase the diff.
2024-08-19 15:20:48 -07:00
Bart Ribbers 894b8efc42 extra-repos/systemd/kjournald: new aport 2024-08-19 15:20:48 -07:00
Bart Ribbers 5d04b5f21b extra-repos/systemd/plasma*: add initial systemd Plasma packages 2024-08-19 15:20:48 -07:00
Oliver Smith 9576b67955 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-08-19 15:20:48 -07:00
Oliver Smith 213d38c263 systemd/xorg-server: set !check 2024-08-19 15:20:48 -07:00
Oliver Smith f8859745b2 systemd/gnome-shell-mobile: drop caribou dep
Remove it, like we did with temp/gnome-shell-mobile in pmaports master.
2024-08-19 15:20:48 -07:00
Sam Day 96e8afdde0 systemd-services: add phosh.service (MR 4904) 2024-08-19 15:20:48 -07:00
Oliver Smith 44667f55bb 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-08-19 15:20:47 -07:00
Alexander Martinz 4cf25301be 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-08-19 15:20:47 -07:00
Caleb Connolly e2cc570ff7 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-08-19 15:20:47 -07:00
Caleb Connolly 085cfcf6b8 CHECK: systemd/xorg-server: new aport
Maybe integrates with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-08-19 15:20:47 -07:00
Caleb Connolly ecfa2b5da3 systemd/upower: new aport
Integrates with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-08-19 15:20:47 -07:00
Caleb Connolly b60134cd88 systemd/systemd-services: new aport
A collection of systemd services.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-08-19 15:20:47 -07:00
9675b156cc 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-08-19 15:20:47 -07:00
Caleb Connolly 58d5facd82 systemd/postmarketos-base-systemd: new aport
postmarketOS base package with systemd stuff.
2024-08-19 15:20:46 -07:00
Caleb Connolly d510937c69 systemd/polkit: new aport
Integrates tightly with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-08-19 15:20:46 -07:00
Caleb Connolly e79574202e CHECK: systemd/networkmanager: new aport
Can maybe drop and just package the service file.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-08-19 15:20:46 -07:00
Caleb Connolly 46fc8939ee systemd/mutter-mobile: new aport
Integrates tightly with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-08-19 15:20:46 -07:00
Caleb Connolly 04a3cb5cc2 systemd/multipath-tools: new aport
Builds against systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-08-19 15:20:46 -07:00
Caleb Connolly 83355716e8 systemd/linux-pam-systemd: new aport
integrates with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-08-19 15:20:46 -07:00
Caleb Connolly aac429a5d4 systemd/gnome-shell-mobile: new aport
Integrates tightly with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-08-19 15:20:46 -07:00
Caleb Connolly 4c6f819659 systemd/gnome-settings-daemon: new aport
Integrates tightly with systemd

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-08-19 15:20:45 -07:00
Caleb Connolly 0dae58152d systemd/gnome-session: new aport
Integrates tightly with systemd

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-08-19 15:20:45 -07:00
Caleb Connolly 78fd68dcfa systemd/gnome-keyring: new aport
Integrates tightly with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-08-19 15:20:45 -07:00
Caleb Connolly 951b9d4b77 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-08-19 15:20:45 -07:00
Caleb Connolly 773a4025bb systemd/dbus: new aport
Fork dbus and rebuild it with systemd support.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-08-19 15:20:45 -07:00
Caleb Connolly 1c477cdb9e 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-08-19 15:20:45 -07:00
Caleb Connolly 49abaf9b61 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-08-19 15:20:45 -07:00
Caleb Connolly e122de01df systemd/accountsservice: new aport
Forked from alpine to rebuild with systemd support.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-08-19 15:20:44 -07:00
Caleb Connolly 1a611c1b68 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-08-19 15:20:44 -07:00
Caleb Connolly 51ea120388 temp/gnome-shell-mobile: drop
pmb can't handle multiple versions of a package yet ;P

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-08-19 15:20:44 -07:00
Caleb Connolly 0a3001ba00 temp/mutter-mobile: drop
For systemd version

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-08-19 15:20:44 -07:00
Oliver Smith a05e3c028c pmaports.cfg: add repo:systemd section 2024-08-19 15:20:44 -07:00
151 changed files with 5613 additions and 70 deletions

No files matched your search

+3
View File
@@ -15,6 +15,9 @@ import pmb.helpers.pmaports
def build_strict(packages, arch):
common.run_pmbootstrap(["build_init"])
common.run_pmbootstrap(["config", "mirrors_postmarketos",
"http://mirror.postmarketos.org/postmarketos/staging/systemd/"])
common.run_pmbootstrap(["config", "systemd", "always"])
common.run_pmbootstrap(["--details-to-stdout", "--no-ccache", "build",
"--strict", "--force",
"--arch", arch, ] + list(packages))
+2 -28
View File
@@ -60,34 +60,8 @@ def get_upstream_branch():
:returns: branch name, e.g. "v20.05" """
# Prefer gitlab CI target branch name if it's set (i.e. running in gitlab CI)
if target_branch := os.environ.get("CI_MERGE_REQUEST_TARGET_BRANCH_NAME"):
return target_branch
global cache
if "upstream_branch" in cache:
return cache["upstream_branch"]
# Get channel (e.g. "stable") from pmaports.cfg
# https://postmarketos.org/pmaports.cfg
pmaports_dir = get_pmaports_dir()
pmaports_cfg = configparser.ConfigParser()
pmaports_cfg.read(f"{pmaports_dir}/pmaports.cfg")
channel = pmaports_cfg["pmaports"]["channel"]
# Get branch_pmaports (e.g. "v20.05") from channels.cfg
# https://postmarketos.org/channels.cfg
channels_cfg_str = run_git(["show", "upstream/master:channels.cfg"])
channels_cfg = configparser.ConfigParser()
channels_cfg.read_string(channels_cfg_str)
assert channel in channels_cfg, \
f"Channel '{channel}' from pmaports.cfg in your branch is unknown." \
" This appears to be an old branch, consider recreating your change" \
" on top of master."
ret = channels_cfg[channel]["branch_pmaports"]
cache["upstream_branch"] = ret
return ret
# HACK for master_staging_systemd branch
return "master_staging_systemd"
def get_changed_files(removed=True):
@@ -10,6 +10,7 @@ expected_directories = [
"device/community",
"device/main",
"device/testing",
"extra-repos/systemd",
"main",
"modem",
"non-free",
+3
View File
@@ -22,6 +22,9 @@ def test_aports_kernel(args):
apkbuild = pmb.parse.apkbuild(path)
aport_name = os.path.basename(os.path.dirname(path))
if aport_name == "linux-pam":
continue # This package isn't a linux kernel!
if "pmb:cross-native" not in apkbuild["options"]:
raise RuntimeError(f"{aport_name}: \"pmb:cross-native\" missing in"
" options= line")
+5
View File
@@ -12,3 +12,8 @@ indent_style = tab
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
# Forked from Alpine
[extra-repos/systemd/networkmanager/networkmanager.rules]
indent_style = space
indent_size = 4
-15
View File
@@ -145,11 +145,6 @@ build-x86_64:
script:
- .ci/build-x86_64.sh
build-x86:
extends: .build
script:
- .ci/build-x86.sh
build-aarch64:
extends: .build
tags:
@@ -162,16 +157,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
# We build packages before merging too
@@ -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')
+37
View File
@@ -0,0 +1,37 @@
# Forked from Alpine to remove openrc dependency
pkgname=alpine-base
pkgver=9999
pkgrel=0
pkgdesc="Meta package for minimal alpine base"
url="https://alpinelinux.org"
arch="noarch"
license="MIT"
depends="
alpine-baselayout
alpine-release
apk-tools
busybox
busybox-suid
libc-utils
"
# can't include systemd here, as we wan't to upgrade from alpine's base to our systemd-base while building
subpackages="alpine-release:release"
replaces="alpine-baselayout"
options="pmb:strict !check"
source="rc-update"
package() {
install -Dm755 rc-update "$pkgdir"/usr/bin/rc-update
}
release() {
depends="alpine-keys"
pkgdesc="Alpine release data"
mkdir -p "$subpkgdir"
}
sha512sums="
18227112a559e2b90c9a3cf4eb16762595370130c88cb7b7d1a0fda2ba894918802dd084f7c505f8eb379f078d4c2ed2e384f03d16ff25075acdb31ab0186813 rc-update
"
+41
View File
@@ -0,0 +1,41 @@
#!/bin/sh
# Dummy to make post-install scripts work
# Will fail in chroot for sysV compat services
# FIXME: FIXME: FIXME: FIXME: FIXME:
# Get the last argument to rc-update, it's
instruction="enable"
for service; do
case "$service" in
"rc-update")
;;
"-q")
;;
"add")
instruction="enable"
;;
"del")
instruction="disable"
;;
*)
break
;;
esac
done
case "$service" in
"networkmanager")
service="NetworkManager"
;;
"modemmanager")
service="ModemManager"
;;
esac
# The service files might be missing due to how apk orders the install
# so we record them all to let systemd-services.trigger enable them
# at the end of installation
if ! systemctl $instruction $service; then
echo "$instruction $service" >> /run/rc-update.failed
fi
+101
View File
@@ -0,0 +1,101 @@
# Forked from Alpine to support usr-merge:
# https://gitlab.alpinelinux.org/alpine/apk-tools/-/merge_requests/155
pkgname=apk-tools
pkgver=9992.14
_pkgver=2.14.0
pkgrel=8
pkgdesc="Alpine Package Keeper - package manager for alpine"
arch="all"
url="https://gitlab.alpinelinux.org/alpine/apk-tools"
license="GPL-2.0-only"
subpackages="$pkgname-dbg $pkgname-dev $pkgname-static $pkgname-doc $pkgname-zsh-completion"
# Musl 1.2 introduced new ABI for time64 => upgrading apk-tools
# while staying on musl <1.2 causes missing symbols
# starting with musl 1.2.3_git (pre 1.2.3), we added DT_RELR
# it is possible for old systems to upgrade, and apk-tools would upgrade first,
# which would upgrade to a binary that cannot run until musl is upgraded.
# forcing this constraint makes apk upgrade musl as part of the 'critical' transaction,
# and update musl first.
depends="musl>=1.2.3_git20230424"
makedepends_build="openssl>3 lua5.3 lua5.3-lzlib scdoc"
makedepends_host="zlib-dev openssl-dev zlib-static openssl-libs-static linux-headers"
makedepends="$makedepends_build $makedepends_host lua-dev"
_lua="no"
if [ "$CBUILD" = "$CHOST" ]; then
_lua="lua5.3"
subpackages="$subpackages $_lua-apk:luaapk"
makedepends="$makedepends $_lua-dev"
# ca-certificates-bundle needed for https certificate validation
depends="$depends ca-certificates-bundle"
fi
_commit="45fb2099b5a8568c5b60539e59dc0b35b1867731"
source="https://gitlab.com/postmarketOS/apk-tools/-/archive/$_commit/apk-tools-$_commit.tar.gz
_apk
"
builddir="$srcdir/$pkgname-$_commit"
# secfixes:
# 2.12.6-r0:
# - CVE-2021-36159
# 2.12.5-r0:
# - CVE-2021-30139
prepare() {
default_prepare
sed -i -e 's:-Werror::' Make.rules
echo "FULL_VERSION=$_pkgver-r$pkgrel" > config.mk
}
build() {
make LUA="$_lua"
make static LUA="$_lua"
}
check() {
make check LUA="$_lua"
}
package() {
make DESTDIR="$pkgdir" SBINDIR="/usr/bin" LIBDIR="/usr/lib" LUA="$_lua" install
install -d "$pkgdir"/var/lib/apk \
"$pkgdir"/lib/apk/exec \
"$pkgdir"/etc/apk/keys \
"$pkgdir"/etc/apk/protected_paths.d
install -Dm644 "$srcdir"/_apk "$pkgdir"/usr/share/zsh/site-functions/_apk
rm -r "$pkgdir"/usr/share/doc
}
static() {
pkgdesc="Alpine Package Keeper - static binary"
install -Dm755 "$builddir"/src/apk.static \
"$subpkgdir"/sbin/apk.static
# lets sign the static binary so it can be vefified from distros
# that does not have apk-tools
local abuild_conf=${ABUILD_CONF:-"/etc/abuild.conf"}
local abuild_home=${ABUILD_USERDIR:-"$HOME/.abuild"}
local abuild_userconf=${ABUILD_USERCONF:-"$abuild_home/abuild.conf"}
[ -f "$abuild_userconf" ] && . "$abuild_userconf"
local privkey="$PACKAGER_PRIVKEY"
local pubkey=${PACKAGER_PUBKEY:-"$privkey.pub"}
local keyname=${pubkey##*/}
${CROSS_COMPILE}strip "$subpkgdir"/sbin/apk.static
openssl dgst -sha1 -sign "$privkey" \
-out "$subpkgdir"/sbin/apk.static.SIGN.RSA.$keyname \
"$subpkgdir"/sbin/apk.static
}
luaapk() {
pkgdesc="Lua module for apk-tools"
mkdir -p "$subpkgdir"/usr/
mv "$pkgdir"/usr/lib "$subpkgdir"/usr/lib/
}
sha512sums="
01a20fe4474d0d82fc210ae56898976776ee39f8a06fd3e548e6df9afe6455cd157dbe36ab18a7545619a4344eaf5b1debe5e97673a601b9af89f3f00e3e07b0 apk-tools-45fb2099b5a8568c5b60539e59dc0b35b1867731.tar.gz
7870676720f5007eee9482786e02246f8e3474afb90e76c9c83aebe914747a8e007b5d2eed6441933f4922024b3f0664db270f21981ad6c2db877a110b0cd79e _apk
"
+268
View File
@@ -0,0 +1,268 @@
#compdef apk
function _apk {
local -a global_opts=(
"(-h --help)"{-h,--help}"[Print help information]"
"(-i --interactive)"{-i,--interactive}"[Ask confirmation before performing certain operations]"
"(-p --root)"{-p,--root}"[Manage file system at ROOT]"
"(-q --quiet)"{-q,--quiet}"[Print less information]"
"(-U --update-cache)"{-U,--update-cache}"[Alias for '--cache-max-age 1']"
"(-v --verbose)"{-v,--verbose}"[Print more information]"
"(-V --version)"{-V,--version}"[Print program version and exit]"
"(-X --repository)"{-X,--repository}"[Specify additional package repository]:repository:_host"
"--allow-untrusted[Install packages with untrusted signature or no signature]"
"--arch[Temporarily override architecture]:arch:(armhf mips64 s390x x86_64 x86 aarch64 ppc64le armv7 riscv64)"
"--cache-dir[Temporarily override the cache directory]:directory:_dir_list"
"--cache-max-age[Maximum age for index in cache before it's refreshed]:minutes"
"--force-binary-stdout[Continue even if binary data will be printed to the terminal]"
"--force-broken-world[Continue even if world cannot be satisfied]"
"--force-non-repository[Continue even if packages may be lost on reboot]"
"--force-old-apk[Continue even if packages use unsupported features]"
"--force-overwrite[Overwrite files in other packages]"
"--force-refresh[Do not use cached files]"
"--keys-dir[Override directory of trusted keys]:directory:_dir_list"
"--no-cache[Do not use any local cache path]"
"--no-network[Do not use the network]"
"--no-progress[Disable progress bar even for TTYs]"
"--print-arch[Print default arch and exit]"
"--progress[Show progress]"
"--progress-fd[Write progress to the specified file descriptor]:file descriptor"
"--purge[Delete modified configuration files or uninstalled packages from cache]"
"--repositories-file[Override system repositories]:repository file:_files"
"--wait[Wait to get an exclusive repository lock before failing]:seconds"
)
local -a commit_opts=(
"(-s --simulate)"{-s,--simulate}"[Simulate the requested operation without making any changes]"
"--clean-protected[Do not create .apk-new files in configuration directories]"
"--overlay-from-stdin[Read list of overlay files from stdin]"
"--no-scripts[Do not execute any scripts]"
"--no-commit-hooks[Skip pre/post hook scripts]"
"--initramfs-diskless-boot[Enables selected force options, disables commit hooks and more]"
)
local -a latest_opt=("(-l --latest)"{-l,--latest}"[Always choose the latest package by version]")
local -a upgrade_opt=("(-u --upgrade)"{-u,--upgrade}"[Upgrade packages and it's dependencies]")
local context state state_descr line
typeset -A opt_args
local curcontext="$curcontext"
local ret=1
function _ccache_apk_world { [[ "$1" -ot /etc/apk/world ]] }
function _ccache_apk_avail {
for i in /var/cache/apk/APKINDEX.*; do
[[ "$1" -ot "$i" ]] && return
done
}
function _apk_available_pkgs {
local -a _apk_available_packs
zstyle ":completion:${curcontext}:" cache-policy _ccache_apk_avail
local IFS=$'\n'
if _cache_invalid apk_index_packages_available || ! _retrieve_cache apk_index_packages_available; then
_apk_available_packs=(${${$(/sbin/apk list -a 2>/dev/null)%% *}%-*-r[[:digit:]]*})
_store_cache apk_index_packages_available _apk_available_packs
fi
_describe 'available packages' _apk_available_packs
}
function _apk_installed_pkgs {
local -a _apk_installed_packs
zstyle ":completion:${curcontext}:" cache-policy _ccache_apk_world
local IFS=$'\n'
if _cache_invalid apk_index_packages_installed || ! _retrieve_cache apk_index_packages_installed; then
_apk_installed_packs=(${${$(/sbin/apk list -I 2>/dev/null)%% *}%-*-r[[:digit:]]*})
_store_cache apk_index_packages_installed _apk_installed_packs
fi
_describe 'installed packages' _apk_installed_packs
}
function _apk_packages {
_alternative 'repo:available packages:_apk_available_pkgs' 'localpkgs:local packages:_files -g "*.apk"'
}
function _apk_cache {
local -a cache_subcmds=(
"clean:Remove package files which are no longer necessary"
"download:Fetch package files from the repositories and store them in the cache"
"sync:Clean and Download"
)
_describe 'subcommand' cache_subcmds
}
function _apk_subcmds {
local -a cmds=(
"add:Add packages to world and commit changes"
"del:Remove packages from world and commit changes"
"fix:Fix, reinstall or upgrade packages without modifying world"
"update:Update repository indexes"
"upgrade:Install upgrades available from repositories"
"cache:Manage the local package cache"
"info:Give detailed information about packages or repositories"
"list:List packages matching a pattern or other criteria"
"dot:Render dependencies as graphviz graphs"
"policy:Show repository policy for packages"
"search:Search for packages by name or description"
"index:Create repository index file from packages"
"fetch:Download packages from global repositories to a local directory"
"manifest:Show checksums of package contents"
"verify:Verify package integrity and signature"
"audit:Audit system for changes"
"stats:Show statistics about repositories and installations"
"version:Compare package versions or perform tests on version strings"
)
_describe 'subcommand' cmds
}
local -a completion_spec=($global_opts ':subcommand:_apk_subcmds')
case ${${words:#-*}[2]} in
(add)
completion_spec+=(
$commit_opts \
$latest_opt \
$upgrade_opt \
"--initdb[Initialize a new package database]" \
"(-t --virtual)"{-t,--virtual}"[Create virtual package with given dependencies]" \
"--no-chown[Do not change file owner or group]" \
"*:package:_apk_packages"
)
;;
(del)
completion_spec+=(
$commit_opts \
"(-r --rdepends)"{-r,--rdepends}"[Recursively delete all top-level reverse dependencies]" \
"*:installed package:_apk_installed_pkgs"
)
;;
(fix)
completion_spec+=(
$commit_opts \
"(-d --depends)"{-d,--depends}"[Fix dependencies of specified packages]" \
"(-r --reinstall)"{-r,--reinstall}"[Reinstall packages]" \
"(-u --upgrade)"{-u,--upgrade}"[Upgrade if an upgrade is available and does not break dependencies]" \
"(-x --xattr)"{-x,--xattr}"[Fix packages with broken xattrs]" \
"--directory-permissions[Reset all directory permissions]" \
"*:package:_apk_packages"
)
;;
(update) completion_spec+=($commit_opts);;
(upgrade)
completion_spec+=(
$commit_opts \
$latest_opt \
"(-a --available)"{-a,--available}"[Reset all packages to versions available from current repositories]" \
"--ignore[Upgrade all other packages than the ones listed]" \
"--no-self-upgrade[Do not do an early upgrade of the 'apk-tools' package]" \
"--prune[Remove packages which are no longer available from any configured repository]" \
"--self-upgrade-only[Only perform a self-upgrade of the 'apk-tools' package]" \
"*:package:_apk_packages"
)
;;
(cache)
completion_spec+=(
$latest_opt \
$upgrade_opt \
'2:subcommand:_apk_cache'
)
;;
(info)
completion_spec+=(
"(-a --all)"{-a,--all}"[List all information known about the package]" \
"(-d --description)"{-d,--descripton}"[Print the package description]" \
"(-e --installed)"{-e,--installed}"[Check package installed status]" \
"(-L --contents)"{-L,--contents}"[List files included in the package]" \
"(-P --provides)"{-P,--provides}"[List what the package provides]" \
"(-r --rdepends)"{-r,--rdepends}"[List reverse dependencies of the package]" \
"(-R --depends)"{-R,--depends}"[List the dependencies of the package]" \
"(-s --size)"{-s,--size}"[Print the package's installed size]" \
"(-w --webpage)"{-w,--webpage}"[Print the URL for the package's upstream webpage]" \
"(-W --who-owns)"{-W,--who-owns}"[Print the package which owns the specified file]:file:_files" \
"(-i --install-if)"{-i,--install-if}"[List the package's install_if rule]" \
"--license[Print the package SPDX license identifier]" \
"--replaces[List the other packages for which this package is marked as a replacement]" \
"(-I --rinstall-if)"{-I,--rinstall-if}"[List other packages whose install_if rules refer to this package]" \
"--triggers[Print active triggers for the package]" \
"*:package:_apk_packages"
)
;;
(list)
completion_spec+=(
"(-I --installed)"{-I,--installed}"[Consider only installed packages]" \
"(-O --orphaned)"{-O,--orphaned}"[Consider only orphaned packages]" \
"(-a --available)"{-a,--available}"[Consider only available packages]" \
"(-u --upgradable --upgradeable)"{-u,--upgradable,--upgradeable}"[Consider only upgradable packages]" \
"(-o --origin)"{-o,--origin}"[List packages by origin]" \
"(-d --depends)"{-d,--depends}"[List packages by dependency]" \
"(-P --providers)"{-P,--providers}"[List packages by provider]" \
"*:pattern"
)
;;
(dot)
completion_spec+=(
"--errors[Consider only packages with errors]" \
"--installed[Consider only installed packages]"
)
;;
(index)
completion_spec+=(
"(-d --description)"{-d,--description}"[Add a description to the index]:description" \
"(-o --output)"{-o,--output}"[Output generated index to file]:output:_files" \
"(-x --index)"{-x,--index}"[Read an existing index to speed up the creation of the new index]" \
"--no-warnings[Disable warnings about missing dependencies]" \
"--rewrite-arch[Set all package's architecture to arch]:arch:(armhf mips64 s390x x86_64 x86 aarch64 ppc64le armv7 riscv64)" \
"*:package:_apk_packages"
)
;;
(fetch)
completion_spec+=(
"(-l --link)"{-l,--link}"[Create hard links if possible]" \
"(-o --output)"{-o,--output}"[Where to write the downloaded files]:directory:_dir_list" \
"(-r --recursive)"{-r,--recursive}"[Fetch packages and all of their dependencies]" \
"(-s --stdout)"{-s,--stdout}"[Dump the .apk file(s) to stdout]" \
"--simulate[Simulate the requested operation without making any changes]" \
"--url[Print the full URL for downloaded packages]" \
"*:package:_apk_packages"
)
;;
(manifest) completion_spec+=("*:package:_apk_packages");;
(verify) completion_spec+=("*:package:_apk_packages");;
(audit)
completion_spec+=(
"--backup[Audit configuration files only (default)]" \
"--check-permissions[Check file permissions too]" \
"--packages[Print only the packages with changed files]" \
"--system[Audit all system files]" \
"(-r --recursive)"{-r,--recursive}"[Descent into directories and audit them as well]" \
"*:files:_files"
)
;;
(version)
completion_spec+=(
"(-a --all)"{-a,--all}"[Consider packages from all repository tags]" \
"(-c --check)"{-c,--check}"[Check versions for validity]:*: " \
"(-I --indexes)"{-I,--indexes}"[Print the version and description for each repository's index]:*: " \
"(-l --limit)"{-l,--limit}"[Limit to packages with output matching given operand]:operand:('>' '=' '<' '>=' '<=')" \
"(-t --test)"{-t,--test}"[Compare two version strings]:*: " \
"*:package:_apk_packages"
)
;;
(policy) completion_spec+=("*:package:_apk_packages");;
(search)
completion_spec+=(
"(-a --all)"{-a,--all}"[Print all matching package versions]" \
"(-d --description)"{-d,--description}"[Search in description as well]" \
"(-e -x --exact)"{-e,-x,--exact}"[Match package names exactly]" \
"--has-origin[Match by package origin]" \
"(-o --origin)"{-o,--origin}"[Print base package name]" \
"(-r --rdepends)"{-r,--rdepends}"[Print reverse dependencies]" \
"*:package:_apk_packages"
)
;;
esac
_arguments -C -s $completion_spec && ret=0
return ret
}
+109
View File
@@ -0,0 +1,109 @@
# Forked from Alpine to enable systemd
pkgname=dbus
pkgver=9991.14.10
_pkgver=1.14.10
pkgrel=2
pkgdesc="Freedesktop.org message bus system"
url="https://www.freedesktop.org/Software/dbus"
arch="all"
license="AFL-2.1 OR GPL-2.0-or-later"
depends_dev="util-linux-dev"
makedepends="
$depends_dev
expat-dev
glib-dev
libsm-dev
libx11-dev
meson
systemd-dev
xmlto
libcap-getcap
"
pkggroups="messagebus"
provider_priority=1
install="$pkgname.pre-install $pkgname.post-install"
triggers="$pkgname.trigger=/usr/share/dbus-1/system.d"
options="!check" # Borked in pmbootstrap...
subpackages="
$pkgname-daemon-launch-helper:launchhelper
$pkgname-dev
$pkgname-doc
$pkgname-libs
$pkgname-x11
$pkgname-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,4 @@
#!/bin/sh
# Don't populate this, we want systemd-firstboot to do it instead.
exec dbus-uuidgen --ensure=/etc/machine-id
@@ -0,0 +1,6 @@
#!/bin/sh
addgroup -S messagebus 2>/dev/null
adduser -S -D -H -h /dev/null -s /sbin/nologin -G messagebus -g messagebus messagebus 2>/dev/null
exit 0
+4
View File
@@ -0,0 +1,4 @@
#!/bin/sh
dbus-send --system --type=method_call --dest=org.freedesktop.DBus / \
org.freedesktop.DBUS.ReloadConfig >/dev/null 2>&1 || :
@@ -0,0 +1,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
+84
View File
@@ -0,0 +1,84 @@
# Forked from Alpine for systemd support
pkgname=gdm
pkgver=99946.2
_pkgver=46.2
pkgrel=0
pkgdesc="GNOME display manager"
url="https://wiki.gnome.org/Projects/GDM"
# blocked by gnome-shell
arch="all !armhf !s390x"
license="GPL-2.0-or-later"
depends="
dbus
gnome-session
gnome-settings-daemon
gnome-shell
gsettings-desktop-schemas
linux-pam>=1.4
xrdb
xwayland
"
makedepends="
accountsservice-dev
dconf
eudev-dev
gettext
glib-dev
gtk+3.0-dev
itstool
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
}
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,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,69 @@
# Forked from Alpine
# systemd unit activation
pkgname=gnome-keyring
pkgver=99946.1
_pkgver=46.1
pkgrel=1
pkgdesc="GNOME keyring"
url="https://wiki.gnome.org//Projects/GnomeKeyring"
arch="all"
license="GPL-2.0-only LGPL-2.0-only"
# the gcr binaries are needed for things to open the keyring via libsecret
depends="gcr"
makedepends="
autoconf
automake
gcr-dev
gobject-introspection-dev
gtk+3.0-dev
gtk-doc
intltool
libcap-ng-dev
libgcrypt-dev
libxslt
linux-pam-dev
openssh-client
systemd-dev
"
checkdepends="
dbus-x11
python3
xvfb-run
"
provides="dbus:org.freedesktop.Secrets"
# Highest priority of the bunch since it has the least deps
provider_priority=500
options="!check" # Failing tests on 32-bit architectures
subpackages="$pkgname-lang $pkgname-doc"
source="https://download.gnome.org/sources/gnome-keyring/${_pkgver%.*}/gnome-keyring-$_pkgver.tar.xz
0001-build-Use-p11_module_configs-as-default-pkcs11-confi.patch"
builddir="$srcdir/gnome-keyring-$_pkgver"
build() {
export LDFLAGS="$LDFLAGS -lintl"
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
}
sha512sums="
82d9685a87b43c6aa1f377114af389675836df4b5c26d43d6843f1dfac6ae0eb771a4ac67f71e5a2f5b88cbdbb5300d63bfcfd8087ee60463a9579d242c6b884 gnome-keyring-46.1.tar.xz
53e04eade3579fe5d65d11d6cde6c5fdffc9f73a3a7f372b1f4dbc7437212e753123c12854d3a5a7a22f3beb1b00604eec0371615ceb0f7024cb38cf35e33065 0001-build-Use-p11_module_configs-as-default-pkcs11-confi.patch
"
@@ -0,0 +1,54 @@
# Forked from Alpine for systemd
pkgname=gnome-session
pkgver=99946.0
_pkgver=46.0
pkgrel=0
pkgdesc="GNOME session manager"
url="https://gitlab.gnome.org/GNOME/gnome-session"
arch="all"
license="GPL-2.0-or-later"
depends="
alsa-plugins-pulse
bash
dconf
polkit
"
makedepends="
docbook-xml
systemd-dev
gnome-desktop-dev
gnome-settings-daemon-dev
gtk+3.0-dev
itstool
json-glib-dev
libsm-dev
libxml2-utils
libxslt
meson
upower-dev
xmlto
"
options="!check" #no tests
subpackages="$pkgname-lang $pkgname-doc"
source="https://download.gnome.org/sources/gnome-session/${_pkgver%%.*}/gnome-session-$_pkgver.tar.xz"
builddir="$srcdir/gnome-session-$_pkgver"
build() {
abuild-meson \
-Db_lto=true \
. output
meson compile -C output
}
check() {
meson test --no-rebuild --print-errorlogs -C output
}
package() {
DESTDIR="$pkgdir" meson install --no-rebuild -C output
rm -rf "$pkgdir"/DELETEME
}
sha512sums="
2187b8ae4ac4ec728283c5dc03edba6472864a704f6c6cd7a3e962515a3925d3a8438f7f89855dd082d2c013868da81e16da280c70b0e07537c8e431301b4bd8 gnome-session-46.0.tar.xz
"
@@ -0,0 +1,75 @@
# Forked from Alpine for systemd support
pkgname=gnome-settings-daemon
pkgver=99946.0
_pkgver=46.0
pkgrel=0
pkgdesc="GNOME settings daemon"
url="https://gitlab.gnome.org/GNOME/gnome-settings-daemon"
arch="all"
options="!check" # tests fail on builders
license="GPL-2.0-only AND LGPL-2.1-only"
depends="pulseaudio"
depends_dev="
alsa-lib-dev
colord-dev
cups-dev
geoclue-dev
geocode-glib-dev>=3.26.4-r1
lcms2-dev
libcanberra-dev
libgweather4-dev
libnotify-dev
libwacom-dev
modemmanager-dev
networkmanager-dev
nss-dev
pango-dev
polkit-dev
pulseaudio-dev
upower-dev
"
makedepends="
$depends_dev
coreutils
gcr4-dev
glib-dev
gnome-desktop-dev
gsettings-desktop-schemas-dev
gtk+3.0-dev
libxml2-utils
meson
"
checkdepends="
gnome-session
gnome-shell
py3-dbusmock
py3-gobject3
umockdev-dev
"
subpackages="$pkgname-dev $pkgname-lang"
source="https://download.gnome.org/sources/gnome-settings-daemon/${_pkgver%.*}/gnome-settings-daemon-$_pkgver.tar.xz
dont-use-logind-for-brightness-changing.patch
"
builddir="$srcdir/gnome-settings-daemon-$_pkgver"
build() {
abuild-meson \
-Db_lto=true \
-Dsystemd=true \
. output
meson compile -C output
}
check() {
meson test --no-rebuild --print-errorlogs -C output
}
package() {
DESTDIR="$pkgdir" meson install --no-rebuild -C output
}
sha512sums="
445e9ee4709af7a67ded55733d4041357995fe9746bcf00fa81f52f6dddc2071e7114e9bf836bcf464bc0f04da3b3c08be04c1942963c1910d1a14b4434f6633 gnome-settings-daemon-46.0.tar.xz
fd80b939a14bbc5dd502afda0bc6511f2d9c045018680e5ae7fbec32efadb564c5060ec91d374330f246d70571aad5979ce8c175175a29b5ccec3443c8286dc6 dont-use-logind-for-brightness-changing.patch
"
@@ -0,0 +1,16 @@
Brightness control is currently broken with elogind, so fall back to
the previous codepath which doesn't use elogind.
See https://github.com/elogind/elogind/issues/158
diff --git a/plugins/power/gsd-backlight.c b/plugins/power/gsd-backlight.c
index ca5f272..59048d9 100644
--- a/plugins/power/gsd-backlight.c
+++ b/plugins/power/gsd-backlight.c
@@ -482,7 +482,7 @@ gsd_backlight_set_brightness_val_async (GsdBacklight *backlight,
if (backlight->udev_device != NULL) {
BacklightHelperData *task_data;
- if (backlight->logind_proxy) {
+ if (0) {
g_dbus_proxy_call (backlight->logind_proxy,
"SetBrightness",
g_variant_new ("(ssu)",
@@ -1,7 +1,8 @@
# Forked from Alpine to add phone adaptivity patches
# Forked from Alpine to add phone adaptivity patches and systemd!
pkgname=gnome-shell-mobile
pkgver=46
pkgver=99945_git20240610
_pkgver=45_git20240610
pkgrel=0
pkgdesc="GNOME shell"
url="https://wiki.gnome.org/Projects/GnomeShell"
@@ -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>=45_git20230905
networkmanager-dev
pipewire-dev
polkit-dev
@@ -72,16 +74,24 @@ subpackages="
$pkgname-schemas::noarch
gnome-mobile-extensions-app:extensions_app:noarch
"
_commit="46-mobile-0"
_gvc_commit="91f3f41490666a526ed78af744507d7ee1134323"
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"
builddir="$srcdir/gnome-shell-mobile-$_commit"
_commit="3a352e95bf540d663f35554ee2de5dcd1ff408bc"
_gvc_commit="8e7a5a4c3e51007ce6579292642517e3d3eb9c50"
source="mobile-shell-$_commit.tar.gz::https://gitlab.gnome.org/verdre/mobile-shell/-/archive/$_commit/mobile-shell-$_commit.tar.gz
libgnome-volume-control-$_gvc_commit.tar.gz::https://gitlab.gnome.org/GNOME/libgnome-volume-control/-/archive/$_gvc_commit/gnome-shell-$_gvc_commit.tar.gz
disable-telepathy-integration.patch
gsh.patch
gnome-shell-uclamp.sh
uclamp-override.conf
"
builddir="$srcdir/mobile-shell-$_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"
@@ -92,7 +102,6 @@ prepare() {
build() {
abuild-meson \
-Dsystemd=false \
-Dtests=false \
. output
meson compile ${JOBS:+-j ${JOBS}} -C output
@@ -134,10 +143,17 @@ package() {
# owned by postmarketos-hidden-desktop-entries
rm $pkgdir/usr/share/applications/org.gnome.Extensions.desktop
install -Dm755 "$srcdir/gnome-shell-uclamp.sh" "$pkgdir/usr/libexec/gnome-shell-uclamp"
install -Dm644 "$srcdir/uclamp-override.conf" \
"$pkgdir/etc/systemd/user/org.gnome.Shell@.service.d/override.conf"
}
sha512sums="
56ab61732f7d477af37347f2c1e5070ed4eab6b1e020f94014fdaf2e3c1d002d43830d28ff8227a9332b5f3be82eed9901fee4afce10c0c40e5e3fbff3d2e6b8 gnome-shell-mobile-46-mobile-0.tar.gz
c832e99bc56ae586734d468e4e1a17f107acc76076d07ba45c46359ba751d1e6abe6108e43730fdf1dd18153cfa9f374e3e81118ae4902f0974d5b5f54f8276b libgnome-volume-control-91f3f41490666a526ed78af744507d7ee1134323.tar.gz
ae4ac679bacd35948b44068e5a70407f473bd96986ee126abb1bdf066db5cbc2087a3ffae0b390286689cacbe8325870fd43663ba39f4f7543216e02bf083934 gsh.patch
036961581d1837fbd224448cf901780988264e8f0a0493607fc7c9649aec732f48e2a217d603eda744c10925865e3f8eb624c6519bb5ba63e00298f983959b74 mobile-shell-3a352e95bf540d663f35554ee2de5dcd1ff408bc.tar.gz
ebc6985afbda5ddebcda44d8b6732a9abc2d7249aff3adf7a76a90aa681590f830dcf2e5f3534a624adc32d1f0445e261ee149d65c221f733e0c33e0690a004d libgnome-volume-control-8e7a5a4c3e51007ce6579292642517e3d3eb9c50.tar.gz
2ca70115fab957fdf276b7f0772786e1afd56b0b22bcfd92f5b5f1d29676dc97c19cfb079434d0dbf7b459f1d133dbd8d1faa0d88f7b94846040a23856f951f8 disable-telepathy-integration.patch
dba79b94ab4bcf0db51aa4a19c5fb52f9dae05909fe13531fe9dc06d9db334ac3328bd4040484eac8ef851057ee471a28d86800aa2ae82eec7274f5f79b9146a gsh.patch
545d584307ee90894525a75b7c2b99c4e05d7f903dd2181509ca0c04c5711b50a539c2f1263a8dfe26380cf121817ff2eaecac38f4fc2d0bdde5629d73f7ee0c gnome-shell-uclamp.sh
71ac6a8694ddcda211ff4060a55c374ae5b8eb7c3cd2a057b6eccac2c83b87bac18e09fda1d572054357d7f2e6e57b79f80a6a3cebeca75335931e1676011055 uclamp-override.conf
"
@@ -0,0 +1,17 @@
Upstream: No, this is on our telepathy being broken somehow.
Reason: This is a hotfix to not break everyone's GNOME Session over this.
Issue opened, see: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2733
diff --git a/js/ui/components/telepathyClient.js b/js/ui/components/telepathyClient.js
index b4af438..109d324 100644
--- a/js/ui/components/telepathyClient.js
+++ b/js/ui/components/telepathyClient.js
@@ -18,7 +18,7 @@ const MessageTray = imports.ui.messageTray;
const Params = imports.misc.params;
const Util = imports.misc.util;
-const HAVE_TP = Tp != null && Tpl != null;
+const HAVE_TP = false;
// See Notification.appendMessage
var SCROLLBACK_IMMEDIATE_TIME = 3 * 60; // 3 minutes
@@ -0,0 +1,6 @@
#!/usr/bin/sh
sleep 5
uclampset --pid $(pidof gnome-shell) -m 900 2>&1 >/dev/null || true
echo "Configured gnome-shell uclamp..."
@@ -0,0 +1,27 @@
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
@@ -19,6 +19,10 @@
#include <atk-bridge.h>
#include <link.h>
+#ifdef HAVE_EXE_INTROSPECTION
+#undef HAVE_EXE_INTROSPECTION
+#endif
+
#ifdef HAVE_EXE_INTROSPECTION
#include <elf.h>
#endif
@@ -0,0 +1,2 @@
[Service]
ExecStartPost=-/usr/libexec/gnome-shell-uclamp
+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.
@@ -0,0 +1,54 @@
# Forked from Alpine to add systemd!
pkgname=kactivitymanagerd
pkgver=99996.1.3
_pkgver=6.1.3
pkgrel=1
pkgdesc="System service to manage user's activities and track the usage patterns"
# armhf blocked by qt6-qtdeclarative
arch="all !armhf !armv7"
url="https://kde.org/plasma-desktop/"
license="GPL-2.0-only OR GPL-3.0-only"
depends="qt6-qtbase-sqlite"
makedepends="
boost-dev
extra-cmake-modules
kconfig-dev
kcoreaddons-dev
kdbusaddons-dev
kglobalaccel-dev
ki18n-dev
kio-dev
kwindowsystem-dev
kxmlgui-dev
qt6-qtbase-dev
samurai
"
case "$pkgver" in
*.90*) _rel=unstable;;
*) _rel=stable;;
esac
subpackages="$pkgname-lang"
_repo_url="https://invent.kde.org/plasma/kactivitymanagerd.git"
source="https://download.kde.org/stable/plasma/$_pkgver/kactivitymanagerd-$_pkgver.tar.xz"
builddir="$srcdir/$pkgname-$_pkgver"
build() {
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib
cmake --build build
}
check() {
ctest --test-dir build --output-on-failure
}
package() {
DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
918796c5e9358284ef6442fcd3e9f79091029c2b864c87590feb40a41d0200181e201d9cae56fed71f2e28b13ee193ef2f1b4dc55965c9588bad7257a35c705f kactivitymanagerd-6.1.3.tar.xz
"
+50
View File
@@ -0,0 +1,50 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
pkgname=kjournald
pkgver=24.05.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="
850e6ab4f9cdd9f38563858db3507523af5918b111176a743a0285c19cf67dcf53b3d70bdd6397d22c8f54f5ddba42ba53b669398aa7323caa2947c382879dea kjournald-24.05.1.tar.xz
"
@@ -0,0 +1,82 @@
# Forked from Alpine to add systemd!
pkgname=kscreenlocker
pkgver=99996.1.3
_pkgver=6.1.3
pkgrel=1
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="
3876e043663f0db9bc36ae2214e9bf11b2723320ae4b1f18d679f9bcab8a0f43ffed9cd5f339e3e52822151699293ebacebfc0d13e1b84e1bbc0b08da9bb345a kscreenlocker-6.1.3.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.3
_pkgver=6.1.3
pkgrel=1
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"
_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="
bf9ef704794e9519207ba0cf474fc0cd53e35c5257a74593ceb5e416814a845ccff1328a20377093ae72dba2cdafd7a801123837012d38fbeefe7c28a80e60c6 kwin-6.1.3.tar.xz
"
+93
View File
@@ -0,0 +1,93 @@
# Forked from Alpine enable systemd
# MODIFIED base-sessionl.pamd for systemd!
pkgname=linux-pam
# MUST be kept in sync to avoid accidentally pulling in the alpine version
# we hard depend on this exact version in postmarketos-base-systemd. When updating
# the package here it must also be updated in postmarketos-base-systemd.
pkgver=1.6.0
pkgrel=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-doc $pkgname-systemd"
source="
https://github.com/linux-pam/linux-pam/releases/download/v$pkgver/Linux-PAM-$pkgver.tar.xz
pam_namespace.patch
base-auth.pamd
base-account.pamd
base-password.pamd
base-session.pamd
base-session-noninteractive.pamd
other.pamd
login.pamd
su.pamd
"
builddir="$srcdir"/Linux-PAM-$pkgver
# secfixes:
# 1.5.1-r0:
# - CVE-2020-27780
build() {
./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--libdir=/usr/lib \
--sysconfdir=/etc \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--with-systemdunitdir=/usr/lib/systemd/system \
--localstatedir=/var \
--disable-nls \
--disable-db
make
}
package() {
make DESTDIR="$pkgdir" install
# install our pam.d files
install -Dm644 "$srcdir"/base-auth.pamd "$pkgdir"/etc/pam.d/base-auth
install -Dm644 "$srcdir"/base-password.pamd "$pkgdir"/etc/pam.d/base-password
install -Dm644 "$srcdir"/base-account.pamd "$pkgdir"/etc/pam.d/base-account
install -Dm644 "$srcdir"/base-session.pamd "$pkgdir"/etc/pam.d/base-session
install -Dm644 "$srcdir"/base-session-noninteractive.pamd \
"$pkgdir"/etc/pam.d/base-session-noninteractive
install -Dm644 "$srcdir"/other.pamd "$pkgdir"/etc/pam.d/other
install -Dm644 "$srcdir"/login.pamd "$pkgdir"/etc/pam.d/login
install -Dm644 "$srcdir"/su.pamd "$pkgdir"/etc/pam.d/su
# make "unix_chkpwd" shadow group and enable g+s
chgrp shadow "$pkgdir"/sbin/unix_chkpwd \
&& chmod g+s "$pkgdir"/sbin/unix_chkpwd
}
sha512sums="
7af07edb71a79275ad7f7f3bd82a4619b12a23a10f5fb2e5d810c6aadb718fd739ed17ca336c3420945d48d326e91874d8e45cfc5a4bf01a0cc5f9663bd2a0ad Linux-PAM-1.6.0.tar.xz
e9593ffb9bc29368c8e12fef770562bffd84001053bee5c4b0b859d4b39c675a13c1f9b689c619b78f61eee23a152e5a64ece4cca81d4306049a9108167cc708 pam_namespace.patch
988e4ba32fe6b7adeb4898c784eb40d6f88f3fca78ead82b61686f0e1597f306abb3ee338aa2e4cf2db0191b8c1a7e319332e7f6d6aed3ab381f71c0a3355de9 base-auth.pamd
5d3e960ead44dcb2b3f732825482eefab9a9ffa4d4d5fc1d30cbf2fe8c5c896f1114a0ad3a6c606fa9fbf5c43400388f4ee8d7fca8110721eabfc9691004756b base-account.pamd
b3a900d6067ba04faa8016d9408da75917e8c0502020a4048bba1de2ca54c705c4d5f8307e759080fd5a9d5f3522f52a708803f1f01627eac56d9d7c6d363d13 base-password.pamd
2cf01d7cf2ec63d7cfe10bd90ed3cae8c5354e086495b0738e6e18df4c0ac14336228128a943731d186cc7492b15e7aee039f2c46dcd50c1fde434bb0c9af7fd base-session.pamd
2f18114b8a6a78ed798646962526876f3536b4759c00dce339e21f0695ea71d0917c048dc852c3d1c79bd17cd19dc513a3c6463abaffcff3f792b906cec98ede base-session-noninteractive.pamd
299bb3791652174a4d836d60f146200bb692ad80c20c18e6e872543ac8885156ff1a7ca00acaf55b89672fa98f00b8df53879c9ab1913a9cc91f620163dd50be other.pamd
ae3a807bc121eb59b54f5e53ff8efdde972610cf7463b6a38bccbc89b49954aa2e0a8693919b01f8bc7a956ba58c97de34a28963bc14f526b70b3073d64427b5 login.pamd
a71ac72a21a5d18612365b2b0a4a0da1f9d1101a30d3f5d97f479f6378c3a0fbc219617000448c8b5a0ab2597f2e4944202b13a69624dbe849bf9ea39d00ca22 su.pamd
"
@@ -0,0 +1,4 @@
# basic PAM configuration for Alpine.
account required pam_unix.so
account required pam_nologin.so
@@ -0,0 +1,8 @@
# basic PAM configuration for Alpine.
auth required pam_unix.so nullok
auth required pam_nologin.so
auth required pam_env.so
-auth optional pam_gnome_keyring.so
-auth optional pam_kwallet5.so
@@ -0,0 +1,7 @@
# basic PAM configuration for Alpine.
password required pam_unix.so nullok sha512 shadow
# desktop keyrings
-password optional pam_gnome_keyring.so use_authtok
-password optional pam_kwallet5.so
@@ -0,0 +1,5 @@
# basic PAM configuration for Alpine.
session required pam_env.so
session required pam_limits.so
session required pam_unix.so
@@ -0,0 +1,14 @@
# basic PAM configuration for Alpine.
session include base-session-noninteractive
# potential providers that set up session stuff / a XDG_RUNTIME_DIR
-session optional pam_rundir.so
-session optional pam_elogind.so
-session optional pam_systemd.so
-session optional pam_ck_connector.so
-session optional pam_turnstile.so
# desktop keyrings
-session optional pam_gnome_keyring.so auto_start
-session optional pam_kwallet5.so auto_start
+6
View File
@@ -0,0 +1,6 @@
# "login" that is required by pam-enabled util-linux-login/shadow-login
auth include base-auth
account include base-account
password include base-password
session include base-session
+6
View File
@@ -0,0 +1,6 @@
#%PAM-1.0
# default config for any service don't specified
auth include base-auth
account include base-account
password include base-password
session include base-session-noninteractive
@@ -0,0 +1,39 @@
From cc9d40b7cdbd3e15ccaa324a0dda1680ef9dea13 Mon Sep 17 00:00:00 2001
From: Jacob Heider <jacob@pkgx.dev>
Date: Wed, 17 Jan 2024 11:49:26 -0500
Subject: [PATCH] pam_namespace: include stdint.h
pam_namespace.c makes use of SIZE_MAX but doesn't include stdint.h,
resulting in the following build failures on 1.6.0:
pam_namespace.c: In function 'process_line':
pam_namespace.c:649:41: error: 'SIZE_MAX' undeclared (first use in this function)
649 | if (count > UINT_MAX || count > SIZE_MAX / sizeof(uid_t)) {
| ^~~~~~~~
pam_namespace.c:41:1: note: 'SIZE_MAX' is defined in header '<stdint.h>'; did you forget to '#include <stdint.h>'?
40 | #include "argv_parse.h"
+++ |+#include <stdint.h>
41 |
pam_namespace.c:649:41: note: each undeclared identifier is reported only once for each function it appears in
649 | if (count > UINT_MAX || count > SIZE_MAX / sizeof(uid_t)) {
| ^~~~~~~~
Fixes: v1.6.0~100 ("pam_namespace: validate amount of uids in config")
Resolves: https://github.com/linux-pam/linux-pam/issues/733
---
modules/pam_namespace/pam_namespace.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/modules/pam_namespace/pam_namespace.c b/modules/pam_namespace/pam_namespace.c
index f72d67189..b16731c22 100644
--- a/modules/pam_namespace/pam_namespace.c
+++ b/modules/pam_namespace/pam_namespace.c
@@ -34,6 +34,8 @@
#define _ATFILE_SOURCE
+#include "config.h"
+#include <stdint.h>
#include "pam_cc_compat.h"
#include "pam_inline.h"
#include "pam_namespace.h"
+6
View File
@@ -0,0 +1,6 @@
# basic PAM configuration for Alpine.
auth sufficient pam_rootok.so
auth include base-auth
account include base-account
password include base-password
session include base-session-noninteractive
@@ -0,0 +1,31 @@
From 1494b5a3d96d8e8273c8c4e12cb08b2a86162842 Mon Sep 17 00:00:00 2001
From: Leonardo Arena <rnalrd@alpinelinux.org>
Date: Mon, 13 Sep 2021 07:18:04 +0000
Subject: [PATCH] Disable 'O2' and 'Werror' CFLAGS
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -97,8 +97,8 @@ ERROR_DISCARDED_QUALIFIERS := $(call TEST_CC_OPTION,-Werror=discarded-qualifiers
WNOCLOBBERED := $(call TEST_CC_OPTION,-Wno-clobbered -Wno-error=clobbered,)
WFORMATOVERFLOW := $(call TEST_CC_OPTION,-Wformat-overflow=2,)
-OPTFLAGS := -O2 -g $(STACKPROT) --param=ssp-buffer-size=4
-WARNFLAGS := -Werror -Wall -Wextra -Wformat=2 $(WFORMATOVERFLOW) -Werror=implicit-int \
+OPTFLAGS := -Os -g $(STACKPROT) --param=ssp-buffer-size=4
+WARNFLAGS := -Wall -Wextra -Wformat=2 $(WFORMATOVERFLOW) -Werror=implicit-int \
-Werror=implicit-function-declaration -Werror=format-security \
$(WNOCLOBBERED) -Werror=cast-qual $(ERROR_DISCARDED_QUALIFIERS)
CPPFLAGS := -Wp,-D_FORTIFY_SOURCE=2
--- a/libmultipath/configure.c
+++ b/libmultipath/configure.c
@@ -10,6 +10,7 @@
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
+char *basename();
#include <sys/file.h>
#include <errno.h>
#include <ctype.h>
--
2.32.0
@@ -0,0 +1,60 @@
# Forked from Alpine to remove eudev dependency
pkgname=multipath-tools
pkgver=99990.9.7
_pkgver=0.9.7
pkgrel=0
pkgdesc="Device Mapper Multipathing Driver"
url="http://christophe.varoqui.free.fr/"
arch="all"
license="LGPL-2.0-only"
depends="device-mapper"
makedepends="
json-c-dev
libaio-dev
lvm2-dev
ncurses-dev
perl
readline-dev
systemd-dev
userspace-rcu-dev
util-linux-dev
"
subpackages="$pkgname-doc $pkgname-openrc"
source="$pkgname-$_pkgver.tar.gz::https://github.com/opensvc/multipath-tools/archive/refs/tags/$_pkgver.tar.gz
multipath-tools.conf
multipath.initd
multipathd.initd
0001-Disable-Werror-and-O2.patch
"
options="!check"
builddir="$srcdir"/multipath-tools-"$_pkgver"
build() {
make prefix="/usr" \
sysconfdir="/etc" \
configdir="/etc/multipath/conf.d" \
mandir="/usr/share/man" \
infodir="/usr/share/info"
}
package() {
make prefix="/usr" SYSTEMDPATH="/usr/lib" LIB=lib DESTDIR="$pkgdir" install
install -D -m644 "$srcdir"/$pkgname.conf \
"$pkgdir"/etc/multipath.conf
install -D -m755 "$srcdir"/multipathd.initd \
"$pkgdir"/etc/init.d/multipathd
install -D -m755 "$srcdir"/multipath.initd \
"$pkgdir"/etc/init.d/multipath
install -D -m644 README.md \
"$pkgdir"/usr/share/doc/$pkgname/README.md
}
sha512sums="
0f4c97179a3de5a0c77893fec229eb183293fed8e5e01a9945b261845ccf5d13f8ef2c2ff0c17c9345217d236275caed4765422ec95aed80821f11658bf96e26 multipath-tools-0.9.7.tar.gz
e81462b22c0cbc92ea935d7544b9f9a0c4ccbcf13f3bc03dadf6de96407c9cf49964c9bbf02f12a134e1255c66421c6fde39d54b15eef975e8df81bdc88b2213 multipath-tools.conf
97deeee57daee787d807da0a4dbf50baae047ddcda30925f7000ec822b5a17a3dc55196c3e032c8ffbc2caeac690ce5ca485b0a7c99f15e66bddaa000439112a multipath.initd
71933b27a9ed76d00766ee29e0583ccf08bd689805cf77e284bc318bae62ad7bcde1894b2e50993019462b0c9787eaa780b271244ff11ef52cca290604900343 multipathd.initd
7235f38f7e86d0b035bf8904397bebfa2439bfc2d52986cfa60b39432eaadd6283fdfb7d73169d80a44ec5119cde37e25892e45c76e89cd145915207aa4c908f 0001-Disable-Werror-and-O2.patch
"
@@ -0,0 +1,113 @@
##
## This is a template multipath-tools configuration file
## Uncomment the lines relevent to your environment
##
#defaults {
# udev_dir /dev
# polling_interval 10
# selector "round-robin 0"
# path_grouping_policy multibus
# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
# prio_callout /bin/true
# path_checker directio
# rr_min_io 100
# rr_weight priorities
# failback immediate
# no_path_retry fail
# user_friendly_names no
#}
#blacklist {
# wwid 26353900f02796769
# devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
# devnode "^hd[a-z][[0-9]*]"
# devnode "^cciss!c[0-9]d[0-9]*[p[0-9]*]"
# device {
# vendor DEC.*
# product MSA[15]00
# }
#}
#blacklist_exceptions {
# devnode "^dasd[c-d]+[0-9]*"
# wwid "IBM.75000000092461.4d00.34"
#}
#multipaths {
# multipath {
# wwid 3600508b4000156d700012000000b0000
# alias yellow
# path_grouping_policy multibus
# path_checker directio
# path_selector "round-robin 0"
# failback manual
# rr_weight priorities
# no_path_retry 5
# rr_min_io 100
# }
# multipath {
# wwid 1DEC_____321816758474
# alias red
# }
#}
#devices {
# device {
# vendor "COMPAQ "
# product "HSV110 (C)COMPAQ"
# path_grouping_policy multibus
# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
# path_checker directio
# path_selector "round-robin 0"
# hardware_handler "0"
# failback 15
# rr_weight priorities
# no_path_retry queue
# rr_min_io 100
# product_blacklist LUN_Z
# }
# device {
# vendor "COMPAQ "
# product "MSA1000 "
# path_grouping_policy multibus
# }
#}
#defaults {
# udev_dir /dev
# user_friendly_names yes
#}
#blacklist {
# devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
# devnode "^hd[a-z]"
# devnode "^sda"
# devnode "^sdb"
# devnode "^sdc"
# devnode "^sdd"
# devnode "^sda[0-9]"
# devnode "^sdb[0-9]"
# device {
# vendor DELL
# product "PERC|Universal"
# }
#}
#devices {
# device {
# vendor DELL
# product MD3000i
# hardware_handler "1 rdac"
# path_checker rdac
# path_grouping_policy group_by_prio
# prio_callout "/sbin/mpath_prio_rdac /dev/%n"
# failback immediate
# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
# }
#}
#multipaths {
# multipath {
# device {
# vendor DELL
# product MD3000i
# }
# }
#}
@@ -0,0 +1,22 @@
#!/sbin/openrc-run
depend() {
before checkfs fsck multipathd iscsid lvm
after modules device-mapper
}
start() {
ebegin "Loading multipath modules"
modprobe -aq dm_mod dm-multipath
eend $?
ebegin "Activating multipath devices"
multipath -v0 >/dev/null
eend $?
}
stop() {
ebegin "Deactivating multipath devices"
multipath -v0 -F >/dev/null
eend $?
}
@@ -0,0 +1,7 @@
#!/sbin/openrc-run
supervisor=supervise-daemon
command=/usr/sbin/multipathd
command_args_foreground="-d"
output_log=/var/log/${RC_SVCNAME}.log
error_log=/var/log/${RC_SVCNAME}.log
@@ -1,7 +1,8 @@
# Forked from Alpine to apply mobile adaptivity patches
pkgname=mutter-mobile
pkgver=46.0
pkgver=99945_git20230908
_pkgver=45_git20230908
pkgrel=1
pkgdesc="clutter-based window manager and compositor"
url="https://wiki.gnome.org/Projects/Mutter/"
@@ -10,7 +11,7 @@ url="https://wiki.gnome.org/Projects/Mutter/"
arch="all !riscv64"
license="GPL-2.0-or-later"
depends="
gnome-settings-daemon-mobile
gnome-settings-daemon
gsettings-desktop-schemas
mutter-mobile-schemas
xkeyboard-config
@@ -20,18 +21,18 @@ makedepends="
at-spi2-core-dev
cairo-dev
dbus-dev
elogind-dev
systemd-dev
eudev-dev
fribidi-dev
gdk-pixbuf-dev
glib-dev
gnome-desktop-dev
gnome-settings-daemon-mobile-dev
gnome-settings-daemon-dev
gobject-introspection-dev
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
@@ -67,11 +67,13 @@ makedepends="
options="!check" # Can't be run with release builds
provides="mutter=$pkgver-r$pkgrel"
subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc $pkgname-lang $pkgname-schemas::noarch"
_commit="46-mobile-0"
source="mutter-mobile-$_commit.tar.gz::https://gitlab.gnome.org/verdre/mutter-mobile/-/archive/$_commit/mutter-mobile-$_commit.tar.gz
_commit="0f08f5aba4c9b5ac34b2d5711182d50b719d838e"
source="mobile-mutter-$_commit.tar.gz::https://gitlab.gnome.org/verdre/mobile-mutter/-/archive/$_commit/mobile-mutter-$_commit.tar.gz
fixudev-req.patch
pcversion.patch
version.patch
"
builddir="$srcdir/mutter-mobile-$_commit"
builddir="$srcdir/mobile-mutter-$_commit"
prepare() {
default_prepare
@@ -81,6 +83,7 @@ prepare() {
build() {
abuild-meson \
-Degl_device=true \
-Dudev=true \
-Dnative_backend=true \
-Dintrospection=true \
@@ -108,11 +111,19 @@ 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="
97de32571ca2aeeee4d213e085fc22d0c9f669ec8d24219a5a4205f21a2e0b261f8e6d042248262926df27e0530b7a0501922d1efde5278f8c23507909d1fa84 mutter-mobile-46-mobile-0.tar.gz
670927a5528f9fec4801b7dab8a377b7280c239acb1f7a9077647deef71119738deb958a94d4ce0a99d39b29eeab3b2505698f7d19b880bbcec9f5260202d3a6 pcversion.patch
715c3efbbf416a11ae0a723184d1e018d3679c876bc419f110da1200f9dad3b7719255ac81cca301cff55e16ba36578bc9906805599ff009faeebf9455f5bcb1 mobile-mutter-0f08f5aba4c9b5ac34b2d5711182d50b719d838e.tar.gz
6f21171bbd0ad0fc67cbaf5fb1478b22b482a9ae33b9328cc51a5dd31bcf7d95cd41e6cbbac21d3d8801cc064a62a64ae38ed7d0501ab605b861058c32f3bc30 fixudev-req.patch
bb46a4692aaff0c9e6092d1ba80d19b336035e983f0f20a437a586757bc2530860f50fbd46b09f73e88f0dd80ea7188d1df467b8f762918717785e618b6e9c4b pcversion.patch
a9a82e945081480ae7ce59098aa3e46c87f5ea97481bd4c4933b3ef0a1757492ecb6e8453e8a2f74fb42edd51d39f76aaf9ef45ad8c52008acd6bbcbec219f83 version.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 meson.build meson.build
index dc210e6..6e080ca 100644
--- a/meson.build
+++ b/meson.build
@@ -168,7 +168,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)
endif
@@ -0,0 +1,14 @@
apk-tools 2.12.10 fails with this in a .pc depends file
diff --git a/meson.build b/meson.build
index 3550496..15b9e7d 100644
--- a/meson.build
+++ b/meson.build
@@ -25,7 +25,7 @@ uprof_req = '>= 0.3'
pango_req = '>= 1.46.0'
cairo_req = '>= 1.10.0'
pangocairo_req = '>= 1.20'
-gsettings_desktop_schemas_req = '>= 40.alpha'
+gsettings_desktop_schemas_req = '>= 40'
json_glib_req = '>= 0.12.0'
xcomposite_req = '>= 0.4'
xkbcommon_req = '>= 0.4.3'
@@ -0,0 +1,17 @@
diff --git a/meson.build b/meson.build
index 80e1fc70e..1a3ca564f 100644
--- a/meson.build
+++ b/meson.build
@@ -1,10 +1,10 @@
project('mutter', 'c',
- version: '45.rc',
+ version: '45_rc',
meson_version: '>= 0.60.0',
license: 'GPLv2+'
)
-split_version = meson.project_version().split('.')
+split_version = meson.project_version().split('_')
# API version, bump each development cycle
libmutter_api_version = '13'
+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')
+257
View File
@@ -0,0 +1,257 @@
# 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=1
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
}
sha512sums="
81ed641365183a03fe06346569939b164a0f7446694eb6c2790fef0118897987e494e3d75214df3e35f77f9c0f65375d4f867e942503f5a9ef11b46e9ba6b57d NetworkManager-1.48.2.tar.xz
0f79016bf717dea43830962f524deae8d1cedc274376e40bd912ebe63208c5b1c3b7a5aa14379da19020c587dbd5588df2f0066ca1540070a226983a43e4159b networkmanager.conf
9820ed2ead0af689644842de57657bb10330a1eaff0e85b21ae9913f55e399e47d8b41b0a12956f30de80272b4424c6e55f33acbc88e156879003a260bf576f6 networkmanager.rules
"
@@ -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";
}
});
+259
View File
@@ -0,0 +1,259 @@
# Forked from Alpine to rebuild with systemd support
pkgname=pipewire
pkgver=9991.2.0
_pkgver=1.2.0
pkgrel=0
_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"
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
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,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,5 @@
#!/bin/sh
addgroup -S pipewire 2>/dev/null
exit 0
@@ -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,171 @@
# Forked from Alpine to add systemd!
pkgname=plasma-workspace
pkgver=99996.1.3
_pkgver=6.1.3
pkgrel=1
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
"
_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="
80d032aed575894bf179dcc2802cf43a47db459ef739b22463d8d923a8d92ed15d2794a18c02e01e535762da05c00c552dee56e5ee50fed505bde221d85cbe03 plasma-workspace-6.1.3.tar.xz
"
+102
View File
@@ -0,0 +1,102 @@
# Forked from Alpine to rebuild with systemd support
pkgname=polkit
pkgver=999124
_pkgver=124
pkgrel=1
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"
# 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,64 @@
# Maintainer: Oliver Smith <ollipearanoid@postmarketos.org>
# pmbootstrap installs this, if systemd is selected in "pmbootstrap init".
pkgname=postmarketos-base-systemd
pkgver=1
pkgrel=6
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.0-r1
systemd-services
"
replaces="alpine-baselayout postmarketos-base systemd systemd-logind"
replaces_priority=100
install="$pkgname.post-install"
_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
"
_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
605df1f004783d2e0ec5dd99a688bca27502c8c24bc05fb4dc26589b2070b0fbd1cf9bd56e6861d7cda2f8ac8147e7eb040acfd886185c01c8cf9de8b1ce2dcd rootfs-usr-bin-setup-timezone
"
@@ -0,0 +1,4 @@
#!/bin/sh
systemctl enable systemd-timesyncd
@@ -0,0 +1,13 @@
\033[1;33mNOTICE:\033[22m This build is for showcasing systemd support, it is buggy,
unreliable, and NOT suitable for use on devices you rely on.
As there is no binary repository for systemd packages yet, please
do not run \033[38;5;252mapk upgrade -a\033[33m as it *will* break your system.
For up to date info on the state of systemd support in postmarketOS,
please see \033[38;5;75mhttps://postmarketos.org/systemd\033[0m
This distribution is based on Alpine Linux.
First time using postmarketOS? Make sure to read the cheatsheet in the wiki:
-> \033[38;5;75mhttps://postmarketos.org/cheatsheet\033[0m
@@ -0,0 +1,6 @@
# Very minimal ANSI motd
. /etc/os-release
echo
echo -e " Welcome to \033[32mpostmarketOS $VERSION\033[0m/\033[97msystemd\033[0m! ^^\n"
echo -e "$(cat /etc/motd.ansi | sed 's/^/ /')"
@@ -0,0 +1,2 @@
# postmarketOS: enable PAM auth for environment configuration
UsePAM yes
@@ -0,0 +1,35 @@
# This file is provided by postmarketos-base. See logind.conf(5) for details.
[Login]
#NAutoVTs=6
#ReserveVT=6
#KillUserProcesses=no
#KillOnlyUsers=
#KillExcludeUsers=root
#InhibitDelayMaxSec=5
#UserStopDelaySec=10
HandlePowerKey=ignore
#HandlePowerKeyLongPress=ignore
#HandleRebootKey=reboot
#HandleRebootKeyLongPress=poweroff
#HandleSuspendKey=suspend
#HandleSuspendKeyLongPress=hibernate
#HandleHibernateKey=hibernate
#HandleHibernateKeyLongPress=ignore
#HandleLidSwitch=suspend
#HandleLidSwitchExternalPower=suspend
#HandleLidSwitchDocked=ignore
#PowerKeyIgnoreInhibited=no
#SuspendKeyIgnoreInhibited=no
#HibernateKeyIgnoreInhibited=no
#LidSwitchIgnoreInhibited=yes
#RebootKeyIgnoreInhibited=no
#HoldoffTimeoutSec=30s
#IdleAction=ignore
#IdleActionSec=30min
#RuntimeDirectorySize=10%
#RuntimeDirectoryInodesMax=
#RemoveIPC=yes
#InhibitorsMax=8192
#SessionsMax=8192
#StopIdleSessionSec=infinity
@@ -0,0 +1,19 @@
#!/bin/sh -e
# Stub that implements a simplified version of Alpine's setup-timezone, so
# pmbootstrap can call it during "pmbootstrap install" without having a
# dependency on alpine-conf, which in turn depends on openrc.
if [ "$#" != "2" ] || [ "$1" != "-i" ]; then
echo "setup-timezone stub from postmarketos-base-systemd"
echo "usage: setup-timezone -i TIMEZONE"
exit 1
fi
TZ_FILE="/usr/share/zoneinfo/$2"
if ! [ -e "$TZ_FILE" ]; then
echo "ERROR: not found: $TZ_FILE"
exit 1
fi
ln -sf "$TZ_FILE" /etc/localtime
@@ -0,0 +1,40 @@
diff --git a/services/sddm-autologin.pam b/services/sddm-autologin.pam
index b42991e..25c43d1 100644
--- a/services/sddm-autologin.pam
+++ b/services/sddm-autologin.pam
@@ -6,8 +6,8 @@ auth required pam_nologin.so
auth required pam_permit.so
-auth optional pam_gnome_keyring.so
-auth optional pam_kwallet5.so
-account include system-local-login
-password include system-local-login
-session include system-local-login
+account include base-account
+password include base-password
+session include base-session
-session optional pam_gnome_keyring.so auto_start
-session optional pam_kwallet5.so auto_start
diff --git a/services/sddm.pam b/services/sddm.pam
index df11003..5c2d8a6 100644
--- a/services/sddm.pam
+++ b/services/sddm.pam
@@ -1,15 +1,15 @@
#%PAM-1.0
-auth include system-login
+auth include base-auth
-auth optional pam_gnome_keyring.so
-auth optional pam_kwallet5.so
-account include system-login
+account include base-account
-password include system-login
+password include base-password
-password optional pam_gnome_keyring.so use_authtok
session optional pam_keyinit.so force revoke
-session include system-login
+session include base-session
-session optional pam_gnome_keyring.so auto_start
-session optional pam_kwallet5.so auto_start
@@ -0,0 +1,30 @@
From a0dd7b641b98534961522753071fbf4143751a98 Mon Sep 17 00:00:00 2001
From: Harald Sitter <sitter@kde.org>
Date: Mon, 24 Oct 2022 13:15:48 +0200
Subject: [PATCH] disable automatic portal launching
in Qt6 (and the KDE patch collection for Qt 5) genericunixservices will
internally attempt to probe the portal tech early on in the app life
cycle. this causes the protal system to launch app and then crash
because we aren't actually providing a fully functional session. instead
opt out of this altogether
Patch modified to apply properly on SDDM 0.19.0
---
src/greeter/GreeterApp.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/greeter/GreeterApp.cpp b/src/greeter/GreeterApp.cpp
index bbce512..183f7d1 100644
--- a/src/greeter/GreeterApp.cpp
+++ b/src/greeter/GreeterApp.cpp
@@ -334,6 +334,9 @@ int main(int argc, char **argv)
QSurfaceFormat::setDefaultFormat(format);
}
+ // Qt internally may load the xdg portal system early on, prevent this, we do not have a functional session running.
+ qputenv("QT_NO_XDG_DESKTOP_PORTAL", "1");
+
QGuiApplication app(argc, argv);
QCommandLineParser parser;
+90
View File
@@ -0,0 +1,90 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
pkgname=sddm
pkgver=9999_git20240428
_pkgver=0.21.0
pkgrel=0
pkgdesc="Simple Desktop Display Manager"
url="https://github.com/sddm/sddm/"
# armhf blocked by qt5-qtdeclarative
arch="all !armhf"
license="GPL-2.0-only"
depends="
dbus-x11
linux-pam
upower
xorg-server
"
makedepends="
extra-cmake-modules
libxcb-dev
linux-pam-dev
py3-docutils
qt6-qtbase-dev
qt6-qtdeclarative-dev
qt6-qttools-dev
samurai
systemd-dev
upower-dev
utmps-dev
"
subpackages="$pkgname-doc $pkgname-lang $pkgname-openrc"
install="sddm.pre-install"
langdir="/usr/share/sddm/translations"
pkgusers="sddm"
pkggroups="sddm"
source="https://github.com/sddm/sddm/archive/v$_pkgver/sddm-v$_pkgver.tar.gz
0001-pam-path-fix.patch
0003-disable-automatic-portal-launching.patch
sddm.initd
sddm.confd
"
builddir="$srcdir/$pkgname-$_pkgver"
# secfixes:
# 0.19.0-r0:
# - CVE-2020-28049
build() {
CXXFLAGS="$CXXFLAGS -flto=auto" \
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DBUILD_MAN_PAGES=ON \
-DBUILD_WITH_QT6=ON \
-DENABLE_JOURNALD=ON \
-DNO_SYSTEMD=OFF \
-DUSE_ELOGIND=OFF \
-DUID_MIN=500 \
-DUID_MAX=65000 \
-DDBUS_CONFIG_DIR=/usr/share/dbus-1/system.d
cmake --build build
}
check() {
ctest --test-dir build --output-on-failure
}
package() {
DESTDIR="$pkgdir" cmake --install build
install -Dm755 "$srcdir"/sddm.initd "$pkgdir"/etc/init.d/sddm
install -Dm644 "$srcdir"/sddm.confd "$pkgdir"/etc/conf.d/sddm
}
lang() {
pkgdesc="Languages for package $pkgname"
install_if="$pkgname=$pkgver-r$pkgrel lang"
depends="$depends_lang"
amove usr/share/sddm/translations-qt6
}
sha512sums="
2e8e460e7f318f20a406dcbb1a9fa1dc78b6a5b8d888bfbbaae22b9c642dbc49cf2ac682b4ea9ed847bbafa9bdc361ba08795e59cad970088b370caaaa70f458 sddm-v0.21.0.tar.gz
42a0b24717820d98a42d178b5d3a40441672d496c9d8f7c2f8002d770a2718324e9d00d0f27602232b91e8bb042693125507d6cb8371b6f6f211f2b95babe666 0001-pam-path-fix.patch
bc7b572331de32245abba234e3537885a3d9dd20273a12bd7a82eb754467dd3c753fc4d90ec24cc206f7df0210cf3119dd056c477168b4173b77fc335b6546b0 0003-disable-automatic-portal-launching.patch
4876bf46790dd507f0df803987ad81d7ff2a00c22a8aabec88dd0e3a23aeda92aac59f08ef56ed1bf2b5cb9443077e77b31c9f453bafab2fd6f533be242fcbd4 sddm.initd
b841282b96110ec59a7aa539db0737327b09549d55c78dc4b2c3b28b4a6ad1facf015b3175cb6d3a38f13e47aa6314ef3dc1514a4e60dd653a97409ec54ba706 sddm.confd
"
+1
View File
@@ -0,0 +1 @@
supervisor=supervise-daemon
+16
View File
@@ -0,0 +1,16 @@
#!/sbin/openrc-run
name="Display Manager"
description="SDDM Display Manager"
command=/usr/bin/sddm
command_args="$sddm_opts"
depends() {
provide display-manager
needs localmount
}
start_pre() {
checkpath -d -o sddm:video -m755 /var/lib/sddm
}
Loaded 100 of 151 files, more files were not shown because too many files have changed in this diff. Show more