From 0f15659d48c193027158492acb726297501202c5 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 25 Dec 2021 20:34:27 +0000 Subject: gentoo xmass resync : 25.12.2021 --- sys-fs/udev/Manifest | 7 - sys-fs/udev/files/249-libudev-static.patch | 26 -- sys-fs/udev/files/249-sys-include-posix.patch | 67 ----- .../udev/files/249-udev-linux-headers-5-15.patch | 22 -- sys-fs/udev/udev-249-r3.ebuild | 300 -------------------- sys-fs/udev/udev-249.6.ebuild | 303 --------------------- 6 files changed, 725 deletions(-) delete mode 100644 sys-fs/udev/files/249-libudev-static.patch delete mode 100644 sys-fs/udev/files/249-sys-include-posix.patch delete mode 100644 sys-fs/udev/files/249-udev-linux-headers-5-15.patch delete mode 100644 sys-fs/udev/udev-249-r3.ebuild delete mode 100644 sys-fs/udev/udev-249.6.ebuild (limited to 'sys-fs/udev') diff --git a/sys-fs/udev/Manifest b/sys-fs/udev/Manifest index 0efdabceaa04..6b9fae457bdf 100644 --- a/sys-fs/udev/Manifest +++ b/sys-fs/udev/Manifest @@ -1,13 +1,6 @@ -AUX 249-libudev-static.patch 1454 BLAKE2B 420f9452066ccf951033c1ae1e215284fa9d11f24777c68ecd0178db5c7571ee881451300d409468c1ba3f3b2ad4b35adca5b2761309c84b315bbabd45f6b97f SHA512 4d616b4b02981c4622951a46f23519e03c2d1228453837d31fe060db70afa24722883ca57c08c55cd9fd35c720a5ef2ecb11ab3313867e1b3cfc3682e45e3f45 -AUX 249-sys-include-posix.patch 1831 BLAKE2B eaea99f57a189d77789c9b61ed7962f108f1ed733e3ab8d76fb8dd4849faf8f05338f3addaaad97ba2f8796200de0f5079d3838d995ba2519b7d4ea2a568d0d5 SHA512 3d98055f2beb22fe5607125585929fc531b790f489779dcd162541b5461a9da15d76e7a713f6476a3278073e6fd2488bc0af19eca952f6534d90aadb81ef644f -AUX 249-udev-linux-headers-5-15.patch 828 BLAKE2B 767e5b7ad7320e5fb5e75939bcb4c65ea99d914a9446725da1f1019d088c1830f2760c07d9c16fdd301b92761494b296ee70ac16ee43db4bd4a3307b2f1302bb SHA512 ed88ed1dcd3e18cfc5d19244eeb681bb9091098163f0c93d523f9d180648eace1c05b328285e9980be861655515f89b068d6fe0d05aa09639e1b71bd1db143af AUX 40-gentoo.rules 167 BLAKE2B 07116c6e5aab7de9fa8a88c6cdd9ad76a09d797d6f7bc3d0535c93ccf83486bbdae8f68d682714576b072a174df070505cce9c6f4b729e91a6f61ed89da72e8e SHA512 92e2be610839432f46cefab4d128825199dc9f2c5ef33119f9ff84dfe635ef56a4f7aaed64ba52ea2798868b00c3a1b7955caa33219aa298c6a2b8290181f94b -DIST systemd-249.tar.gz 10588828 BLAKE2B f7896dea0bdec25125188b94ee84270b972649b1eb16599bed1967ced79f62dbfd1494e22362934f418823c054b342fb24dc57706b49520814beb95b6956bf27 SHA512 0810d09cc32e4aaa4425ee5b7ddf129262b061ce159cbd43571fabda48285243d8f80b566379ece9215d531b9407ee45e1e72c71935644fea31c7bca1bbf540c -DIST systemd-musl-patches-249.1-r1.tar.xz 24536 BLAKE2B 25135519112b2a1c638046addb6971ea1997fc7dd8626de90d162a4beb6383b5724df78a14c73be1283df58632fb4a0fcb32f90f50f1886f31a1aded15e9567c SHA512 4655f2a06e1b3310cb27b839360353dfbfdbdaa86f4392aeebf63f63efd441d1953f7ac108be7fed7ea721596d191988ed999e34443e47922afca92db779175a DIST systemd-musl-patches-249.5-r1.tar.xz 25148 BLAKE2B 6717291b5335997dcc327764beffc4ded50a5ac0e777bb3c540b5e355bee419c3d9b4a5605c239392d4c1b0e70792bc87282fa15dc9c09a0465b5608f2909006 SHA512 4bb7566437c280e75402fc435a3437aedad127f7b94c9bd54b94e9e1e7507409ad0898681f23e813b9b47414f58e4ca413b6d4e520bbbf578faec09054bf7f9b DIST systemd-stable-249.6.tar.gz 10599611 BLAKE2B 9c0cbaa4319f2ce9a78dbe820d1b6df5191e6c632e2eac9f71f9ff9817564d9b3fc177d2aec0c0daea8ac33bbdc2066ad68a8967cf8857f4af3668b9a3e7d3bf SHA512 7a7791dfe4923c00987b924adcb1cd08c4d17af2b17b4c6c6c701856c6810cfda61f06821c39787339fc05293853c0ea61b9973fcf4495c7bf4f8054ecfae66f -EBUILD udev-249-r3.ebuild 7609 BLAKE2B bdae4a297aa37813ff99a4821822719d51458d12cb8ab246ff89149dd358d36c9df30edafe6dfe51779cc3c4ed21f9e32230677ecad49d3e2917e837c1b523da SHA512 aa1d2a58c28a30ee488a3f9424946240dc08d2e47524250b023326e4bb7ec73630ddcd8ebd01c53280c5bee78ae4e1cb67868b339483625647a0a19aa8413d14 EBUILD udev-249.6-r2.ebuild 7917 BLAKE2B 8b48f9aa00ca2eddd0aa921d4adda3e8e506d0a895753ca9e6c64037f3cefb7b0a65c62e370a9064e3f2668524e21ac89bec18907b7e575cdab16791ca997726 SHA512 238b0daa2283b89b0b6c970e53c677073b851c1672fea1734393cd00e7a30af6ac0084583f41af733cf848101a3c091b1d0cfaff375d9a4910896177100fab0f -EBUILD udev-249.6.ebuild 7771 BLAKE2B 0f5657c096483c9ddab5f749c2b250c64c4a7e7cb5df7e5dd8f45dbf76ccf181871a2ccff06ed807d5cd56fa581233ae7486ae78b095b6fb17dbc8051e1e7450 SHA512 c0ae5006e6bef8a035884e067f9d277761dac0883fe93842ddd999ccd24c0c90f4984ab99e5120e06e1121a75b1346b218e13318992db3fab73106dac044e616 EBUILD udev-9999.ebuild 7921 BLAKE2B 6005fae7b9012a23f0a6c398d0381f725bf9afdb7469397ba887b37b290f3686c0f6dd5f9925b221d3d3fc333efd37fe5fa7d069c0635c1eb630ce78903b9ccc SHA512 8d55530628495ff6566575d0942380db6512cf307d74141c3af8a1738b30d8f34a20fc1d56161779a5654045929984d76b233aa499ac5e583ef93bc5c69ccdfc MISC metadata.xml 475 BLAKE2B 51db3fcfdcb7942e2bfa6e3e9fac08f9a0de6018e08a04da65920d1c1e83af6620ef73dfff201f1feff31580a0a6341814a8182e43b2c07f9da7577252010ad1 SHA512 65c1345e9c0707248f12bbf436f9b0ccb6160eb86d6c22f3e62b34791879621df59eb195e4c4c95b5cf9440b052bdc7c2b5847789a44cc9fb13b6cd4867f580e diff --git a/sys-fs/udev/files/249-libudev-static.patch b/sys-fs/udev/files/249-libudev-static.patch deleted file mode 100644 index 73375b716e9b..000000000000 --- a/sys-fs/udev/files/249-libudev-static.patch +++ /dev/null @@ -1,26 +0,0 @@ -From f2c57d4f3805775e0ffdc80ce578eaa737017d31 Mon Sep 17 00:00:00 2001 -From: Mike Gilbert -Date: Fri, 9 Jul 2021 13:05:23 -0400 -Subject: [PATCH] libudev: add "Libs.private: -lrt -pthread" to libudev.pc - -This resolves a failure when linking cryptsetup.static against libudev.a. - -``` -libtool: link: x86_64-pc-linux-gnu-gcc -Wall -O2 -pipe -march=amdfam10 -static -O2 -o cryptsetup.static lib/utils_crypt.o lib/utils_loop.o lib/utils_io.o lib/utils_blkid.o src/utils_tools.o src/utils_password.o src/utils_luks2.o src/utils_blockdev.o src/cryptsetup.o -pthread -pthread -Wl,--as-needed ./.libs/libcryptsetup.a -largon2 -lrt -ljson-c -lpopt -luuid -lblkid -lssl -lcrypto -lz -ldl -ldevmapper -lm -lpthread -ludev -pthread -/usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../lib64/libudev.a(src_libsystemd_sd-daemon_sd-daemon.c.o): in function `sd_is_mq': -(.text.sd_is_mq+0x3a): undefined reference to `mq_getattr' -``` ---- - src/libudev/libudev.pc.in | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/libudev/libudev.pc.in b/src/libudev/libudev.pc.in -index 89028aaa6bf2..1d6487fa4084 100644 ---- a/src/libudev/libudev.pc.in -+++ b/src/libudev/libudev.pc.in -@@ -16,4 +16,5 @@ Name: libudev - Description: Library to access udev device information - Version: {{PROJECT_VERSION}} - Libs: -L${libdir} -ludev -+Libs.private: -lrt -pthread - Cflags: -I${includedir} diff --git a/sys-fs/udev/files/249-sys-include-posix.patch b/sys-fs/udev/files/249-sys-include-posix.patch deleted file mode 100644 index 6d9e0039b9c9..000000000000 --- a/sys-fs/udev/files/249-sys-include-posix.patch +++ /dev/null @@ -1,67 +0,0 @@ -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 -Date: Mon, 2 Aug 2021 12:41:38 +0200 -Subject: [PATCH] Use correct `` include - -* `` 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 -+#include - #include - #include - #include - #include --#include - #include - - #include "macro.h" -From 2b6c0bb2a341c95223ce672249e43c743b03d78c Mon Sep 17 00:00:00 2001 -From: David Seifert -Date: Mon, 2 Aug 2021 16:09:10 +0200 -Subject: [PATCH] Use correct `` include - -* `` 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 -+#include - - #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 --#include -+#include - - #include "alloc-util.h" - #include "errno-util.h" diff --git a/sys-fs/udev/files/249-udev-linux-headers-5-15.patch b/sys-fs/udev/files/249-udev-linux-headers-5-15.patch deleted file mode 100644 index 844099b72819..000000000000 --- a/sys-fs/udev/files/249-udev-linux-headers-5-15.patch +++ /dev/null @@ -1,22 +0,0 @@ -https://github.com/systemd/systemd-stable/pull/132/commits/92bbfcdc733d39ec4097d8678bc92a7aaaf78ae1.patch -https://bugs.gentoo.org/821550 - -From: Chris Packham -Date: Fri, 10 Sep 2021 09:51:36 +1200 -Subject: [PATCH 1/2] basic/linux: Sync if_arp.h with Linux 5.14 - -ARPHRD_MCTP was added in 5.14. Sync if_arp.h to pick up the definition - -Fixes #20694 - -(cherry picked from commit 7c5b9952c4f6e2b72f90edbe439982528b7cf223) ---- a/src/basic/linux/if_arp.h -+++ b/src/basic/linux/if_arp.h -@@ -54,6 +54,7 @@ - #define ARPHRD_X25 271 /* CCITT X.25 */ - #define ARPHRD_HWX25 272 /* Boards with X.25 in firmware */ - #define ARPHRD_CAN 280 /* Controller Area Network */ -+#define ARPHRD_MCTP 290 - #define ARPHRD_PPP 512 - #define ARPHRD_CISCO 513 /* Cisco HDLC */ - #define ARPHRD_HDLC ARPHRD_CISCO diff --git a/sys-fs/udev/udev-249-r3.ebuild b/sys-fs/udev/udev-249-r3.ebuild deleted file mode 100644 index 84fa631f0f66..000000000000 --- a/sys-fs/udev/udev-249-r3.ebuild +++ /dev/null @@ -1,300 +0,0 @@ -# Copyright 2003-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python3_{8..10} ) - -inherit bash-completion-r1 flag-o-matic linux-info meson-multilib ninja-utils python-any-r1 toolchain-funcs udev usr-ldscript - -if [[ ${PV} = 9999* ]] ; then - EGIT_REPO_URI="https://github.com/systemd/systemd.git" - inherit git-r3 -else - if [[ ${PV} == *.* ]] ; then - MY_PN=systemd-stable - else - MY_PN=systemd - fi - - MY_PV="${PV/_/-}" - MY_P="${MY_PN}-${MY_PV}" - S="${WORKDIR}/${MY_P}" - SRC_URI="https://github.com/systemd/${MY_PN}/archive/v${MY_PV}/${MY_P}.tar.gz" - - # musl patches taken from: - # http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-core/systemd/systemd - SRC_URI+=" - elibc_musl? ( - https://dev.gentoo.org/~gyakovlev/distfiles/systemd-musl-patches-${PV}.1-r1.tar.xz - https://dev.gentoo.org/~soap/distfiles/systemd-musl-patches-${PV}.1-r1.tar.xz - )" - - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86" -fi - -DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)" -HOMEPAGE="https://www.freedesktop.org/wiki/Software/systemd" - -LICENSE="LGPL-2.1 MIT GPL-2" -SLOT="0" -IUSE="acl +kmod selinux test" -RESTRICT="!test? ( test )" - -BDEPEND=" - dev-util/gperf - sys-devel/gettext - >=sys-apps/coreutils-8.16 - virtual/pkgconfig - app-text/docbook-xml-dtd:4.2 - app-text/docbook-xml-dtd:4.5 - app-text/docbook-xsl-stylesheets - dev-libs/libxslt - ${PYTHON_DEPS} - $(python_gen_any_dep 'dev-python/jinja[${PYTHON_USEDEP}]') - test? ( - app-text/tree - dev-lang/perl - ) -" -COMMON_DEPEND=" - >=sys-apps/util-linux-2.30[${MULTILIB_USEDEP}] - sys-libs/libcap:0=[${MULTILIB_USEDEP}] - virtual/libcrypt:=[${MULTILIB_USEDEP}] - acl? ( sys-apps/acl ) - kmod? ( >=sys-apps/kmod-15 ) - selinux? ( >=sys-libs/libselinux-2.1.9 ) -" -DEPEND="${COMMON_DEPEND} - >=sys-kernel/linux-headers-3.9 -" -RDEPEND="${COMMON_DEPEND} - acct-group/kmem - acct-group/tty - acct-group/audio - acct-group/cdrom - acct-group/dialout - acct-group/disk - acct-group/input - acct-group/kvm - acct-group/lp - acct-group/render - acct-group/tape - acct-group/video - !sys-apps/gentoo-systemd-integration - !sys-apps/systemd -" -PDEPEND=">=sys-apps/hwids-20140304[udev] - >=sys-fs/udev-init-scripts-34" - -python_check_deps() { - has_version -b "dev-python/jinja[${PYTHON_USEDEP}]" -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != buildonly ]] ; then - CONFIG_CHECK="~BLK_DEV_BSG ~DEVTMPFS ~!IDE ~INOTIFY_USER ~!SYSFS_DEPRECATED ~!SYSFS_DEPRECATED_V2 ~SIGNALFD ~EPOLL ~FHANDLE ~NET ~!FW_LOADER_USER_HELPER ~UNIX" - linux-info_pkg_setup - - # CONFIG_FHANDLE was introduced by 2.6.39 - local MINKV=2.6.39 - - if kernel_is -lt ${MINKV//./ } ; then - eerror "Your running kernel is too old to run this version of ${P}" - eerror "You need to upgrade kernel at least to ${MINKV}" - fi - - if kernel_is -lt 3 7 ; then - ewarn "Your running kernel is too old to have firmware loader and" - ewarn "this version of ${P} doesn't have userspace firmware loader" - ewarn "If you need firmware support, you need to upgrade kernel at least to 3.7" - fi - fi -} - -src_prepare() { - local PATCHES=( - # backport from 250 to silence musl warnings - "${FILESDIR}/249-sys-include-posix.patch" - "${FILESDIR}/249-libudev-static.patch" - "${FILESDIR}/249-udev-linux-headers-5-15.patch" - ) - use elibc_musl && PATCHES+=( "${WORKDIR}"/musl-patches ) - - default -} - -multilib_src_configure() { - local emesonargs=( - $(meson_native_use_bool acl) - -Defi=false - $(meson_native_use_bool kmod) - $(meson_native_use_bool selinux) - -Dlink-udev-shared=false - -Dsplit-usr=true - -Drootlibdir="${EPREFIX}/usr/$(get_libdir)" - - # Prevent automagic deps - -Dgcrypt=false - -Dlibcryptsetup=false - -Didn=false - -Dlibidn=false - -Dlibidn2=false - -Dlibiptc=false - -Dp11kit=false - -Dseccomp=false - -Dlz4=false - -Dxz=false - ) - use elibc_musl && emesonargs+=( - -Dgshadow=false - -Dsmack=false - -Dutmp=false - ) - - meson_src_configure -} - -src_configure() { - # Prevent conflicts with i686 cross toolchain, bug 559726 - tc-export AR CC NM OBJCOPY RANLIB - python_setup - - use elibc_musl && append-cppflags -D__UAPI_DEF_ETHHDR=0 - - multilib-minimal_src_configure -} - -multilib_src_compile() { - # meson creates this link - local libudev=$(readlink libudev.so.1) - - local targets=( - ${libudev} - src/libudev/libudev.pc - ) - if multilib_is_native_abi; then - targets+=( - udevadm - src/udev/ata_id - src/udev/cdrom_id - src/udev/fido_id - src/udev/mtd_probe - src/udev/scsi_id - src/udev/udev.pc - src/udev/v4l_id - man/udev.conf.5 - man/systemd.link.5 - man/hwdb.7 - man/udev.7 - man/systemd-udevd.service.8 - man/udevadm.8 - rules.d/50-udev-default.rules - rules.d/64-btrfs.rules - ) - fi - eninja "${targets[@]}" -} - -src_test() { - # The testsuite is *very* finicky. Don't try running it in - # containers or anything but a full VM or on bare metal. - # udev calls 'mknod' a number of times, and this interacts - # badly with kernel namespaces. - - if [[ ! -w /dev ]]; then - ewarn "udev tests needs full access to /dev" - ewarn "Skipping tests" - else - meson-multilib_src_test - fi -} - -multilib_src_test() { - # two binaries required by udev-test.pl - eninja systemd-detect-virt test-udev - local -x PATH="${PWD}:${PATH}" - - # prepare ${BUILD_DIR}/test/sys, required by udev-test.pl - "${EPYTHON}" "${S}"/test/sys-script.py test || die - - # the perl script contains all the udev tests - "${S}"/test/udev-test.pl || die -} - -multilib_src_install() { - local libudev=$(readlink libudev.so.1) - - dolib.so {${libudev},libudev.so.1,libudev.so} - gen_usr_ldscript -a udev - - insinto "/usr/$(get_libdir)/pkgconfig" - doins src/libudev/libudev.pc - - if multilib_is_native_abi ; then - into / - dobin udevadm - - dosym ../../bin/udevadm /lib/systemd/systemd-udevd - - exeinto /lib/udev - doexe src/udev/{ata_id,cdrom_id,fido_id,mtd_probe,scsi_id,v4l_id} - - # Install generated rules (${BUILD_DIR}/rules.d/*.rules) - insinto /lib/udev/rules.d - doins rules.d/*.rules - - insinto /usr/share/pkgconfig - doins src/udev/udev.pc - - mv man/systemd-udevd.service.8 man/systemd-udevd.8 || die - rm man/systemd-udevd-{control,kernel}.socket.8 || die - doman man/*.[0-9] - fi -} - -multilib_src_install_all() { - doheader src/libudev/libudev.h - - insinto /etc/udev - doins src/udev/udev.conf - keepdir /etc/udev/{hwdb.d,rules.d} - - insinto /lib/systemd/network - doins network/99-default.link - - # Install static rules (${S}/rules.d/*.rules) - insinto /lib/udev/rules.d - doins rules.d/*.rules - doins "${FILESDIR}"/40-gentoo.rules - - dobashcomp shell-completion/bash/udevadm - - insinto /usr/share/zsh/site-functions - doins shell-completion/zsh/_udevadm - - einstalldocs -} - -pkg_preinst() { - has_version 'sys-fs/eudev' && HAD_EUDEV=1 -} - -pkg_postinst() { - # Update hwdb database in case the format is changed by udev version. - if has_version 'sys-apps/hwids[udev]' ; then - udevadm hwdb --update --root="${ROOT}" - # Only reload when we are not upgrading to avoid potential race w/ incompatible hwdb.bin and the running udevd - # https://cgit.freedesktop.org/systemd/systemd/commit/?id=1fab57c209035f7e66198343074e9cee06718bda - [[ -z ${REPLACING_VERSIONS} ]] && udev_reload - fi - - if [[ ${HAD_EUDEV} -eq 1 ]] ; then - ewarn - ewarn "${P} defaults to predictable interface renaming, as described in the URL below:" - ewarn "https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames" - ewarn - ewarn "If you wish to disable this, please see the above documentation, or set" - ewarn "net.ifnames=0 on the kernel command line." - ewarn "See also: https://wiki.gentoo.org/wiki/Udev#Optional:_Disable_or_override_predictable_network_interface_naming" - fi -} diff --git a/sys-fs/udev/udev-249.6.ebuild b/sys-fs/udev/udev-249.6.ebuild deleted file mode 100644 index 513cbfac6257..000000000000 --- a/sys-fs/udev/udev-249.6.ebuild +++ /dev/null @@ -1,303 +0,0 @@ -# Copyright 2003-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python3_{8..10} ) - -inherit bash-completion-r1 flag-o-matic linux-info meson-multilib ninja-utils python-any-r1 toolchain-funcs udev usr-ldscript - -if [[ ${PV} = 9999* ]] ; then - EGIT_REPO_URI="https://github.com/systemd/systemd.git" - inherit git-r3 -else - if [[ ${PV} == *.* ]] ; then - MY_PN=systemd-stable - else - MY_PN=systemd - fi - - MY_PV="${PV/_/-}" - MY_P="${MY_PN}-${MY_PV}" - S="${WORKDIR}/${MY_P}" - SRC_URI="https://github.com/systemd/${MY_PN}/archive/v${MY_PV}/${MY_P}.tar.gz" - - # musl patches taken from: - # http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-core/systemd/systemd - MUSL_PATCHSET="249.5-r1" - SRC_URI+=" - 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 - )" - - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" -fi - -DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)" -HOMEPAGE="https://www.freedesktop.org/wiki/Software/systemd" - -LICENSE="LGPL-2.1 MIT GPL-2" -SLOT="0" -IUSE="acl +kmod selinux test" -RESTRICT="!test? ( test )" - -BDEPEND=" - dev-util/gperf - sys-devel/gettext - >=sys-apps/coreutils-8.16 - virtual/pkgconfig - app-text/docbook-xml-dtd:4.2 - app-text/docbook-xml-dtd:4.5 - app-text/docbook-xsl-stylesheets - dev-libs/libxslt - ${PYTHON_DEPS} - $(python_gen_any_dep 'dev-python/jinja[${PYTHON_USEDEP}]') - test? ( - app-text/tree - dev-lang/perl - ) -" -COMMON_DEPEND=" - >=sys-apps/util-linux-2.30[${MULTILIB_USEDEP}] - sys-libs/libcap:0=[${MULTILIB_USEDEP}] - virtual/libcrypt:=[${MULTILIB_USEDEP}] - acl? ( sys-apps/acl ) - kmod? ( >=sys-apps/kmod-15 ) - selinux? ( >=sys-libs/libselinux-2.1.9 ) -" -DEPEND="${COMMON_DEPEND} - >=sys-kernel/linux-headers-3.9 -" -RDEPEND="${COMMON_DEPEND} - acct-group/kmem - acct-group/tty - acct-group/audio - acct-group/cdrom - acct-group/dialout - acct-group/disk - acct-group/input - acct-group/kvm - acct-group/lp - acct-group/render - acct-group/tape - acct-group/video - !sys-apps/gentoo-systemd-integration - !sys-apps/systemd -" -PDEPEND=">=sys-apps/hwids-20140304[udev] - >=sys-fs/udev-init-scripts-34" - -python_check_deps() { - has_version -b "dev-python/jinja[${PYTHON_USEDEP}]" -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != buildonly ]] ; then - CONFIG_CHECK="~BLK_DEV_BSG ~DEVTMPFS ~!IDE ~INOTIFY_USER ~!SYSFS_DEPRECATED ~!SYSFS_DEPRECATED_V2 ~SIGNALFD ~EPOLL ~FHANDLE ~NET ~!FW_LOADER_USER_HELPER ~UNIX" - linux-info_pkg_setup - - # CONFIG_FHANDLE was introduced by 2.6.39 - local MINKV=2.6.39 - - if kernel_is -lt ${MINKV//./ } ; then - eerror "Your running kernel is too old to run this version of ${P}" - eerror "You need to upgrade kernel at least to ${MINKV}" - fi - - if kernel_is -lt 3 7 ; then - ewarn "Your running kernel is too old to have firmware loader and" - ewarn "this version of ${P} doesn't have userspace firmware loader" - ewarn "If you need firmware support, you need to upgrade kernel at least to 3.7" - fi - fi -} - -src_prepare() { - local PATCHES=( - ) - use elibc_musl && PATCHES+=( "${WORKDIR}"/musl-patches ) - - default -} - -multilib_src_configure() { - local emesonargs=( - $(meson_native_use_bool acl) - -Defi=false - $(meson_native_use_bool kmod) - $(meson_native_use_bool selinux) - -Dlink-udev-shared=false - -Dsplit-usr=true - -Drootlibdir="${EPREFIX}/usr/$(get_libdir)" - - # Prevent automagic deps - -Dgcrypt=false - -Dlibcryptsetup=false - -Didn=false - -Dlibidn=false - -Dlibidn2=false - -Dlibiptc=false - -Dp11kit=false - -Dseccomp=false - -Dlz4=false - -Dxz=false - ) - use elibc_musl && emesonargs+=( - -Dgshadow=false - -Dsmack=false - -Dutmp=false - ) - - meson_src_configure -} - -src_configure() { - # Prevent conflicts with i686 cross toolchain, bug 559726 - tc-export AR CC NM OBJCOPY RANLIB - python_setup - - use elibc_musl && append-cppflags -D__UAPI_DEF_ETHHDR=0 - - multilib-minimal_src_configure -} - -multilib_src_compile() { - # meson creates this link - local libudev=$(readlink libudev.so.1) - - local targets=( - ${libudev} - src/libudev/libudev.pc - ) - if multilib_is_native_abi; then - targets+=( - udevadm - src/udev/ata_id - src/udev/cdrom_id - src/udev/fido_id - src/udev/mtd_probe - src/udev/scsi_id - src/udev/udev.pc - src/udev/v4l_id - man/udev.conf.5 - man/systemd.link.5 - man/hwdb.7 - man/udev.7 - man/systemd-udevd.service.8 - man/udevadm.8 - rules.d/50-udev-default.rules - rules.d/64-btrfs.rules - ) - fi - eninja "${targets[@]}" -} - -src_test() { - # The testsuite is *very* finicky. Don't try running it in - # containers or anything but a full VM or on bare metal. - # udev calls 'mknod' a number of times, and this interacts - # badly with kernel namespaces. - - if [[ ! -w /dev ]]; then - ewarn "udev tests needs full access to /dev" - ewarn "Skipping tests" - else - meson-multilib_src_test - fi -} - -multilib_src_test() { - # two binaries required by udev-test.pl - eninja systemd-detect-virt test-udev - local -x PATH="${PWD}:${PATH}" - - # prepare ${BUILD_DIR}/test/sys, required by udev-test.pl - "${EPYTHON}" "${S}"/test/sys-script.py test || die - - # the perl script contains all the udev tests - "${S}"/test/udev-test.pl || die -} - -multilib_src_install() { - local libudev=$(readlink libudev.so.1) - - dolib.so {${libudev},libudev.so.1,libudev.so} - gen_usr_ldscript -a udev - - insinto "/usr/$(get_libdir)/pkgconfig" - doins src/libudev/libudev.pc - - if multilib_is_native_abi ; then - into / - dobin udevadm - - dosym ../../bin/udevadm /lib/systemd/systemd-udevd - - exeinto /lib/udev - doexe src/udev/{ata_id,cdrom_id,fido_id,mtd_probe,scsi_id,v4l_id} - - # Install generated rules (${BUILD_DIR}/rules.d/*.rules) - insinto /lib/udev/rules.d - doins rules.d/*.rules - - insinto /usr/share/pkgconfig - doins src/udev/udev.pc - - mv man/systemd-udevd.service.8 man/systemd-udevd.8 || die - rm man/systemd-udevd-{control,kernel}.socket.8 || die - doman man/*.[0-9] - fi -} - -multilib_src_install_all() { - doheader src/libudev/libudev.h - - insinto /etc/udev - doins src/udev/udev.conf - keepdir /etc/udev/{hwdb.d,rules.d} - - insinto /lib/systemd/network - doins network/99-default.link - - # Install static rules (${S}/rules.d/*.rules) - insinto /lib/udev/rules.d - doins rules.d/*.rules - doins "${FILESDIR}"/40-gentoo.rules - - dobashcomp shell-completion/bash/udevadm - - insinto /usr/share/zsh/site-functions - doins shell-completion/zsh/_udevadm - - einstalldocs -} - -pkg_preinst() { - has_version 'sys-fs/eudev' && HAD_EUDEV=1 -} - -pkg_postinst() { - # Update hwdb database in case the format is changed by udev version. - if has_version 'sys-apps/hwids[udev]' ; then - udevadm hwdb --update --root="${ROOT}" - # Only reload when we are not upgrading to avoid potential race w/ incompatible hwdb.bin and the running udevd - # https://cgit.freedesktop.org/systemd/systemd/commit/?id=1fab57c209035f7e66198343074e9cee06718bda - [[ -z ${REPLACING_VERSIONS} ]] && udev_reload - fi - - if [[ ${HAD_EUDEV} -eq 1 ]] ; then - ewarn - ewarn "${P} defaults to predictable interface renaming, as described in the URL below:" - ewarn "https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames" - ewarn - ewarn "If you wish to disable this, please see the above documentation, or set" - ewarn "net.ifnames=0 on the kernel command line." - ewarn "See also: https://wiki.gentoo.org/wiki/Udev#Optional:_Disable_or_override_predictable_network_interface_naming" - if [[ -e ${EROOT}/etc/udev/rules.d/80-net-name-slot.rules ]]; then - ewarn - ewarn "Detected '${EROOT}/etc/udev/rules.d/80-net-name-slot.rules'" - ewarn "Renaming to '${EROOT}/etc/udev/rules.d/80-net-setup-link.rules'" - mv "${EROOT}"/etc/udev/rules.d/80-net-{name-slot,setup-link}.rules - fi - fi -} -- cgit v1.2.3