summaryrefslogtreecommitdiff
path: root/libre/systemd/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'libre/systemd/PKGBUILD')
-rw-r--r--libre/systemd/PKGBUILD99
1 files changed, 81 insertions, 18 deletions
diff --git a/libre/systemd/PKGBUILD b/libre/systemd/PKGBUILD
index 7ce39780f..11067955f 100644
--- a/libre/systemd/PKGBUILD
+++ b/libre/systemd/PKGBUILD
@@ -4,7 +4,8 @@
# Contributor: Luke Shumaker <lukeshu@sbcglobal.net>
pkgbase=systemd
-pkgname=('systemd' 'libsystemd' 'systemd-sysvcompat')
+pkgname=('systemd' 'libsystemd' 'systemd-sysvcompat'
+ 'libsystemd-standalone' 'libudev' 'nss-myhostname' 'nss-mymachines' 'nss-resolve')
pkgver=229
pkgrel=3.parabola1
arch=('i686' 'x86_64' 'armv7h')
@@ -101,6 +102,38 @@ build() {
--with-ntp-servers="${timeservers[*]}"
make
+
+ # Go ahead and split the package now. It's easier this way, because
+ # we can use mv instead of awkward, error-prone rm/cp pairs.
+ rm -rf "$srcdir/dest"
+
+ # Put things in the main systemd package by default
+ make DESTDIR="$srcdir/dest/systemd" install
+
+ install -dm755 "$srcdir/dest/libsystemd"/usr/{lib/pkgconfig,share/man/man3,include}
+ mv -T "$srcdir/dest"/{systemd,libsystemd}/usr/include/systemd
+ mv -T "$srcdir/dest"/{systemd,libsystemd}/usr/lib/pkgconfig/libsystemd.pc
+ mv "$srcdir/dest"/systemd/usr/lib/libsystemd.so* -t "$srcdir/dest"/libsystemd/usr/lib/
+ mv "$srcdir/dest"/systemd/usr/share/man/man3/{SD,sd}* -t "$srcdir/dest"/libsystemd/usr/share/man/man3/
+
+ install -dm755 "$srcdir/dest/libudev"/usr/{lib/pkgconfig,share/man/man3,include}
+ mv -T "$srcdir/dest"/{systemd,libudev}/usr/include/libudev.h
+ mv -T "$srcdir/dest"/{systemd,libudev}/usr/lib/pkgconfig/libudev.pc
+ mv "$srcdir/dest"/systemd/usr/lib/libudev.so* -t "$srcdir/dest"/libudev/usr/lib/
+ mv "$srcdir/dest"/systemd/usr/share/man/man3/*udev* -t "$srcdir/dest"/libudev/usr/share/man/man3/
+
+ local nssmodule
+ for nssmodule in myhostname mymachines resolve; do
+ install -dm755 "$srcdir/dest/nss-$nssmodule"/usr/{lib,share/man/man8}
+ mv -T "$srcdir/dest"/{systemd,nss-$nssmodule}/usr/share/man/man8/nss-$nssmodule.8
+ mv "$srcdir/dest"/systemd/usr/lib/libnss_$nssmodule.so* -t "$srcdir/dest"/nss-$nssmodule/usr/lib/
+ done
+
+ install -dm755 "$srcdir/dest/systemd-sysvcompat"/usr/share/man/man8
+ mv "$srcdir/dest/systemd"/usr/share/man/man8/{telinit,halt,reboot,poweroff,runlevel,shutdown}.8 \
+ -t "$srcdir/dest/systemd-sysvcompat"/usr/share/man/man8
+
+ rmdir "$srcdir/dest"/systemd/usr/{share/man/man3,lib/pkgconfig,include}
}
package_systemd() {
@@ -109,9 +142,9 @@ package_systemd() {
depends=('acl' 'bash' 'dbus' 'iptables' 'kbd' 'kmod' 'hwids' 'libcap'
'libgcrypt' 'libsystemd' 'libidn' 'lz4' 'pam' 'libelf' 'libseccomp'
'util-linux' 'xz')
- provides=('nss-myhostname' "systemd-tools=$pkgver" "udev=$pkgver")
- replaces=('nss-myhostname' 'systemd-tools' 'udev')
- conflicts=('nss-myhostname' 'systemd-tools' 'udev')
+ provides=("systemd-tools=$pkgver" "udev=$pkgver")
+ replaces=('systemd-tools' 'udev')
+ conflicts=('systemd-tools' 'udev')
optdepends=('cryptsetup: required for encrypted block devices'
'libmicrohttpd: remote journald capabilities'
'quota-tools: kernel-level quota management'
@@ -139,7 +172,7 @@ package_systemd() {
etc/udev/udev.conf)
install="systemd.install"
- make -C "$pkgbase" DESTDIR="$pkgdir" install
+ cp -rT -d --no-preserve=ownership,timestamp "$srcdir/dest/$pkgname" "$pkgdir"
# don't write units to /etc by default. some of these will be re-enabled on
# post_install.
@@ -177,12 +210,6 @@ package_systemd() {
# ship default policy to leave services disabled
echo 'disable *' >"$pkgdir"/usr/lib/systemd/system-preset/99-default.preset
- ### manpages shipped with systemd-sysvcompat
- rm "$pkgdir"/usr/share/man/man8/{telinit,halt,reboot,poweroff,runlevel,shutdown}.8
-
- ### runtime libraries shipped with libsystemd
- rm "$pkgdir"/usr/lib/lib{nss,systemd,udev}*.so*
-
# 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
@@ -190,12 +217,51 @@ package_systemd() {
}
package_libsystemd() {
- pkgdesc="systemd client libraries"
+ pkgdesc="systemd client libraries metapackage"
+ depends=(libsystemd-standalone libudev nss-myhostname nss-mymachines nss-resolve)
+ license=('GPL2')
+}
+
+package_libsystemd-standalone() {
+ pkgdesc="systemd client library"
depends=('glibc' 'libcap' 'libgcrypt' 'lz4' 'xz')
license=('GPL2')
- provides=('libsystemd.so' 'libudev.so')
+ provides=('libsystemd.so')
+
+ cp -rT -d --no-preserve=ownership,timestamp "$srcdir/dest/libsystemd" "$pkgdir"
+}
+
+package_libudev() {
+ pkgdesc="systemd library for enumerating and introspecting local devices"
+ depends=('glibc' 'libcap')
+ license=('GPL2')
+ provides=('libudev.so')
+
+ cp -rT -d --no-preserve=ownership,timestamp "$srcdir/dest/$pkgname" "$pkgdir"
+}
+
+package_nss-myhostname() {
+ pkgdesc="NSS module providing hostname resolution for the locally configured system hostname"
+ depends=('glibc' 'libcap')
+ license=('GPL2')
+
+ cp -rT -d --no-preserve=ownership,timestamp "$srcdir/dest/$pkgname" "$pkgdir"
+}
+
+package_nss-mymachines() {
+ pkgdesc="NSS module providing hostname resolution for local systemd-machined container instances"
+ depends=('glibc' 'libcap')
+ license=('GPL2')
+
+ cp -rT -d --no-preserve=ownership,timestamp "$srcdir/dest/$pkgname" "$pkgdir"
+}
+
+package_nss-resolve() {
+ pkgdesc="NSS module providing hostname resolution via systemd-resolved"
+ depends=('glibc' 'libcap')
+ license=('GPL2')
- make -C "$pkgbase" DESTDIR="$pkgdir" install-libLTLIBRARIES
+ cp -rT -d --no-preserve=ownership,timestamp "$srcdir/dest/$pkgname" "$pkgdir"
}
package_systemd-sysvcompat() {
@@ -205,10 +271,7 @@ package_systemd-sysvcompat() {
conflicts=('sysvinit')
depends=('systemd')
- install -dm755 "$pkgdir"/usr/share/man/man8
- cp -d --no-preserve=ownership,timestamp \
- "$pkgbase"/man/{telinit,halt,reboot,poweroff,runlevel,shutdown}.8 \
- "$pkgdir"/usr/share/man/man8
+ cp -rT -d --no-preserve=ownership,timestamp "$srcdir/dest/$pkgname" "$pkgdir"
install -dm755 "$pkgdir/usr/bin"
for tool in runlevel reboot shutdown poweroff halt telinit; do