Compare commits

...
40 Commits
Author SHA1 Message Date
Caleb Connolly 49715be416 systemd/apk-tools: update
Switch to the version which is in the upstream MR:
https://gitlab.alpinelinux.org/alpine/apk-tools/-/merge_requests/155

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-03-21 22:43:24 +00:00
Bart Ribbers e6e2d74466 systemd/kjournald: new aport (MR 4919) 2024-03-21 22:43:24 +00:00
Bart Ribbers 55e0b172c9 systemd/plasma*: add initial systemd Plasma packages (MR 4919) 2024-03-21 22:43:24 +00:00
Sam Day 0c895234cc systemd-services: add phosh.service (MR 4904) 2024-03-21 22:43:24 +00:00
Oliver Smith 4e46807701 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-03-21 22:43:23 +00:00
Alexander Martinz 484af5bfe8 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-03-21 22:43:23 +00:00
Caleb Connolly 5b5136e818 TEMP: main/postmarketos-mkinitfs: usrmerge fork
There's some patches we didn't get upstreamed to mkinitfs yet, we need
them for /usr merge compatibility.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-03-21 22:43:23 +00:00
Caleb Connolly 9ecd8c06d0 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-03-21 22:43:23 +00:00
Caleb Connolly 10125ba32b CHECK: systemd/xorg-server: new aport
Maybe integrates with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-03-21 22:43:23 +00:00
Caleb Connolly 5fce7e0670 systemd/upower: new aport
Integrates with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-03-21 22:43:23 +00:00
Caleb Connolly c4d59b30c7 systemd/systemd-services: new aport
A collection of systemd services.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-03-21 22:43:23 +00:00
Caleb Connolly 84370b4f9c systemd/systemd: new aport
Ah, the package of the hour!

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-03-21 22:43:23 +00:00
Caleb Connolly 12f4a79d49 systemd/postmarketos-base-systemd: new aport
postmarketOS base package with systemd stuff.
2024-03-21 22:43:23 +00:00
Caleb Connolly 20099be843 systemd/polkit: new aport
Integrates tightly with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-03-21 22:43:22 +00:00
Caleb Connolly 861688d95a CHECK: systemd/networkmanager: new aport
Can maybe drop and just package the service file.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-03-21 22:43:22 +00:00
Caleb Connolly 578e21a92b systemd/mutter-mobile: new aport
Integrates tightly with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-03-21 22:43:22 +00:00
Caleb Connolly a7cc369c6d systemd/multipath-tools: new aport
Builds against systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-03-21 22:43:22 +00:00
Caleb Connolly cd43817f03 systemd/linux-pam-systemd: new aport
integrates with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-03-21 22:43:22 +00:00
Caleb Connolly 3a96c352ad systemd/gnome-shell-mobile: new aport
Integrates tightly with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-03-21 22:43:22 +00:00
Caleb Connolly 061ac5a1a5 systemd/gnome-settings-daemon: new aport
Integrates tightly with systemd

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-03-21 22:43:22 +00:00
Caleb Connolly a8cfb637c6 systemd/gnome-session: new aport
Integrates tightly with systemd

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-03-21 22:43:22 +00:00
Caleb Connolly b2b11cce19 systemd/gnome-keyring: new aport
Integrates tightly with systemd.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-03-21 22:43:22 +00:00
Caleb Connolly 6c9e38a1ef 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-03-21 22:43:21 +00:00
Caleb Connolly 4e2ff4ce52 systemd/dbus: new aport
Fork dbus and rebuild it with systemd support.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-03-21 22:43:21 +00:00
Caleb Connolly 735c46c5be 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-03-21 22:43:21 +00:00
Caleb Connolly 88ce52bde5 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-03-21 22:43:21 +00:00
Caleb Connolly 86604a0e71 systemd/accountsservice: new aport
Forked from alpine to rebuild with systemd support.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-03-21 22:43:21 +00:00
Caleb Connolly 3ae9e31c4a 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-03-21 22:43:21 +00:00
Caleb Connolly 0b7afbc89d temp/mutter-mobile: drop
For systemd version

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-03-21 22:43:21 +00:00
Caleb Connolly 25f7ee7aa7 temp/gnome-shell-mobile: drop
to be replaced with systemd version

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-03-21 22:43:21 +00:00
Caleb Connolly 4fb988bcee main/postmarketos-dev: new aport
This package is meant to encompass what an average developer would want
from a postmarketOS image. We plan to provide -dev variants of some
postmarketOS images for some devices for use by the Linux mobile
developer community. These should include useful tools out of the box
and provide a familiar shell and coreutils.

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

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

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

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-03-21 22:43:20 +00:00
Caleb Connolly 8d7dacafb4 main/postmarketos-base-ui: support systemd
Not sure if dropping the networkmanager-openrc dependency causes issues.
Otherwise, make the elogind subpackage conflict with systemd-logind.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-03-21 22:43:20 +00:00
Oliver Smith 0acf34aa9e main/postmarketos-ui-sxmo-*: set pmb:systemd-never
Sxmo maintainers have decided to stay with OpenRC on postmarketOS. Set
this option, so pmbootstrap doesn't even ask the user if they want to
install Sxmo with systemd. The idea is that users don't end up
reporting issues about this unsupported use case.
2024-03-21 22:43:20 +00:00
Caleb Connolly f23ace4d8b main/postmarketos-base-ui-gnome: split openrc depends to -openrc subpackage
Allow this package to be used on systemd installs without pulling in a
bunch of openrc services.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-03-21 22:43:20 +00:00
Bart Ribbers 35d6480437 main/postmarketos-ui-plasma-{mobile,desktop}: start with systemd (MR 4919)
[ci:ignore-count]
2024-03-21 22:43:12 +00:00
Sam Day 6b4dfa8b07 postmarketos-ui-phosh: systemd support (MR 4904) 2024-03-21 22:31:24 +00:00
Oliver Smith 4116843606 pmaports.cfg: add repo:systemd section 2024-03-21 22:27:59 +00:00
Oliver Smith b5c36f959c main/postmarketos-ui-gnome-mobile: set pmb:systemd
Let pmbootstrap install systemd along with postmarketos-ui-gnome-mobile,
unless the user sets "never" for systemd in "pmbootstrap init".
2024-03-21 22:27:59 +00:00
187 changed files with 8481 additions and 118 deletions

No files matched your search

