diff --git a/systemd/.SRCINFO b/systemd/.SRCINFO index d80defad72..07f01b8f61 100644 --- a/systemd/.SRCINFO +++ b/systemd/.SRCINFO @@ -1,6 +1,6 @@ pkgbase = systemd - pkgver = 257.1 - pkgrel = 1 + pkgver = 257.2 + pkgrel = 2 url = https://www.github.com/systemd/systemd arch = x86_64 arch = powerpc64le @@ -57,7 +57,7 @@ pkgbase = systemd makedepends = python-pefile makedepends = linux-headers conflicts = mkinitcpio<38-1 - source = git+https://github.com/systemd/systemd#tag=v257.1?signed + source = git+https://github.com/systemd/systemd#tag=v257.2?signed source = 0001-Use-Arch-Linux-device-access-groups.patch source = arch.conf source = loader.conf @@ -79,13 +79,13 @@ pkgbase = systemd validpgpkeys = A9EA9081724FFAE0484C35A1A81CEA22BC8C7E2E validpgpkeys = 9A774DB5DB996C154EBBFBFDA0099A18E29326E1 validpgpkeys = 5C251B5FC54EB2F80F407AAAC54CA336CFEB557E - sha512sums = 53b14cfadf301a44fdfcaa2fe4b9d2371c85581544093b88e5afcee4e45c5bd8668aaae9dd6663363c24f3b610f9b0d6eb61f00df71d588bce8f6264424203e4 + sha512sums = 60e09576738abf1d328d06daae8981780a9a4facc5b09e2a3ae24b8461e23d3be2a192a2261ec0e85f004a89eb77e76c4483b268f3d4d918146baf5b201fa49d sha512sums = 78065bde708118b7d6e4ed492e096c763e4679a1c54bd98750d5d609d8cc2f1373023f308880f14fc923ae7f9fea34824917ef884c0f996b1f43d08ef022c0fb - sha512sums = 76e58855f9025feffb21108f8714f7d8fa7cb163919b54128fb614c74af503f3ac651df7d6fefcee1dbc7753a63fb9edd342ea23f2106a1221c013af0078b89b + sha512sums = 61032d29241b74a0f28446f8cf1be0e8ec46d0847a61dadb2a4f096e8686d5f57fe5c72bcf386003f6520bc4b5856c32d63bf3efe7eb0bc0deefc9f68159e648 sha512sums = c416e2121df83067376bcaacb58c05b01990f4614ad9de657d74b6da3efa441af251d13bf21e3f0f71ddcb4c9ea658b81da3d915667dc5c309c87ec32a1cb5a5 sha512sums = 5a1d78b5170da5abe3d18fdf9f2c3a4d78f15ba7d1ee9ec2708c4c9c2e28973469bc19386f70b3cf32ffafbe4fcc4303e5ebbd6d5187a1df3314ae0965b25e75 sha512sums = b90c99d768dc2a4f020ba854edf45ccf1b86a09d2f66e475de21fe589ff7e32c33ef4aa0876d7f1864491488fd7edb2682fc0d68e83a6d4890a0778dc2d6fe19 - sha512sums = 3cb8f88c1bffc753d0c540be5d25a0fdb9224478cca64743b5663340f2f26b197775286e6e680228db54c614dcd11da1135e625674a622127681662bec4fa886 + sha512sums = 81baa1ae439b0f4d1f09371a82c02db06a97a4fc35545fc2654f7905b4422fc8cf085f70304919a4323f39e662df1e05aa8d977d1dde73507527abe3072c386b sha512sums = 299dcc7094ce53474521356647bdd2fb069731c08d14a872a425412fcd72da840727a23664b12d95465bf313e8e8297da31259508d1c62cc2dcea596160e21c5 sha512sums = 0d6bc3d928cfafe4e4e0bc04dbb95c5d2b078573e4f9e0576e7f53a8fab08a7077202f575d74a3960248c4904b5f7f0661bf17dbe163c524ab51dd30e3cb80f7 sha512sums = 2b50b25e8680878f7974fa9d519df7e141ca11c4bfe84a92a5d01bb193f034b1726ea05b3c0030bad1fbda8dbb78bf1dc7b73859053581b55ba813c39b27d9dc @@ -106,7 +106,7 @@ pkgname = systemd license = CC0-1.0 license = GPL-2.0-or-later license = MIT-0 - depends = systemd-libs=257.1 + depends = systemd-libs=257.2 depends = acl depends = libacl.so depends = bash @@ -153,8 +153,8 @@ pkgname = systemd optdepends = libp11-kit: support PKCS#11 optdepends = tpm2-tss: unlocking LUKS2 volumes with TPM2 provides = nss-myhostname - provides = systemd-tools=257.1 - provides = udev=257.1 + provides = systemd-tools=257.2 + provides = udev=257.2 conflicts = nss-myhostname conflicts = systemd-tools conflicts = udev @@ -200,12 +200,16 @@ pkgname = systemd-libs pkgname = systemd-resolvconf pkgdesc = systemd resolvconf replacement (for use with systemd-resolved) - depends = systemd=257.1 + depends = systemd=257.2 provides = openresolv provides = resolvconf conflicts = resolvconf pkgname = systemd-sysvcompat pkgdesc = sysvinit compat for systemd - depends = systemd=257.1 + depends = systemd=257.2 conflicts = sysvinit + +pkgname = systemd-tests + pkgdesc = systemd tests + depends = systemd=257.2 diff --git a/systemd/PKGBUILD b/systemd/PKGBUILD index 7a993e50d3..23be63c4fc 100644 --- a/systemd/PKGBUILD +++ b/systemd/PKGBUILD @@ -13,16 +13,16 @@ pkgbase=systemd pkgname=('systemd' 'systemd-libs' 'systemd-resolvconf' - 'systemd-sysvcompat') + 'systemd-sysvcompat' + 'systemd-tests') case "${CARCH}" in x86_64) pkgname+=('systemd-ukify') ;; esac -_tag='257.1' # Upstream versioning is incompatible with pacman's version comparisons, one -# way or another. So we replace dashes and tildes with the empty string to -# make sure pacman's version comparing does the right thing for rc versions: -pkgver="${_tag/[-~]/}" -pkgrel=1 +# way or another. We use proper version for pacman here (no dash for rc +# release!), and change in source array below. +pkgver='257.2' +pkgrel=2 arch=(x86_64 powerpc64le powerpc64 powerpc riscv64) license=('LGPL-2.1-or-later') url='https://www.github.com/systemd/systemd' @@ -40,7 +40,9 @@ validpgpkeys=('63CDA1E5D3FC22B998D20DD6327F26951A015CC4' # Lennart Poettering < 'A9EA9081724FFAE0484C35A1A81CEA22BC8C7E2E' # Luca Boccassi '9A774DB5DB996C154EBBFBFDA0099A18E29326E1' # Yu Watanabe '5C251B5FC54EB2F80F407AAAC54CA336CFEB557E') # Zbigniew Jędrzejewski-Szmek -source=("git+https://github.com/systemd/systemd#tag=v${_tag}?signed" +# For pacman's version comparisons $pkgver is missing the dash that would be +# in an upstream rc version so add it back when fetching the tag from github. +source=("git+https://github.com/systemd/systemd#tag=v${pkgver/rc/-rc}?signed" '0001-Use-Arch-Linux-device-access-groups.patch' # bootloader files 'arch.conf' @@ -61,9 +63,9 @@ source=("git+https://github.com/systemd/systemd#tag=v${_tag}?signed" '30-systemd-tmpfiles.hook' '30-systemd-udev-reload.hook' '30-systemd-update.hook') -sha512sums=('53b14cfadf301a44fdfcaa2fe4b9d2371c85581544093b88e5afcee4e45c5bd8668aaae9dd6663363c24f3b610f9b0d6eb61f00df71d588bce8f6264424203e4' +sha512sums=('60e09576738abf1d328d06daae8981780a9a4facc5b09e2a3ae24b8461e23d3be2a192a2261ec0e85f004a89eb77e76c4483b268f3d4d918146baf5b201fa49d' '78065bde708118b7d6e4ed492e096c763e4679a1c54bd98750d5d609d8cc2f1373023f308880f14fc923ae7f9fea34824917ef884c0f996b1f43d08ef022c0fb' - '76e58855f9025feffb21108f8714f7d8fa7cb163919b54128fb614c74af503f3ac651df7d6fefcee1dbc7753a63fb9edd342ea23f2106a1221c013af0078b89b' + '61032d29241b74a0f28446f8cf1be0e8ec46d0847a61dadb2a4f096e8686d5f57fe5c72bcf386003f6520bc4b5856c32d63bf3efe7eb0bc0deefc9f68159e648' 'c416e2121df83067376bcaacb58c05b01990f4614ad9de657d74b6da3efa441af251d13bf21e3f0f71ddcb4c9ea658b81da3d915667dc5c309c87ec32a1cb5a5' '5a1d78b5170da5abe3d18fdf9f2c3a4d78f15ba7d1ee9ec2708c4c9c2e28973469bc19386f70b3cf32ffafbe4fcc4303e5ebbd6d5187a1df3314ae0965b25e75' 'b90c99d768dc2a4f020ba854edf45ccf1b86a09d2f66e475de21fe589ff7e32c33ef4aa0876d7f1864491488fd7edb2682fc0d68e83a6d4890a0778dc2d6fe19' @@ -81,21 +83,19 @@ sha512sums=('53b14cfadf301a44fdfcaa2fe4b9d2371c85581544093b88e5afcee4e45c5bd8668 '825b9dd0167c072ba62cabe0677e7cd20f2b4b850328022540f122689d8b25315005fa98ce867cf6e7460b2b26df16b88bb3b5c9ebf721746dce4e2271af7b97') _meson_version="${pkgver}-${pkgrel}" -_meson_vcs_tag='false' -_meson_mode='release' -_meson_compile=() -_meson_install=() +_systemd_src_dir="${pkgbase}" if ((_systemd_UPSTREAM)); then _meson_version="${pkgver}" - _meson_vcs_tag='true' - _meson_mode='developer' - pkgname+=('systemd-tests') - if ((_systemd_QUIET)); then - _meson_install=('--quiet') - else - _meson_compile=('--verbose') - fi +fi + +# Some heuristics to detect that we are building on OBS, with no network access. Skip +# git verification, and use the OBS-provided tarball instead. The sources will be +# unpacked by OBS in $package-$version/ +if [ -f /.build/build.dist ] && [ -d /usr/src/packages/SOURCES ] && [ -d /usr/src/packages/BUILD ] && [ -d /usr/src/packages/OTHER ]; then + source[0]="$(find . -name "${pkgbase}-${pkgver}.tar.*" -print -quit)" + sha512sums[0]='SKIP' + _systemd_src_dir="${pkgbase}-${pkgver}" fi _backports=( @@ -105,7 +105,7 @@ _reverts=( ) prepare() { - cd "${pkgbase}" + cd "${_systemd_src_dir}" local _c _l for _c in "${_backports[@]}"; do @@ -140,11 +140,12 @@ build() { local _meson_options=( -Dversion-tag="${_meson_version}-arch" - -Dvcs-tag="${_meson_vcs_tag}" + -Dvcs-tag=false -Dshared-lib-tag="${_meson_version}" - -Dmode="${_meson_mode}" + -Dmode=release -Dapparmor=disabled + -Dbootloader=enabled -Dxenctrl=disabled -Dbpf-framework=enabled -Dima=false @@ -181,15 +182,15 @@ build() { ) case "${CARCH}" in - x86_64) _meson_options+=(-Dbootloader=enabled) ;; + x86_64) _meson_options+=(-Dbootloader=enabled -Dvmlinux-h=provided -Dvmlinux-h-path=/usr/src/linux/vmlinux.h) ;; riscv64) _meson_options+=(-Dbootloader=enabled -Dukify=false -Dseccomp=false) ;; #FIXME: seccomp breaks systemd on riscv64 powerpc) _meson_options+=(-Dbootloader=disabled -Dukify=false -Dseccomp=false) ;; #FIXME: seccomp breaks systemd on powerpc *) _meson_options+=(-Dbootloader=disabled -Dukify=false) ;; esac - arch-meson "${pkgbase}" build "${_meson_options[@]}" $MESON_EXTRA_CONFIGURE_OPTIONS + arch-meson "${_systemd_src_dir}" build "${_meson_options[@]}" $MESON_EXTRA_CONFIGURE_OPTIONS - meson compile -C build "${_meson_compile[@]}" + meson compile -C build } check() { @@ -249,7 +250,7 @@ package_systemd() { etc/udev/udev.conf) install=systemd.install - meson install -C build --no-rebuild --destdir "$pkgdir" "${_meson_install[@]}" + meson install -C build --no-rebuild --destdir "$pkgdir" --quiet # we'll create this on installation rmdir "$pkgdir"/var/log/journal/remote diff --git a/systemd/arch.conf b/systemd/arch.conf index f14a98aa6d..250b7785e9 100644 --- a/systemd/arch.conf +++ b/systemd/arch.conf @@ -1,7 +1,7 @@ ## This is just an example config file. ## Please edit the paths and kernel parameters according to your system. -title Arch POWER +title Arch Linux linux /vmlinuz-linux initrd /initramfs-linux.img -options root=PARTUUID=XXXX rootfstype=XXXX +options root=PARTUUID=XXXX rootfstype=XXXX add_efi_memmap diff --git a/systemd/systemd.install b/systemd/systemd.install index a4f7493727..33e9d0e6e9 100644 --- a/systemd/systemd.install +++ b/systemd/systemd.install @@ -4,6 +4,13 @@ sd_booted() { [[ -d run/systemd/system && ! -L run/systemd/system ]] } +services_needing_restart() { + systemctl list-units --state=running --plain --quiet 'systemd-*.service' \ + | cut -d' ' -f1 \ + | grep -Ev '^systemd-(logind|networkd)\.service$' \ + | grep -Ev '^systemd-.*@.*\.service$' +} + post_common() { systemd-sysusers journalctl --update-catalog @@ -40,7 +47,7 @@ post_upgrade() { systemctl reload 'user@*.service' # mark systemd services for later restart - for UNIT in $(systemctl list-units --state=running --plain --quiet 'systemd-*.service' | cut -d' ' -f1 | grep -Ev '^systemd-(logind|networkd)\.service$'); do + for UNIT in $(services_needing_restart); do systemctl set-property --runtime "${UNIT}" Markers=needs-restart done fi