diff options
Diffstat (limited to 'pcr/systemd-knock/PKGBUILD')
-rw-r--r-- | pcr/systemd-knock/PKGBUILD | 163 |
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 |