summaryrefslogtreecommitdiff
path: root/sys-fs/udev
diff options
context:
space:
mode:
Diffstat (limited to 'sys-fs/udev')
-rw-r--r--sys-fs/udev/Manifest6
-rw-r--r--sys-fs/udev/metadata.xml2
-rw-r--r--sys-fs/udev/udev-249-r2.ebuild25
-rw-r--r--sys-fs/udev/udev-9999.ebuild75
4 files changed, 94 insertions, 14 deletions
diff --git a/sys-fs/udev/Manifest b/sys-fs/udev/Manifest
index c6a796dd507e..9a97d6302ee8 100644
--- a/sys-fs/udev/Manifest
+++ b/sys-fs/udev/Manifest
@@ -5,6 +5,6 @@ DIST systemd-248.tar.gz 10306883 BLAKE2B 3cb25d6101136a5f57e841d3f464f0d7649f6c1
DIST systemd-249.tar.gz 10588828 BLAKE2B f7896dea0bdec25125188b94ee84270b972649b1eb16599bed1967ced79f62dbfd1494e22362934f418823c054b342fb24dc57706b49520814beb95b6956bf27 SHA512 0810d09cc32e4aaa4425ee5b7ddf129262b061ce159cbd43571fabda48285243d8f80b566379ece9215d531b9407ee45e1e72c71935644fea31c7bca1bbf540c
DIST systemd-musl-patches-249.1-r1.tar.xz 24536 BLAKE2B 25135519112b2a1c638046addb6971ea1997fc7dd8626de90d162a4beb6383b5724df78a14c73be1283df58632fb4a0fcb32f90f50f1886f31a1aded15e9567c SHA512 4655f2a06e1b3310cb27b839360353dfbfdbdaa86f4392aeebf63f63efd441d1953f7ac108be7fed7ea721596d191988ed999e34443e47922afca92db779175a
EBUILD udev-248-r1.ebuild 5468 BLAKE2B 65d07077600d16deb4970920dd728698f3d4b8c58f457e8df7167a2fe3c31ae4b8ad2a45b4d3fac4480c1a3a90e4376c22996d94909463df018543af09333fef SHA512 f73fefbcca00081271756322c19fe959cf2548a4e4a27af88e5b6eece368e0760b98465659106c884f8c16cba3f7a337e7b8c22c82ff575eebd7a6c38f5e0ab9
-EBUILD udev-249-r2.ebuild 7289 BLAKE2B 2a67bb851bbf65c6b99dd5fed6d7926e6ae83e0ff0574cb2919afb1c0bc8dee874d52aa0719235fc6ce0ee63ffb1b3e507d51696e62d7a6d8a1b35be27148ad9 SHA512 1e8bd32d7590bfcf90e9aaf1758776e906477f747848d7d99c6aa28797fcfb3ae60d9fc9e238c46d1713f1b2fe76cfbbb550b175e3be8c010e29cc18e25d0e4c
-EBUILD udev-9999.ebuild 5728 BLAKE2B f46125da6569e41064abe7a6e2e0bbdd53d112bf1a6f1894e9682952c68df60cf2b81ea262c21d52e7abd45f0a6ee95af157d15dcc621ab03d902a00b0d5c452 SHA512 46c5ec30be014a9d2b27fba94af74c500e506f6b4a813f8195b622ce702711a70e7c0706be5f1607ccc61f94e2bd2e4776c4277d035982a8352cb07cf889fa33
-MISC metadata.xml 476 BLAKE2B 5d293590663fda69b35a5f434b64827de86ac14831536e873c38d1e3baa8575cc02cc45525726046103b73212c02852dce6c407fe7c02705370e4b6402771686 SHA512 552311593b07f4f3d41e406fe99606d79973d9c69e5e448ffcdf3f6d1e04ea6b59c97b022ad2fe7fedbf0c627e2b45efc293dc1065e7cec035c2e48c85c3495d
+EBUILD udev-249-r2.ebuild 7730 BLAKE2B 776a63a9c184e413d71422f27b1bdab1856221ea59801255c8303c4d07644b407e0f6611b0d6f9d72a02b34e52e26cb8865357ce7060cd21d6cc08c90c0f8d85 SHA512 9dc50b184985557b7b60140e1136e92ceda925a3d176b928774ac0d4fc0982e322115043e5193c38042f195a35314a2b13eb826f76c3b769097342f14372239d
+EBUILD udev-9999.ebuild 7598 BLAKE2B 9834e65467ec49c9bfcfe5dbaf838073d584b817fdfeaecbd43ac619c0f943e494449795cd24a3b42628b1053ff56cf00ef0b3dec32c6677a47e494f8231381c SHA512 a26c3721038570ae64b97519cbb68864ed0a83902c57262375cc341e25d6e4d18a8216515149667e3d9626e57ddf6584fe8053909b58c0d8ffdf25be79d4f1a6
+MISC metadata.xml 474 BLAKE2B b657acb428f66f11e028db59d50ff5c52c8f14d092c6f2a66307fca668e300823a9727ab33d02f3337953988b600dbc257019fd333a8c34ff3d5039fea6b0ee3 SHA512 b8610952420e4cc28a58402da8ef9e1c0a9c409eff47c92253ad745f2a2121eaf68380cd3122113b792332e23aa9f7bcae4ccebb1ad6ffb26a38d266cb47b060
diff --git a/sys-fs/udev/metadata.xml b/sys-fs/udev/metadata.xml
index 39f61746d0df..c186a0d55b5e 100644
--- a/sys-fs/udev/metadata.xml
+++ b/sys-fs/udev/metadata.xml
@@ -2,7 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
- <email>udev-bugs@gentoo.org</email>
+ <email>systemd@gentoo.org</email>
</maintainer>
<use>
<flag name="kmod">Enable kernel module loading/unloading support using <pkg>sys-apps/kmod</pkg></flag>
diff --git a/sys-fs/udev/udev-249-r2.ebuild b/sys-fs/udev/udev-249-r2.ebuild
index e6d857dcefb5..a77771e66f71 100644
--- a/sys-fs/udev/udev-249-r2.ebuild
+++ b/sys-fs/udev/udev-249-r2.ebuild
@@ -15,21 +15,23 @@ else
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"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
-fi
-# musl patches taken from:
-# http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-core/systemd/systemd
-SRC_URI+="
+ # 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"
@@ -279,6 +281,10 @@ multilib_src_install_all() {
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
@@ -287,4 +293,13 @@ pkg_postinst() {
# 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."
+ fi
}
diff --git a/sys-fs/udev/udev-9999.ebuild b/sys-fs/udev/udev-9999.ebuild
index 8cc1075e8be7..270009d07a3c 100644
--- a/sys-fs/udev/udev-9999.ebuild
+++ b/sys-fs/udev/udev-9999.ebuild
@@ -2,9 +2,9 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_COMPAT=( python3_{8..9} )
-inherit bash-completion-r1 linux-info meson-multilib ninja-utils python-any-r1 toolchain-funcs udev usr-ldscript
+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"
@@ -15,10 +15,20 @@ else
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
@@ -27,9 +37,8 @@ HOMEPAGE="https://www.freedesktop.org/wiki/Software/systemd"
LICENSE="LGPL-2.1 MIT GPL-2"
SLOT="0"
-IUSE="acl +kmod selinux static-libs"
-
-RESTRICT="test"
+IUSE="acl +kmod selinux static-libs test"
+RESTRICT="!test? ( test )"
BDEPEND="
dev-util/gperf
@@ -42,6 +51,10 @@ BDEPEND="
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}]
@@ -101,6 +114,7 @@ pkg_setup() {
src_prepare() {
local PATCHES=(
)
+ use elibc_musl && PATCHES+=( "${WORKDIR}"/musl-patches )
default
}
@@ -119,6 +133,7 @@ multilib_src_configure() {
# Prevent automagic deps
-Dgcrypt=false
-Dlibcryptsetup=false
+ -Didn=false
-Dlibidn=false
-Dlibidn2=false
-Dlibiptc=false
@@ -127,6 +142,12 @@ multilib_src_configure() {
-Dlz4=false
-Dxz=false
)
+ use elibc_musl && emesonargs+=(
+ -Dgshadow=false
+ -Dsmack=false
+ -Dutmp=false
+ )
+
meson_src_configure
}
@@ -134,6 +155,9 @@ 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
}
@@ -171,6 +195,34 @@ multilib_src_compile() {
eninja "${targets[@]}"
}
+multilib_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 [[ ${EUID} -ne 0 ]]; then
+ ewarn "udev tests need to run under uid 0"
+ ewarn "Skipping tests"
+ elif has sandbox ${FEATURES}; then
+ ewarn "\'FEATURES=sandbox\' detected"
+ ewarn "udev tests needs full access to /dev"
+ ewarn "Skipping tests"
+ else
+ einfo Running tests
+
+ # 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
+ fi
+}
+
multilib_src_install() {
local libudev=$(readlink libudev.so.1)
@@ -226,6 +278,10 @@ multilib_src_install_all() {
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
@@ -234,4 +290,13 @@ pkg_postinst() {
# 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."
+ fi
}