summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gilbert <floppym@gentoo.org>2021-12-24 14:59:34 -0500
committerMike Gilbert <floppym@gentoo.org>2021-12-24 19:02:14 -0500
commit14ca519cc16eee5cb7b7c0eda524ac8d98fa36c3 (patch)
tree4c814588991c1f1e784952f0c5a3c0e7bc6b6767 /sys-fs/udev
parentsys-fs/eudev: drop 3.2.10-r1 (diff)
downloadgentoo-14ca519cc16eee5cb7b7c0eda524ac8d98fa36c3.tar.gz
gentoo-14ca519cc16eee5cb7b7c0eda524ac8d98fa36c3.tar.bz2
gentoo-14ca519cc16eee5cb7b7c0eda524ac8d98fa36c3.zip
sys-fs/udev: drop 249-r3, 249.6
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
Diffstat (limited to 'sys-fs/udev')
-rw-r--r--sys-fs/udev/Manifest2
-rw-r--r--sys-fs/udev/files/249-libudev-static.patch26
-rw-r--r--sys-fs/udev/files/249-sys-include-posix.patch67
-rw-r--r--sys-fs/udev/files/249-udev-linux-headers-5-15.patch22
-rw-r--r--sys-fs/udev/udev-249-r3.ebuild300
-rw-r--r--sys-fs/udev/udev-249.6.ebuild303
6 files changed, 0 insertions, 720 deletions
diff --git a/sys-fs/udev/Manifest b/sys-fs/udev/Manifest
index c58cfe1e2b1a..8ce148c0811d 100644
--- a/sys-fs/udev/Manifest
+++ b/sys-fs/udev/Manifest
@@ -1,4 +1,2 @@
-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
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 <floppym@gentoo.org>
-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 <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"
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 <chris.packham@alliedtelesis.co.nz>
-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
-}