+18 -7
View File
@@ -1,21 +1,17 @@
# Maintainer: Oliver Smith <ollieparanoid@postmarketos.org>
pkgname=postmarketos-base-ui-gnome
pkgver=3
pkgrel=2
pkgver=4
pkgrel=0
pkgdesc="Meta package for shared configuration for GNOME-based UIs"
url="https://postmarketos.org"
arch="noarch"
license="GPL-3.0-or-later"
depends="
apk-polkit-rs-openrc
dnsmasq
elogind
elogind-openrc
gnome-bluetooth
iio-sensor-proxy
iio-sensor-proxy-openrc
modemmanager
modemmanager-openrc
polkit-elogind
postmarketos-base-ui
postmarketos-base-ui-networkmanager
@@ -32,7 +28,10 @@ source="
10_pmOS-wallpaper.gschema.override
"
options="!check"
subpackages="$pkgname-wallpaper-pmos:wallpaper_pmos"
subpackages="
$pkgname-wallpaper-pmos:wallpaper_pmos
$pkgname-openrc:openrc
"
_pmb_recommends="
evince
@@ -60,6 +59,18 @@ package() {
"$srcdir"/*.override
}
openrc() {
install_if="$pkgname=$pkgver-r$pkgrel openrc"
depends="
apk-polkit-rs-openrc
iio-sensor-proxy-openrc
modemmanager-openrc
elogind-openrc
"
mkdir "$subpkgdir"
}
# GNOME and Phosh depend on this package to set the pmOS wallpaper. GNOME
# Mobile has a custom wallpaper because it directly draws icons and text on it
# and it would be hard to read with the default wallpaper.
+22 -9
View File
@@ -2,7 +2,7 @@
# Maintainer: Bart Ribbers <bribbers@disroot.org>
pkgname=postmarketos-base-ui-plasma
pkgver=2
pkgrel=0
pkgrel=1
pkgdesc="Meta package for shared configuration for Plasma-based UIs"
url="https://postmarketos.org"
arch="noarch !armhf" # armhf is not supported
@@ -12,15 +12,11 @@ depends="
bluez-openrc
breeze
dnsmasq
elogind
elogind-openrc
iio-sensor-proxy
iio-sensor-proxy-openrc
kscreen
kwallet-pam
kwayland-integration
modemmanager
modemmanager-openrc
pipewire
polkit-kde-agent-1
postmarketos-base-ui
@@ -28,13 +24,10 @@ depends="
powerdevil
pulseaudio
urfkill
urfkill-openrc
xdg-desktop-portal-kde
"
# Required to launch
depends="$depends
tinydm
tinydm-openrc
xorg-server
"
_pmb_recommends="
@@ -51,7 +44,7 @@ _pmb_recommends="
postmarketos-artwork-wallpapers
xdg-user-dirs
"
install="$pkgname.post-install $pkgname.post-upgrade"
subpackages="$pkgname-openrc $pkgname-systemd"
source="
gtk-app-wayland.sh
kdewallet.kwl
@@ -76,6 +69,26 @@ package() {
"$srcdir"/kdewallet.salt
}
openrc() {
install_if="$pkgname=$pkgver-r$pkgrel openrc"
install="$subpkgname.post-install $subpkgname.post-upgrade"
depends="
elogind
elogind-openrc
iio-sensor-proxy-openrc
urfkill-openrc
"
mkdir -p "$subpkgdir"
}
systemd() {
install_if="$pkgname=$pkgver-r$pkgrel systemd"
install="$subpkgname.post-install $subpkgname.post-upgrade"
depends="systemd-services"
mkdir -p "$subpkgdir"
}
sha512sums="
57793bb079c76ba3bdcfca7880aa887de11fe80e7a05557b78435e57feabab70fbaeedc42da3aec6f914c35bba8e8ee9918367516eb45ee247f63f694624f179 gtk-app-wayland.sh
@@ -0,0 +1,8 @@
#!/bin/sh
rc-update add bluetooth default
rc-update add elogind default
rc-update add hfd-service default
rc-update add iio-sensor-proxy default
rc-update add networkmanager default
rc-update add urfkill default
@@ -0,0 +1 @@
postmarketos-base-ui-plasma-openrc.post-install
@@ -0,0 +1,7 @@
#!/bin/sh
systemctl enable bluetooth
#systemctl enable hfd-service
systemctl enable iio-sensor-proxy
#systemctl enable networkmanager
#systemctl enable urfkill
@@ -0,0 +1 @@
postmarketos-base-ui-plasma-systemd.post-install
@@ -1,22 +0,0 @@
#!/bin/sh
rc-update add bluetooth default
rc-update add elogind default
rc-update add hfd-service default
rc-update add iio-sensor-proxy default
rc-update add networkmanager default
rc-update add modemmanager default
rc-update add tinydm default
rc-update add urfkill default
# Migrate from the old ofono setup
if rc-update del ofono default; then
rc-update del ofono-auto-enable default
rc-service stop ofono
rc-service stop ofono-auto-enable
rc-service start modemmanager
fi
glib-compile-schemas /usr/share/glib-2.0/schemas
@@ -1 +0,0 @@
postmarketos-base-ui-plasma.post-install
+2 -3
View File
@@ -1,6 +1,6 @@
# Maintainer: Clayton Craft <clayton@craftyguy.net>
pkgname=postmarketos-base-ui
pkgver=20
pkgver=99920
pkgrel=0
pkgdesc="Meta package for minimal postmarketOS UI base"
url="https://postmarketos.org"
@@ -119,7 +119,7 @@ bluez() {
elogind() {
install_if="$pkgname=$pkgver-r$pkgrel elogind"
depends="sleep-inhibitor"
depends="sleep-inhibitor !systemd-logind"
install="$subpkgname.pre-upgrade $subpkgname.post-install"
replaces="
elogind
@@ -177,7 +177,6 @@ networkmanager() {
gojq
networkmanager
networkmanager-cli
networkmanager-openrc
networkmanager-tui
networkmanager-wifi
networkmanager-wwan
+14 -2
View File
@@ -1,6 +1,6 @@
# Maintainer: Caleb Connolly <caleb@connolly.tech>
pkgname=postmarketos-bootsplash
pkgver=0.2.1
pkgver=0.2.2
pkgrel=0
pkgdesc="pmOS integration components for pbsplash"
url="https://postmarketos.org"
@@ -8,9 +8,11 @@ arch="all"
license="CC-BY-SA-3.0"
depends="devicepkg-utils pbsplash"
options="!check" # no testsuite
subpackages="$pkgname-openrc"
subpackages="$pkgname-openrc $pkgname-service"
source="
kill-pbsplash
kill-pbsplash.service
kill-pbsplash-override.conf
99-shutdown-pbsplash.stop
OpenSans-Regular.svg
pmos-logo.svg
@@ -21,6 +23,8 @@ source="
package() {
install -Dm755 "$srcdir/kill-pbsplash" -t "$pkgdir"/etc/init.d/
install -Dm644 "$srcdir/kill-pbsplash.service" -t "$pkgdir"/usr/lib/systemd/system/
install -Dm644 "$srcdir/kill-pbsplash-override.conf" -t "$pkgdir"/usr/lib/systemd/system/display-manager.service.d/
install -Dm755 "$srcdir/99-shutdown-pbsplash.stop" -t "$pkgdir"/etc/local.d/
install -Dm644 "$srcdir"/OpenSans-Regular.svg -t "$pkgdir"/usr/share/pbsplash/
install -Dm644 "$srcdir"/pmos-logo.svg -t "$pkgdir"/usr/share/pbsplash/
@@ -28,6 +32,7 @@ package() {
install -Dm644 "$srcdir"/pmos-logo-text-epaper.svg -t "$pkgdir"/usr/share/pbsplash/
install -Dm644 "$srcdir"/postmarketos-bootsplash.files \
"$pkgdir"/usr/share/mkinitfs/files/30-postmarketos-bootsplash.files
}
openrc() {
@@ -35,8 +40,15 @@ openrc() {
default_openrc
}
service() {
install="$subpkgname.post-install"
default_service
}
sha512sums="
7e5416f0f9de3605dcbc5ddd4b93d244fd6d4fd1bc2d5a15a034263f8517fc51e73509f29f2a13397d059913917990ada89b36ac7b00a0d21c0283fade755c1c kill-pbsplash
47b1266c5d859213e5a759a79c666b7cedf2f7b8b404bef37624b951a905022effc4df6434659e88d4c84966a0000dca63387d4c9ac80b817c2b265abfe4f5c4 kill-pbsplash.service
c413607e21c805fff3d9948963aebf1048cdb2e68ed2f4316723d21f861a32aede7d1bf3851c8ba7562b07302471ca6d8f7be1e0487d83dd4cdea9bbb506e792 kill-pbsplash-override.conf
3b862e2282c79d6ffc7aa8dc3992562c11fea5633c98e3ff9c6205a907f5d995e9fcf098adcf294e0648436df97746a3943b9b761ddf72339cc5589fb8904a8d 99-shutdown-pbsplash.stop
2387c64d84f0ba3ee76925f55c87ce025140aa3cd462107a851c34ffd89bd52f606e0d1f9f371d4f642d96545d5cc1bc0fcfb23ca7629a9149055f068da6bffd OpenSans-Regular.svg
98984fd67b99400d2b08422c4d314da558d3c94ee67dbc895e7bbfd6fdf22d4b2c9d35f48f4b73b383a054f535d4089fb705c5532f034cb2ee54eab2184e8e86 pmos-logo.svg
@@ -0,0 +1,3 @@
[Unit]
# Trigger killing pbsplash when the display manager starts
OnFailure=kill-pbsplash.service
@@ -0,0 +1,12 @@
[Unit]
Description=Kill pbsplash!
After=graphical.target
Requisite=graphical.target
[Service]
ExecStart=-/usr/bin/killall pbsplash
Type=oneshot
RemainAfterExit=yes
[Install]
WantedBy=graphical.target
@@ -0,0 +1 @@
postmarketos-bootsplash-openrc.post-install
+10 -2
View File
@@ -1,12 +1,12 @@
# Maintainer: Clayton Craft <clayton@craftyguy.net>
pkgname=postmarketos-config-nftables
pkgver=0.16
pkgver=0.17
pkgrel=0
pkgdesc="nftables firewall configuration for postmarketOS"
url="https://gitlab.com/postmarketos"
arch="noarch"
license="MIT"
depends="nftables-openrc"
depends=""
subpackages="
$pkgname-openusb:openusb
$pkgname-log:log
@@ -19,6 +19,7 @@ subpackages="
$pkgname-vlc-chromecast:vlc_chromecast
$pkgname-vncserver:vncserver
$pkgname-wifi-display:wifi_display
$pkgname-openrc:openrc
"
source="
rules/00_log_all.nft
@@ -55,6 +56,13 @@ openusb() {
amove etc/nftables.d/60_usb.nft
}
openrc() {
install_if="$pkgname=$pkgver-r$pkgrel openrc"
depends="nftables-openrc"
mkdir "$subpkgdir"
}
log() {
depends="$pkgname"
description="Enables logging of nftable events"
+38
View File
@@ -0,0 +1,38 @@
# Maintainer: Caleb Connolly <caleb@postmarketos.org>
pkgname=postmarketos-dev
pkgver=1
pkgrel=0
pkgdesc="postmarketOS development tools"
url="https://postmarketos.org"
arch="noarch"
license="MIT"
options="!check"
depends="
htop
coreutils
nano
psutils
iputils
alpine-sdk
findutils
gawk
bash
bash-completion
"
makedepends=""
checkdepends=""
install="$pkgname.post-install $pkgname.post-deinstall"
package() {
mkdir -p "$pkgdir/etc/skel"
cat > "$pkgdir/etc/skel/.bashrc" <<EOF
# Just set a nice prompt
PS1='\[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\] '
EOF
cat > "$pkgdir/etc/skel/.bash_profile" <<EOF
# Source the users bashrc (global one is sourced by /etc/profile.d/00-bashrc.sh)
[[ -f ~/.bashrc ]] && . ~/.bashrc
EOF
}
@@ -0,0 +1,5 @@
#!/bin/sh
if [ -s /usr/local/bin/vim ]; then
rm /usr/local/bin/vim
fi
@@ -0,0 +1,6 @@
#!/bin/sh
if [ ! -e /usr/local/bin/vim ]; then
echo "Installing vim -> neovim symlink..."
ln -s /usr/bin/nvim /usr/local/bin/vim
fi
+9 -7
View File
@@ -1,7 +1,8 @@
# Maintainer: Oliver Smith <ollieparanoid@postmarketos.org>
# Co-Maintainer: Clayton Craft <clayton@craftyguy.net>
pkgname=postmarketos-mkinitfs
pkgver=2.4.0
pkgver=9992.3.1
_pkgver=2.2.2
pkgrel=0
pkgdesc="Tool to generate initramfs images for postmarketOS"
url="https://postmarketos.org"
@@ -23,11 +24,12 @@ triggers="$pkgname.trigger=\
# mkinitfs-vendor-$pkgver.tar.gz: vendored Go deps, is part of the release:
# https://gitlab.com/postmarketOS/postmarketos-mkinitfs/-/releases
_commit="23183e62daa08984bf38ba22ca041cf75bd30cae"
source="
https://gitlab.com/postmarketOS/postmarketos-mkinitfs/-/archive/$pkgver/postmarketos-mkinitfs-$pkgver.tar.gz
https://gitlab.com/api/v4/projects/postmarketOS%2Fpostmarketos-mkinitfs/packages/generic/mkinitfs-vendor-$pkgver/$pkgver/mkinitfs-vendor-$pkgver.tar.gz
postmarketos-mkinitfs-$_commit.tar.gz::https://gitlab.com/postmarketOS/postmarketos-mkinitfs/-/archive/$_commit/postmarketos-mkinitfs-$_commit.tar.gz
https://gitlab.com/api/v4/projects/postmarketOS%2Fpostmarketos-mkinitfs/packages/generic/mkinitfs-vendor-$_pkgver/$_pkgver/mkinitfs-vendor-$_pkgver.tar.gz
"
builddir="$srcdir/postmarketos-mkinitfs-$_commit"
install="$pkgname.post-upgrade"
arch="all"
license="GPL-2.0-or-later"
@@ -47,7 +49,7 @@ prepare() {
build() {
unset LDFLAGS # passed to Go as linker flags, which are invalid
make VERSION="$pkgver"
make VERSION="$_pkgver"
}
package() {
@@ -59,6 +61,6 @@ check() {
}
sha512sums="
999cc57ebd9c9a1ef22f76093802bd95712b8f03578d50884818f4452cbc1887e306a8856a3631b6fcca6f132c7b12ce55023d0673f809b884c36c31ad3e861f postmarketos-mkinitfs-2.4.0.tar.gz
ee20b2bf71f5cd584aab04da9937462d87a8ec29691681588208d862ae85dedc02f1ca0e0aa8d3020fdbe65e16f4dcf215fd12e285056a3f654523c7891afac3 mkinitfs-vendor-2.4.0.tar.gz
39e7ed557d76f7b7997d0a9ea82dc7cc528fca3d1a5c572e88fdf4c4cb51619e11419f984c2bd480119ac53711b87bdc1d37b5225309b83f4ab3196d8653f7db postmarketos-mkinitfs-23183e62daa08984bf38ba22ca041cf75bd30cae.tar.gz
34ecfb29d3b0e547ba3ba3e50fa0e962c3c381cc200b12504354a9cfcc46a1b2987a69f298eedb5c39a6cdb06bc270119c991ffe1f96399e37ec8c20e90385f4 mkinitfs-vendor-2.2.2.tar.gz
"
+1 -1
View File
@@ -48,7 +48,7 @@ source="
20_pmOS-wallpaper-gnome-mobile.gschema.override
firefox-wayland.sh
"
options="!check"
options="!check pmb:systemd"
package() {
install -Dm755 \
+26 -4
View File
@@ -2,7 +2,7 @@
# Maintainer: Newbyte <newbyte@postmarketos.org>
pkgname=postmarketos-ui-phosh
pkgver=22.3
pkgrel=4
pkgrel=5
pkgdesc="(Wayland) Mobile UI initially developed for the Librem 5"
url="https://phosh.mobi"
arch="noarch !armhf"
@@ -21,8 +21,6 @@ depends="
postmarketos-base-ui-gnome-wallpaper-pmos
postmarketos-base-ui-qt-tweaks
postmarketos-base-ui-qt-wayland
tinydm
tinydm-openrc
udiskie
xdg-desktop-portal-wlr
"
@@ -46,7 +44,11 @@ source="
mimeapps.list
udiskie.desktop
"
options="!check pmb:gpu-accel"
options="!check pmb:gpu-accel pmb:systemd"
subpackages="
$pkgname-openrc:openrc
$pkgname-systemd:systemd
"
package() {
install -Dm644 "$srcdir"/01_postmarketos-ui-phosh.gschema.override \
@@ -57,6 +59,26 @@ package() {
"$pkgdir"/etc/xdg/autostart/udiskie.desktop
}
openrc() {
install_if="$pkgname=$pkgver-r$pkgrel openrc"
install="$subpkgname.post-install"
depends="
tinydm
tinydm-openrc
"
mkdir "$subpkgdir"
}
systemd() {
install_if="$pkgname=$pkgver-r$pkgrel systemd"
install="$subpkgname.post-install"
depends="
libcap-utils
phosh-service
"
mkdir "$subpkgdir"
}
sha512sums="
e577b8073df680ccee75ef5b6bb1f2877d5727687d63d6fd9211298e791b6c9f593eb79278c77a4b4918e3c57333c2a012030baf5a3c8d6d16000cc63a030f84 01_postmarketos-ui-phosh.gschema.override
a741e8db9e4232334b924326c48be4e4c8f7a2382a7608926918a7491c518b2dda551e55a00d4d5fcf58c7950a78dc35d5cc5eaab53ad93a56de40887071f242 mimeapps.list
@@ -0,0 +1,7 @@
#!/bin/sh
rc-update add tinydm default
rc-update add waked default
tinydm-set-session -s /usr/share/wayland-sessions/phosh.desktop
exit 0
@@ -0,0 +1,3 @@
#!/bin/sh
systemctl enable phosh
@@ -1,9 +1,5 @@
#!/bin/sh
rc-update add tinydm default
rc-update add waked default
tinydm-set-session -s /usr/share/wayland-sessions/phosh.desktop
# Add the user to relevant groups in post-upgrade (symlink to post-install).
# Note that we don't want to rely on users existing in post-install
# (pmaports#820), therefore the group is also set via _pmb_groups during
+20 -3
View File
@@ -2,7 +2,7 @@
# Maintainer: Bart Ribbers <bribbers@disroot.org>
pkgname=postmarketos-ui-plasma-desktop
pkgver=3
pkgrel=1
pkgrel=2
pkgdesc="(X11/Wayland) KDE Desktop Environment (works well with tablets)"
url="https://www.kde.org"
# armhf and riscv64 blocked by plasma
@@ -37,8 +37,11 @@ _pmb_recommends="$_pmb_recommends
wayland-utils
xdpyinfo
"
install="$pkgname.post-install $pkgname.post-upgrade"
options="!check" # No tests for a metapkg
options="!check pmb:systemd" # No tests for a metapkg
subpackages="
$pkgname-openrc:openrc
$pkgname-systemd:systemd
"
package() {
mkdir -p "$pkgdir"
@@ -57,3 +60,17 @@ extras() {
mkdir -p "$subpkgdir"
}
openrc() {
install_if="$pkgname=$pkgver-r$pkgrel openrc"
install="$subpkgname.post-install $subpkgname.post-upgrade"
mkdir -p "$subpkgdir"
}
systemd() {
install_if="$pkgname=$pkgver-r$pkgrel systemd"
install="$subpkgname.post-install $subpkgname.post-upgrade"
mkdir -p "$subpkgdir"
}
@@ -8,6 +8,5 @@ if [ -f ${SDDM_CONF} ]; then
fi
fi
rc-update add modemmanager default
rc-update add sddm default
rc-update add networkmanager default
rc-update add bluetooth default
@@ -0,0 +1 @@
postmarketos-ui-plasma-desktop-openrc.post-install
@@ -0,0 +1,11 @@
#!/bin/sh
SDDM_CONF=/etc/sddm.conf
if [ -f ${SDDM_CONF} ]; then
if ! grep -q "InputMethod" $SDDM_CONF; then
echo "InputMethod=qtvirtualkeyboard" >> $SDDM_CONF
fi
fi
systemctl enable sddm
@@ -0,0 +1 @@
postmarketos-ui-plasma-desktop-systemd.post-install
@@ -1 +0,0 @@
postmarketos-ui-plasma-desktop.post-install
+25 -3
View File
@@ -29,15 +29,15 @@ _pmb_recommends="
spacebar
ttyescape
"
install="$pkgname.post-install $pkgname.post-upgrade"
source="
plasma-mobile.service
kscreenlockerrc
maliit-plasmamobile.json
org.kde.phone.homescreen.js
"
subpackages="$pkgname-extras"
subpackages="$pkgname-extras $pkgname-openrc $pkgname-systemd"
replaces="plasma-mobile"
options="!check pmb:gpu-accel"
options="!check pmb:gpu-accel pmb:systemd"
package() {
install -Dm644 \
@@ -72,8 +72,30 @@ extras() {
mkdir -p "$subpkgdir"
}
openrc() {
install_if="$pkgname=$pkgrel-r$pkgrel openrc"
install="$subpkgname.post-install $subpkgname.post-upgrade"
depends="
modemmanager-openrc
tinydm
tinydm-openrc
"
mkdir -p "$subpkgdir"
}
systemd() {
install_if="$pkgname=$pkgver-r$pkgrel systemd"
install="$subpkgname.post-install $subpkgname.post-upgrade"
install -Dm644 "$srcdir"/plasma-mobile.service \
"$subpkgdir"/usr/lib/systemd/system/plasma-mobile.service
}
sha512sums="
e12d8e98e28a795f879aebcceb32a991ee4abcb3bc5ec458aa5378bb52ff86cf39be04bc4a196925f532d623304b3005f561fa5e55d1c87944d718058ec4c0e6 plasma-mobile.service
b3aa8ee26c01de103c0c0af23532bf232f7071fdd02c53bd787d78e5974faa5662fc5776ce9be417392214ae73334b0eb0d073fe24f616a0ce99081f30b9158c kscreenlockerrc
70ee87860842057b557a433a9ae7d54653f076a612b3d9de2d413d598806d23ec19390262eaa398cddf39437f1213d14922402a8d978878e5e98f3767ce0b9eb maliit-plasmamobile.json
50dbb5e0b1550776ca6fc5b91468412b23d49aa502af77cf7d5d15af11eaf61b1632b205f42eac3274bf28a0b7b278a4d6bfc98c6c12ea29830fd258bad5107d org.kde.phone.homescreen.js
@@ -0,0 +1,58 @@
[Unit]
Description=Open-source user interface for phones, based on Plasma technologies
Documentation=https://invent.kde.org/plasma-mobile
# replaces the getty
Conflicts=getty@tty1.service
After=getty@tty1.service
# Needs all the dependencies of the services it's replacing
# (currently getty@tty1.service):
After=rc-local.service plymouth-quit-wait.service systemd-user-sessions.service
OnFailure=getty@tty1.service
# D-Bus is necessary for contacting logind. Logind is required.
Wants=dbus.socket
After=dbus.socket
# This scope is created by pam_systemd when logging in as the user.
# This directive is a workaround to a systemd bug, where the setup of the
# user session by PAM has some race condition, possibly leading to a failure.
# See README for more details.
After=session-c1.scope
# Since we are part of the graphical session, make sure we are started before
# it is complete.
Before=graphical.target
# Prevent starting on systems without virtual consoles
ConditionPathExists=/dev/tty0
[Service]
Environment=LANG=C.UTF-8
ExecStart=/usr/bin/startplasmamobile
TimeoutStartSec=30
User=10000
PAMName=login
WorkingDirectory=~
Restart=always
RestartSec=5s
# A virtual terminal is needed.
TTYPath=/dev/tty7
TTYReset=yes
TTYVHangup=yes
TTYVTDisallocate=yes
# Fail to start if not controlling the tty.
StandardInput=tty-fail
StandardOutput=journal
StandardError=journal
# Log this user with utmp, letting it show up with commands 'w' and 'who'.
UtmpIdentifier=tty7
UtmpMode=user
[Install]
WantedBy=graphical.target
@@ -0,0 +1,6 @@
#!/bin/sh
rc-update add modemmanager default
rc-update add tinydm default
tinydm-set-session -s /usr/share/wayland-sessions/plasma-mobile.desktop
@@ -0,0 +1 @@
postmarketos-ui-plasma-mobile-openrc.post-install
@@ -0,0 +1,3 @@
#!/bin/sh
systemctl enable plasma-mobile
@@ -0,0 +1 @@
postmarketos-ui-plasma-mobile-systemd.post-install
@@ -1,24 +0,0 @@
#!/bin/sh
rc-update add bluetooth default
rc-update add elogind default
rc-update add hfd-service default
rc-update add iio-sensor-proxy default
rc-update add networkmanager default
rc-update add modemmanager default
rc-update add tinydm default
rc-update add urfkill default
# Migrate from the old ofono setup
if rc-update del ofono default; then
rc-update del ofono-auto-enable default
rc-service stop ofono
rc-service stop ofono-auto-enable
rc-service start modemmanager
fi
tinydm-set-session -s /usr/share/wayland-sessions/plasma-mobile.desktop
glib-compile-schemas /usr/share/glib-2.0/schemas
@@ -1 +0,0 @@
postmarketos-ui-plasma-mobile.post-install
+1 -1
View File
@@ -44,7 +44,7 @@ _pmb_recommends="
"
provides="postmarketos-ui-sxmo"
provider_priority=5
options="!check" # has no tests
options="!check pmb:systemd-never"
package() {
mkdir -p "$pkgdir"
+1 -1
View File
@@ -49,7 +49,7 @@ _pmb_recommends="
"
provides="postmarketos-ui-sxmo"
provider_priority=10
options="!check" # has no tests
options="!check pmb:systemd-never"
package() {
mkdir -p "$pkgdir"
+11
View File
@@ -11,3 +11,14 @@ supported_mkinitfs_without_flavors=True
supported_arches=x86_64,x86,aarch64,armv7,armhf
supported_fastboot_depends=android-tools
supported_heimdall_depends=heimdall,android-tools
[repo:systemd]
pmaports_dir=systemd
# Build forks of Alpine packages that support usr_merge
bootstrap_1=apk-tools abuild alpine-base
# Build systemd related pkgs without deps on each other
bootstrap_2=[usr_merge] systemd dbus linux-pam
# Build systemd related pkgs *with* deps on each other
bootstrap_3=[usr_merge] systemd dbus linux-pam
# Marker that bootstrap is done, only needs to be built once
bootstrap_4=[usr_merge] postmarketos-base-systemd
+103
View File
@@ -0,0 +1,103 @@
# Forked from Alpine to add systemd-service support
pkgname=abuild
pkgver=99993.12.0
_pkgver=3.12.0
_commit="d45c6dbee9171fa9dc25b2d6b298469619fbedb6"
_ver=${_pkgver%_git*}
pkgrel=1
pkgdesc="Script to build Alpine Packages"
url="https://git.alpinelinux.org/cgit/abuild/"
arch="all"
license="GPL-2.0-only"
depends="fakeroot scanelf openssl>3 apk-tools>=2.0.7-r1 libc-utils
attr tar pkgconf patch lzip curl libcap-getcap"
makedepends="openssl-dev>3 zlib-dev pkgconfig scdoc"
checkdepends="kyua git"
install="$pkgname.pre-install $pkgname.pre-upgrade"
subpackages="
apkbuild-cpan:cpan:noarch
apkbuild-gem-resolver:gems:noarch
apkbuild-pypi:pypi:noarch
abuild-rootbld:_rootbld:noarch
$pkgname-doc
"
options="suid !check" # tests are SLOW in qemu
pkggroups="abuild"
source="https://gitlab.com/calebccff/abuild/-/archive/$_commit/abuild-$_commit.tar.gz"
builddir="$srcdir"/abuild-"$_commit"
build() {
make VERSION="$_pkgver-r$pkgrel"
}
check() {
make check
}
package() {
make install VERSION="$_pkgver-r$pkgrel" DESTDIR="$pkgdir"
install -m 644 abuild.conf "$pkgdir"/etc/abuild.conf
case "$CARCH" in
x86*|ppc64le)
# binutils only supports it here
cat >>"$pkgdir"/usr/share/abuild/default.conf <<-EOF
# binutils ld.bfd supports this on this architecture; default to it
export RUSTFLAGS="\$RUSTFLAGS -Clink-arg=-Wl,-z,pack-relative-relocs"
export LDFLAGS="\$LDFLAGS -Wl,-z,pack-relative-relocs"
EOF
esac
case "$CARCH" in
x86_64)
# https://lists.alpinelinux.org/~alpine/devel/%3C1628515011.zujvcn248v.none%40localhost%3E
# note that this is x86-exclusive. on other architectures, this is pretty much always bad
# https://github.com/rust-lang/rust/pull/106380
cat >>"$pkgdir"/usr/share/abuild/default.conf <<-EOF
# -fno-plt has very slight improvements to general code size and speed on x86-only,
# for the common system dynamic linking case
export CFLAGS="\$CFLAGS -fno-plt"
export CXXFLAGS="\$CXXFLAGS -fno-plt"
EOF
;;
esac
install -d -m 775 -g abuild "$pkgdir"/var/cache/distfiles
}
cpan() {
pkgdesc="Script to generate perl APKBUILD from CPAN"
depends="perl perl-libwww perl-json perl-module-build perl-module-build-tiny
perl-lwp-protocol-https"
amove usr/bin/apkbuild-cpan
}
gems() {
pkgdesc="APKBUILD dependency resolver for RubyGems"
depends="ruby ruby-augeas"
amove usr/bin/apkbuild-gem-resolver
}
pypi() {
pkgdesc="Script to generate python3 APKBUILD from PYPI"
depends="perl perl-libwww perl-json perl-module-build-tiny perl-lwp-protocol-https
perl-ipc-system-simple"
amove usr/bin/apkbuild-pypi
}
_rootbld() {
pkgdesc="Build packages in chroot"
depends="abuild bubblewrap cmd:envsubst git"
mkdir -p "$subpkgdir"
}
sha512sums="
3959c47c8ada26a23f647b4af4258e6ff1a8c7b6b4821cafe655da953933f12fed8c5753a8ec2cde6abd1e3e9b67dccaa74acc0633827d581d532905af9fb1e4 abuild-d45c6dbee9171fa9dc25b2d6b298469619fbedb6.tar.gz
"
+5
View File
@@ -0,0 +1,5 @@
#!/bin/sh
addgroup -S abuild 2>/dev/null
exit 0
+1
View File
@@ -0,0 +1 @@
abuild.pre-install
+59
View File
@@ -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,
+15
View File
@@ -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
+24
View File
@@ -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
+100
View File
@@ -0,0 +1,100 @@
# Forked from Alpine INSERT-REASON-HERE (CHANGEME!)
pkgname=apk-tools
pkgver=9992.14
_pkgver=2.14.0
pkgrel=7
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="f13b73df2fc25875b1e19b093f818d2cce889cc0"
source="https://gitlab.alpinelinux.org/calebccff/apk-tools/-/archive/$_commit/apk-tools-$_commit.tar.gz
_apk
"
builddir="$srcdir/$pkgname-$_commit"
# secfixes:
# 2.12.6-r0:
# - CVE-2021-36159
# 2.12.5-r0:
# - CVE-2021-30139
prepare() {
default_prepare
sed -i -e 's:-Werror::' Make.rules
echo "FULL_VERSION=$_pkgver-r$pkgrel" > config.mk
}
build() {
make LUA="$_lua"
make static LUA="$_lua"
}
check() {
make check LUA="$_lua"
}
package() {
make DESTDIR="$pkgdir" LUA="$_lua" install
install -d "$pkgdir"/var/lib/apk \
"$pkgdir"/lib/apk/exec \
"$pkgdir"/etc/apk/keys \
"$pkgdir"/etc/apk/protected_paths.d
install -Dm644 "$srcdir"/_apk "$pkgdir"/usr/share/zsh/site-functions/_apk
rm -r "$pkgdir"/usr/share/doc
}
static() {
pkgdesc="Alpine Package Keeper - static binary"
install -Dm755 "$builddir"/src/apk.static \
"$subpkgdir"/sbin/apk.static
# lets sign the static binary so it can be vefified from distros
# that does not have apk-tools
local abuild_conf=${ABUILD_CONF:-"/etc/abuild.conf"}
local abuild_home=${ABUILD_USERDIR:-"$HOME/.abuild"}
local abuild_userconf=${ABUILD_USERCONF:-"$abuild_home/abuild.conf"}
[ -f "$abuild_userconf" ] && . "$abuild_userconf"
local privkey="$PACKAGER_PRIVKEY"
local pubkey=${PACKAGER_PUBKEY:-"$privkey.pub"}
local keyname=${pubkey##*/}
${CROSS_COMPILE}strip "$subpkgdir"/sbin/apk.static
openssl dgst -sha1 -sign "$privkey" \
-out "$subpkgdir"/sbin/apk.static.SIGN.RSA.$keyname \
"$subpkgdir"/sbin/apk.static
}
luaapk() {
pkgdesc="Lua module for apk-tools"
mkdir -p "$subpkgdir"/usr/
mv "$pkgdir"/usr/lib "$subpkgdir"/usr/lib/
}
sha512sums="
88b1eab6d6e96b9cff3c9688bda8349ace9c5a54acf835819e763ffbdae299877d5db8c14519b9c1ab9606cc743f21c1fe92cd9957af82ad7aee47e1e673094b apk-tools-f13b73df2fc25875b1e19b093f818d2cce889cc0.tar.gz
7870676720f5007eee9482786e02246f8e3474afb90e76c9c83aebe914747a8e007b5d2eed6441933f4922024b3f0664db270f21981ad6c2db877a110b0cd79e _apk
"
+268
View File
@@ -0,0 +1,268 @@
#compdef apk
function _apk {
local -a global_opts=(
"(-h --help)"{-h,--help}"[Print help information]"
"(-i --interactive)"{-i,--interactive}"[Ask confirmation before performing certain operations]"
"(-p --root)"{-p,--root}"[Manage file system at ROOT]"
"(-q --quiet)"{-q,--quiet}"[Print less information]"
"(-U --update-cache)"{-U,--update-cache}"[Alias for '--cache-max-age 1']"
"(-v --verbose)"{-v,--verbose}"[Print more information]"
"(-V --version)"{-V,--version}"[Print program version and exit]"
"(-X --repository)"{-X,--repository}"[Specify additional package repository]:repository:_host"
"--allow-untrusted[Install packages with untrusted signature or no signature]"
"--arch[Temporarily override architecture]:arch:(armhf mips64 s390x x86_64 x86 aarch64 ppc64le armv7 riscv64)"
"--cache-dir[Temporarily override the cache directory]:directory:_dir_list"
"--cache-max-age[Maximum age for index in cache before it's refreshed]:minutes"
"--force-binary-stdout[Continue even if binary data will be printed to the terminal]"
"--force-broken-world[Continue even if world cannot be satisfied]"
"--force-non-repository[Continue even if packages may be lost on reboot]"
"--force-old-apk[Continue even if packages use unsupported features]"
"--force-overwrite[Overwrite files in other packages]"
"--force-refresh[Do not use cached files]"
"--keys-dir[Override directory of trusted keys]:directory:_dir_list"
"--no-cache[Do not use any local cache path]"
"--no-network[Do not use the network]"
"--no-progress[Disable progress bar even for TTYs]"
"--print-arch[Print default arch and exit]"
"--progress[Show progress]"
"--progress-fd[Write progress to the specified file descriptor]:file descriptor"
"--purge[Delete modified configuration files or uninstalled packages from cache]"
"--repositories-file[Override system repositories]:repository file:_files"
"--wait[Wait to get an exclusive repository lock before failing]:seconds"
)
local -a commit_opts=(
"(-s --simulate)"{-s,--simulate}"[Simulate the requested operation without making any changes]"
"--clean-protected[Do not create .apk-new files in configuration directories]"
"--overlay-from-stdin[Read list of overlay files from stdin]"
"--no-scripts[Do not execute any scripts]"
"--no-commit-hooks[Skip pre/post hook scripts]"
"--initramfs-diskless-boot[Enables selected force options, disables commit hooks and more]"
)
local -a latest_opt=("(-l --latest)"{-l,--latest}"[Always choose the latest package by version]")
local -a upgrade_opt=("(-u --upgrade)"{-u,--upgrade}"[Upgrade packages and it's dependencies]")
local context state state_descr line
typeset -A opt_args
local curcontext="$curcontext"
local ret=1
function _ccache_apk_world { [[ "$1" -ot /etc/apk/world ]] }
function _ccache_apk_avail {
for i in /var/cache/apk/APKINDEX.*; do
[[ "$1" -ot "$i" ]] && return
done
}
function _apk_available_pkgs {
local -a _apk_available_packs
zstyle ":completion:${curcontext}:" cache-policy _ccache_apk_avail
local IFS=$'\n'
if _cache_invalid apk_index_packages_available || ! _retrieve_cache apk_index_packages_available; then
_apk_available_packs=(${${$(/sbin/apk list -a 2>/dev/null)%% *}%-*-r[[:digit:]]*})
_store_cache apk_index_packages_available _apk_available_packs
fi
_describe 'available packages' _apk_available_packs
}
function _apk_installed_pkgs {
local -a _apk_installed_packs
zstyle ":completion:${curcontext}:" cache-policy _ccache_apk_world
local IFS=$'\n'
if _cache_invalid apk_index_packages_installed || ! _retrieve_cache apk_index_packages_installed; then
_apk_installed_packs=(${${$(/sbin/apk list -I 2>/dev/null)%% *}%-*-r[[:digit:]]*})
_store_cache apk_index_packages_installed _apk_installed_packs
fi
_describe 'installed packages' _apk_installed_packs
}
function _apk_packages {
_alternative 'repo:available packages:_apk_available_pkgs' 'localpkgs:local packages:_files -g "*.apk"'
}
function _apk_cache {
local -a cache_subcmds=(
"clean:Remove package files which are no longer necessary"
"download:Fetch package files from the repositories and store them in the cache"
"sync:Clean and Download"
)
_describe 'subcommand' cache_subcmds
}
function _apk_subcmds {
local -a cmds=(
"add:Add packages to world and commit changes"
"del:Remove packages from world and commit changes"
"fix:Fix, reinstall or upgrade packages without modifying world"
"update:Update repository indexes"
"upgrade:Install upgrades available from repositories"
"cache:Manage the local package cache"
"info:Give detailed information about packages or repositories"
"list:List packages matching a pattern or other criteria"
"dot:Render dependencies as graphviz graphs"
"policy:Show repository policy for packages"
"search:Search for packages by name or description"
"index:Create repository index file from packages"
"fetch:Download packages from global repositories to a local directory"
"manifest:Show checksums of package contents"
"verify:Verify package integrity and signature"
"audit:Audit system for changes"
"stats:Show statistics about repositories and installations"
"version:Compare package versions or perform tests on version strings"
)
_describe 'subcommand' cmds
}
local -a completion_spec=($global_opts ':subcommand:_apk_subcmds')
case ${${words:#-*}[2]} in
(add)
completion_spec+=(
$commit_opts \
$latest_opt \
$upgrade_opt \
"--initdb[Initialize a new package database]" \
"(-t --virtual)"{-t,--virtual}"[Create virtual package with given dependencies]" \
"--no-chown[Do not change file owner or group]" \
"*:package:_apk_packages"
)
;;
(del)
completion_spec+=(
$commit_opts \
"(-r --rdepends)"{-r,--rdepends}"[Recursively delete all top-level reverse dependencies]" \
"*:installed package:_apk_installed_pkgs"
)
;;
(fix)
completion_spec+=(
$commit_opts \
"(-d --depends)"{-d,--depends}"[Fix dependencies of specified packages]" \
"(-r --reinstall)"{-r,--reinstall}"[Reinstall packages]" \
"(-u --upgrade)"{-u,--upgrade}"[Upgrade if an upgrade is available and does not break dependencies]" \
"(-x --xattr)"{-x,--xattr}"[Fix packages with broken xattrs]" \
"--directory-permissions[Reset all directory permissions]" \
"*:package:_apk_packages"
)
;;
(update) completion_spec+=($commit_opts);;
(upgrade)
completion_spec+=(
$commit_opts \
$latest_opt \
"(-a --available)"{-a,--available}"[Reset all packages to versions available from current repositories]" \
"--ignore[Upgrade all other packages than the ones listed]" \
"--no-self-upgrade[Do not do an early upgrade of the 'apk-tools' package]" \
"--prune[Remove packages which are no longer available from any configured repository]" \
"--self-upgrade-only[Only perform a self-upgrade of the 'apk-tools' package]" \
"*:package:_apk_packages"
)
;;
(cache)
completion_spec+=(
$latest_opt \
$upgrade_opt \
'2:subcommand:_apk_cache'
)
;;
(info)
completion_spec+=(
"(-a --all)"{-a,--all}"[List all information known about the package]" \
"(-d --description)"{-d,--descripton}"[Print the package description]" \
"(-e --installed)"{-e,--installed}"[Check package installed status]" \
"(-L --contents)"{-L,--contents}"[List files included in the package]" \
"(-P --provides)"{-P,--provides}"[List what the package provides]" \
"(-r --rdepends)"{-r,--rdepends}"[List reverse dependencies of the package]" \
"(-R --depends)"{-R,--depends}"[List the dependencies of the package]" \
"(-s --size)"{-s,--size}"[Print the package's installed size]" \
"(-w --webpage)"{-w,--webpage}"[Print the URL for the package's upstream webpage]" \
"(-W --who-owns)"{-W,--who-owns}"[Print the package which owns the specified file]:file:_files" \
"(-i --install-if)"{-i,--install-if}"[List the package's install_if rule]" \
"--license[Print the package SPDX license identifier]" \
"--replaces[List the other packages for which this package is marked as a replacement]" \
"(-I --rinstall-if)"{-I,--rinstall-if}"[List other packages whose install_if rules refer to this package]" \
"--triggers[Print active triggers for the package]" \
"*:package:_apk_packages"
)
;;
(list)
completion_spec+=(
"(-I --installed)"{-I,--installed}"[Consider only installed packages]" \
"(-O --orphaned)"{-O,--orphaned}"[Consider only orphaned packages]" \
"(-a --available)"{-a,--available}"[Consider only available packages]" \
"(-u --upgradable --upgradeable)"{-u,--upgradable,--upgradeable}"[Consider only upgradable packages]" \
"(-o --origin)"{-o,--origin}"[List packages by origin]" \
"(-d --depends)"{-d,--depends}"[List packages by dependency]" \
"(-P --providers)"{-P,--providers}"[List packages by provider]" \
"*:pattern"
)
;;
(dot)
completion_spec+=(
"--errors[Consider only packages with errors]" \
"--installed[Consider only installed packages]"
)
;;
(index)
completion_spec+=(
"(-d --description)"{-d,--description}"[Add a description to the index]:description" \
"(-o --output)"{-o,--output}"[Output generated index to file]:output:_files" \
"(-x --index)"{-x,--index}"[Read an existing index to speed up the creation of the new index]" \
"--no-warnings[Disable warnings about missing dependencies]" \
"--rewrite-arch[Set all package's architecture to arch]:arch:(armhf mips64 s390x x86_64 x86 aarch64 ppc64le armv7 riscv64)" \
"*:package:_apk_packages"
)
;;
(fetch)
completion_spec+=(
"(-l --link)"{-l,--link}"[Create hard links if possible]" \
"(-o --output)"{-o,--output}"[Where to write the downloaded files]:directory:_dir_list" \
"(-r --recursive)"{-r,--recursive}"[Fetch packages and all of their dependencies]" \
"(-s --stdout)"{-s,--stdout}"[Dump the .apk file(s) to stdout]" \
"--simulate[Simulate the requested operation without making any changes]" \
"--url[Print the full URL for downloaded packages]" \
"*:package:_apk_packages"
)
;;
(manifest) completion_spec+=("*:package:_apk_packages");;
(verify) completion_spec+=("*:package:_apk_packages");;
(audit)
completion_spec+=(
"--backup[Audit configuration files only (default)]" \
"--check-permissions[Check file permissions too]" \
"--packages[Print only the packages with changed files]" \
"--system[Audit all system files]" \
"(-r --recursive)"{-r,--recursive}"[Descent into directories and audit them as well]" \
"*:files:_files"
)
;;
(version)
completion_spec+=(
"(-a --all)"{-a,--all}"[Consider packages from all repository tags]" \
"(-c --check)"{-c,--check}"[Check versions for validity]:*: " \
"(-I --indexes)"{-I,--indexes}"[Print the version and description for each repository's index]:*: " \
"(-l --limit)"{-l,--limit}"[Limit to packages with output matching given operand]:operand:('>' '=' '<' '>=' '<=')" \
"(-t --test)"{-t,--test}"[Compare two version strings]:*: " \
"*:package:_apk_packages"
)
;;
(policy) completion_spec+=("*:package:_apk_packages");;
(search)
completion_spec+=(
"(-a --all)"{-a,--all}"[Print all matching package versions]" \
"(-d --description)"{-d,--description}"[Search in description as well]" \
"(-e -x --exact)"{-e,-x,--exact}"[Match package names exactly]" \
"--has-origin[Match by package origin]" \
"(-o --origin)"{-o,--origin}"[Print base package name]" \
"(-r --rdepends)"{-r,--rdepends}"[Print reverse dependencies]" \
"*:package:_apk_packages"
)
;;
esac
_arguments -C -s $completion_spec && ret=0
return ret
}
+109
View File
@@ -0,0 +1,109 @@
# Forked from Alpine to enable systemd
pkgname=dbus
pkgver=9991.14.10
_pkgver=1.14.10
pkgrel=1
pkgdesc="Freedesktop.org message bus system"
url="https://www.freedesktop.org/Software/dbus"
arch="all"
license="AFL-2.1 OR GPL-2.0-or-later"
depends_dev="util-linux-dev"
makedepends="
$depends_dev
expat-dev
glib-dev
libsm-dev
libx11-dev
meson
systemd-dev
xmlto
libcap-getcap
"
pkggroups="messagebus"
provider_priority=1
install="$pkgname.pre-install $pkgname.post-install"
triggers="$pkgname.trigger=/usr/share/dbus-1/system.d"
options="!check" # Borked in pmbootstrap...
subpackages="
$pkgname-daemon-launch-helper:launchhelper
$pkgname-dev
$pkgname-doc
$pkgname-libs
$pkgname-x11
$pkgname-service
"
source="https://dbus.freedesktop.org/releases/dbus/dbus-$_pkgver.tar.xz"
builddir="$srcdir/dbus-$_pkgver"
# secfixes:
# 1.14.4-r0:
# - CVE-2022-42010
# - CVE-2022-42011
# - CVE-2022-42012
# 1.12.18-r0:
# - CVE-2020-12049
# 1.12.16-r0:
# - CVE-2019-12749
build() {
CFLAGS="$CFLAGS -flto=auto" \
./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--localstatedir=/var \
--sysconfdir=/etc \
--with-system-pid-file=/run/dbus/dbus.pid \
--enable-checks \
--disable-assertions \
--enable-systemd \
--enable-inotify \
--enable-libaudit \
--enable-user-session \
--disable-static
make
}
check() {
make check
}
package() {
depends="$pkgname-libs=$pkgver-r$pkgrel"
make DESTDIR="$pkgdir" install
# can't install tmpfs
rm -r "$pkgdir"/var/run
}
libs() {
pkgdesc="D-BUS access libraries"
depends="systemd-libs"
amove usr/lib/lib*.so.*
}
x11() {
pkgdesc="X11 add-ons for D-BUS"
depends="$pkgname=$pkgver-r$pkgrel"
amove usr/bin/dbus-launch
}
launchhelper() {
pkgdesc="DBus SUID launch helper for autospawning"
install_if="$pkgname=$pkgver-r$pkgrel"
amove usr/libexec/dbus-daemon-launch-helper
}
dev() {
default_dev
}
sha512sums="
775b708326059692937acb69d4ce1a89e69878501166655b5d1b1628ac31b50dd53d979d93c84e57f95e90b15e25aa33893e51a7421d3537e9c2f02b1b91bfae dbus-1.14.10.tar.xz
"
+4
View File
@@ -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
+6
View File
@@ -0,0 +1,6 @@
#!/bin/sh
addgroup -S messagebus 2>/dev/null
adduser -S -D -H -h /dev/null -s /sbin/nologin -G messagebus -g messagebus messagebus 2>/dev/null
exit 0
+4
View File
@@ -0,0 +1,4 @@
#!/bin/sh
dbus-send --system --type=method_call --dest=org.freedesktop.DBus / \
org.freedesktop.DBUS.ReloadConfig >/dev/null 2>&1 || :
@@ -0,0 +1,71 @@
From a12b01f4f71d7ca1ed528ea11f99520c10b0d93c Mon Sep 17 00:00:00 2001
From: Newbyte <newbie13xd@gmail.com>
Date: Tue, 14 Mar 2023 19:37:17 +0100
Subject: [PATCH 1/2] DOWNSTREAM: use /bin/touch instead of /usr/bin/touch
as that's the path here in Alpine.
---
data/61-gdm.rules.in | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/data/61-gdm.rules.in b/data/61-gdm.rules.in
index a4f841bdf..481c5b4dd 100644
--- a/data/61-gdm.rules.in
+++ b/data/61-gdm.rules.in
@@ -2,13 +2,13 @@ SUBSYSTEM!="pci", GOTO="gdm_pci_device_end"
ACTION!="bind", ACTION!="add", GOTO="gdm_pci_device_end"
# cirrus
-ATTR{vendor}=="0x1013", ATTR{device}=="0x00b8", ATTR{subsystem_vendor}=="0x1af4", ATTR{subsystem_device}=="0x1100", RUN+="/usr/bin/touch /run/udev/gdm-machine-has-virtual-gpu", ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}="1", GOTO="gdm_pci_device_end"
+ATTR{vendor}=="0x1013", ATTR{device}=="0x00b8", ATTR{subsystem_vendor}=="0x1af4", ATTR{subsystem_device}=="0x1100", RUN+="/bin/touch /run/udev/gdm-machine-has-virtual-gpu", ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}="1", GOTO="gdm_pci_device_end"
# virtio
-ATTR{vendor}=="0x1af4", ATTR{device}=="0x1050", ATTR{subsystem_vendor}=="0x1af4", ATTR{subsystem_device}=="0x1100", RUN+="/usr/bin/touch /run/udev/gdm-machine-has-virtual-gpu", ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}="1", GOTO="gdm_pci_device_end"
+ATTR{vendor}=="0x1af4", ATTR{device}=="0x1050", ATTR{subsystem_vendor}=="0x1af4", ATTR{subsystem_device}=="0x1100", RUN+="/bin/touch /run/udev/gdm-machine-has-virtual-gpu", ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}="1", GOTO="gdm_pci_device_end"
# qxl
-ATTR{vendor}=="0x1b36", ATTR{device}=="0x0100", RUN+="/usr/bin/touch /run/udev/gdm-machine-has-virtual-gpu", ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}="1", GOTO="gdm_pci_device_end"
+ATTR{vendor}=="0x1b36", ATTR{device}=="0x0100", RUN+="/bin/touch /run/udev/gdm-machine-has-virtual-gpu", ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}="1", GOTO="gdm_pci_device_end"
# vga
-ATTR{vendor}=="0x1234", ATTR{device}=="0x1111", RUN+="/usr/bin/touch /run/udev/gdm-machine-has-virtual-gpu", ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}="1", GOTO="gdm_pci_device_end"
+ATTR{vendor}=="0x1234", ATTR{device}=="0x1111", RUN+="/bin/touch /run/udev/gdm-machine-has-virtual-gpu", ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}="1", GOTO="gdm_pci_device_end"
# disable Wayland on Hi1710 chipsets
ATTR{vendor}=="0x19e5", ATTR{device}=="0x1711", GOTO="gdm_disable_wayland"
@@ -36,7 +36,7 @@ SUBSYSTEM!="drm", GOTO="gdm_nomodeset_end"
# but keep it enabled for simple framebuffer drivers
DRIVERS=="simple-framebuffer", GOTO="gdm_nomodeset_end"
IMPORT{parent}="GDM_MACHINE_HAS_VIRTUAL_GPU"
-ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}!="1", RUN+="/usr/bin/touch /run/udev/gdm-machine-has-hardware-gpu"
+ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}!="1", RUN+="/bin/touch /run/udev/gdm-machine-has-hardware-gpu"
IMPORT{cmdline}="nomodeset", GOTO="gdm_disable_wayland"
LABEL="gdm_nomodeset_end"
@@ -46,7 +46,7 @@ LABEL="gdm_nomodeset_end"
KERNEL!="nvidia", GOTO="gdm_nvidia_end"
SUBSYSTEM!="module", GOTO="gdm_nvidia_end"
ACTION!="add", GOTO="gdm_nvidia_end"
-RUN+="/usr/bin/touch /run/udev/gdm-machine-has-vendor-nvidia-driver"
+RUN+="/bin/touch /run/udev/gdm-machine-has-vendor-nvidia-driver"
# Check if suspend/resume services necessary for working wayland support is available
TEST{0711}!="/usr/bin/nvidia-sleep.sh", GOTO="gdm_disable_wayland"
@@ -68,7 +68,7 @@ LABEL="gdm_nvidia_end"
KERNEL!="card[0-9]-eDP-*", GOTO="gdm_laptop_check_end"
SUBSYSTEM!="drm", GOTO="gdm_laptop_check_end"
ACTION!="add", GOTO="gdm_laptop_check_end"
-RUN+="/usr/bin/touch /run/udev/gdm-machine-is-laptop"
+RUN+="/bin/touch /run/udev/gdm-machine-is-laptop"
GOTO="gdm_hybrid_nvidia_laptop_check"
LABEL="gdm_laptop_check_end"
@@ -79,7 +79,7 @@ SUBSYSTEM!="drm", GOTO="gdm_hybrid_graphics_check_end"
ACTION!="add", GOTO="gdm_hybrid_graphics_check_end"
IMPORT{program}="/bin/sh -c \"echo GDM_NUMBER_OF_GRAPHICS_CARDS=`ls -1d /sys/class/drm/card[0-9] | wc -l`\""
ENV{GDM_NUMBER_OF_GRAPHICS_CARDS}=="1", RUN+="/usr/bin/rm -f /run/udev/gdm-machine-has-hybrid-graphics"
-ENV{GDM_NUMBER_OF_GRAPHICS_CARDS}!="1", RUN+="/usr/bin/touch /run/udev/gdm-machine-has-hybrid-graphics"
+ENV{GDM_NUMBER_OF_GRAPHICS_CARDS}!="1", RUN+="/bin/touch /run/udev/gdm-machine-has-hybrid-graphics"
LABEL="gdm_hybrid_graphics_check_end"
# If this is a hybrid graphics laptop with vendor nvidia driver, disable wayland
--
2.39.2
@@ -0,0 +1,45 @@
diff --git a/data/pam-openembedded/gdm-autologin.pam b/data/pam-openembedded/gdm-autologin.pam
index a9f4354..3e0708b 100644
--- a/data/pam-openembedded/gdm-autologin.pam
+++ b/data/pam-openembedded/gdm-autologin.pam
@@ -1,5 +1,5 @@
#%PAM-1.0
-auth required pam_permit.so
-account include common-account
-password include common-auth
-session include common-session
+auth required pam_rootok.so
+account include base-account
+password include base-auth
+session include base-session
diff --git a/data/pam-openembedded/gdm-launch-environment.pam b/data/pam-openembedded/gdm-launch-environment.pam
index a9f4354..6f095e7 100644
--- a/data/pam-openembedded/gdm-launch-environment.pam
+++ b/data/pam-openembedded/gdm-launch-environment.pam
@@ -1,5 +1,5 @@
#%PAM-1.0
-auth required pam_permit.so
-account include common-account
-password include common-auth
-session include common-session
+auth required pam_rootok.so
+account include base-account
+password include base-auth
+session include base-session
diff --git a/data/pam-openembedded/gdm-password.pam b/data/pam-openembedded/gdm-password.pam
index 758464d..dd324f8 100644
--- a/data/pam-openembedded/gdm-password.pam
+++ b/data/pam-openembedded/gdm-password.pam
@@ -1,5 +1,8 @@
#%PAM-1.0
-auth include common-auth
-account include common-account
-password include common-password
-session include common-session
+auth include base-auth
+auth optional pam_gnome_keyring.so
+account include base-account
+password include base-password
+password optional pam_gnome_keyring.so use_authtok
+session include base-session
+session optional pam_gnome_keyring.so auto_start
+83
View File
@@ -0,0 +1,83 @@
# Forked from Alpine INSERT-REASON-HERE (CHANGEME!)
pkgname=gdm
pkgver=9999
_pkgver=45.0.1
pkgrel=0
pkgdesc="GNOME display manager"
url="https://wiki.gnome.org/Projects/GDM"
# blocked by gnome-shell
arch="all !armhf !s390x"
license="GPL-2.0-or-later"
depends="
dbus
gnome-session
gnome-settings-daemon
gnome-shell
gsettings-desktop-schemas
linux-pam>=1.4
xrdb
xwayland
"
makedepends="
accountsservice-dev
dconf
eudev-dev
gettext
glib-dev
gtk+3.0-dev
itstool
libcanberra-dev
libgudev-dev
libsm-dev
libx11-dev
libxau-dev
libxcb-dev
libxdmcp-dev
linux-pam-dev
meson
systemd-dev
"
subpackages="$pkgname-dev $pkgname-doc $pkgname-lang $pkgname-service"
options="!check" # Causes circular dep with gnome-shell
source="https://download.gnome.org/sources/gdm/${_pkgver%%.*}/gdm-$_pkgver.tar.xz
0001-DOWNSTREAM-use-bin-touch-instead-of-usr-bin-touch.patch
0003-pam-rename-common-to-base.patch
Xsession
"
install="gdm.pre-install"
builddir="$srcdir/gdm-$_pkgver"
build() {
abuild-meson \
-Db_lto=true \
-Ddefault-pam-config=openembedded \
-Dgdm-xsession=false \
-Dpam-mod-dir=/usr/lib/security \
-Dselinux=disabled \
-Dlibaudit=disabled \
-Dsystemdsystemunitdir=/usr/lib/systemd/system \
-Dsystemduserunitdir=/usr/lib/systemd/user \
. output
meson compile -C output
}
package() {
DESTDIR="$pkgdir" meson install --no-rebuild -C output
# install -Dm644 /dev/stdin usr/lib/sysusers.d/gdm.conf <<END
#g gdm 120 -
#u gdm 120 "Gnome Display Manager" /var/lib/gdm
#END
#sed -i "s/pam_systemd\.so/pam_elogind.so/" "$pkgdir"/etc/pam.d/*
install -m755 -D "$srcdir/Xsession" "$pkgdir"/etc/gdm
}
sha512sums="
f0c667dd5df034087e284c2ec1131b55a85cd9e832c15c2aff1637e1e36d4d62a7d86528a2e524bb2782ca7d7cc7cb9c34a9ce9bba688ad222af409e2eb69abe gdm-45.0.1.tar.xz
f91ad0ccae448649e4a7c707b83c796988968a698718db0aedbf2b7c2b9aec0d0cfb12fb4bb7f5de99d3cf337bf4528608625d701872bad8bdc98f8020f0ea95 0001-DOWNSTREAM-use-bin-touch-instead-of-usr-bin-touch.patch
eef64cbc347a2ce894a84f7d1d7612af71b6731492ab67f78a17c9ab37db9cfa0f9d6e8415e58821404eb15336eedd263ca14bfc542b808b62bf684b1594e0fe 0003-pam-rename-common-to-base.patch
f836cf0acdf148f2ae09ac28251b5126ce597f08254c43b1ec77596f75e1a3229926116c13f98554625be763e8d28415b27bd679b0a5de9f86bdca7857054c82 Xsession
"
+2
View File
@@ -0,0 +1,2 @@
#!/bin/sh
exec "$@"
+14
View File
@@ -0,0 +1,14 @@
#!/sbin/openrc-run
supervisor=supervise-daemon
name="Display Manager"
description="GNOME Display Manager"
command=/usr/sbin/gdm
command_args="$GDM_OPTS"
depend() {
provide display-manager
need net dbus
}
+6
View File
@@ -0,0 +1,6 @@
#!/bin/sh
addgroup -S gdm 2>/dev/null
adduser -S -D -H -h /var/lib/gdm -s /sbin/nologin -G gdm -g gdm gdm 2>/dev/null
exit 0
@@ -0,0 +1,57 @@
https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/gnome-keyring/trunk/0001-build-Use-p11_module_configs-as-default-pkcs11-confi.patc
From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
Date: Sat, 21 May 2022 18:42:21 +0000
Subject: [PATCH] build: Use p11_module_configs as default pkcs11-config dir
When building p11-kit with meson, `p11_system_config_modules` points at
the dir for system config in `/etc. This is its proper meaning.
When building p11-kit with autotools, `p11_system_config_modules` is a
copy of `p11_module_configs` "for compatibility", and points to the dir
for packaged configs in `/usr/share`.
We want the dir for packaged configs, so use the right variable.
---
configure.ac | 10 +++++-----
pkcs11/rpc-layer/Makefile.am | 2 +-
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/configure.ac b/configure.ac
index 1bf7c14c8ccc..98d8c01018fb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -294,15 +294,15 @@ AC_ARG_WITH(pkcs11-config, [
[directory to install PKCS#11 config])
])
if test -z "$with_pkcs11_config" ; then
- P11_SYSTEM_CONFIG_MODULES=$($PKG_CONFIG p11-kit-1 --variable=p11_system_config_modules)
+ P11_MODULE_CONFIGS=$($PKG_CONFIG p11-kit-1 --variable=p11_module_configs)
else
- P11_SYSTEM_CONFIG_MODULES="$with_pkcs11_config"
+ P11_MODULE_CONFIGS="$with_pkcs11_config"
fi
-if test "$P11_SYSTEM_CONFIG_MODULES" = ""; then
+if test "$P11_MODULE_CONFIGS" = ""; then
AC_MSG_ERROR([Could not find location for pkcs11 module config])
fi
-AC_MSG_RESULT($P11_SYSTEM_CONFIG_MODULES)
-AC_SUBST(P11_SYSTEM_CONFIG_MODULES)
+AC_MSG_RESULT($P11_MODULE_CONFIGS)
+AC_SUBST(P11_MODULE_CONFIGS)
AC_MSG_CHECKING([module path to install pkcs11 modules])
AC_ARG_WITH(pkcs11-modules, [
diff --git a/pkcs11/rpc-layer/Makefile.am b/pkcs11/rpc-layer/Makefile.am
index ccdff9191ad4..d3a3b57bbc6e 100644
--- a/pkcs11/rpc-layer/Makefile.am
+++ b/pkcs11/rpc-layer/Makefile.am
@@ -46,7 +46,7 @@ gnome_keyring_pkcs11_la_LDFLAGS = \
-no-undefined -export-symbols-regex 'C_GetFunctionList'
# This is the configuration file that p11-kit uses to load the module
-pkcs11configdir = $(P11_SYSTEM_CONFIG_MODULES)
+pkcs11configdir = $(P11_MODULE_CONFIGS)
pkcs11config_DATA = \
pkcs11/rpc-layer/gnome-keyring.module
+68
View File
@@ -0,0 +1,68 @@
# Forked from Alpine
# systemd unit activation
pkgname=gnome-keyring
pkgver=99942.1
_pkgver=42.1
pkgrel=2
pkgdesc="GNOME keyring"
url="https://wiki.gnome.org//Projects/GnomeKeyring"
arch="all"
license="GPL-2.0-only LGPL-2.0-only"
# the gcr binaries are needed for things to open the keyring via libsecret
depends="gcr"
makedepends="
autoconf
automake
gcr-dev
gobject-introspection-dev
gtk+3.0-dev
gtk-doc
intltool
libcap-ng-dev
libgcrypt-dev
libxslt
linux-pam-dev
openssh-client
systemd-dev
"
checkdepends="
dbus-x11
python3
xvfb-run
"
provides="dbus:org.freedesktop.Secrets"
# Highest priority of the bunch since it has the least deps
provider_priority=500
options="!check" # Failing tests on 32-bit architectures
subpackages="$pkgname-lang $pkgname-doc"
source="https://download.gnome.org/sources/gnome-keyring/${_pkgver%.*}/gnome-keyring-$_pkgver.tar.xz
0001-build-Use-p11_module_configs-as-default-pkcs11-confi.patch"
builddir="$srcdir/gnome-keyring-$_pkgver"
build() {
export LDFLAGS="$LDFLAGS -lintl"
./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--sysconfdir=/etc \
--with-pam-dir=/usr/lib/security \
--disable-selinux \
--with-libcap-ng=no
make
}
check() {
xvfb-run make check -j1
}
package() {
export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1
make DESTDIR="$pkgdir" install
}
sha512sums="
560dc409c21768dcbdf42151986a5bbbfb9a092d2c36295cf76bd603cdf9650fa80670631c7fb8b3e1822bed6a1f55c34b2170a1419ce45fbe8ca08c7eaf3a57 gnome-keyring-42.1.tar.xz
427b6f95d1860fb2d8bdb44782d3e504d8adcec9ffe949726b2bf278ce9d483e8ae72362f339d49cdd945988e6b21a3863e2249a14c2b3c8fc5c351fa3f8b25a 0001-build-Use-p11_module_configs-as-default-pkcs11-confi.patch
"
+54
View File
@@ -0,0 +1,54 @@
# Forked from Alpine for systemd
pkgname=gnome-session
pkgver=99945.0
_pkgver=45.0
pkgrel=0
pkgdesc="GNOME session manager"
url="https://gitlab.gnome.org/GNOME/gnome-session"
arch="all"
license="GPL-2.0-or-later"
depends="
alsa-plugins-pulse
bash
dconf
polkit
"
makedepends="
docbook-xml
systemd-dev
gnome-desktop-dev
gnome-settings-daemon-dev
gtk+3.0-dev
itstool
json-glib-dev
libsm-dev
libxml2-utils
libxslt
meson
upower-dev
xmlto
"
options="!check" #no tests
subpackages="$pkgname-lang $pkgname-doc"
source="https://download.gnome.org/sources/gnome-session/${_pkgver%%.*}/gnome-session-$_pkgver.tar.xz"
builddir="$srcdir/gnome-session-$_pkgver"
build() {
abuild-meson \
-Db_lto=true \
. output
meson compile -C output
}
check() {
meson test --no-rebuild --print-errorlogs -C output
}
package() {
DESTDIR="$pkgdir" meson install --no-rebuild -C output
rm -rf "$pkgdir"/DELETEME
}
sha512sums="
3eb3b4b9fcab2ec35bb61bac6257b254f142167250bbc1eb71d46aed350372f8942601c9d5ca5856e8686b53b70321f914cb55f1639daecfe6c61d84cb6d8aba gnome-session-45.0.tar.xz
"
+74
View File
@@ -0,0 +1,74 @@
# Forked from Alpine INSERT-REASON-HERE (CHANGEME!)
pkgname=gnome-settings-daemon
pkgver=9999
_pkgver=44.1
pkgrel=1
pkgdesc="GNOME settings daemon"
url="https://gitlab.gnome.org/GNOME/gnome-settings-daemon"
arch="all"
options="!check" # tests fail on builders
license="GPL-2.0-only AND LGPL-2.1-only"
depends="pulseaudio"
depends_dev="
alsa-lib-dev
colord-dev
cups-dev
geoclue-dev
geocode-glib-dev>=3.26.4-r1
lcms2-dev
libcanberra-dev
libgweather4-dev
libnotify-dev
libwacom-dev
modemmanager-dev
networkmanager-dev
nss-dev
pango-dev
polkit-dev
pulseaudio-dev
upower-dev
"
makedepends="
$depends_dev
coreutils
gcr4-dev
glib-dev
gnome-desktop-dev
gsettings-desktop-schemas-dev
gtk+3.0-dev
libxml2-utils
meson
"
checkdepends="
gnome-session
gnome-shell
py3-dbusmock
py3-gobject3
umockdev-dev
"
subpackages="$pkgname-dev $pkgname-lang"
source="https://download.gnome.org/sources/gnome-settings-daemon/${_pkgver%.*}/gnome-settings-daemon-$_pkgver.tar.xz
dont-use-logind-for-brightness-changing.patch
"
builddir="$srcdir/gnome-settings-daemon-$_pkgver"
build() {
abuild-meson \
-Db_lto=true \
-Dsystemd=true \
. output
meson compile -C output
}
check() {
meson test --no-rebuild --print-errorlogs -C output
}
package() {
DESTDIR="$pkgdir" meson install --no-rebuild -C output
}
sha512sums="
a955d74a594d49f67a5c27ac60d6f1e9b4aba7b12cbd0af8d3be02c4b2e8385f1abfbe08b62177b69851e9202960a17429373bf5533adbd73699232fefea6c79 gnome-settings-daemon-44.1.tar.xz
fd80b939a14bbc5dd502afda0bc6511f2d9c045018680e5ae7fbec32efadb564c5060ec91d374330f246d70571aad5979ce8c175175a29b5ccec3443c8286dc6 dont-use-logind-for-brightness-changing.patch
"
@@ -0,0 +1,16 @@
Brightness control is currently broken with elogind, so fall back to
the previous codepath which doesn't use elogind.
See https://github.com/elogind/elogind/issues/158
diff --git a/plugins/power/gsd-backlight.c b/plugins/power/gsd-backlight.c
index ca5f272..59048d9 100644
--- a/plugins/power/gsd-backlight.c
+++ b/plugins/power/gsd-backlight.c
@@ -482,7 +482,7 @@ gsd_backlight_set_brightness_val_async (GsdBacklight *backlight,
if (backlight->udev_device != NULL) {
BacklightHelperData *task_data;
- if (backlight->logind_proxy) {
+ if (0) {
g_dbus_proxy_call (backlight->logind_proxy,
"SetBrightness",
g_variant_new ("(ssu)",
@@ -1,7 +1,8 @@
# Forked from Alpine to add phone adaptivity patches
# Forked from Alpine to add phone adaptivity patches and systemd!
pkgname=gnome-shell-mobile
pkgver=45_git20230908
pkgver=99945_git20230908
_pkgver=45_git20230908
pkgrel=0
pkgdesc="GNOME shell"
url="https://wiki.gnome.org/Projects/GnomeShell"
@@ -11,7 +12,6 @@ depends="
accountsservice
adwaita-icon-theme
caribou
elogind
font-adobe-source-code-pro
font-cantarell
gnome-bluetooth
@@ -24,12 +24,15 @@ depends="
ibus
librsvg
networkmanager-common
polkit
systemd
unzip
upower
xorg-server
"
makedepends="
asciidoc
elogind-dev
systemd-dev
evolution-data-server-dev evolution-dev
gcr4-dev
gjs-dev>=1.64.0
@@ -45,7 +48,7 @@ makedepends="
libxml2-dev
libxml2-utils
meson
mutter-mobile-dev>=45_git20230905
mutter-mobile-dev>=44_git20230405
networkmanager-dev
pipewire-dev
polkit-dev
@@ -60,14 +63,17 @@ checkdepends="
mesa-dri-gallium
"
# gdm is also needed but introduces circular dep
provides="gnome-shell=$pkgver-r$pkgrel"
provides="gnome-shell=$_pkgver-r$pkgrel"
subpackages="$pkgname-dbg $pkgname-doc $pkgname-lang $pkgname-schemas::noarch"
_commit="df3f6b4c512d2f181e86ff7f6b1646ce7b907344"
_gvc_commit="8e7a5a4c3e51007ce6579292642517e3d3eb9c50"
source="mobile-shell-$_commit.tar.gz::https://gitlab.gnome.org/verdre/mobile-shell/-/archive/$_commit/mobile-shell-$_commit.tar.gz
libgnome-volume-control-$_gvc_commit.tar.gz::https://gitlab.gnome.org/GNOME/libgnome-volume-control/-/archive/$_gvc_commit/gnome-shell-$_gvc_commit.tar.gz
disable-telepathy-integration.patch
gsh.patch"
gsh.patch
gnome-shell-uclamp.sh
uclamp-override.conf
"
builddir="$srcdir/mobile-shell-$_commit"
options="!check" # Tests have circular dependency 'gnome-shell <-> gdm'
@@ -85,7 +91,6 @@ prepare() {
build() {
abuild-meson \
-Dsystemd=false \
-Dtests=false \
. output
meson compile ${JOBS:+-j ${JOBS}} -C output
@@ -98,7 +103,7 @@ check() {
schemas() {
pkgdesc="GNOME Shell gsetting schemas"
depends=""
provides="gnome-shell-schemas=$pkgver-r$pkgrel"
provides="gnome-shell-schemas=$_pkgver-r$pkgrel"
amove usr/share/glib-2.0/schemas
amove usr/share/gnome-control-center/keybindings
@@ -106,7 +111,7 @@ schemas() {
lang() {
default_lang
provides="gnome-shell-lang=$pkgver-r$pkgrel"
provides="gnome-shell-lang=$_pkgver-r$pkgrel"
}
package() {
@@ -114,6 +119,10 @@ 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="
@@ -121,4 +130,6 @@ f7445d29006496865f9ea9d70efd1e2f1be1886b97bdd09bb5b000db6b576200d076178050527e92
ebc6985afbda5ddebcda44d8b6732a9abc2d7249aff3adf7a76a90aa681590f830dcf2e5f3534a624adc32d1f0445e261ee149d65c221f733e0c33e0690a004d libgnome-volume-control-8e7a5a4c3e51007ce6579292642517e3d3eb9c50.tar.gz
2ca70115fab957fdf276b7f0772786e1afd56b0b22bcfd92f5b5f1d29676dc97c19cfb079434d0dbf7b459f1d133dbd8d1faa0d88f7b94846040a23856f951f8 disable-telepathy-integration.patch
dba79b94ab4bcf0db51aa4a19c5fb52f9dae05909fe13531fe9dc06d9db334ac3328bd4040484eac8ef851057ee471a28d86800aa2ae82eec7274f5f79b9146a gsh.patch
545d584307ee90894525a75b7c2b99c4e05d7f903dd2181509ca0c04c5711b50a539c2f1263a8dfe26380cf121817ff2eaecac38f4fc2d0bdde5629d73f7ee0c gnome-shell-uclamp.sh
71ac6a8694ddcda211ff4060a55c374ae5b8eb7c3cd2a057b6eccac2c83b87bac18e09fda1d572054357d7f2e6e57b79f80a6a3cebeca75335931e1676011055 uclamp-override.conf
"
@@ -0,0 +1,6 @@
#!/usr/bin/sh
sleep 5
uclampset --pid $(pidof gnome-shell) -m 900 2>&1 >/dev/null || true
echo "Configured gnome-shell uclamp..."
File renamed without changes.
@@ -0,0 +1,2 @@
[Service]
ExecStartPost=-/usr/libexec/gnome-shell-uclamp
+55
View File
@@ -0,0 +1,55 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: team/kde <bribbers@disroot.org>
# The group tag is just to easily find this APKBUILD by some scripts for automation
# group=kde-plasma
pkgname=kactivitymanagerd
pkgver=6.0.2
pkgrel=1
pkgdesc="System service to manage user's activities and track the usage patterns"
# armhf blocked by qt6-qtdeclarative
arch="all !armhf"
url="https://kde.org/plasma-desktop/"
license="GPL-2.0-only OR GPL-3.0-only"
depends="qt6-qtbase-sqlite"
makedepends="
boost-dev
extra-cmake-modules
kconfig-dev
kcoreaddons-dev
kdbusaddons-dev
kglobalaccel-dev
ki18n-dev
kio-dev
kwindowsystem-dev
kxmlgui-dev
qt6-qtbase-dev
samurai
"
case "$pkgver" in
*.90*) _rel=unstable;;
*) _rel=stable;;
esac
subpackages="$pkgname-lang"
_repo_url="https://invent.kde.org/plasma/kactivitymanagerd.git"
source="https://download.kde.org/stable/plasma/$pkgver/kactivitymanagerd-$pkgver.tar.xz"
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="
9eff8a65c485003b01e344c48343a5e75ff350b97a8e134faaecb9b62142dbcddcd2db72d835e19cb7be5402f7a4cbaa22b0f475beaaf39c51454749ab77c4f7 kactivitymanagerd-6.0.2.tar.xz
"
@@ -0,0 +1,12 @@
diff --git a/lib/journaldexportreader.cpp b/lib/journaldexportreader.cpp
index 7ad19d6..b304a46 100644
--- a/lib/journaldexportreader.cpp
+++ b/lib/journaldexportreader.cpp
@@ -5,6 +5,7 @@
#include "journaldexportreader.h"
#include "kjournaldlib_log_general.h"
+#include <endian.h>
#include <QDebug>
#include <QVector>
#include <QIODevice>
+56
View File
@@ -0,0 +1,56 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
# The group tag is just to easily find this APKBUILD by some scripts for automation
# group=kde-applications
pkgname=kjournald
pkgver=24.02.0
pkgrel=0
pkgdesc="Framework for interacting with systemd-journald"
# armhf blocked by extra-cmake-modules
arch="all !armhf"
url="https://invent.kde.org/system/kjournald"
license="BSD-3-Clause AND LGPL-2.1-or-later AND MIT"
depends_dev="
kcoreaddons-dev
ki18n-dev
qt6-qtbase-dev
qt6-qtdeclarative-dev
systemd-dev
"
makedepends="$depends_dev
extra-cmake-modules
samurai
"
checkdepends="xvfb-run"
subpackages="$pkgname-dev $pkgname-lang"
case "$pkgver" in
*.90*) _rel=unstable;;
*) _rel=stable;;
esac
_repo_url="https://invent.kde.org/system/kjournald.git"
source="https://download.kde.org/$_rel/release-service/$pkgver/src/kjournald-$pkgver.tar.xz
0001-kjournald-missing-include.patch
"
build() {
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib
cmake --build build
}
check() {
ctest --test-dir build --output-on-failure -E "test_(viewmodel|filtercriteriamodel|remotejournal)"
}
package() {
DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
a0104b4a9e3de9a5d8186d87743685dd4ee2fa20ec20efd4c3f978c494592bf6088b6381ce98ee695f92f112df39581b170757969da5d6e087c3ee0e39ae9492 kjournald-24.02.0.tar.xz
5e5b67d49d45fb3721522f4682c8cfbf6cd6a68caba45b58c52712dc173652bc48409f5d0f4b2b9872b0f44f2e0daeefb32f4db351ad79fe0b3d69801d01d985 0001-kjournald-missing-include.patch
"
+83
View File
@@ -0,0 +1,83 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
# The group tag is just to easily find this APKBUILD by some scripts for automation
# group=kde-plasma
pkgname=kscreenlocker
pkgver=6.0.2
pkgrel=1
pkgdesc="Library and components for secure lock screen architecture"
# armhf blocked by extra-cmake-modules
arch="all !armhf"
url="https://kde.org/plasma-desktop/"
license="GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only)"
depends="linux-pam"
depends_dev="
kcmutils-dev
kcrash-dev
kdeclarative-dev
kglobalaccel-dev
ki18n-dev
kidletime-dev
knotifications-dev
ksvg-dev
ktextwidgets-dev
kwayland-dev
kwindowsystem-dev
kxmlgui-dev
layer-shell-qt-dev
libkscreen-dev
libplasma-dev
libseccomp-dev
linux-pam-dev
qt6-qtbase-dev
solid-dev
systemd-dev
xcb-util-keysyms-dev
"
makedepends="
$depends_dev
extra-cmake-modules
samurai
"
checkdepends="xvfb-run"
case "$pkgver" in
*.90*) _rel=unstable;;
*) _rel=stable;;
esac
_repo_url="https://invent.kde.org/plasma/kscreenlocker.git"
source="https://download.kde.org/$_rel/plasma/$pkgver/kscreenlocker-$pkgver.tar.xz
kde.pam
kde-fingerprint.pam
kde-smartcard.pam
"
subpackages="$pkgname-dev $pkgname-lang"
options="!check" # Requires running loginctl
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="
e303d5b2e737c2cd40e10a8b60b9ec16314739758c60f4ca44252030504b77cac513ceb738eed1034cad6e6c2f70aa7588c6fc5225fbcba2a8da2ba0020c128e kscreenlocker-6.0.2.tar.xz
cdbc45fb74a3c43fb2302fe09bf2f9f644ca93693e0110cf748c403762236aaeea8284a8d21fc495014c69b6d5fe4789aaff7687ce9f03dda270490fa5042e2b kde.pam
fe2f244b73b5cccf4b7125b9e3cac0a35566840e4ba2f69937fd8053aa56af71ee43dcbfa9c0f79de9ebe31f656e98a5d38955f77560be5c3535b08215ad8789 kde-fingerprint.pam
2ae866d25224ba345ea9d5ddb2fce668de5c51d1cfbb4d7a048c50107ccd6cffc3231a46855599c0ba3d62ff002a26e45b69d9029f88f4ab42661465a5e526c5 kde-smartcard.pam
"
+15
View File
@@ -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
+15
View File
@@ -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
+5
View File
@@ -0,0 +1,5 @@
#%PAM-1.0
auth include base-auth
account include base-account
password include base-password
session include base-session
+118
View File
@@ -0,0 +1,118 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: team/kde <bribbers@disroot.org>
# The group tag is just to easily find this APKBUILD by some scripts for automation
# group=kde-plasma
pkgname=kwin
pkgver=6.0.2
pkgrel=1
pkgdesc="An easy to use, but flexible, composited Window Manager"
# armhf blocked by qt6-qtdeclarative
arch="all !armhf"
url="https://kde.org/plasma-desktop/"
license="GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only) AND LGPL-2.1-only"
depends="
hwdata
kirigami
qt6-qtmultimedia
qt6-qtwayland
xwayland
"
depends_dev="$pkgname
breeze-dev
fontconfig-dev
kcmutils-dev
kcompletion-dev
kconfig-dev
kconfigwidgets-dev
kcoreaddons-dev
kcrash-dev
kdeclarative-dev
kdecoration-dev
kglobalaccel-dev
ki18n-dev
kiconthemes-dev
kidletime-dev
kio-dev
knewstuff-dev
knotifications-dev
kpackage-dev
krunner-dev
kscreenlocker-dev
kservice-dev
ksvg-dev
ktextwidgets-dev
kwayland-dev
kwidgetsaddons-dev
kwindowsystem-dev
kxmlgui-dev
lcms2-dev
libdrm-dev
libepoxy-dev
libinput-dev
libplasma-dev
libqaccessibilityclient-dev
libxcvt-dev
libxi-dev
libxkbcommon-dev
mesa-dev
mesa-gbm
pipewire-dev
plasma-activities-dev
qt6-qtbase-dev
qt6-qtdeclarative-dev
qt6-qtsensors-dev
wayland-dev
xcb-util-cursor-dev
xcb-util-image-dev
xcb-util-wm-dev
"
makedepends="$depends_dev
extra-cmake-modules
kdoctools-dev
kglobalacceld-dev
kpipewire-dev
libcap-utils
libdisplay-info-dev
plasma-wayland-protocols
qt6-qttools-dev
samurai
systemd-dev
"
checkdepends="xvfb-run"
case "$pkgver" in
*.90*) _rel=unstable;;
*) _rel=stable;;
esac
subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc $pkgname-lang"
_repo_url="https://invent.kde.org/plasma/kwin.git"
source="https://download.kde.org/stable/plasma/$pkgver/kwin-$pkgver.tar.xz
0001-$pkgname-Fix-building-of-tests.patch::https://invent.kde.org/plasma/kwin/-/commit/a879c59a082707e0e7dfa8ebeb7b239551ec9c71.patch
"
# Broken, fails to setup due to missing or invalid XDG_RUNTIME_DIR?
options="!check"
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="
f6f82afe2f007a14114fbf18e0aba6859328d928d14bf5369e9f879ec24baa50a9a1084db49877067eab17ab3dae13991d507c85458b4a588086ecfb4924a8a6 kwin-6.0.2.tar.xz
14c4ddceca2ef51a139319bdd64bc84d7a1df7c6419e86bdbb04572be3212ca46f5c25cd61fa3b511d7644046f92a07408e472e41d95aab93ec494138a09c1a9 0001-kwin-Fix-building-of-tests.patch
"
+93
View File
@@ -0,0 +1,93 @@
# Forked from Alpine enable systemd
# MODIFIED base-sessionl.pamd for systemd!
pkgname=linux-pam
# MUST be kept in sync to avoid accidentally pulling in the alpine version
# we hard depend on this exact version in postmarketos-base-systemd. When updating
# the package here it must also be updated in postmarketos-base-systemd.
pkgver=1.5.3
pkgrel=8
pkgdesc="Linux PAM (Pluggable Authentication Modules for Linux)"
url="https://www.kernel.org/pub/linux/libs/pam"
arch="all"
license="BSD-3-Clause"
depends_dev="gettext-dev"
makedepends="
$depends_dev
autoconf
automake
bison
flex-dev
libtool
linux-headers
systemd-dev
"
options="pmb:strict suid !check"
provider_priority=100
subpackages="$pkgname-dev $pkgname-doc $pkgname-service"
source="
https://github.com/linux-pam/linux-pam/releases/download/v$pkgver/Linux-PAM-$pkgver.tar.xz
no-examples.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="
af88e8c1b6a9b737ffaffff7dd9ed8eec996d1fbb5804fb76f590bed66d8a1c2c6024a534d7a7b6d18496b300f3d6571a08874cf406cd2e8cea1d5eff49c136a Linux-PAM-1.5.3.tar.xz
9407f38d0dc0f24eb3e1c74ecc3ac78ddbe9f9882a4738fa82bfb387be30f5bff5599b11cb2d70705a299587697d967ddf57923b9bd0270d05f71cc5140f8d62 no-examples.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
"
+4
View File
@@ -0,0 +1,4 @@
# basic PAM configuration for Alpine.
account required pam_unix.so
account required pam_nologin.so
+8
View File
@@ -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
+7
View File
@@ -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
+14
View File
@@ -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
+24
View File
@@ -0,0 +1,24 @@
these don't build and aren't installed
--
diff --git a/Makefile.in b/Makefile.in
index f7e2c44..f98b2a2 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -176,7 +176,7 @@ ETAGS = etags
CTAGS = ctags
CSCOPE = cscope
DIST_SUBDIRS = libpam tests libpamc libpam_misc modules po conf \
- examples xtests doc
+ xtests doc
am__DIST_COMMON = $(srcdir)/Make.xml.rules.in $(srcdir)/Makefile.in \
$(srcdir)/config.h.in $(top_srcdir)/build-aux/compile \
$(top_srcdir)/build-aux/config.guess \
@@ -426,7 +426,7 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = 1.9 gnu dist-xz no-dist-gzip check-news
-SUBDIRS = libpam tests libpamc libpam_misc modules po conf examples \
+SUBDIRS = libpam tests libpamc libpam_misc modules po conf \
xtests $(am__append_1)
CLEANFILES = *~
EXTRA_DIST = pgp.keys.asc CHANGELOG ChangeLog-CVS Copyright
+6
View File
@@ -0,0 +1,6 @@
#%PAM-1.0
# default config for any service don't specified
auth include base-auth
account include base-account
password include base-password
session include base-session-noninteractive
+6
View File
@@ -0,0 +1,6 @@
# basic PAM configuration for Alpine.
auth sufficient pam_rootok.so
auth include base-auth
account include base-account
password include base-password
session include base-session-noninteractive
@@ -0,0 +1,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
+60
View File
@@ -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
# }
# }
#}
+22
View File
@@ -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 $?
}
+7
View File
@@ -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,8 +1,9 @@
# Forked from Alpine to apply mobile adaptivity patches
pkgname=mutter-mobile
pkgver=45_git20230908
pkgrel=1
pkgver=99945_git20230908
_pkgver=45_git20230908
pkgrel=0
pkgdesc="clutter-based window manager and compositor"
url="https://wiki.gnome.org/Projects/Mutter/"
# ricsv64: doesn't build currently:
@@ -20,7 +21,7 @@ makedepends="
at-spi2-core-dev
cairo-dev
dbus-dev
elogind-dev
systemd-dev
eudev-dev
fribidi-dev
gdk-pixbuf-dev
@@ -31,7 +32,7 @@ makedepends="
graphene-dev
gtk+3.0-dev
json-glib-dev
lcms2-dev
libei-dev
libcanberra-dev
libdrm-dev
libgudev-dev
@@ -54,7 +55,6 @@ makedepends="
libxrandr-dev
libxrender-dev
libxtst-dev
libei-dev
mesa-dev
meson
pango-dev
@@ -65,7 +65,7 @@ makedepends="
xorg-server
"
options="!check" # Can't be run with release builds
provides="mutter=$pkgver-r$pkgrel"
provides="mutter=$_pkgver-r$pkgrel"
subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc $pkgname-lang $pkgname-schemas::noarch"
_commit="0f08f5aba4c9b5ac34b2d5711182d50b719d838e"
source="mobile-mutter-$_commit.tar.gz::https://gitlab.gnome.org/verdre/mobile-mutter/-/archive/$_commit/mobile-mutter-$_commit.tar.gz
@@ -98,7 +98,7 @@ build() {
schemas() {
pkgdesc="Mutter schemas related files"
provides="mutter-schemas=$pkgver-r$pkgrel"
provides="mutter-schemas=$_pkgver-r$pkgrel"
depends=""
amove usr/share/glib-2.0/schemas
@@ -108,7 +108,13 @@ schemas() {
lang() {
default_lang
provides="mutter-lang=$pkgver-r$pkgrel"
provides="mutter-lang=$_pkgver-r$pkgrel"
}
dev() {
default_dev
provides="mutter-dev=$_pkgver-r$pkgrel"
}
package() {
@@ -118,6 +124,6 @@ package() {
sha512sums="
715c3efbbf416a11ae0a723184d1e018d3679c876bc419f110da1200f9dad3b7719255ac81cca301cff55e16ba36578bc9906805599ff009faeebf9455f5bcb1 mobile-mutter-0f08f5aba4c9b5ac34b2d5711182d50b719d838e.tar.gz
6f21171bbd0ad0fc67cbaf5fb1478b22b482a9ae33b9328cc51a5dd31bcf7d95cd41e6cbbac21d3d8801cc064a62a64ae38ed7d0501ab605b861058c32f3bc30 fixudev-req.patch
b0f2fc36b6eeb7b49aed4a689c1a8d982d22f0b9d246c4c47ae950d5b06c5fe900ac5b0640a2d25ec97042a83138c51e87d878f74dc016774205cfc8bbf06f00 pcversion.patch
bb46a4692aaff0c9e6092d1ba80d19b336035e983f0f20a437a586757bc2530860f50fbd46b09f73e88f0dd80ea7188d1df467b8f762918717785e618b6e9c4b pcversion.patch
a9a82e945081480ae7ce59098aa3e46c87f5ea97481bd4c4933b3ef0a1757492ecb6e8453e8a2f74fb42edd51d39f76aaf9ef45ad8c52008acd6bbcbec219f83 version.patch
"
File renamed without changes.
@@ -12,4 +12,3 @@ index 3550496..15b9e7d 100644
json_glib_req = '>= 0.12.0'
xcomposite_req = '>= 0.4'
xkbcommon_req = '>= 0.4.3'
libei_req = '>= 1.0.0'
File renamed without changes.
+284
View File
@@ -0,0 +1,284 @@
# Forked from Alpine to build with systemd support.
# integrates with logind for sleepmonitor and sessionmonitor.
pkgname=networkmanager
pkgver=9999
_pkgver=1.42.6
pkgrel=0
pkgdesc="Network Management daemon"
url="https://wiki.gnome.org/Projects/NetworkManager"
arch="all"
license="GPL-2.0-or-later"
depends_dev="$pkgname=$pkgver-r$pkgrel libnm=$pkgver-r$pkgrel"
makedepends="
bash
curl-dev
dbus-glib-dev
eudev-dev
gettext-dev
gnutls-dev
gobject-introspection-dev
gtk-doc
jansson-dev
libgudev-dev
libndp-dev
libnl3-dev
libpsl-dev
libxslt
linux-headers
meson
mobile-broadband-provider-info
modemmanager-dev
newt-dev
nss-dev
openresolv
perl
polkit-dev
ppp-dev
py3-gobject3
python3
readline-dev
systemd-dev
util-linux-dev
vala
"
checkdepends="
bash
dbus
iproute2-minimal
iproute2-tc
py3-dbus
"
install="
$pkgname.pre-install
$pkgname.pre-upgrade
$pkgname.post-install
$pkgname.post-upgrade
"
subpackages="
$pkgname-dbg
libnm
$pkgname-dev
$pkgname-elogind
$pkgname-lang
$pkgname-service
$pkgname-adsl
$pkgname-bluetooth
$pkgname-ovs
$pkgname-ppp
$pkgname-wwan
$pkgname-wifi
$pkgname-cli
$pkgname-tui
$pkgname-initrd-generator:initrd_generator
$pkgname-bash-completion
$pkgname-dnsmasq
"
source="https://download.gnome.org/sources/NetworkManager/${_pkgver:0:4}/NetworkManager-$_pkgver.tar.xz
$pkgname.conf
pppd-2.5.patch
$pkgname.rules
"
builddir="$srcdir/NetworkManager-$_pkgver"
# on the builders:
# mount("/sys") failed with Operation not permitted (1)
options="!check"
_plugindir="usr/lib/NetworkManager/$_pkgver"
build() {
#msg 'Building without systemd'
#_build output \
# -Dsession_tracking=no \
# -Dsuspend_resume=consolekit \
# -Dsystemd_journal=false \
# -Dsystemdsystemunitdir=no
msg 'Building with systemd'
_build output \
-Dsession_tracking=systemd \
-Dsuspend_resume=systemd \
-Dsystemd_journal=true \
-Dtests="$(want_check && echo yes || echo no)"
}
_build() {
local outdir=$1; shift
#-Db_lto=true \
abuild-meson \
-Dconfig_dhcp_default=internal \
-Dconfig_plugins_default=ifupdown \
-Dcrypto=nss \
-Ddbus_conf_dir=/usr/share/dbus-1/system.d \
-Ddhcpcd=true \
-Ddnsmasq=/usr/sbin/dnsmasq \
-Ddocs=false \
-Difupdown=true \
-Diptables=/sbin/iptables \
-Diwd=true \
-Dlibaudit=no \
-Dmodify_system=true \
-Dnft=/usr/sbin/nft \
-Dofono=true \
-Dpolkit=true \
-Dpppd=/usr/sbin/pppd \
-Dpppd_plugin_dir=/usr/lib/pppd/2.5.0 \
-Dqt=false \
-Dselinux=false \
-Dsystemdsystemunitdir=/usr/lib/systemd/system \
-Dtests=no \
-Dudev_dir=/usr/lib/udev \
-Dvapi=true \
"$@" \
. "$outdir"
meson compile -C "$outdir"
}
check() {
XDG_RUNTIME_DIR="$(mktemp -d -p "$builddir")" \
dbus-run-session -- \
meson test -t 4 --no-rebuild --print-errorlogs -C output-elogind
}
package() {
depends="
libnm=$pkgver-r$pkgrel
dbus
"
provides="networkmanager-common"
provider_priority=500
DESTDIR="$pkgdir" meson install --no-rebuild -C output
install -m644 -D "$srcdir/$pkgname.conf" "$pkgdir"/etc/NetworkManager/NetworkManager.conf
# allow plugdev users to modify connections
install -m644 -D "$srcdir/$pkgname.rules" \
"$pkgdir/usr/share/polkit-1/rules.d/01-org.freedesktop.NetworkManager.settings.modify.system.rules"
mv "$pkgdir/usr/share/doc/NetworkManager" "$pkgdir/usr/share/doc/$pkgname"
# post-install message
cat > "$pkgdir"/usr/share/doc/$pkgname/README.alpine <<-EOF
To modify system network connections without the root password: add your user account to the 'plugdev' group, or use Polkit.
To use iwd instead of the default wpa_supplicant install iwd, start its service and add the following to your /etc/NetworkManager/NetworkManager.conf:
[device]
wifi.backend=iwd
EOF
}
dev() {
default_dev
amove usr/share/dbus-1/interfaces/*.xml
}
libnm() {
pkgdesc="GObject-based client library for NetworkManager"
replaces_priority=200
amove usr/lib/libnm.so*
}
elogind() {
pkgdesc="NetworkManager with logind support"
depends="$pkgname"
mkdir -p "$subpkgdir"
}
adsl() {
_default_plugin
pkgdesc="ADSL device plugin for NetworkManager"
}
bluetooth() {
_default_plugin
pkgdesc="BlueTooth device plugin for NetworkManager"
depends="$depends bluez"
}
ovs() {
_default_plugin
pkgdesc="Open vSwitch device plugin for NetworkManager"
depends="$depends openvswitch"
}
ppp() {
pkgdesc="PPP plugin for NetworkManager"
depends="$pkgname=$pkgver-r$pkgrel"
amove $_plugindir/libnm-ppp-plugin.so
amove usr/lib/pppd/*/nm-pppd-plugin.so
}
# TODO: Add dependency on wpa_supplicant or iwd via some virtual (?).
wifi() {
_default_plugin
pkgdesc="WiFi device plugin for NetworkManager"
depends="$depends wireless-regdb"
install="$subpkgname.post-install"
}
wwan() {
_default_plugin
pkgdesc="Mobile broadband device plugin for NetworkManager"
depends="$depends mobile-broadband-provider-info"
}
cli() {
pkgdesc="$pkgdesc (command line interface)"
depends="$pkgname=$pkgver-r$pkgrel"
amove usr/bin/nmcli
}
tui() {
pkgdesc="$pkgdesc (textbased user interface)"
depends="$pkgname=$pkgver-r$pkgrel"
amove usr/bin/nmtui*
}
initrd_generator() {
pkgdesc="Early boot NetworkManager configuration generator"
depends="" # Q: should it depend on $pkgname?
replaces="$pkgname<1.34.0-r3"
amove usr/libexec/nm-initrd-generator
}
gtkdoc() {
pkgdesc="$pkgdesc (gtk docs)"
amove usr/share/gtk-doc
}
dnsmasq() {
pkgdesc="Support for NetworkManager dnsmasq features"
depends="$pkgname=$pkgver-r$pkgrel dnsmasq-dnssec-dbus"
mkdir -p "$subpkgdir"
}
service() {
default_service
}
_default_plugin() {
depends="$pkgname=$pkgver-r$pkgrel"
amove $_plugindir/libnm*-${subpkgname#$pkgname-}.so
}
sha512sums="
606a996043d8fbc7972329b94bc9854557950f665790381611eddfc632850b31584a4ba2d773fa9d12127db4c37ea2076c657521b78cedb012144df6f41d3748 NetworkManager-1.42.6.tar.xz
0f79016bf717dea43830962f524deae8d1cedc274376e40bd912ebe63208c5b1c3b7a5aa14379da19020c587dbd5588df2f0066ca1540070a226983a43e4159b networkmanager.conf
0190d8c757dcb5c1a50f8b080952ed138e4fe78b06b8a2649521f18fd87f2fec274a35b0aaf0d0579d05a369feb9015dfd6469777f70444744d401525de834cb pppd-2.5.patch
9820ed2ead0af689644842de57657bb10330a1eaff0e85b21ae9913f55e399e47d8b41b0a12956f30de80272b4424c6e55f33acbc88e156879003a260bf576f6 networkmanager.rules
"
@@ -0,0 +1,14 @@
#!/bin/sh
cat >&2 <<EOF
*
* To control WiFi devices, install either 'wpa_supplicant' or 'iwd' package,
* enable and start the corresponding service (rc-update add <name>;
* rc-service <name> start), and restart networkmanager.
*
* If you chose iwd, you have to also add 'wifi.backend=iwd' into section
* '[device]' in /etc/NetworkManager/NetworkManager.conf.
*
EOF
exit 0
Loaded 100 of 187 files, more files were not shown because too many files have changed in this diff. Show more