sys-apps/systemd-tmpfiles: add 249.2, unkeyworded for more testing
Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
This commit is contained in:
parent
b31c80827b
commit
db2fad6c5a
|
@ -1,4 +1,6 @@
|
|||
DIST systemd-246.tar.gz 9534036 BLAKE2B 71b72abcd4d066d35d45d9835d41bec8faa9a7eddc80b48fe7073223f07d32f78a8442c52dc0800940f9750d9c5502123a633738981d797cf610d85df2035bf0 SHA512 7103f7da53f7ced3b5543c238f23bd11c82af8e37166c1720a90576b6b431b4329320c78726166c65a9f5e101dd465c0a86dd13c586c4e55e608a6273d8f324f
|
||||
DIST systemd-musl-patches-249.1-r0.tar.xz 24276 BLAKE2B ba96bcfb04096d639d7ee028b219bb90648b6aa8aaefe804cd658d3fb8c4f9770b617dc9c5ddfb93e876b739ad927d037c881cbfb19d2db095fa897f3bb83d20 SHA512 9bd7ea515184e44bfa50c9f415200c62f931c657a49cd53a15ee9719991f3773c12ca7162dc12f61a7e67ed791405e879f9b5a13c9fa09fab464be269508f31f
|
||||
DIST systemd-stable-248.3.tar.gz 10320940 BLAKE2B 725494e0197dd182de55e4967088f4b4b709e6b2242723368b6cd95606582e01a57322b1f18fa194149055140a90993696734ad3c004843bfaceb72cd04a3a84 SHA512 8e7ff0d5e63cc933e4dc23f7e0bef9707fde90396605eb8822d34de90d7abe8fd37e5739e33b657868218aa7281147cc944c096c007324c3e6fb54d833a83485
|
||||
DIST systemd-stable-249.2.tar.gz 10591728 BLAKE2B fb24c681cf2328aa26fa49a8ba20cccd1ee0fae82ec9f9931a69eaa377fc01b2ece12fdf407444514d494b8ac1418f155b0fceeff4925bebaba691f0b8a2acc8 SHA512 4f42a0b93156529a464545361436fa98193e12a7e0809315b9fdedbcf33b81dd2037acac27fb0dfefcb2679bc49ebb6da4d152ecb4b15db797c81f7ca4588a11
|
||||
DIST systemd-tmpfiles-246-musl.tar.xz 25860 BLAKE2B 87fc4ca37abec9c1a0cee48bf78c575bd53e16a50d427eff338159dc6d5474ffd328af533ccf90a0e1e160a16baa7378070f418f2be0d7f77e00907a5d07d30e SHA512 4a93d9f0cb2df2dd0a2f91820615dd3a95d19583f45dc0589e37ceaedfc2040112310a6e3fc525e28e222e96a91498af2fe8541b5bf86a635c0f52dd1a84deb7
|
||||
DIST systemd-tmpfiles-248.3-musl.tar.xz 22904 BLAKE2B a277ce86577644cecbca5dbfde34aec494e3e14075ab4f7fcbb02f9307d714a93ca63f38e346a1e98391ca9c55860c7e90789cd5edb9b196cf638d54bfe1153b SHA512 d3db6a90bed6b6c1a9f6bce138137554742d1bc60da142fbadbd49b64677a562e47d8140b9c413857106e053d740476744b7f7e05af9dd4a1329058c78cef940
|
||||
|
|
|
@ -0,0 +1,67 @@
|
|||
Silence annoying #warning's on musl
|
||||
|
||||
https://github.com/systemd/systemd/pull/20362
|
||||
https://github.com/systemd/systemd/pull/20364
|
||||
|
||||
From f8d54f7810aeea5ff27a5db03e1aab7ea54c8268 Mon Sep 17 00:00:00 2001
|
||||
From: David Seifert <soap@gentoo.org>
|
||||
Date: Mon, 2 Aug 2021 12:41:38 +0200
|
||||
Subject: [PATCH] Use correct `<fcntl.h>` include
|
||||
|
||||
* `<sys/fcntl.h>` is not specified in POSIX
|
||||
---
|
||||
src/basic/fileio.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/basic/fileio.h b/src/basic/fileio.h
|
||||
index af797cfafdbf..4295b84a85c5 100644
|
||||
--- a/src/basic/fileio.h
|
||||
+++ b/src/basic/fileio.h
|
||||
@@ -2,11 +2,11 @@
|
||||
#pragma once
|
||||
|
||||
#include <dirent.h>
|
||||
+#include <fcntl.h>
|
||||
#include <stdbool.h>
|
||||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
#include <sys/stat.h>
|
||||
-#include <sys/fcntl.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#include "macro.h"
|
||||
From 2b6c0bb2a341c95223ce672249e43c743b03d78c Mon Sep 17 00:00:00 2001
|
||||
From: David Seifert <soap@gentoo.org>
|
||||
Date: Mon, 2 Aug 2021 16:09:10 +0200
|
||||
Subject: [PATCH] Use correct `<poll.h>` include
|
||||
|
||||
* `<sys/poll.h>` is not specified in POSIX
|
||||
---
|
||||
src/shared/nscd-flush.c | 2 +-
|
||||
src/shared/varlink.c | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/shared/nscd-flush.c b/src/shared/nscd-flush.c
|
||||
index dfc47c423441..19e16d93455c 100644
|
||||
--- a/src/shared/nscd-flush.c
|
||||
+++ b/src/shared/nscd-flush.c
|
||||
@@ -1,5 +1,5 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
-#include <sys/poll.h>
|
||||
+#include <poll.h>
|
||||
|
||||
#include "fd-util.h"
|
||||
#include "io-util.h"
|
||||
diff --git a/src/shared/varlink.c b/src/shared/varlink.c
|
||||
index 3a53c16a7242..4033947d3b8c 100644
|
||||
--- a/src/shared/varlink.c
|
||||
+++ b/src/shared/varlink.c
|
||||
@@ -1,7 +1,7 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
|
||||
#include <malloc.h>
|
||||
-#include <sys/poll.h>
|
||||
+#include <poll.h>
|
||||
|
||||
#include "alloc-util.h"
|
||||
#include "errno-util.h"
|
|
@ -0,0 +1,250 @@
|
|||
# Copyright 2020-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
if [[ ${PV} == *.* ]]; then
|
||||
MY_PN=systemd-stable
|
||||
else
|
||||
MY_PN=systemd
|
||||
fi
|
||||
|
||||
MINKV="3.11"
|
||||
MUSL_PATCHSET="${PV%.*}.1-r0"
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
inherit flag-o-matic meson python-any-r1
|
||||
|
||||
DESCRIPTION="Creates, deletes and cleans up volatile and temporary files and directories"
|
||||
HOMEPAGE="https://www.freedesktop.org/wiki/Software/systemd"
|
||||
SRC_URI="https://github.com/systemd/${MY_PN}/archive/v${PV}.tar.gz -> ${MY_PN}-${PV}.tar.gz
|
||||
elibc_musl? (
|
||||
https://dev.gentoo.org/~gyakovlev/distfiles/systemd-musl-patches-${MUSL_PATCHSET}.tar.xz
|
||||
https://dev.gentoo.org/~soap/distfiles/systemd-musl-patches-${MUSL_PATCHSET}.tar.xz
|
||||
)"
|
||||
|
||||
LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT public-domain"
|
||||
SLOT="0"
|
||||
#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
IUSE="selinux test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
sys-apps/acl:0=
|
||||
>=sys-apps/util-linux-2.30:0=
|
||||
sys-libs/libcap:0=
|
||||
selinux? ( sys-libs/libselinux:0= )
|
||||
!sys-apps/opentmpfiles
|
||||
!sys-apps/systemd
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
>=sys-kernel/linux-headers-${MINKV}
|
||||
"
|
||||
|
||||
BDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
app-text/docbook-xml-dtd:4.2
|
||||
app-text/docbook-xml-dtd:4.5
|
||||
app-text/docbook-xsl-stylesheets
|
||||
dev-libs/libxslt:0
|
||||
dev-util/gperf
|
||||
>=dev-util/meson-0.46
|
||||
>=sys-apps/coreutils-8.16
|
||||
sys-devel/gettext
|
||||
sys-devel/m4
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${MY_PN}-${PV}"
|
||||
|
||||
PATCHES=(
|
||||
# backport from 250 to silence musl warnings
|
||||
"${FILESDIR}/249-sys-include-posix.patch"
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# musl patchset from:
|
||||
# http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-core/systemd/systemd
|
||||
# check SRC_URI_MUSL in systemd_${PV}.bb file for exact list of musl patches
|
||||
# we share patch tarball with sys-fs/udev
|
||||
if use elibc_musl; then
|
||||
einfo "applying musl patches and workarounds"
|
||||
eapply "${WORKDIR}/musl-patches"
|
||||
|
||||
# avoids re-definition of struct ethhdr, also 0006-Include-netinet-if_ether.h.patch
|
||||
append-cppflags '-D__UAPI_DEF_ETHHDR=0'
|
||||
|
||||
# src/basic/rlimit-util.c:46:19: error: format ‘%lu’ expects argument of type ‘long unsigned int’,
|
||||
# but argument 9 has type ‘rlim_t’ {aka ‘long long unsigned int’}
|
||||
# not a nice workaround, but it comes from debug messages and we don't really use this component.
|
||||
append-cflags '-Wno-error=format'
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
# https://bugs.gentoo.org/767403
|
||||
python_fix_shebang src/test/*.py
|
||||
python_fix_shebang test/*.py
|
||||
python_fix_shebang tools/*.py
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# disable everything until configure says "enabled features: ACL, tmpfiles, standalone-binaries, static-libsystemd(true)"
|
||||
# and optionally selinux feature can be enabled to make tmpfiles secontext-aware
|
||||
local systemd_disable_options=(
|
||||
adm-group
|
||||
analyze
|
||||
apparmor
|
||||
audit
|
||||
backlight
|
||||
binfmt
|
||||
blkid
|
||||
bzip2
|
||||
coredump
|
||||
dbus
|
||||
efi
|
||||
elfutils
|
||||
environment-d
|
||||
fdisk
|
||||
gcrypt
|
||||
glib
|
||||
gshadow
|
||||
gnutls
|
||||
hibernate
|
||||
hostnamed
|
||||
hwdb
|
||||
idn
|
||||
ima
|
||||
initrd
|
||||
firstboot
|
||||
kernel-install
|
||||
kmod
|
||||
ldconfig
|
||||
libcryptsetup
|
||||
libcurl
|
||||
libfido2
|
||||
libidn
|
||||
libidn2
|
||||
libiptc
|
||||
link-networkd-shared
|
||||
link-systemctl-shared
|
||||
link-timesyncd-shared
|
||||
link-udev-shared
|
||||
localed
|
||||
logind
|
||||
lz4
|
||||
machined
|
||||
microhttpd
|
||||
networkd
|
||||
nscd
|
||||
nss-myhostname
|
||||
nss-resolve
|
||||
nss-systemd
|
||||
oomd
|
||||
openssl
|
||||
p11kit
|
||||
pam
|
||||
pcre2
|
||||
polkit
|
||||
portabled
|
||||
pstore
|
||||
pwquality
|
||||
randomseed
|
||||
resolve
|
||||
rfkill
|
||||
seccomp
|
||||
smack
|
||||
sysext
|
||||
sysusers
|
||||
timedated
|
||||
timesyncd
|
||||
tpm
|
||||
qrencode
|
||||
quotacheck
|
||||
userdb
|
||||
utmp
|
||||
vconsole
|
||||
wheel-group
|
||||
xdg-autostart
|
||||
xkbcommon
|
||||
xz
|
||||
zlib
|
||||
zstd
|
||||
)
|
||||
|
||||
# prepend -D and append =false, e.g. zstd becomes -Dzstd=false
|
||||
systemd_disable_options=( ${systemd_disable_options[@]/#/-D} )
|
||||
systemd_disable_options=( ${systemd_disable_options[@]/%/=false} )
|
||||
|
||||
local emesonargs=(
|
||||
-Dacl=true
|
||||
-Dtmpfiles=true
|
||||
-Dstandalone-binaries=true # this and below option does the magic
|
||||
-Dstatic-libsystemd=true
|
||||
-Dsysvinit-path=''
|
||||
${systemd_disable_options[@]}
|
||||
$(meson_use selinux)
|
||||
)
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# tmpfiles and sysusers can be built as standalone and link systemd-shared in statically.
|
||||
# https://github.com/systemd/systemd/pull/16061 original implementation
|
||||
# we just need to pass -Dstandalone-binaries=true and
|
||||
# use <name>.standalone target below.
|
||||
# check meson.build for if have_standalone_binaries condition per target.
|
||||
local mytargets=(
|
||||
systemd-tmpfiles.standalone
|
||||
man/tmpfiles.d.5
|
||||
man/systemd-tmpfiles.8
|
||||
)
|
||||
meson_src_compile "${mytargets[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# lean and mean installation, single binary and man-pages
|
||||
pushd "${BUILD_DIR}" > /dev/null || die
|
||||
into /
|
||||
newbin systemd-tmpfiles.standalone systemd-tmpfiles
|
||||
|
||||
doman man/{systemd-tmpfiles.8,tmpfiles.d.5}
|
||||
|
||||
popd > /dev/null || die
|
||||
|
||||
# service files adapter from opentmpfiles
|
||||
newinitd "${FILESDIR}"/stmpfiles-dev.initd stmpfiles-dev
|
||||
newinitd "${FILESDIR}"/stmpfiles-setup.initd stmpfiles-setup
|
||||
|
||||
# same content, but install as different file
|
||||
newconfd "${FILESDIR}"/stmpfiles.confd stmpfiles-dev
|
||||
newconfd "${FILESDIR}"/stmpfiles.confd stmpfiles-setup
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# 'meson test' will compile full systemd, but we can still outsmart it
|
||||
"${EPYTHON}" test/test-systemd-tmpfiles.py \
|
||||
"${BUILD_DIR}"/systemd-tmpfiles.standalone || die "${FUNCNAME} failed"
|
||||
}
|
||||
|
||||
# stolen from opentmpfiles ebuild
|
||||
add_service() {
|
||||
local initd=$1
|
||||
local runlevel=$2
|
||||
|
||||
elog "Auto-adding '${initd}' service to your ${runlevel} runlevel"
|
||||
mkdir -p "${EROOT}/etc/runlevels/${runlevel}"
|
||||
ln -snf "${EPREFIX}/etc/init.d/${initd}" "${EROOT}/etc/runlevels/${runlevel}/${initd}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -z $REPLACING_VERSIONS ]]; then
|
||||
add_service stmpfiles-dev sysinit
|
||||
add_service stmpfiles-setup boot
|
||||
fi
|
||||
}
|
Loading…
Reference in New Issue