core/systemd to 234.11-1

This commit is contained in:
Kevin Mihelich 2017-07-26 20:54:25 +00:00
parent e742d57080
commit ff64ca124d

View file

@ -5,22 +5,23 @@
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org> # ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - disable gold/LTO # - disable gold/LTO
# - removed makedepend on gnu-efi-libs, --enable-gnuefi configure option # - removed makedepend on gnu-efi-libs, set -Dgnuefi=false
pkgbase=systemd pkgbase=systemd
pkgname=('systemd' 'libsystemd' 'systemd-sysvcompat') pkgname=('systemd' 'libsystemd' 'systemd-sysvcompat')
# latest commit on stable branch # latest commit on stable branch
_commit='27c7bc970d9e7ffe060688a8dd77b7747503a564' _commit='d52e2bb9c20216972754c054e8534bca28baab66'
# Bump this to latest major release for signed tag verification, # Bump this to latest major release for signed tag verification,
# the commit count is handled by pkgver() function. # the commit count is handled by pkgver() function.
pkgver=233.75 pkgver=234.11
pkgrel=3.1 pkgrel=1
arch=('i686' 'x86_64') arch=('i686' 'x86_64')
url="https://www.github.com/systemd/systemd" url="https://www.github.com/systemd/systemd"
makedepends=('acl' 'cryptsetup' 'docbook-xsl' 'gperf' 'lz4' 'xz' 'pam' 'libelf' makedepends=('acl' 'cryptsetup' 'docbook-xsl' 'gperf' 'lz4' 'xz' 'pam' 'libelf'
'intltool' 'iptables' 'kmod' 'libcap' 'libidn' 'libgcrypt' 'intltool' 'iptables' 'kmod' 'libcap' 'libidn' 'libgcrypt'
'libmicrohttpd' 'libxslt' 'util-linux' 'linux-api-headers' 'libmicrohttpd' 'libxslt' 'util-linux' 'linux-api-headers'
'python-lxml' 'quota-tools' 'shadow' 'git') 'python-lxml' 'quota-tools' 'shadow' 'git'
'meson')
options=('strip') options=('strip')
source=("git://github.com/systemd/systemd-stable.git#commit=${_commit}" source=("git://github.com/systemd/systemd-stable.git#commit=${_commit}"
'git://github.com/systemd/systemd.git' # pull in for tags 'git://github.com/systemd/systemd.git' # pull in for tags
@ -53,21 +54,9 @@ validpgpkeys=(
) )
_backports=( _backports=(
# build-sys: make RPM macros installation path configurable
'ff2e33db54719bfe8feea833571652318c6d197c'
# resolved: do not start LLMNR or mDNS stack when no network enables them
'2c7ef56459bf6fe7761595585aa4eed5cd183f27^..2c7ef56459bf6fe7761595585aa4eed5cd183f27^2'
# networkd: RFC compliant autonomous prefix handling (#5636)
'6554550f35a7976f9110aff94743d3576d5f02dd'
# core: do not print color console message about gc-ed jobs
'047d7219fde661698d3487fc49e9878c61eefd77'
) )
_reverts=( _reverts=(
# core: store the invocation ID in the per-service keyring
'b3415f5daef49642be3d5f417b8880c078420ff7'
# core: run each system service with a fresh session keyring
'74dd6b515fa968c5710b396a7664cac335e25ca8'
) )
_validate_tag() { _validate_tag() {
@ -109,7 +98,7 @@ pkgver() {
prepare() { prepare() {
cd "$pkgbase-stable" cd "$pkgbase-stable"
git remote add upstream ../systemd/ git remote add upstream ../systemd/
git fetch --all git fetch --all
@ -123,52 +112,42 @@ prepare() {
git revert -n "$_commit" git revert -n "$_commit"
done done
# nss-resolve: drop the internal fallback to libnss_dns # core: store the invocation ID in the per-service keyring
git show '5486a31d287f26bcd7c0a4eb2abfa4c074b985f1' -- \ # core: run each system service with a fresh session keyring
'Makefile.am' 'src/nss-resolve/nss-resolve.c' | git apply --index git show 'b3415f5daef49642be3d5f417b8880c078420ff7' \
'74dd6b515fa968c5710b396a7664cac335e25ca8' \
# Resolved packet size (#6214) (FS#54619, CVE-2017-9445) -- . ':!src/test/test-id128.c' | git apply --reverse --index
git show '751ca3f1de316ca79b60001334dbdf54077e1d01' \
'db848813bae4d28c524b3b6a7dad135e426659ce' \
'88795538726a5bbfd9efc13d441cb05e1d7fc139' \
'64a21fdaca7c93f1c30b21f6fdbd2261798b161a' \
-- . ':!src/resolve/meson.build' | git apply --index
./autogen.sh
} }
build() { build() {
cd "$pkgbase-stable"
local timeservers=({0..3}.arch.pool.ntp.org) local timeservers=({0..3}.arch.pool.ntp.org)
LDFLAGS+=" -Wl,-fuse-ld=bfd" LDFLAGS+=" -Wl,-fuse-ld=bfd"
CFLAGS+=" -fno-lto" CFLAGS+=" -fno-lto"
CXXFLAGS+=" -fno-lto" CXXFLAGS+=" -fno-lto"
local configure_options=( local meson_options=(
--libexecdir=/usr/lib -Daudit=false
--localstatedir=/var -Dgnuefi=false
--sysconfdir=/etc -Dima=false
-Dlz4=true
-Db_lto=true
--enable-lz4 -Ddbuspolicydir=/usr/share/dbus-1/system.d
--disable-audit -Ddefault-dnssec=no
--disable-ima
--with-sysvinit-path=
--with-sysvrcnd-path=
--with-ntp-servers="${timeservers[*]}"
--with-default-dnssec=no
--with-dbuspolicydir=/usr/share/dbus-1/system.d
--without-kill-user-processes
--with-rpmmacrosdir=no
# TODO(dreisner): consider changing this to unified # TODO(dreisner): consider changing this to unified
--with-default-hierarchy=hybrid -Ddefault-hierarchy=hybrid
-Ddefault-kill-user-processes=false
-Dfallback-hostname='archlinux'
-Dntp-servers="${timeservers[*]}"
-Drpmmacrosdir=no
-Dsysvinit-path=
-Dsysvrcnd-path=
) )
./configure "${configure_options[@]}" meson "$pkgbase-stable" build "${meson_options[@]}"
make ninja -C build
} }
package_systemd() { package_systemd() {
@ -197,7 +176,7 @@ package_systemd() {
etc/udev/udev.conf) etc/udev/udev.conf)
install="systemd.install" install="systemd.install"
make -C "$pkgbase-stable" DESTDIR="$pkgdir" install DESTDIR="$pkgdir" ninja -C build install
# don't write units to /etc by default. some of these will be re-enabled on # don't write units to /etc by default. some of these will be re-enabled on
# post_install. # post_install.
@ -264,7 +243,12 @@ package_libsystemd() {
license=('GPL2') license=('GPL2')
provides=('libsystemd.so' 'libudev.so') provides=('libsystemd.so' 'libudev.so')
make -C "$pkgbase-stable" DESTDIR="$pkgdir" install-rootlibLTLIBRARIES # meson does not support installing subsets of files, no?
# So do a full install to temporary directory, then install what we need.
DESTDIR="$srcdir"/full-install ninja -C build install
install -dm755 "$pkgdir"/usr/lib/
cp --archive "$srcdir"/full-install/usr/lib/lib{nss_*,systemd,udev}.so* "$pkgdir"/usr/lib/
} }
package_systemd-sysvcompat() { package_systemd-sysvcompat() {
@ -276,7 +260,7 @@ package_systemd-sysvcompat() {
install -dm755 "$pkgdir"/usr/share/man/man8 install -dm755 "$pkgdir"/usr/share/man/man8
cp -d --no-preserve=ownership,timestamp \ cp -d --no-preserve=ownership,timestamp \
"$pkgbase-stable"/man/{telinit,halt,reboot,poweroff,runlevel,shutdown}.8 \ build/man/{telinit,halt,reboot,poweroff,runlevel,shutdown}.8 \
"$pkgdir"/usr/share/man/man8 "$pkgdir"/usr/share/man/man8
install -dm755 "$pkgdir/usr/bin" install -dm755 "$pkgdir/usr/bin"