summaryrefslogtreecommitdiff
path: root/pcr/systemd-knock/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'pcr/systemd-knock/PKGBUILD')
-rw-r--r--pcr/systemd-knock/PKGBUILD163
1 files changed, 94 insertions, 69 deletions
diff --git a/pcr/systemd-knock/PKGBUILD b/pcr/systemd-knock/PKGBUILD
index 932fe14cd..ad7e45925 100644
--- a/pcr/systemd-knock/PKGBUILD
+++ b/pcr/systemd-knock/PKGBUILD
@@ -1,78 +1,82 @@
# Maintainer (Arch): Dave Reisner <dreisner@archlinux.org>
# Maintainer (Arch): Tom Gundersen <teg@jklm.no>
# Maintainer: Márcio Silva <coadde@parabola.nu>
+# Maintainer: André Silva <emulatorman@parabola.nu>
_pkgbase=systemd
pkgbase=systemd-knock
-pkgname=('systemd-knock' 'libsystemd-knock')
-pkgver=217
-pkgrel=8
+pkgname=('systemd-knock' 'libsystemd-knock' 'systemd-knock-sysvcompat')
+pkgver=221
+pkgrel=2
arch=('i686' 'x86_64')
url="http://www.freedesktop.org/wiki/Software/systemd"
-makedepends=('acl' 'cryptsetup' 'docbook-xsl' 'gobject-introspection' 'gperf'
- 'gtk-doc' 'intltool' 'kmod' 'libcap' 'libidn' 'libgcrypt' 'libmicrohttpd'
- 'libxslt' 'util-linux' 'linux-api-headers' 'lz4' 'pam' 'python'
- 'python-lxml' 'quota-tools' 'shadow' 'xz')
+makedepends=('acl' 'cryptsetup' 'docbook-xsl' 'gperf' 'lz4' 'xz' 'pam'
+ 'intltool' 'iptables' 'kmod' 'libcap' 'libidn' 'libgcrypt'
+ 'libmicrohttpd' 'libxslt' 'util-linux' 'linux-libre-api-headers'
+ 'python' 'python-lxml' 'quota-tools' 'shadow' 'gnu-efi-libs' 'git')
options=('strip' 'debug')
-source=("http://www.freedesktop.org/software/$_pkgbase/$_pkgbase-$pkgver.tar.xz"
- '0001-nspawn-ignore-EEXIST-when-creating-mount-point.patch'
- '0001-sd-dhcp-client-clean-up-raw-socket-sd_event_source-w.patch'
- '0001-shared-install-avoid-prematurely-rejecting-missing-u.patch'
- '0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch'
- '0001-units-don-t-order-journal-flushing-afte-remote-fs.ta.patch'
- '0001-units-order-sd-journal-flush-after-sd-remount-fs.patch'
- '0001-units-make-systemd-journald.service-Type-notify.patch'
- '0001-shutdown-fix-arguments-to-run-initramfs-shutdown.patch'
- '0001-udev-hwdb-Change-error-message-regarding-missing-hwd.patch'
- '0001-adds-TCP-Stealth-support-to-systemd.patch::https://gnunet.org/sites/default/files/systemd-knock-patch.diff'
+source=("git://github.com/systemd/systemd.git#tag=v$pkgver"
+ #'0001-adds-TCP-Stealth-support-to-systemd.patch::https://gnunet.org/sites/default/files/systemd-knock-patch.diff'
+ "https://repo.parabola.nu/other/knock/patches/systemd/0001-adds-TCP-Stealth-support-to-systemd-221.patch"
'initcpio-hook-udev'
'initcpio-install-systemd'
- 'initcpio-install-udev')
-md5sums=('e68dbff3cc19f66e341572d9fb2ffa89'
- 'ca9e33118fd8d456563854d95512a577'
- 'ade8c1b5b2c85d0a83b7bcf5aa6d131a'
- '7aaf44ce842deb449fca0f2595bbc1e4'
- '4adc3ddce027693bafa53089322e859b'
- '42ff9d59bb057637355b202157d59991'
- '92497d06e0af615be4b368fe615109c0'
- 'a321d62d6ffada9e6976bdd339fa3219'
- 'f72e8d086172177c224f0ce48ef54222'
- '6326988822e9d18217525b2cb25cec1d'
- '460945a02c8972bbc6616a5d8136a3ad'
+ 'initcpio-install-udev'
+ 'parabola.conf'
+ 'loader.conf'
+ 'splash-parabola.bmp')
+md5sums=('SKIP'
+ '936208db8995db77efbb388735f950af'
'90ea67a7bb237502094914622a39e281'
- '107c489f27c667be4101aecd3369b355'
- 'bde43090d4ac0ef048e3eaee8202a407')
-
+ '976c5511b6493715e381f43f16cdb151'
+ 'bde43090d4ac0ef048e3eaee8202a407'
+ '36ee74767ac8734dede1cbd0f4f275d7'
+ '9b9f4a58e4c4009bf5290c5b297600c3'
+ 'db7c5e4aaa501c1af4301e011f4f5966')
prepare() {
- cd "$_pkgbase-$pkgver"
-
- patch -Np1 <../0001-nspawn-ignore-EEXIST-when-creating-mount-point.patch
- patch -Np1 <../0001-sd-dhcp-client-clean-up-raw-socket-sd_event_source-w.patch
- patch -Np1 <../0001-shared-install-avoid-prematurely-rejecting-missing-u.patch
- patch -Np1 <../0001-sd-bus-properly-handle-removals-of-non-existing-matc.patch
- patch -Np1 <../0001-units-don-t-order-journal-flushing-afte-remote-fs.ta.patch
- patch -Np1 <../0001-units-order-sd-journal-flush-after-sd-remount-fs.patch
- patch -Np1 <../0001-units-make-systemd-journald.service-Type-notify.patch
- patch -Np1 <../0001-shutdown-fix-arguments-to-run-initramfs-shutdown.patch
- patch -Np1 <../0001-udev-hwdb-Change-error-message-regarding-missing-hwd.patch
- patch -Np1 <../0001-adds-TCP-Stealth-support-to-systemd.patch
+ cd "$_pkgbase"
+
+ # pam_systemd: Properly check kdbus availability
+ # https://github.com/systemd/systemd/commit/c5d452bb228e
+ git cherry-pick -n c5d452bb228e
+
+ # udevd: suppress warning if we don't find cgroup
+ # https://github.com/systemd/systemd/commit/11b9fb15be96
+ git cherry-pick -n 11b9fb15be96
+
+ # core: fix reversed dependency check in unit_check_unneeded
+ # https://github.com/systemd/systemd/commit/084918ba41ac
+ git cherry-pick -n 084918ba41ac
+
+ # rules: remove all power management from udev
+ # https://github.com/systemd/systemd/commit/e2452eef02a8
+ git cherry-pick -n e2452eef02a8
+
+ # logind: fix delayed execution regression
+ # https://github.com/systemd/systemd/commit/418b22b88f79
+ git cherry-pick -n 418b22b88f79
+
+ # bus-proxy: never apply policy when sending signals
+ # https://github.com/systemd/systemd/commit/3723263f4989
+ git cherry-pick -n 3723263f4989
+
+ patch -Np1 <../0001-adds-TCP-Stealth-support-to-systemd-221.patch
+
+ ./autogen.sh
}
build() {
- cd "$_pkgbase-$pkgver"
+ cd "$_pkgbase"
local timeservers=({0..3}.arch.pool.ntp.org)
- autoreconf --force --install -I config -I m4
./configure \
--libexecdir=/usr/lib \
--localstatedir=/var \
--sysconfdir=/etc \
- --enable-introspection \
- --enable-gtk-doc \
--enable-lz4 \
--enable-compat-libs \
+ --enable-gnuefi \
--enable-tcp-stealth \
--disable-audit \
--disable-ima \
@@ -85,10 +89,11 @@ build() {
}
package_systemd-knock() {
- pkgdesc="system and service manager with support for stealth TCP sockets"
- license=('GPL2' 'LGPL2.1' 'MIT')
- depends=('acl' 'bash' 'dbus' 'glib2' 'kbd' 'kmod' 'hwids' 'libcap' 'libgcrypt'
- 'libsystemd-knock' 'libidn' 'lz4' 'pam' 'libseccomp' 'util-linux' 'xz')
+ pkgdesc="system and service manager with support for stealth TCP sockets (Parabola rebranded)"
+ license=('GPL2' 'LGPL2.1')
+ depends=('acl' 'bash' 'dbus' 'glib2' 'iptables' 'kbd' 'kmod' 'hwids' 'libcap'
+ 'libgcrypt' 'libsystemd-knock' 'libidn' 'lz4' 'pam' 'libseccomp' 'util-linux'
+ 'xz')
provides=('nss-myhostname' "systemd-tools=$pkgver" "udev=$pkgver" "systemd=$pkgver")
replaces=('nss-myhostname' 'systemd-tools' 'udev')
conflicts=('nss-myhostname' 'systemd-tools' 'udev' 'systemd')
@@ -96,7 +101,7 @@ package_systemd-knock() {
'cryptsetup: required for encrypted block devices'
'libmicrohttpd: remote journald capabilities'
'quota-tools: kernel-level quota management'
- 'systemd-sysvcompat: symlink package to provide sysvinit binaries'
+ 'systemd-knock-sysvcompat: symlink package to provide sysvinit binaries'
'polkit: allow administration as unprivileged user')
backup=(etc/dbus-1/system.d/org.freedesktop.systemd1.conf
etc/dbus-1/system.d/org.freedesktop.hostname1.conf
@@ -104,10 +109,14 @@ package_systemd-knock() {
etc/dbus-1/system.d/org.freedesktop.locale1.conf
etc/dbus-1/system.d/org.freedesktop.machine1.conf
etc/dbus-1/system.d/org.freedesktop.timedate1.conf
+ etc/dbus-1/system.d/org.freedesktop.import1.conf
+ etc/dbus-1/system.d/org.freedesktop.network1.conf
etc/pam.d/systemd-user
etc/systemd/bootchart.conf
etc/systemd/coredump.conf
etc/systemd/journald.conf
+ etc/systemd/journal-remote.conf
+ etc/systemd/journal-upload.conf
etc/systemd/logind.conf
etc/systemd/system.conf
etc/systemd/timesyncd.conf
@@ -116,23 +125,17 @@ package_systemd-knock() {
etc/udev/udev.conf)
install="systemd.install"
- make -C "$_pkgbase-$pkgver" DESTDIR="$pkgdir" install
+ make -C "$_pkgbase" DESTDIR="$pkgdir" install
# don't write units to /etc by default. some of these will be re-enabled on
# post_install.
- rm "$pkgdir/etc/systemd/system/getty.target.wants/getty@tty1.service" \
- "$pkgdir/etc/systemd/system/multi-user.target.wants/systemd-networkd.service" \
- "$pkgdir/etc/systemd/system/multi-user.target.wants/systemd-resolved.service" \
- "$pkgdir/etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service" \
- "$pkgdir/etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service"
- rmdir "$pkgdir/etc/systemd/system/getty.target.wants" \
- "$pkgdir/etc/systemd/system/network-online.target.wants"
+ rm -r "$pkgdir/etc/systemd/system/"*.wants
# get rid of RPM macros
rm -r "$pkgdir/usr/lib/rpm"
# add back tmpfiles.d/legacy.conf
- install -m644 "systemd-$pkgver/tmpfiles.d/legacy.conf" "$pkgdir/usr/lib/tmpfiles.d"
+ install -m644 "systemd/tmpfiles.d/legacy.conf" "$pkgdir/usr/lib/tmpfiles.d"
# Replace dialout/tape/cdrom group in rules with uucp/storage/optical group
sed -i 's#GROUP="dialout"#GROUP="uucp"#g;
@@ -149,7 +152,10 @@ package_systemd-knock() {
# ensure proper permissions for /var/log/journal. This is only to placate
chown root:systemd-journal "$pkgdir/var/log/journal"
- chmod 2755 "$pkgdir/var/log/journal"{,/remote}
+ chmod 2755 "$pkgdir/var/log/journal"
+
+ # we'll create this on installation
+ rmdir "$pkgdir/var/log/journal/remote"
# fix pam file
sed 's|system-auth|system-login|g' -i "$pkgdir/etc/pam.d/systemd-user"
@@ -167,22 +173,41 @@ package_systemd-knock() {
rm -rf "$srcdir/_libsystemd"
install -dm755 "$srcdir"/_libsystemd/usr/lib
cd "$srcdir"/_libsystemd
- mv "$pkgdir"/usr/lib/lib{systemd,{g,}udev}*.so* usr/lib
+ mv "$pkgdir"/usr/lib/lib{systemd,udev}*.so* usr/lib
- # include MIT license, since it's technically custom
- install -Dm644 "$srcdir/$_pkgbase-$pkgver/LICENSE.MIT" \
- "$pkgdir/usr/share/licenses/systemd/LICENSE.MIT"
+ # add example bootctl configuration
+ install -Dm644 "$srcdir/parabola.conf" "$pkgdir"/usr/share/systemd/bootctl/parabola.conf
+ install -Dm644 "$srcdir/loader.conf" "$pkgdir"/usr/share/systemd/bootctl/loader.conf
+ install -Dm644 "$srcdir/splash-parabola.bmp" "$pkgdir"/usr/share/systemd/bootctl/splash-parabola.bmp
}
package_libsystemd-knock() {
pkgdesc="systemd client libraries with support for stealth TCP sockets"
depends=('glib2' 'glibc' 'libgcrypt' 'lz4' 'xz')
license=('GPL2')
- provides=('libgudev-1.0.so' 'libsystemd.so' 'libsystemd-daemon.so' 'libsystemd-id128.so'
+ provides=('libsystemd.so' 'libsystemd-daemon.so' 'libsystemd-id128.so'
'libsystemd-journal.so' 'libsystemd-login.so' 'libudev.so' "libsystemd=$pkgver")
conflicts=('libsystemd')
mv "$srcdir/_libsystemd"/* "$pkgdir"
}
+package_systemd-knock-sysvcompat() {
+ pkgdesc="sysvinit compat for systemd-knock"
+ license=('GPL2')
+ groups=('base')
+ provides=("systemd-sysvcompat=$pkgver")
+ conflicts=('sysvinit' 'systemd-sysvcompat')
+ depends=('systemd-knock')
+
+ mv "$srcdir/_sysvcompat"/* "$pkgdir"
+
+ install -dm755 "$pkgdir/usr/bin"
+ for tool in runlevel reboot shutdown poweroff halt telinit; do
+ ln -s 'systemctl' "$pkgdir/usr/bin/$tool"
+ done
+
+ ln -s '../lib/systemd/systemd' "$pkgdir/usr/bin/init"
+}
+
# vim: ft=sh syn=sh et