* [gentoo-commits] repo/gentoo:master commit in: sys-fs/udev/, sys-fs/udev/files/
@ 2016-03-09 16:45 William Hubbs
0 siblings, 0 replies; 13+ messages in thread
From: William Hubbs @ 2016-03-09 16:45 UTC (permalink / raw
To: gentoo-commits
commit: c3d441415006ddb8285b8b649373b02da6cbcb42
Author: William Hubbs <williamh <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 9 16:38:56 2016 +0000
Commit: William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Wed Mar 9 16:40:13 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c3d44141
sys-fs/udev: remove unstable versions
Package-Manager: portage-2.2.26
sys-fs/udev/Manifest | 9 -
...e-getxpid-syscall-on-alpha-for-raw_getpid.patch | 30 --
sys-fs/udev/udev-217.ebuild | 497 --------------------
sys-fs/udev/udev-218.ebuild | 504 --------------------
sys-fs/udev/udev-219.ebuild | 504 --------------------
sys-fs/udev/udev-220-r3.ebuild | 507 ---------------------
sys-fs/udev/udev-222.ebuild | 435 ------------------
sys-fs/udev/udev-224-r1.ebuild | 434 ------------------
sys-fs/udev/udev-224-r2.ebuild | 435 ------------------
sys-fs/udev/udev-224.ebuild | 433 ------------------
sys-fs/udev/udev-229-r1.ebuild | 440 ------------------
sys-fs/udev/udev-229.ebuild | 440 ------------------
12 files changed, 4668 deletions(-)
diff --git a/sys-fs/udev/Manifest b/sys-fs/udev/Manifest
index 0ce06f3..19ea782 100644
--- a/sys-fs/udev/Manifest
+++ b/sys-fs/udev/Manifest
@@ -1,15 +1,6 @@
DIST systemd-216.tar.xz 3612960 SHA256 945d3db7d840d6ffe98aa68394428e13317161ae79905397faab6671619728f3 SHA512 f4eee6664368168eafd61939f1355ac21c7eeecce6247de98ef36f40bb6a942d12c006ced4ee15f3d8f11699c194990222d5a5115b45f2aa81f2a1abafebbdd2 WHIRLPOOL 505e09b55209a4f9d8cec077970571b2e1298e8db02946a6c79df139dece9d1a08e46c86ef6c8053274abfd46c9a5ea09157f5bc9dc1f7461322c596e84ef494
-DIST systemd-217.tar.xz 3694524 SHA256 a031e6fbcdc7077b37338bae8074d9428ee2fa98033beb4923a62871890f7498 SHA512 7a0b13330b621ec179499018bfbe9619a91cdbd120ae2067e19cbb9bbc25c80dd0f80aac217d823be1332054439bc9b2153ac78fc1eb231fa0fd55cb3bf7a70f WHIRLPOOL f22674a629b7b928875b6b06b0cffaf5874cdcb90c44787279cd8ff2a798e5bc525c1058f8b2bfe746d100c4d7686e36a6f604276d5735f7554122e4caad6689
-DIST systemd-218.tar.xz 3782276 SHA256 1b0768b53b6c6d813a93a4b8fe1f80cf53561b09075010a97c7aa08eee3fd59b SHA512 c183cce8532ccb4716b84587c96a626eea390202a5469b9d89c8cee7f703e40d7c584e05f29501d375b8cd2a1409d011de564df16f54e27f66b3c3007a6e5bd4 WHIRLPOOL 4d0bcf3ddfecd3354d9f4ab13851f8da6baf31e89e64d3b1ac671159f16f23597d88cc2525aece2f867c140fc97e80bce086a5af91f84b8095e2503c13995e6d
-DIST systemd-219.tar.xz 3938228 SHA256 5c57113454e37c040d0cb481bd960ae7cf3a3fe0a231ff4945259bc74503f2d9 SHA512 19a92891996723bbd83fe745f365d25b2879a059466670aebb9e9fbb6a79a3ed6e1a93e8b76042605038766cabad3ddb89aff40b4a11ab830ffa7dc64f87234f WHIRLPOOL 440868c47bed26571084009fa86d267c921cd5cbbc63b596c1161ef7f33a1b9427ad315450014cd729c761b27bf42542c3b0b7ca68e09b23fc8f606147e7e9fb
-DIST systemd-220.tar.xz 4036028 SHA256 3659588c40221ee7257502c0735491f72796dbe17be560013f6d310deb446332 SHA512 c309b4309f8b8d2d97450fb281053feec7b89227626b69e37f3a0d2154c2810c217e58e218f17da11c04f703c6196cec21c4afdcf63879bc736bbdca058a5da5 WHIRLPOOL 2f8974eacb706987e85c7907a517f6b2d47b009f9259a36375537c8bd09bc4774c81e8dc853aa83e644d7c1b579f5113d0bb8a504c7caa5a9240750f9936d561
-DIST systemd-222.tar.gz 4015599 SHA256 b49f51f9855127987adc98aad3b6d608e4e53eaa029b629f2ea2089ce0234f34 SHA512 83f0acf0ca90c89c902c268af6eef4b61380a30380013cbe89c929357959f51682cd3961a6a4f772abc09d5ca09404ae290edf2c3253fab1b20dc2b5b3ecde47 WHIRLPOOL dd0151034de374b072e70448e7a9ff47693df0190e8a2a11488593400d3d7e53e0a91d86037d027c750584089e6c68e58c437647d608a72f8826f091e3253879
-DIST systemd-224.tar.gz 3868075 SHA256 0d7ac1532a57639fbc828f8a5051a090883c6ad2908618a7a13ab386db831bfc SHA512 7717d340c6de11afd589234b7ec8952fe2ffcd05829622bd7ea8e008870c0e3b83eb1eaf20e85ffffa7adafc9c0c0b94fd93784510792109240e22e6b963f198 WHIRLPOOL 645b08ff0c20994b17b8ed585fb0eef682336961d7fedf25031fa4dc89a4d9a2b58c254e0f9baeedcb228435316fdfb562f9fefd21e5a63f94499d2f1040e093
DIST systemd-225.tar.gz 3878442 SHA256 b2f576bb3688e9315f2f49b98e141ac6f964567370e98ebd8fd7332a0a6f9701 SHA512 35b3946509c7b01660da4370d3c51ff0e6a537dadd9dbb0a039c4f7ed552fd4e02ebac6eb8a788f61f1e3ba99444238d959051dd004c174b027729a80368ac19 WHIRLPOOL 47cd3b5690dafdf3c0ef6a9767e947666b1853541f8aefd17eb5c07eee1477daf32f3b249b04327b1c56d8ec430745725383750b97755bb6cf594d354a7ffdf8
DIST systemd-228.tar.gz 4034401 SHA256 dd124ff561a07e6439ed2b3713f38ca914df7747f110ce86deea17b56d245ae6 SHA512 e54f282f550854dc082a4788709905e5767b75d2057e18d749b54821f2e44e0a8d1349b1a9180036cc854ecccaf5ff86b3b1dba4d3c2ce1b1fc766930ea4c0ea WHIRLPOOL 16b28367edc29a74f5b08691839da39a02d55bf5bcdffef55bfb1a2e8065eeecbe22a2b661e2d5f161f008d05baa000aff60d662d65db380d6c3fe0c1380eea1
DIST systemd-229.tar.gz 4319173 SHA256 b51b0a48d1beb388d95bd6a98d62be05490335d4bb388aefecdcb576e91e0741 SHA512 d692c0c9fc82f2fce64a5ec1caa4a0f8cf9edaeb1bdaaa1c462669db8f78b3dd6b33c87ef926ff21823582d0460f7b63aa3755792f9ae2cd6fb813ba08a35c39 WHIRLPOOL aa44f7161d80cc680226f19755579ba72c52cfe7bd671aefb09c414981f3a5a5c852f07d3449ac6f96d4ca91120cfb1464225d995b1637f1e2c108baf3c4a392
DIST udev-216-patches-2.tar.xz 1264 SHA256 18b7b8f852f11c2ac2a58458462ce686ebec48859562df99c5b9c29c95ddfa3c SHA512 1f5912f3bbc3e40a4efad9de8b1fab2b3a750f3f23c9f2e33a581658959d22cf23f9ff1b8f51597874e7bca1d0f757f37fd5550b4112160261559524eda261f4 WHIRLPOOL 8f93f982de2d1fa10f7e3c6541c559f2c881730276498b14d4d27b8577bdb340d49b2dc7a50a40e8a13fcabbbabb3dfa5f1605aa842e325d12c17e82d2dc787b
-DIST udev-217-patches-1.tar.xz 616 SHA256 80c0e57caa2845164b3fda1a9a74d07763a6b18e55c6e1ec60c0d888cdf24cf8 SHA512 e0ffd9c515c79da30b51448f1a78f6cc442ca595dd0bcd0f766fee31fd1324af6b820238ab342c8e40d6953ce17b872344deb0e7d1803830952d7dcc6f3479cd WHIRLPOOL a4e28fdae7b67fcd65a2d0fbf7e080e9dde6b4cdaacaa845d2bffc26717aa8f7a498fc0e6ad6edf8a553759a0f4b4ddb5da768211b294a1b37a21eecc225cf10
-DIST udev-218-patches-1.tar.xz 616 SHA256 80c0e57caa2845164b3fda1a9a74d07763a6b18e55c6e1ec60c0d888cdf24cf8 SHA512 e0ffd9c515c79da30b51448f1a78f6cc442ca595dd0bcd0f766fee31fd1324af6b820238ab342c8e40d6953ce17b872344deb0e7d1803830952d7dcc6f3479cd WHIRLPOOL a4e28fdae7b67fcd65a2d0fbf7e080e9dde6b4cdaacaa845d2bffc26717aa8f7a498fc0e6ad6edf8a553759a0f4b4ddb5da768211b294a1b37a21eecc225cf10
-DIST udev-220-patches-4.tar.xz 3432 SHA256 b17c676c7984d90bcafb57d087e77bc9e435a3244187f51e8c5ce1b3d4248ac9 SHA512 747e6d36faaed145bbe630e794bdd636d4e39d55fc2fc422d815cee3ab4aa579f15abbd1ff88c0448667546c8b04f72663cffa46d07861199076912bd009d25d WHIRLPOOL 0a349daae71b6ac95afc7414aa931f8aaa7328d2a0e7058cf6099b794531a1148bcd198f404d5d4bab7b250b1390adeb6938e8771da90fb7f56114560fd03a82
DIST udev-229-patches-1.tar.xz 996 SHA256 29fe3d2ebbbfed8d30237b79275865ab486ca636282bba40f499b624166e4d2d SHA512 1d6f80311049a441acc49fa88e316e83f4a22a4015e2bfc5b76b6b512ed35b431791acdb11d3bcc4a70913019bb23cfcfaeefcf38bdacace1412a9946cba1a74 WHIRLPOOL 580874fc492e84c66e8f1771d7d4da531f9358802e94b0e4bbbda21f0e08e987295553429c55adba56dcd4c333a231dc2ea2c0a2dc42ac999bb018168f200549
diff --git a/sys-fs/udev/files/224-0002-Use-getxpid-syscall-on-alpha-for-raw_getpid.patch b/sys-fs/udev/files/224-0002-Use-getxpid-syscall-on-alpha-for-raw_getpid.patch
deleted file mode 100644
index 40e2d1c..0000000
--- a/sys-fs/udev/files/224-0002-Use-getxpid-syscall-on-alpha-for-raw_getpid.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From a242a99d42276b6b764f80bd0de70c26e5c5f1d4 Mon Sep 17 00:00:00 2001
-From: Matt Turner <mattst88@gmail.com>
-Date: Tue, 4 Aug 2015 14:47:01 -0700
-Subject: [PATCH] Use getxpid syscall on alpha for raw_getpid()
-
-Alpha does not have a getpid syscall, but rather has getxpid to match
-OSF/1.
----
- src/basic/missing.h | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/basic/missing.h b/src/basic/missing.h
-index ed6cd80..34ab025 100644
---- a/src/basic/missing.h
-+++ b/src/basic/missing.h
-@@ -977,7 +977,11 @@ static inline int raw_clone(unsigned long flags, void *child_stack) {
- }
-
- static inline pid_t raw_getpid(void) {
-+#if defined(__alpha__)
-+ return (pid_t) syscall(__NR_getxpid);
-+#else
- return (pid_t) syscall(__NR_getpid);
-+#endif
- }
-
- #if !HAVE_DECL_RENAMEAT2
---
-2.5.0
-
diff --git a/sys-fs/udev/udev-217.ebuild b/sys-fs/udev/udev-217.ebuild
deleted file mode 100644
index a55cf51..0000000
--- a/sys-fs/udev/udev-217.ebuild
+++ /dev/null
@@ -1,497 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit autotools bash-completion-r1 eutils linux-info multilib multilib-minimal toolchain-funcs udev user versionator
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="git://anongit.freedesktop.org/systemd/systemd"
- inherit git-2
- patchset=
-else
- patchset=1
- SRC_URI="http://www.freedesktop.org/software/systemd/systemd-${PV}.tar.xz"
- if [[ -n "${patchset}" ]]; then
- SRC_URI+="
- https://dev.gentoo.org/~ssuominen/${P}-patches-${patchset}.tar.xz
- https://dev.gentoo.org/~williamh/dist/${P}-patches-${patchset}.tar.xz"
- fi
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
-fi
-
-DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)"
-HOMEPAGE="http://www.freedesktop.org/wiki/Software/systemd"
-
-LICENSE="LGPL-2.1 MIT GPL-2"
-SLOT="0"
-IUSE="acl doc gudev introspection +kmod selinux static-libs"
-
-RESTRICT="test"
-
-COMMON_DEPEND=">=sys-apps/util-linux-2.20
- acl? ( sys-apps/acl )
- gudev? ( >=dev-libs/glib-2.34.3[${MULTILIB_USEDEP}] )
- introspection? ( >=dev-libs/gobject-introspection-1.38 )
- kmod? ( >=sys-apps/kmod-16 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
- !<sys-libs/glibc-2.11
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd
- abi_x86_32? (
- !<=app-emulation/emul-linux-x86-baselibs-20130224-r7
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
- )"
-# Force new make >= -r4 to skip some parallel build issues
-DEPEND="${COMMON_DEPEND}
- dev-util/gperf
- >=sys-apps/coreutils-8.16
- sys-libs/libcap
- virtual/os-headers
- virtual/pkgconfig
- >=sys-devel/make-3.82-r4
- >=sys-kernel/linux-headers-3.7
- doc? ( >=dev-util/gtk-doc-1.18 )"
-# Try with `emerge -C docbook-xml-dtd` to see the build failure without DTDs
-if [[ ${PV} = 9999* ]]; then
- DEPEND="${DEPEND}
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xml-dtd:4.5
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt"
-fi
-RDEPEND="${COMMON_DEPEND}
- !<sys-fs/lvm2-2.02.103
- !<sec-policy/selinux-base-2.20120725-r10
- gudev? ( !dev-libs/libgudev )"
-PDEPEND=">=sys-apps/hwids-20140304[udev]
- >=sys-fs/udev-init-scripts-26"
-
-S=${WORKDIR}/systemd-${PV}
-
-# The multilib-build.eclass doesn't handle situation where the installed headers
-# are different in ABIs. In this case, we install libgudev headers in native
-# ABI but not for non-native ABI.
-multilib_check_headers() { :; }
-
-check_default_rules() {
- # Make sure there are no sudden changes to upstream rules file
- # (more for my own needs than anything else ...)
- local udev_rules_md5=c18b74c4f8bf4a397ee667ee419f3a8e
- MD5=$(md5sum < "${S}"/rules/50-udev-default.rules)
- MD5=${MD5/ -/}
- if [[ ${MD5} != ${udev_rules_md5} ]]; then
- eerror "50-udev-default.rules has been updated, please validate!"
- eerror "md5sum: ${MD5}"
- die "50-udev-default.rules has been updated, please validate!"
- fi
-}
-
-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"
- 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() {
- if ! [[ ${PV} = 9999* ]]; then
- # secure_getenv() disable for non-glibc systems wrt bug #443030
- if ! [[ $(grep -r secure_getenv * | wc -l) -eq 28 ]]; then
- eerror "The line count for secure_getenv() failed, see bug #443030"
- die
- fi
- fi
-
- # backport some patches
- if [[ -n "${patchset}" ]]; then
- EPATCH_SUFFIX=patch EPATCH_FORCE=yes epatch
- fi
-
- cat <<-EOF > "${T}"/40-gentoo.rules
- # Gentoo specific floppy and usb groups
- SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
- SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
- EOF
-
- # change rules back to group uucp instead of dialout for now wrt #454556
- sed -i -e 's/GROUP="dialout"/GROUP="uucp"/' rules/*.rules || die
-
- # apply user patches
- epatch_user
-
- if [[ ! -e configure ]]; then
- if use doc; then
- gtkdocize --docdir docs || die "gtkdocize failed"
- else
- echo 'EXTRA_DIST =' > docs/gtk-doc.make
- fi
- eautoreconf
- else
- check_default_rules
- elibtoolize
- fi
-
- # Restore possibility of running --enable-static wrt #472608
- sed -i \
- -e '/--enable-static is not supported by systemd/s:as_fn_error:echo:' \
- configure || die
-
- if ! use elibc_glibc; then #443030
- echo '#define secure_getenv(x) NULL' >> config.h.in
- sed -i -e '/error.*secure_getenv/s:.*:#define secure_getenv(x) NULL:' src/shared/missing.h || die
- fi
-}
-
-multilib_src_configure() {
- tc-export CC #463846
- export cc_cv_CFLAGS__flto=no #502950
-
- # Keep sorted by ./configure --help and only pass --disable flags
- # when *required* to avoid external deps or unnecessary compile
- local econf_args
- econf_args=(
- ac_cv_search_cap_init=
- --libdir=/usr/$(get_libdir)
- --docdir=/usr/share/doc/${PF}
- $(multilib_native_use_enable static-libs static)
- --disable-nls
- $(multilib_native_use_enable doc gtk-doc)
- $(multilib_native_use_enable introspection)
- --disable-python-devel
- --disable-dbus
- $(multilib_native_use_enable kmod)
- --disable-seccomp
- $(multilib_native_use_enable selinux)
- --disable-xz
- --disable-lz4
- --disable-pam
- $(multilib_native_use_enable acl)
- --disable-gcrypt
- --disable-audit
- --disable-libcryptsetup
- --disable-qrencode
- --disable-microhttpd
- --disable-gnutls
- --disable-libcurl
- --disable-libidn
- --disable-quotacheck
- --disable-logind
- --disable-polkit
- --disable-terminal
- --disable-myhostname
- $(use_enable gudev)
- $(multilib_is_native_abi || echo "--disable-manpages")
- --enable-split-usr
- --with-html-dir=/usr/share/doc/${PF}/html
- --without-python
- --with-bashcompletiondir="$(get_bashcompdir)"
- --with-rootprefix=
- $(multilib_is_native_abi && echo "--with-rootlibdir=/$(get_libdir)")
- )
-
- # Use pregenerated copies when possible wrt #480924
- [[ ${PV} = 9999* ]] || econf_args+=( --disable-manpages )
-
- ECONF_SOURCE=${S} econf "${econf_args[@]}"
-}
-
-multilib_src_compile() {
- echo 'BUILT_SOURCES: $(BUILT_SOURCES)' > "${T}"/Makefile.extra
- emake -f Makefile -f "${T}"/Makefile.extra BUILT_SOURCES
-
- # Most of the parallel build problems were solved by >=sys-devel/make-3.82-r4,
- # but not everything -- separate building of the binaries as a workaround,
- # which will force internal libraries required for the helpers to be built
- # early enough, like eg. libsystemd-shared.la
- if multilib_is_native_abi; then
- local lib_targets=( libudev.la )
- use gudev && lib_targets+=( libgudev-1.0.la )
- emake "${lib_targets[@]}"
-
- local exec_targets=(
- systemd-udevd
- udevadm
- )
- emake "${exec_targets[@]}"
-
- local helper_targets=(
- ata_id
- cdrom_id
- collect
- scsi_id
- v4l_id
- accelerometer
- mtd_probe
- )
- emake "${helper_targets[@]}"
-
- if [[ ${PV} = 9999* ]]; then
- local man_targets=(
- man/udev.conf.5
- man/systemd.link.5
- man/udev.7
- man/systemd-udevd.service.8
- man/udevadm.8
- )
- emake "${man_targets[@]}"
- fi
-
- if use doc; then
- emake -C docs/libudev
- use gudev && emake -C docs/gudev
- fi
- else
- local lib_targets=( libudev.la )
- use gudev && lib_targets+=( libgudev-1.0.la )
- emake "${lib_targets[@]}"
- fi
-}
-
-multilib_src_install() {
- if multilib_is_native_abi; then
- local lib_LTLIBRARIES="libudev.la" \
- pkgconfiglib_DATA="src/libudev/libudev.pc"
-
- local targets=(
- install-libLTLIBRARIES
- install-includeHEADERS
- install-libgudev_includeHEADERS
- install-rootbinPROGRAMS
- install-rootlibexecPROGRAMS
- install-udevlibexecPROGRAMS
- install-dist_udevconfDATA
- install-dist_udevrulesDATA
- install-girDATA
- install-pkgconfiglibDATA
- install-sharepkgconfigDATA
- install-typelibsDATA
- install-dist_docDATA
- libudev-install-hook
- install-directories-hook
- install-dist_bashcompletionDATA
- install-dist_networkDATA
- )
-
- if use gudev; then
- lib_LTLIBRARIES+=" libgudev-1.0.la"
- pkgconfiglib_DATA+=" src/gudev/gudev-1.0.pc"
- fi
-
- # add final values of variables:
- targets+=(
- rootlibexec_PROGRAMS=systemd-udevd
- rootbin_PROGRAMS=udevadm
- lib_LTLIBRARIES="${lib_LTLIBRARIES}"
- pkgconfiglib_DATA="${pkgconfiglib_DATA}"
- INSTALL_DIRS='$(sysconfdir)/udev/rules.d \
- $(sysconfdir)/udev/hwdb.d \
- $(sysconfdir)/systemd/network'
- dist_bashcompletion_DATA="shell-completion/bash/udevadm"
- dist_network_DATA="network/99-default.link"
- )
- emake -j1 DESTDIR="${D}" "${targets[@]}"
-
- if use doc; then
- emake -C docs/libudev DESTDIR="${D}" install
- use gudev && emake -C docs/gudev DESTDIR="${D}" install
- fi
-
- if [[ ${PV} = 9999* ]]; then
- doman man/{udev.conf.5,systemd.link.5,udev.7,systemd-udevd.service.8,udevadm.8}
- else
- doman "${S}"/man/{udev.conf.5,systemd.link.5,udev.7,systemd-udevd.service.8,udevadm.8}
- fi
- else
- local lib_LTLIBRARIES="libudev.la" \
- pkgconfiglib_DATA="src/libudev/libudev.pc" \
- include_HEADERS="src/libudev/libudev.h"
-
- local targets=(
- install-libLTLIBRARIES
- install-includeHEADERS
- install-pkgconfiglibDATA
- )
-
- if use gudev; then
- lib_LTLIBRARIES+=" libgudev-1.0.la"
- pkgconfiglib_DATA+=" src/gudev/gudev-1.0.pc"
- fi
-
- targets+=(
- lib_LTLIBRARIES="${lib_LTLIBRARIES}"
- pkgconfiglib_DATA="${pkgconfiglib_DATA}"
- include_HEADERS="${include_HEADERS}"
- )
- emake -j1 DESTDIR="${D}" "${targets[@]}"
- fi
-}
-
-multilib_src_install_all() {
- dodoc TODO
-
- prune_libtool_files --all
- rm -f \
- "${D}"/lib/udev/rules.d/99-systemd.rules \
- "${D}"/usr/share/doc/${PF}/{LICENSE.*,GVARIANT-SERIALIZATION,DIFFERENCES,PORTING-DBUS1,sd-shutdown.h}
-
- # see src_prepare() for content of 40-gentoo.rules
- insinto /lib/udev/rules.d
- doins "${T}"/40-gentoo.rules
-
- # maintainer note: by not letting the upstream build-sys create the .so
- # link, you also avoid a parallel make problem
- mv "${D}"/usr/share/man/man8/systemd-udevd{.service,}.8
-
- if ! [[ ${PV} = 9999* ]]; then
- insinto /usr/share/doc/${PF}/html/gudev
- doins "${S}"/docs/gudev/html/*
-
- insinto /usr/share/doc/${PF}/html/libudev
- doins "${S}"/docs/libudev/html/*
- fi
-}
-
-pkg_preinst() {
- local htmldir
- for htmldir in gudev libudev; do
- if [[ -d ${ROOT%/}/usr/share/gtk-doc/html/${htmldir} ]]; then
- rm -rf "${ROOT%/}"/usr/share/gtk-doc/html/${htmldir}
- fi
- if [[ -d ${D}/usr/share/doc/${PF}/html/${htmldir} ]]; then
- dosym ../../doc/${PF}/html/${htmldir} \
- /usr/share/gtk-doc/html/${htmldir}
- fi
- done
-}
-
-pkg_postinst() {
- mkdir -p "${ROOT%/}"/run
-
- # "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766
- # So try to remove it here (will only work if empty).
- rmdir "${ROOT%/}"/dev/loop 2>/dev/null
- if [[ -d ${ROOT%/}/dev/loop ]]; then
- ewarn "Please make sure your remove /dev/loop,"
- ewarn "else losetup may be confused when looking for unused devices."
- fi
-
- local fstab="${ROOT%/}"/etc/fstab dev path fstype rest
- while read -r dev path fstype rest; do
- if [[ ${path} == /dev && ${fstype} != devtmpfs ]]; then
- ewarn "You need to edit your /dev line in ${fstab} to have devtmpfs"
- ewarn "filesystem. Otherwise udev won't be able to boot."
- ewarn "See, https://bugs.gentoo.org/453186"
- fi
- done < "${fstab}"
-
- if [[ -d ${ROOT%/}/usr/lib/udev ]]; then
- ewarn
- ewarn "Please re-emerge all packages on your system which install"
- ewarn "rules and helpers in /usr/lib/udev. They should now be in"
- ewarn "/lib/udev."
- ewarn
- ewarn "One way to do this is to run the following command:"
- ewarn "emerge -av1 \$(qfile -q -S -C /usr/lib/udev)"
- ewarn "Note that qfile can be found in app-portage/portage-utils"
- fi
-
- local old_cd_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-cd.rules
- local old_net_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-net.rules
- for old_rules in "${old_cd_rules}" "${old_net_rules}"; do
- if [[ -f ${old_rules} ]]; then
- ewarn
- ewarn "File ${old_rules} is from old udev installation but if you still use it,"
- ewarn "rename it to something else starting with 70- to silence this deprecation"
- ewarn "warning."
- fi
- done
-
- elog
- elog "Starting from version >= 197 the new predictable network interface names are"
- elog "used by default, see:"
- elog "http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames"
- elog "http://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c"
- elog
- elog "Example command to get the information for the new interface name before booting"
- elog "(replace <ifname> with, for example, eth0):"
- elog "# udevadm test-builtin net_id /sys/class/net/<ifname> 2> /dev/null"
- elog
- elog "You can use either kernel parameter \"net.ifnames=0\", create empty"
- elog "file /etc/systemd/network/99-default.link, or symlink it to /dev/null"
- elog "to disable the feature."
-
- if has_version 'sys-apps/biosdevname'; then
- ewarn
- ewarn "You can replace the functionality of sys-apps/biosdevname which has been"
- ewarn "detected to be installed with the new predictable network interface names."
- fi
-
- ewarn
- ewarn "You need to restart udev as soon as possible to make the upgrade go"
- ewarn "into effect."
- ewarn "The method you use to do this depends on your init system."
- if has_version 'sys-apps/openrc'; then
- ewarn "For sys-apps/openrc users it is:"
- ewarn "# /etc/init.d/udev --nodeps restart"
- fi
-
- elog
- elog "For more information on udev on Gentoo, upgrading, writing udev rules, and"
- elog "fixing known issues visit:"
- elog "https://wiki.gentoo.org/wiki/Udev"
- elog "https://wiki.gentoo.org/wiki/Udev/upgrade"
-
- # If user has disabled 80-net-name-slot.rules using a empty file or a symlink to /dev/null,
- # do the same for 80-net-setup-link.rules to keep the old behavior
- local net_move=no
- local net_name_slot_sym=no
- local net_rules_path="${ROOT%/}"/etc/udev/rules.d
- local net_name_slot="${net_rules_path}"/80-net-name-slot.rules
- local net_setup_link="${net_rules_path}"/80-net-setup-link.rules
- if [[ ! -e ${net_setup_link} ]]; then
- [[ -f ${net_name_slot} && $(sed -e "/^#/d" -e "/^\W*$/d" ${net_name_slot} | wc -l) == 0 ]] && net_move=yes
- if [[ -L ${net_name_slot} && $(readlink ${net_name_slot}) == /dev/null ]]; then
- net_move=yes
- net_name_slot_sym=yes
- fi
- fi
- if [[ ${net_move} == yes ]]; then
- ebegin "Copying ${net_name_slot} to ${net_setup_link}"
-
- if [[ ${net_name_slot_sym} == yes ]]; then
- ln -nfs /dev/null "${net_setup_link}"
- else
- cp "${net_name_slot}" "${net_setup_link}"
- fi
- eend $?
- fi
-
- # http://cgit.freedesktop.org/systemd/systemd/commit/rules/50-udev-default.rules?id=3dff3e00e044e2d53c76fa842b9a4759d4a50e69
- # https://bugs.gentoo.org/246847
- # https://bugs.gentoo.org/514174
- enewgroup input
-
- # 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
- # http://cgit.freedesktop.org/systemd/systemd/commit/?id=1fab57c209035f7e66198343074e9cee06718bda
- [[ -z ${REPLACING_VERSIONS} ]] && udev_reload
- fi
-}
diff --git a/sys-fs/udev/udev-218.ebuild b/sys-fs/udev/udev-218.ebuild
deleted file mode 100644
index b805dda..0000000
--- a/sys-fs/udev/udev-218.ebuild
+++ /dev/null
@@ -1,504 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit autotools bash-completion-r1 eutils linux-info multilib multilib-minimal toolchain-funcs udev user versionator
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="git://anongit.freedesktop.org/systemd/systemd"
- inherit git-2
- patchset=
-else
- patchset=1
- SRC_URI="http://www.freedesktop.org/software/systemd/systemd-${PV}.tar.xz"
- if [[ -n "${patchset}" ]]; then
- SRC_URI+="
- https://dev.gentoo.org/~ssuominen/${P}-patches-${patchset}.tar.xz
- https://dev.gentoo.org/~williamh/dist/${P}-patches-${patchset}.tar.xz"
- fi
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
-fi
-
-DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)"
-HOMEPAGE="http://www.freedesktop.org/wiki/Software/systemd"
-
-LICENSE="LGPL-2.1 MIT GPL-2"
-SLOT="0"
-IUSE="acl doc gudev introspection +kmod selinux static-libs"
-
-RESTRICT="test"
-
-COMMON_DEPEND=">=sys-apps/util-linux-2.20
- acl? ( sys-apps/acl )
- gudev? ( >=dev-libs/glib-2.34.3[${MULTILIB_USEDEP}] )
- introspection? ( >=dev-libs/gobject-introspection-1.38 )
- kmod? ( >=sys-apps/kmod-16 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
- !<sys-libs/glibc-2.11
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd
- abi_x86_32? (
- !<=app-emulation/emul-linux-x86-baselibs-20130224-r7
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
- )"
-# Force new make >= -r4 to skip some parallel build issues
-DEPEND="${COMMON_DEPEND}
- dev-util/gperf
- >=sys-apps/coreutils-8.16
- sys-libs/libcap
- virtual/os-headers
- virtual/pkgconfig
- >=sys-devel/make-3.82-r4
- >=sys-kernel/linux-headers-3.7
- doc? ( >=dev-util/gtk-doc-1.18 )"
-# Try with `emerge -C docbook-xml-dtd` to see the build failure without DTDs
-if [[ ${PV} = 9999* ]]; then
- DEPEND="${DEPEND}
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xml-dtd:4.5
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt"
-fi
-RDEPEND="${COMMON_DEPEND}
- !<sys-fs/lvm2-2.02.103
- !<sec-policy/selinux-base-2.20120725-r10
- gudev? ( !dev-libs/libgudev )"
-PDEPEND=">=sys-apps/hwids-20140304[udev]
- >=sys-fs/udev-init-scripts-26"
-
-S=${WORKDIR}/systemd-${PV}
-
-# The multilib-build.eclass doesn't handle situation where the installed headers
-# are different in ABIs. In this case, we install libgudev headers in native
-# ABI but not for non-native ABI.
-multilib_check_headers() { :; }
-
-check_default_rules() {
- # Make sure there are no sudden changes to upstream rules file
- # (more for my own needs than anything else ...)
- local udev_rules_md5=c18b74c4f8bf4a397ee667ee419f3a8e
- MD5=$(md5sum < "${S}"/rules/50-udev-default.rules)
- MD5=${MD5/ -/}
- if [[ ${MD5} != ${udev_rules_md5} ]]; then
- eerror "50-udev-default.rules has been updated, please validate!"
- eerror "md5sum: ${MD5}"
- die "50-udev-default.rules has been updated, please validate!"
- fi
-}
-
-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"
- 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() {
- if ! [[ ${PV} = 9999* ]]; then
- # secure_getenv() disable for non-glibc systems wrt bug #443030
- if ! [[ $(grep -r secure_getenv * | wc -l) -eq 27 ]]; then
- eerror "The line count for secure_getenv() failed, see bug #443030"
- die
- fi
- fi
-
- # backport some patches
- if [[ -n "${patchset}" ]]; then
- EPATCH_SUFFIX=patch EPATCH_FORCE=yes epatch
- fi
-
- cat <<-EOF > "${T}"/40-gentoo.rules
- # Gentoo specific floppy and usb groups
- SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
- SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
- EOF
-
- # change rules back to group uucp instead of dialout for now wrt #454556
- sed -i -e 's/GROUP="dialout"/GROUP="uucp"/' rules/*.rules || die
-
- # apply user patches
- epatch_user
-
- if [[ ! -e configure ]]; then
- if use doc; then
- gtkdocize --docdir docs || die "gtkdocize failed"
- else
- echo 'EXTRA_DIST =' > docs/gtk-doc.make
- fi
- eautoreconf
- else
- check_default_rules
- elibtoolize
- fi
-
- # Restore possibility of running --enable-static wrt #472608
- sed -i \
- -e '/--enable-static is not supported by systemd/s:as_fn_error:echo:' \
- configure || die
-
- if ! use elibc_glibc; then #443030
- echo '#define secure_getenv(x) NULL' >> config.h.in
- sed -i -e '/error.*secure_getenv/s:.*:#define secure_getenv(x) NULL:' src/shared/missing.h || die
- fi
-}
-
-multilib_src_configure() {
- tc-export CC #463846
- export cc_cv_CFLAGS__flto=no #502950
-
- # Keep sorted by ./configure --help and only pass --disable flags
- # when *required* to avoid external deps or unnecessary compile
- local econf_args
- econf_args=(
- ac_cv_search_cap_init=
- --libdir=/usr/$(get_libdir)
- --docdir=/usr/share/doc/${PF}
- $(multilib_native_use_enable static-libs static)
- --disable-nls
- $(multilib_native_use_enable doc gtk-doc)
- $(multilib_native_use_enable introspection)
- --disable-python-devel
- --disable-dbus
- $(multilib_native_use_enable kmod)
- --disable-xkbcommon
- --disable-seccomp
- $(multilib_native_use_enable selinux)
- --disable-xz
- --disable-lz4
- --disable-pam
- $(multilib_native_use_enable acl)
- --disable-gcrypt
- --disable-audit
- --disable-libcryptsetup
- --disable-qrencode
- --disable-microhttpd
- --disable-gnutls
- --disable-libcurl
- --disable-libidn
- --disable-quotacheck
- --disable-logind
- --disable-polkit
- --disable-terminal
- --disable-myhostname
- $(use_enable gudev)
- $(multilib_is_native_abi || echo "--disable-manpages")
- --enable-split-usr
- --with-html-dir=/usr/share/doc/${PF}/html
- --without-python
- --with-bashcompletiondir="$(get_bashcompdir)"
- --with-rootprefix=
- $(multilib_is_native_abi && echo "--with-rootlibdir=/$(get_libdir)")
- )
-
- if ! multilib_is_native_abi; then
- econf_args+=(
- MOUNT_{CFLAGS,LIBS}=' '
- )
- fi
-
- # Use pregenerated copies when possible wrt #480924
- [[ ${PV} = 9999* ]] || econf_args+=( --disable-manpages )
-
- ECONF_SOURCE=${S} econf "${econf_args[@]}"
-}
-
-multilib_src_compile() {
- echo 'BUILT_SOURCES: $(BUILT_SOURCES)' > "${T}"/Makefile.extra
- emake -f Makefile -f "${T}"/Makefile.extra BUILT_SOURCES
-
- # Most of the parallel build problems were solved by >=sys-devel/make-3.82-r4,
- # but not everything -- separate building of the binaries as a workaround,
- # which will force internal libraries required for the helpers to be built
- # early enough, like eg. libsystemd-shared.la
- if multilib_is_native_abi; then
- local lib_targets=( libudev.la )
- use gudev && lib_targets+=( libgudev-1.0.la )
- emake "${lib_targets[@]}"
-
- local exec_targets=(
- systemd-udevd
- udevadm
- )
- emake "${exec_targets[@]}"
-
- local helper_targets=(
- ata_id
- cdrom_id
- collect
- scsi_id
- v4l_id
- accelerometer
- mtd_probe
- )
- emake "${helper_targets[@]}"
-
- if [[ ${PV} = 9999* ]]; then
- local man_targets=(
- man/udev.conf.5
- man/systemd.link.5
- man/udev.7
- man/systemd-udevd.service.8
- man/udevadm.8
- )
- emake "${man_targets[@]}"
- fi
-
- if use doc; then
- emake -C docs/libudev
- use gudev && emake -C docs/gudev
- fi
- else
- local lib_targets=( libudev.la )
- use gudev && lib_targets+=( libgudev-1.0.la )
- emake "${lib_targets[@]}"
- fi
-}
-
-multilib_src_install() {
- if multilib_is_native_abi; then
- local lib_LTLIBRARIES="libudev.la" \
- pkgconfiglib_DATA="src/libudev/libudev.pc"
-
- local targets=(
- install-libLTLIBRARIES
- install-includeHEADERS
- install-libgudev_includeHEADERS
- install-rootbinPROGRAMS
- install-rootlibexecPROGRAMS
- install-udevlibexecPROGRAMS
- install-dist_udevconfDATA
- install-dist_udevrulesDATA
- install-girDATA
- install-pkgconfiglibDATA
- install-sharepkgconfigDATA
- install-typelibsDATA
- install-dist_docDATA
- libudev-install-hook
- install-directories-hook
- install-dist_bashcompletionDATA
- install-dist_networkDATA
- )
-
- if use gudev; then
- lib_LTLIBRARIES+=" libgudev-1.0.la"
- pkgconfiglib_DATA+=" src/gudev/gudev-1.0.pc"
- fi
-
- # add final values of variables:
- targets+=(
- rootlibexec_PROGRAMS=systemd-udevd
- rootbin_PROGRAMS=udevadm
- lib_LTLIBRARIES="${lib_LTLIBRARIES}"
- pkgconfiglib_DATA="${pkgconfiglib_DATA}"
- INSTALL_DIRS='$(sysconfdir)/udev/rules.d \
- $(sysconfdir)/udev/hwdb.d \
- $(sysconfdir)/systemd/network'
- dist_bashcompletion_DATA="shell-completion/bash/udevadm"
- dist_network_DATA="network/99-default.link"
- )
- emake -j1 DESTDIR="${D}" "${targets[@]}"
-
- if use doc; then
- emake -C docs/libudev DESTDIR="${D}" install
- use gudev && emake -C docs/gudev DESTDIR="${D}" install
- fi
-
- if [[ ${PV} = 9999* ]]; then
- doman man/{udev.conf.5,systemd.link.5,udev.7,systemd-udevd.service.8,udevadm.8}
- else
- doman "${S}"/man/{udev.conf.5,systemd.link.5,udev.7,systemd-udevd.service.8,udevadm.8}
- fi
- else
- local lib_LTLIBRARIES="libudev.la" \
- pkgconfiglib_DATA="src/libudev/libudev.pc" \
- include_HEADERS="src/libudev/libudev.h"
-
- local targets=(
- install-libLTLIBRARIES
- install-includeHEADERS
- install-pkgconfiglibDATA
- )
-
- if use gudev; then
- lib_LTLIBRARIES+=" libgudev-1.0.la"
- pkgconfiglib_DATA+=" src/gudev/gudev-1.0.pc"
- fi
-
- targets+=(
- lib_LTLIBRARIES="${lib_LTLIBRARIES}"
- pkgconfiglib_DATA="${pkgconfiglib_DATA}"
- include_HEADERS="${include_HEADERS}"
- )
- emake -j1 DESTDIR="${D}" "${targets[@]}"
- fi
-}
-
-multilib_src_install_all() {
- dodoc TODO
-
- prune_libtool_files --all
- rm -f \
- "${D}"/lib/udev/rules.d/99-systemd.rules \
- "${D}"/usr/share/doc/${PF}/{LICENSE.*,GVARIANT-SERIALIZATION,DIFFERENCES,PORTING-DBUS1,sd-shutdown.h}
-
- # see src_prepare() for content of 40-gentoo.rules
- insinto /lib/udev/rules.d
- doins "${T}"/40-gentoo.rules
-
- # maintainer note: by not letting the upstream build-sys create the .so
- # link, you also avoid a parallel make problem
- mv "${D}"/usr/share/man/man8/systemd-udevd{.service,}.8
-
- if ! [[ ${PV} = 9999* ]]; then
- insinto /usr/share/doc/${PF}/html/gudev
- doins "${S}"/docs/gudev/html/*
-
- insinto /usr/share/doc/${PF}/html/libudev
- doins "${S}"/docs/libudev/html/*
- fi
-}
-
-pkg_preinst() {
- local htmldir
- for htmldir in gudev libudev; do
- if [[ -d ${ROOT%/}/usr/share/gtk-doc/html/${htmldir} ]]; then
- rm -rf "${ROOT%/}"/usr/share/gtk-doc/html/${htmldir}
- fi
- if [[ -d ${D}/usr/share/doc/${PF}/html/${htmldir} ]]; then
- dosym ../../doc/${PF}/html/${htmldir} \
- /usr/share/gtk-doc/html/${htmldir}
- fi
- done
-}
-
-pkg_postinst() {
- mkdir -p "${ROOT%/}"/run
-
- # "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766
- # So try to remove it here (will only work if empty).
- rmdir "${ROOT%/}"/dev/loop 2>/dev/null
- if [[ -d ${ROOT%/}/dev/loop ]]; then
- ewarn "Please make sure your remove /dev/loop,"
- ewarn "else losetup may be confused when looking for unused devices."
- fi
-
- local fstab="${ROOT%/}"/etc/fstab dev path fstype rest
- while read -r dev path fstype rest; do
- if [[ ${path} == /dev && ${fstype} != devtmpfs ]]; then
- ewarn "You need to edit your /dev line in ${fstab} to have devtmpfs"
- ewarn "filesystem. Otherwise udev won't be able to boot."
- ewarn "See, https://bugs.gentoo.org/453186"
- fi
- done < "${fstab}"
-
- if [[ -d ${ROOT%/}/usr/lib/udev ]]; then
- ewarn
- ewarn "Please re-emerge all packages on your system which install"
- ewarn "rules and helpers in /usr/lib/udev. They should now be in"
- ewarn "/lib/udev."
- ewarn
- ewarn "One way to do this is to run the following command:"
- ewarn "emerge -av1 \$(qfile -q -S -C /usr/lib/udev)"
- ewarn "Note that qfile can be found in app-portage/portage-utils"
- fi
-
- local old_cd_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-cd.rules
- local old_net_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-net.rules
- for old_rules in "${old_cd_rules}" "${old_net_rules}"; do
- if [[ -f ${old_rules} ]]; then
- ewarn
- ewarn "File ${old_rules} is from old udev installation but if you still use it,"
- ewarn "rename it to something else starting with 70- to silence this deprecation"
- ewarn "warning."
- fi
- done
-
- elog
- elog "Starting from version >= 197 the new predictable network interface names are"
- elog "used by default, see:"
- elog "http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames"
- elog "http://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c"
- elog
- elog "Example command to get the information for the new interface name before booting"
- elog "(replace <ifname> with, for example, eth0):"
- elog "# udevadm test-builtin net_id /sys/class/net/<ifname> 2> /dev/null"
- elog
- elog "You can use either kernel parameter \"net.ifnames=0\", create empty"
- elog "file /etc/systemd/network/99-default.link, or symlink it to /dev/null"
- elog "to disable the feature."
-
- if has_version 'sys-apps/biosdevname'; then
- ewarn
- ewarn "You can replace the functionality of sys-apps/biosdevname which has been"
- ewarn "detected to be installed with the new predictable network interface names."
- fi
-
- ewarn
- ewarn "You need to restart udev as soon as possible to make the upgrade go"
- ewarn "into effect."
- ewarn "The method you use to do this depends on your init system."
- if has_version 'sys-apps/openrc'; then
- ewarn "For sys-apps/openrc users it is:"
- ewarn "# /etc/init.d/udev --nodeps restart"
- fi
-
- elog
- elog "For more information on udev on Gentoo, upgrading, writing udev rules, and"
- elog "fixing known issues visit:"
- elog "https://wiki.gentoo.org/wiki/Udev"
- elog "https://wiki.gentoo.org/wiki/Udev/upgrade"
-
- # If user has disabled 80-net-name-slot.rules using a empty file or a symlink to /dev/null,
- # do the same for 80-net-setup-link.rules to keep the old behavior
- local net_move=no
- local net_name_slot_sym=no
- local net_rules_path="${ROOT%/}"/etc/udev/rules.d
- local net_name_slot="${net_rules_path}"/80-net-name-slot.rules
- local net_setup_link="${net_rules_path}"/80-net-setup-link.rules
- if [[ ! -e ${net_setup_link} ]]; then
- [[ -f ${net_name_slot} && $(sed -e "/^#/d" -e "/^\W*$/d" ${net_name_slot} | wc -l) == 0 ]] && net_move=yes
- if [[ -L ${net_name_slot} && $(readlink ${net_name_slot}) == /dev/null ]]; then
- net_move=yes
- net_name_slot_sym=yes
- fi
- fi
- if [[ ${net_move} == yes ]]; then
- ebegin "Copying ${net_name_slot} to ${net_setup_link}"
-
- if [[ ${net_name_slot_sym} == yes ]]; then
- ln -nfs /dev/null "${net_setup_link}"
- else
- cp "${net_name_slot}" "${net_setup_link}"
- fi
- eend $?
- fi
-
- # http://cgit.freedesktop.org/systemd/systemd/commit/rules/50-udev-default.rules?id=3dff3e00e044e2d53c76fa842b9a4759d4a50e69
- # https://bugs.gentoo.org/246847
- # https://bugs.gentoo.org/514174
- enewgroup input
-
- # 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
- # http://cgit.freedesktop.org/systemd/systemd/commit/?id=1fab57c209035f7e66198343074e9cee06718bda
- [[ -z ${REPLACING_VERSIONS} ]] && udev_reload
- fi
-}
diff --git a/sys-fs/udev/udev-219.ebuild b/sys-fs/udev/udev-219.ebuild
deleted file mode 100644
index def594a..0000000
--- a/sys-fs/udev/udev-219.ebuild
+++ /dev/null
@@ -1,504 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit autotools bash-completion-r1 eutils linux-info multilib multilib-minimal toolchain-funcs udev user versionator
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="git://anongit.freedesktop.org/systemd/systemd"
- inherit git-2
- patchset=
-else
- patchset=
- SRC_URI="http://www.freedesktop.org/software/systemd/systemd-${PV}.tar.xz"
- if [[ -n "${patchset}" ]]; then
- SRC_URI+="
- https://dev.gentoo.org/~ssuominen/${P}-patches-${patchset}.tar.xz
- https://dev.gentoo.org/~williamh/dist/${P}-patches-${patchset}.tar.xz"
- fi
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
-fi
-
-DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)"
-HOMEPAGE="http://www.freedesktop.org/wiki/Software/systemd"
-
-LICENSE="LGPL-2.1 MIT GPL-2"
-SLOT="0"
-IUSE="acl doc gudev introspection +kmod selinux static-libs"
-
-RESTRICT="test"
-
-COMMON_DEPEND=">=sys-apps/util-linux-2.20
- acl? ( sys-apps/acl )
- gudev? ( >=dev-libs/glib-2.34.3[${MULTILIB_USEDEP}] )
- introspection? ( >=dev-libs/gobject-introspection-1.38 )
- kmod? ( >=sys-apps/kmod-16 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
- !<sys-libs/glibc-2.11
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd
- abi_x86_32? (
- !<=app-emulation/emul-linux-x86-baselibs-20130224-r7
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
- )"
-# Force new make >= -r4 to skip some parallel build issues
-DEPEND="${COMMON_DEPEND}
- dev-util/gperf
- >=sys-apps/coreutils-8.16
- sys-libs/libcap
- virtual/os-headers
- virtual/pkgconfig
- >=sys-devel/make-3.82-r4
- >=sys-kernel/linux-headers-3.9
- doc? ( >=dev-util/gtk-doc-1.18 )"
-# Try with `emerge -C docbook-xml-dtd` to see the build failure without DTDs
-if [[ ${PV} = 9999* ]]; then
- DEPEND="${DEPEND}
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xml-dtd:4.5
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt"
-fi
-RDEPEND="${COMMON_DEPEND}
- !<sys-fs/lvm2-2.02.103
- !<sec-policy/selinux-base-2.20120725-r10
- gudev? ( !dev-libs/libgudev )"
-PDEPEND=">=sys-apps/hwids-20140304[udev]
- >=sys-fs/udev-init-scripts-26"
-
-S=${WORKDIR}/systemd-${PV}
-
-# The multilib-build.eclass doesn't handle situation where the installed headers
-# are different in ABIs. In this case, we install libgudev headers in native
-# ABI but not for non-native ABI.
-multilib_check_headers() { :; }
-
-check_default_rules() {
- # Make sure there are no sudden changes to upstream rules file
- # (more for my own needs than anything else ...)
- local udev_rules_md5=c18b74c4f8bf4a397ee667ee419f3a8e
- MD5=$(md5sum < "${S}"/rules/50-udev-default.rules)
- MD5=${MD5/ -/}
- if [[ ${MD5} != ${udev_rules_md5} ]]; then
- eerror "50-udev-default.rules has been updated, please validate!"
- eerror "md5sum: ${MD5}"
- die "50-udev-default.rules has been updated, please validate!"
- fi
-}
-
-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"
- 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() {
- if ! [[ ${PV} = 9999* ]]; then
- # secure_getenv() disable for non-glibc systems wrt bug #443030
- if ! [[ $(grep -r secure_getenv * | wc -l) -eq 27 ]]; then
- eerror "The line count for secure_getenv() failed, see bug #443030"
- die
- fi
- fi
-
- # backport some patches
- if [[ -n "${patchset}" ]]; then
- EPATCH_SUFFIX=patch EPATCH_FORCE=yes epatch
- fi
-
- cat <<-EOF > "${T}"/40-gentoo.rules
- # Gentoo specific floppy and usb groups
- SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
- SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
- EOF
-
- # change rules back to group uucp instead of dialout for now wrt #454556
- sed -i -e 's/GROUP="dialout"/GROUP="uucp"/' rules/*.rules || die
-
- # apply user patches
- epatch_user
-
- if [[ ! -e configure ]]; then
- if use doc; then
- gtkdocize --docdir docs || die "gtkdocize failed"
- else
- echo 'EXTRA_DIST =' > docs/gtk-doc.make
- fi
- eautoreconf
- else
- check_default_rules
- elibtoolize
- fi
-
- # Restore possibility of running --enable-static wrt #472608
- sed -i \
- -e '/--enable-static is not supported by systemd/s:as_fn_error:echo:' \
- configure || die
-
- if ! use elibc_glibc; then #443030
- echo '#define secure_getenv(x) NULL' >> config.h.in
- sed -i -e '/error.*secure_getenv/s:.*:#define secure_getenv(x) NULL:' src/shared/missing.h || die
- fi
-}
-
-multilib_src_configure() {
- tc-export CC #463846
- export cc_cv_CFLAGS__flto=no #502950
-
- # Keep sorted by ./configure --help and only pass --disable flags
- # when *required* to avoid external deps or unnecessary compile
- local econf_args
- econf_args=(
- ac_cv_search_cap_init=
- --libdir=/usr/$(get_libdir)
- --docdir=/usr/share/doc/${PF}
- $(multilib_native_use_enable static-libs static)
- --disable-nls
- $(multilib_native_use_enable doc gtk-doc)
- $(multilib_native_use_enable introspection)
- --disable-python-devel
- --disable-dbus
- $(multilib_native_use_enable kmod)
- --disable-xkbcommon
- --disable-seccomp
- $(multilib_native_use_enable selinux)
- --disable-xz
- --disable-lz4
- --disable-pam
- $(multilib_native_use_enable acl)
- --disable-gcrypt
- --disable-audit
- --disable-libcryptsetup
- --disable-qrencode
- --disable-microhttpd
- --disable-gnutls
- --disable-libcurl
- --disable-libidn
- --disable-quotacheck
- --disable-logind
- --disable-polkit
- --disable-terminal
- --disable-myhostname
- $(use_enable gudev)
- $(multilib_is_native_abi || echo "--disable-manpages")
- --enable-split-usr
- --with-html-dir=/usr/share/doc/${PF}/html
- --without-python
- --with-bashcompletiondir="$(get_bashcompdir)"
- --with-rootprefix=
- $(multilib_is_native_abi && echo "--with-rootlibdir=/$(get_libdir)")
- )
-
- if ! multilib_is_native_abi; then
- econf_args+=(
- MOUNT_{CFLAGS,LIBS}=' '
- )
- fi
-
- # Use pregenerated copies when possible wrt #480924
- [[ ${PV} = 9999* ]] || econf_args+=( --disable-manpages )
-
- ECONF_SOURCE=${S} econf "${econf_args[@]}"
-}
-
-multilib_src_compile() {
- echo 'BUILT_SOURCES: $(BUILT_SOURCES)' > "${T}"/Makefile.extra
- emake -f Makefile -f "${T}"/Makefile.extra BUILT_SOURCES
-
- # Most of the parallel build problems were solved by >=sys-devel/make-3.82-r4,
- # but not everything -- separate building of the binaries as a workaround,
- # which will force internal libraries required for the helpers to be built
- # early enough, like eg. libsystemd-shared.la
- if multilib_is_native_abi; then
- local lib_targets=( libudev.la )
- use gudev && lib_targets+=( libgudev-1.0.la )
- emake "${lib_targets[@]}"
-
- local exec_targets=(
- systemd-udevd
- udevadm
- )
- emake "${exec_targets[@]}"
-
- local helper_targets=(
- ata_id
- cdrom_id
- collect
- scsi_id
- v4l_id
- accelerometer
- mtd_probe
- )
- emake "${helper_targets[@]}"
-
- if [[ ${PV} = 9999* ]]; then
- local man_targets=(
- man/udev.conf.5
- man/systemd.link.5
- man/udev.7
- man/systemd-udevd.service.8
- man/udevadm.8
- )
- emake "${man_targets[@]}"
- fi
-
- if use doc; then
- emake -C docs/libudev
- use gudev && emake -C docs/gudev
- fi
- else
- local lib_targets=( libudev.la )
- use gudev && lib_targets+=( libgudev-1.0.la )
- emake "${lib_targets[@]}"
- fi
-}
-
-multilib_src_install() {
- if multilib_is_native_abi; then
- local lib_LTLIBRARIES="libudev.la" \
- pkgconfiglib_DATA="src/libudev/libudev.pc"
-
- local targets=(
- install-libLTLIBRARIES
- install-includeHEADERS
- install-libgudev_includeHEADERS
- install-rootbinPROGRAMS
- install-rootlibexecPROGRAMS
- install-udevlibexecPROGRAMS
- install-dist_udevconfDATA
- install-dist_udevrulesDATA
- install-girDATA
- install-pkgconfiglibDATA
- install-sharepkgconfigDATA
- install-typelibsDATA
- install-dist_docDATA
- libudev-install-hook
- install-directories-hook
- install-dist_bashcompletionDATA
- install-dist_networkDATA
- )
-
- if use gudev; then
- lib_LTLIBRARIES+=" libgudev-1.0.la"
- pkgconfiglib_DATA+=" src/gudev/gudev-1.0.pc"
- fi
-
- # add final values of variables:
- targets+=(
- rootlibexec_PROGRAMS=systemd-udevd
- rootbin_PROGRAMS=udevadm
- lib_LTLIBRARIES="${lib_LTLIBRARIES}"
- pkgconfiglib_DATA="${pkgconfiglib_DATA}"
- INSTALL_DIRS='$(sysconfdir)/udev/rules.d \
- $(sysconfdir)/udev/hwdb.d \
- $(sysconfdir)/systemd/network'
- dist_bashcompletion_DATA="shell-completion/bash/udevadm"
- dist_network_DATA="network/99-default.link"
- )
- emake -j1 DESTDIR="${D}" "${targets[@]}"
-
- if use doc; then
- emake -C docs/libudev DESTDIR="${D}" install
- use gudev && emake -C docs/gudev DESTDIR="${D}" install
- fi
-
- if [[ ${PV} = 9999* ]]; then
- doman man/{udev.conf.5,systemd.link.5,udev.7,systemd-udevd.service.8,udevadm.8}
- else
- doman "${S}"/man/{udev.conf.5,systemd.link.5,udev.7,systemd-udevd.service.8,udevadm.8}
- fi
- else
- local lib_LTLIBRARIES="libudev.la" \
- pkgconfiglib_DATA="src/libudev/libudev.pc" \
- include_HEADERS="src/libudev/libudev.h"
-
- local targets=(
- install-libLTLIBRARIES
- install-includeHEADERS
- install-pkgconfiglibDATA
- )
-
- if use gudev; then
- lib_LTLIBRARIES+=" libgudev-1.0.la"
- pkgconfiglib_DATA+=" src/gudev/gudev-1.0.pc"
- fi
-
- targets+=(
- lib_LTLIBRARIES="${lib_LTLIBRARIES}"
- pkgconfiglib_DATA="${pkgconfiglib_DATA}"
- include_HEADERS="${include_HEADERS}"
- )
- emake -j1 DESTDIR="${D}" "${targets[@]}"
- fi
-}
-
-multilib_src_install_all() {
- dodoc TODO
-
- prune_libtool_files --all
- rm -f \
- "${D}"/lib/udev/rules.d/99-systemd.rules \
- "${D}"/usr/share/doc/${PF}/{LICENSE.*,GVARIANT-SERIALIZATION,DIFFERENCES,PORTING-DBUS1,sd-shutdown.h}
-
- # see src_prepare() for content of 40-gentoo.rules
- insinto /lib/udev/rules.d
- doins "${T}"/40-gentoo.rules
-
- # maintainer note: by not letting the upstream build-sys create the .so
- # link, you also avoid a parallel make problem
- mv "${D}"/usr/share/man/man8/systemd-udevd{.service,}.8
-
- if ! [[ ${PV} = 9999* ]]; then
- insinto /usr/share/doc/${PF}/html/gudev
- doins "${S}"/docs/gudev/html/*
-
- insinto /usr/share/doc/${PF}/html/libudev
- doins "${S}"/docs/libudev/html/*
- fi
-}
-
-pkg_preinst() {
- local htmldir
- for htmldir in gudev libudev; do
- if [[ -d ${ROOT%/}/usr/share/gtk-doc/html/${htmldir} ]]; then
- rm -rf "${ROOT%/}"/usr/share/gtk-doc/html/${htmldir}
- fi
- if [[ -d ${D}/usr/share/doc/${PF}/html/${htmldir} ]]; then
- dosym ../../doc/${PF}/html/${htmldir} \
- /usr/share/gtk-doc/html/${htmldir}
- fi
- done
-}
-
-pkg_postinst() {
- mkdir -p "${ROOT%/}"/run
-
- # "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766
- # So try to remove it here (will only work if empty).
- rmdir "${ROOT%/}"/dev/loop 2>/dev/null
- if [[ -d ${ROOT%/}/dev/loop ]]; then
- ewarn "Please make sure your remove /dev/loop,"
- ewarn "else losetup may be confused when looking for unused devices."
- fi
-
- local fstab="${ROOT%/}"/etc/fstab dev path fstype rest
- while read -r dev path fstype rest; do
- if [[ ${path} == /dev && ${fstype} != devtmpfs ]]; then
- ewarn "You need to edit your /dev line in ${fstab} to have devtmpfs"
- ewarn "filesystem. Otherwise udev won't be able to boot."
- ewarn "See, https://bugs.gentoo.org/453186"
- fi
- done < "${fstab}"
-
- if [[ -d ${ROOT%/}/usr/lib/udev ]]; then
- ewarn
- ewarn "Please re-emerge all packages on your system which install"
- ewarn "rules and helpers in /usr/lib/udev. They should now be in"
- ewarn "/lib/udev."
- ewarn
- ewarn "One way to do this is to run the following command:"
- ewarn "emerge -av1 \$(qfile -q -S -C /usr/lib/udev)"
- ewarn "Note that qfile can be found in app-portage/portage-utils"
- fi
-
- local old_cd_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-cd.rules
- local old_net_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-net.rules
- for old_rules in "${old_cd_rules}" "${old_net_rules}"; do
- if [[ -f ${old_rules} ]]; then
- ewarn
- ewarn "File ${old_rules} is from old udev installation but if you still use it,"
- ewarn "rename it to something else starting with 70- to silence this deprecation"
- ewarn "warning."
- fi
- done
-
- elog
- elog "Starting from version >= 197 the new predictable network interface names are"
- elog "used by default, see:"
- elog "http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames"
- elog "http://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c"
- elog
- elog "Example command to get the information for the new interface name before booting"
- elog "(replace <ifname> with, for example, eth0):"
- elog "# udevadm test-builtin net_id /sys/class/net/<ifname> 2> /dev/null"
- elog
- elog "You can use either kernel parameter \"net.ifnames=0\", create empty"
- elog "file /etc/systemd/network/99-default.link, or symlink it to /dev/null"
- elog "to disable the feature."
-
- if has_version 'sys-apps/biosdevname'; then
- ewarn
- ewarn "You can replace the functionality of sys-apps/biosdevname which has been"
- ewarn "detected to be installed with the new predictable network interface names."
- fi
-
- ewarn
- ewarn "You need to restart udev as soon as possible to make the upgrade go"
- ewarn "into effect."
- ewarn "The method you use to do this depends on your init system."
- if has_version 'sys-apps/openrc'; then
- ewarn "For sys-apps/openrc users it is:"
- ewarn "# /etc/init.d/udev --nodeps restart"
- fi
-
- elog
- elog "For more information on udev on Gentoo, upgrading, writing udev rules, and"
- elog "fixing known issues visit:"
- elog "https://wiki.gentoo.org/wiki/Udev"
- elog "https://wiki.gentoo.org/wiki/Udev/upgrade"
-
- # If user has disabled 80-net-name-slot.rules using a empty file or a symlink to /dev/null,
- # do the same for 80-net-setup-link.rules to keep the old behavior
- local net_move=no
- local net_name_slot_sym=no
- local net_rules_path="${ROOT%/}"/etc/udev/rules.d
- local net_name_slot="${net_rules_path}"/80-net-name-slot.rules
- local net_setup_link="${net_rules_path}"/80-net-setup-link.rules
- if [[ ! -e ${net_setup_link} ]]; then
- [[ -f ${net_name_slot} && $(sed -e "/^#/d" -e "/^\W*$/d" ${net_name_slot} | wc -l) == 0 ]] && net_move=yes
- if [[ -L ${net_name_slot} && $(readlink ${net_name_slot}) == /dev/null ]]; then
- net_move=yes
- net_name_slot_sym=yes
- fi
- fi
- if [[ ${net_move} == yes ]]; then
- ebegin "Copying ${net_name_slot} to ${net_setup_link}"
-
- if [[ ${net_name_slot_sym} == yes ]]; then
- ln -nfs /dev/null "${net_setup_link}"
- else
- cp "${net_name_slot}" "${net_setup_link}"
- fi
- eend $?
- fi
-
- # http://cgit.freedesktop.org/systemd/systemd/commit/rules/50-udev-default.rules?id=3dff3e00e044e2d53c76fa842b9a4759d4a50e69
- # https://bugs.gentoo.org/246847
- # https://bugs.gentoo.org/514174
- enewgroup input
-
- # 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
- # http://cgit.freedesktop.org/systemd/systemd/commit/?id=1fab57c209035f7e66198343074e9cee06718bda
- [[ -z ${REPLACING_VERSIONS} ]] && udev_reload
- fi
-}
diff --git a/sys-fs/udev/udev-220-r3.ebuild b/sys-fs/udev/udev-220-r3.ebuild
deleted file mode 100644
index e311f19..0000000
--- a/sys-fs/udev/udev-220-r3.ebuild
+++ /dev/null
@@ -1,507 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit autotools bash-completion-r1 eutils linux-info multilib multilib-minimal toolchain-funcs udev user versionator
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="git://anongit.freedesktop.org/systemd/systemd"
- inherit git-2
- patchset=
-else
- patchset=4
- SRC_URI="http://www.freedesktop.org/software/systemd/systemd-${PV}.tar.xz"
- if [[ -n "${patchset}" ]]; then
- SRC_URI+="
- https://dev.gentoo.org/~ssuominen/${P}-patches-${patchset}.tar.xz
- https://dev.gentoo.org/~williamh/dist/${P}-patches-${patchset}.tar.xz"
- fi
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
-fi
-
-DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)"
-HOMEPAGE="http://www.freedesktop.org/wiki/Software/systemd"
-
-LICENSE="LGPL-2.1 MIT GPL-2"
-SLOT="0"
-IUSE="acl doc gudev introspection +kmod selinux static-libs"
-
-RESTRICT="test"
-
-COMMON_DEPEND=">=sys-apps/util-linux-2.20
- acl? ( sys-apps/acl )
- gudev? ( >=dev-libs/glib-2.34.3[${MULTILIB_USEDEP}] )
- introspection? ( >=dev-libs/gobject-introspection-1.38 )
- kmod? ( >=sys-apps/kmod-16 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
- !<sys-libs/glibc-2.11
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd
- abi_x86_32? (
- !<=app-emulation/emul-linux-x86-baselibs-20130224-r7
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
- )"
-# Force new make >= -r4 to skip some parallel build issues
-DEPEND="${COMMON_DEPEND}
- dev-util/gperf
- >=sys-apps/coreutils-8.16
- sys-libs/libcap
- virtual/os-headers
- virtual/pkgconfig
- >=sys-devel/make-3.82-r4
- >=sys-kernel/linux-headers-3.9
- doc? ( >=dev-util/gtk-doc-1.18 )"
-# Try with `emerge -C docbook-xml-dtd` to see the build failure without DTDs
-if [[ ${PV} = 9999* ]]; then
- DEPEND="${DEPEND}
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xml-dtd:4.5
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt"
-fi
-RDEPEND="${COMMON_DEPEND}
- !<sys-fs/lvm2-2.02.103
- !<sec-policy/selinux-base-2.20120725-r10
- gudev? ( !dev-libs/libgudev )"
-PDEPEND=">=sys-apps/hwids-20140304[udev]
- >=sys-fs/udev-init-scripts-26"
-
-S=${WORKDIR}/systemd-${PV}
-
-# The multilib-build.eclass doesn't handle situation where the installed headers
-# are different in ABIs. In this case, we install libgudev headers in native
-# ABI but not for non-native ABI.
-multilib_check_headers() { :; }
-
-check_default_rules() {
- # Make sure there are no sudden changes to upstream rules file
- # (more for my own needs than anything else ...)
- local udev_rules_md5=b8ad860dccae0ca51656b33c405ea2ca
- MD5=$(md5sum < "${S}"/rules/50-udev-default.rules)
- MD5=${MD5/ -/}
- if [[ ${MD5} != ${udev_rules_md5} ]]; then
- eerror "50-udev-default.rules has been updated, please validate!"
- eerror "md5sum: ${MD5}"
- die "50-udev-default.rules has been updated, please validate!"
- fi
-}
-
-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"
- 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() {
- if ! [[ ${PV} = 9999* ]]; then
- # secure_getenv() disable for non-glibc systems wrt bug #443030
- if ! [[ $(grep -r secure_getenv * | wc -l) -eq 28 ]]; then
- eerror "The line count for secure_getenv() failed, see bug #443030"
- die
- fi
- fi
-
- # backport some patches
- if [[ -n "${patchset}" ]]; then
- EPATCH_SUFFIX=patch EPATCH_FORCE=yes epatch
- fi
-
- cat <<-EOF > "${T}"/40-gentoo.rules
- # Gentoo specific floppy and usb groups
- SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
- SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
- EOF
-
- # change rules back to group uucp instead of dialout for now wrt #454556
- sed -i -e 's/GROUP="dialout"/GROUP="uucp"/' rules/*.rules || die
-
- # apply user patches
- epatch_user
-
- if [[ ! -e configure ]]; then
- if use doc; then
- gtkdocize --docdir docs || die "gtkdocize failed"
- else
- echo 'EXTRA_DIST =' > docs/gtk-doc.make
- fi
- eautoreconf
- else
- check_default_rules
- elibtoolize
- fi
-
- # Restore possibility of running --enable-static wrt #472608
- sed -i \
- -e '/--enable-static is not supported by systemd/s:as_fn_error:echo:' \
- configure || die
-
- if ! use elibc_glibc; then #443030
- echo '#define secure_getenv(x) NULL' >> config.h.in
- sed -i -e '/error.*secure_getenv/s:.*:#define secure_getenv(x) NULL:' src/shared/missing.h || die
- fi
- rm src/journal/audit_type-to-name.h src/udev/keyboard-keys-from-name.gperf \
- || die
-}
-
-multilib_src_configure() {
- tc-export CC #463846
- export cc_cv_CFLAGS__flto=no #502950
-
- # Keep sorted by ./configure --help and only pass --disable flags
- # when *required* to avoid external deps or unnecessary compile
- local econf_args
- econf_args=(
- ac_cv_search_cap_init=
- --libdir=/usr/$(get_libdir)
- --docdir=/usr/share/doc/${PF}
- $(multilib_native_use_enable static-libs static)
- --disable-nls
- $(multilib_native_use_enable doc gtk-doc)
- $(multilib_native_use_enable introspection)
- --disable-python-devel
- --disable-dbus
- $(multilib_native_use_enable kmod)
- --disable-xkbcommon
- --disable-seccomp
- $(multilib_native_use_enable selinux)
- --disable-xz
- --disable-lz4
- --disable-pam
- $(multilib_native_use_enable acl)
- --disable-gcrypt
- --disable-audit
- --disable-libcryptsetup
- --disable-qrencode
- --disable-microhttpd
- --disable-gnutls
- --disable-libcurl
- --disable-libidn
- --disable-quotacheck
- --disable-logind
- --disable-polkit
- --disable-terminal
- --disable-myhostname
- $(use_enable gudev)
- $(multilib_is_native_abi || echo "--disable-manpages")
- --enable-split-usr
- --with-html-dir=/usr/share/doc/${PF}/html
- --without-python
- --with-bashcompletiondir="$(get_bashcompdir)"
- --with-rootprefix=
- $(multilib_is_native_abi && echo "--with-rootlibdir=/$(get_libdir)")
- )
-
- if ! multilib_is_native_abi; then
- econf_args+=(
- MOUNT_{CFLAGS,LIBS}=' '
- )
- fi
-
- # Use pregenerated copies when possible wrt #480924
- [[ ${PV} = 9999* ]] || econf_args+=( --disable-manpages )
-
- ECONF_SOURCE=${S} econf "${econf_args[@]}"
-}
-
-multilib_src_compile() {
- echo 'BUILT_SOURCES: $(BUILT_SOURCES)' > "${T}"/Makefile.extra
- emake -f Makefile -f "${T}"/Makefile.extra BUILT_SOURCES
-
- # Most of the parallel build problems were solved by >=sys-devel/make-3.82-r4,
- # but not everything -- separate building of the binaries as a workaround,
- # which will force internal libraries required for the helpers to be built
- # early enough, like eg. libsystemd-shared.la
- if multilib_is_native_abi; then
- local lib_targets=( libudev.la )
- use gudev && lib_targets+=( libgudev-1.0.la )
- emake "${lib_targets[@]}"
-
- local exec_targets=(
- systemd-udevd
- udevadm
- )
- emake "${exec_targets[@]}"
-
- local helper_targets=(
- ata_id
- cdrom_id
- collect
- scsi_id
- v4l_id
- accelerometer
- mtd_probe
- )
- emake "${helper_targets[@]}"
-
- if [[ ${PV} = 9999* ]]; then
- local man_targets=(
- man/udev.conf.5
- man/systemd.link.5
- man/udev.7
- man/systemd-udevd.service.8
- man/udevadm.8
- )
- emake "${man_targets[@]}"
- fi
-
- if use doc; then
- emake -C docs/libudev
- use gudev && emake -C docs/gudev
- fi
- else
- local lib_targets=( libudev.la )
- use gudev && lib_targets+=( libgudev-1.0.la )
- emake "${lib_targets[@]}"
- fi
-}
-
-multilib_src_install() {
- if multilib_is_native_abi; then
- local lib_LTLIBRARIES="libudev.la" \
- pkgconfiglib_DATA="src/libudev/libudev.pc"
-
- local targets=(
- install-libLTLIBRARIES
- install-includeHEADERS
- install-libgudev_includeHEADERS
- install-rootbinPROGRAMS
- install-rootlibexecPROGRAMS
- install-udevlibexecPROGRAMS
- install-dist_udevconfDATA
- install-dist_udevrulesDATA
- install-girDATA
- install-pkgconfiglibDATA
- install-pkgconfigdataDATA
- install-typelibsDATA
- install-dist_docDATA
- libudev-install-hook
- install-directories-hook
- install-dist_bashcompletionDATA
- install-dist_networkDATA
- )
-
- if use gudev; then
- lib_LTLIBRARIES+=" libgudev-1.0.la"
- pkgconfiglib_DATA+=" src/gudev/gudev-1.0.pc"
- fi
-
- # add final values of variables:
- targets+=(
- rootlibexec_PROGRAMS=systemd-udevd
- rootbin_PROGRAMS=udevadm
- lib_LTLIBRARIES="${lib_LTLIBRARIES}"
- pkgconfiglib_DATA="${pkgconfiglib_DATA}"
- pkgconfigdata_DATA="src/udev/udev.pc"
- INSTALL_DIRS='$(sysconfdir)/udev/rules.d \
- $(sysconfdir)/udev/hwdb.d \
- $(sysconfdir)/systemd/network'
- dist_bashcompletion_DATA="shell-completion/bash/udevadm"
- dist_network_DATA="network/99-default.link"
- )
- emake -j1 DESTDIR="${D}" "${targets[@]}"
-
- if use doc; then
- emake -C docs/libudev DESTDIR="${D}" install
- use gudev && emake -C docs/gudev DESTDIR="${D}" install
- fi
-
- if [[ ${PV} = 9999* ]]; then
- doman man/{udev.conf.5,systemd.link.5,udev.7,systemd-udevd.service.8,udevadm.8}
- else
- doman "${S}"/man/{udev.conf.5,systemd.link.5,udev.7,systemd-udevd.service.8,udevadm.8}
- fi
- else
- local lib_LTLIBRARIES="libudev.la" \
- pkgconfiglib_DATA="src/libudev/libudev.pc" \
- include_HEADERS="src/libudev/libudev.h"
-
- local targets=(
- install-libLTLIBRARIES
- install-includeHEADERS
- install-pkgconfiglibDATA
- )
-
- if use gudev; then
- lib_LTLIBRARIES+=" libgudev-1.0.la"
- pkgconfiglib_DATA+=" src/gudev/gudev-1.0.pc"
- fi
-
- targets+=(
- lib_LTLIBRARIES="${lib_LTLIBRARIES}"
- pkgconfiglib_DATA="${pkgconfiglib_DATA}"
- include_HEADERS="${include_HEADERS}"
- )
- emake -j1 DESTDIR="${D}" "${targets[@]}"
- fi
-}
-
-multilib_src_install_all() {
- dodoc TODO
-
- prune_libtool_files --all
- rm -f \
- "${D}"/lib/udev/rules.d/99-systemd.rules \
- "${D}"/usr/share/doc/${PF}/{LICENSE.*,GVARIANT-SERIALIZATION,DIFFERENCES,PORTING-DBUS1,sd-shutdown.h}
-
- # see src_prepare() for content of 40-gentoo.rules
- insinto /lib/udev/rules.d
- doins "${T}"/40-gentoo.rules
-
- # maintainer note: by not letting the upstream build-sys create the .so
- # link, you also avoid a parallel make problem
- mv "${D}"/usr/share/man/man8/systemd-udevd{.service,}.8
-
- if ! [[ ${PV} = 9999* ]]; then
- insinto /usr/share/doc/${PF}/html/gudev
- doins "${S}"/docs/gudev/html/*
-
- insinto /usr/share/doc/${PF}/html/libudev
- doins "${S}"/docs/libudev/html/*
- fi
-}
-
-pkg_preinst() {
- local htmldir
- for htmldir in gudev libudev; do
- if [[ -d ${ROOT%/}/usr/share/gtk-doc/html/${htmldir} ]]; then
- rm -rf "${ROOT%/}"/usr/share/gtk-doc/html/${htmldir}
- fi
- if [[ -d ${D}/usr/share/doc/${PF}/html/${htmldir} ]]; then
- dosym ../../doc/${PF}/html/${htmldir} \
- /usr/share/gtk-doc/html/${htmldir}
- fi
- done
-}
-
-pkg_postinst() {
- mkdir -p "${ROOT%/}"/run
-
- # "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766
- # So try to remove it here (will only work if empty).
- rmdir "${ROOT%/}"/dev/loop 2>/dev/null
- if [[ -d ${ROOT%/}/dev/loop ]]; then
- ewarn "Please make sure your remove /dev/loop,"
- ewarn "else losetup may be confused when looking for unused devices."
- fi
-
- local fstab="${ROOT%/}"/etc/fstab dev path fstype rest
- while read -r dev path fstype rest; do
- if [[ ${path} == /dev && ${fstype} != devtmpfs ]]; then
- ewarn "You need to edit your /dev line in ${fstab} to have devtmpfs"
- ewarn "filesystem. Otherwise udev won't be able to boot."
- ewarn "See, https://bugs.gentoo.org/453186"
- fi
- done < "${fstab}"
-
- if [[ -d ${ROOT%/}/usr/lib/udev ]]; then
- ewarn
- ewarn "Please re-emerge all packages on your system which install"
- ewarn "rules and helpers in /usr/lib/udev. They should now be in"
- ewarn "/lib/udev."
- ewarn
- ewarn "One way to do this is to run the following command:"
- ewarn "emerge -av1 \$(qfile -q -S -C /usr/lib/udev)"
- ewarn "Note that qfile can be found in app-portage/portage-utils"
- fi
-
- local old_cd_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-cd.rules
- local old_net_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-net.rules
- for old_rules in "${old_cd_rules}" "${old_net_rules}"; do
- if [[ -f ${old_rules} ]]; then
- ewarn
- ewarn "File ${old_rules} is from old udev installation but if you still use it,"
- ewarn "rename it to something else starting with 70- to silence this deprecation"
- ewarn "warning."
- fi
- done
-
- elog
- elog "Starting from version >= 197 the new predictable network interface names are"
- elog "used by default, see:"
- elog "http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames"
- elog "http://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c"
- elog
- elog "Example command to get the information for the new interface name before booting"
- elog "(replace <ifname> with, for example, eth0):"
- elog "# udevadm test-builtin net_id /sys/class/net/<ifname> 2> /dev/null"
- elog
- elog "You can use either kernel parameter \"net.ifnames=0\", create empty"
- elog "file /etc/systemd/network/99-default.link, or symlink it to /dev/null"
- elog "to disable the feature."
-
- if has_version 'sys-apps/biosdevname'; then
- ewarn
- ewarn "You can replace the functionality of sys-apps/biosdevname which has been"
- ewarn "detected to be installed with the new predictable network interface names."
- fi
-
- ewarn
- ewarn "You need to restart udev as soon as possible to make the upgrade go"
- ewarn "into effect."
- ewarn "The method you use to do this depends on your init system."
- if has_version 'sys-apps/openrc'; then
- ewarn "For sys-apps/openrc users it is:"
- ewarn "# /etc/init.d/udev --nodeps restart"
- fi
-
- elog
- elog "For more information on udev on Gentoo, upgrading, writing udev rules, and"
- elog "fixing known issues visit:"
- elog "https://wiki.gentoo.org/wiki/Udev"
- elog "https://wiki.gentoo.org/wiki/Udev/upgrade"
-
- # If user has disabled 80-net-name-slot.rules using a empty file or a symlink to /dev/null,
- # do the same for 80-net-setup-link.rules to keep the old behavior
- local net_move=no
- local net_name_slot_sym=no
- local net_rules_path="${ROOT%/}"/etc/udev/rules.d
- local net_name_slot="${net_rules_path}"/80-net-name-slot.rules
- local net_setup_link="${net_rules_path}"/80-net-setup-link.rules
- if [[ ! -e ${net_setup_link} ]]; then
- [[ -f ${net_name_slot} && $(sed -e "/^#/d" -e "/^\W*$/d" ${net_name_slot} | wc -l) == 0 ]] && net_move=yes
- if [[ -L ${net_name_slot} && $(readlink ${net_name_slot}) == /dev/null ]]; then
- net_move=yes
- net_name_slot_sym=yes
- fi
- fi
- if [[ ${net_move} == yes ]]; then
- ebegin "Copying ${net_name_slot} to ${net_setup_link}"
-
- if [[ ${net_name_slot_sym} == yes ]]; then
- ln -nfs /dev/null "${net_setup_link}"
- else
- cp "${net_name_slot}" "${net_setup_link}"
- fi
- eend $?
- fi
-
- # http://cgit.freedesktop.org/systemd/systemd/commit/rules/50-udev-default.rules?id=3dff3e00e044e2d53c76fa842b9a4759d4a50e69
- # https://bugs.gentoo.org/246847
- # https://bugs.gentoo.org/514174
- enewgroup input
-
- # 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
- # http://cgit.freedesktop.org/systemd/systemd/commit/?id=1fab57c209035f7e66198343074e9cee06718bda
- [[ -z ${REPLACING_VERSIONS} ]] && udev_reload
- fi
-}
diff --git a/sys-fs/udev/udev-222.ebuild b/sys-fs/udev/udev-222.ebuild
deleted file mode 100644
index a7bd4d4..0000000
--- a/sys-fs/udev/udev-222.ebuild
+++ /dev/null
@@ -1,435 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit autotools bash-completion-r1 eutils linux-info multilib multilib-minimal toolchain-funcs udev user versionator
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="git://anongit.freedesktop.org/systemd/systemd"
- inherit git-r3
-else
- patchset=
- SRC_URI="https://github.com/systemd/systemd/archive/v${PV}.tar.gz -> systemd-${PV}.tar.gz"
- if [[ -n "${patchset}" ]]; then
- SRC_URI+="
- https://dev.gentoo.org/~ssuominen/${P}-patches-${patchset}.tar.xz
- https://dev.gentoo.org/~williamh/dist/${P}-patches-${patchset}.tar.xz"
- fi
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
-fi
-
-DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)"
-HOMEPAGE="http://www.freedesktop.org/wiki/Software/systemd"
-
-LICENSE="LGPL-2.1 MIT GPL-2"
-SLOT="0"
-IUSE="acl +kmod selinux static-libs"
-
-RESTRICT="test"
-
-COMMON_DEPEND=">=sys-apps/util-linux-2.24
- acl? ( sys-apps/acl )
- kmod? ( >=sys-apps/kmod-16 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
- !<sys-libs/glibc-2.11
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd
- abi_x86_32? (
- !<=app-emulation/emul-linux-x86-baselibs-20130224-r7
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
- )"
-# Force new make >= -r4 to skip some parallel build issues
-DEPEND="${COMMON_DEPEND}
- dev-util/gperf
- >=dev-util/intltool-0.50
- >=sys-apps/coreutils-8.16
- sys-libs/libcap
- virtual/os-headers
- virtual/pkgconfig
- >=sys-devel/make-3.82-r4
- >=sys-kernel/linux-headers-3.9
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xml-dtd:4.5
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt"
-RDEPEND="${COMMON_DEPEND}
- !<sys-fs/lvm2-2.02.103
- !<sec-policy/selinux-base-2.20120725-r10"
-PDEPEND=">=sys-apps/hwids-20140304[udev]
- >=sys-fs/udev-init-scripts-26"
-
-S=${WORKDIR}/systemd-${PV}
-
-# The multilib-build.eclass doesn't handle situation where the installed headers
-# are different in ABIs. In this case, we install libgudev headers in native
-# ABI but not for non-native ABI.
-multilib_check_headers() { :; }
-
-check_default_rules() {
- # Make sure there are no sudden changes to upstream rules file
- # (more for my own needs than anything else ...)
- local udev_rules_md5=b8ad860dccae0ca51656b33c405ea2ca
- MD5=$(md5sum < "${S}"/rules/50-udev-default.rules)
- MD5=${MD5/ -/}
- if [[ ${MD5} != ${udev_rules_md5} ]]; then
- eerror "50-udev-default.rules has been updated, please validate!"
- eerror "md5sum: ${MD5}"
- die "50-udev-default.rules has been updated, please validate!"
- fi
-}
-
-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"
- 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() {
- if ! [[ ${PV} = 9999* ]]; then
- # secure_getenv() disable for non-glibc systems wrt bug #443030
- if ! [[ $(grep -r secure_getenv * | wc -l) -eq 25 ]]; then
- eerror "The line count for secure_getenv() failed, see bug #443030"
- die
- fi
- fi
-
- # backport some patches
- if [[ -n "${patchset}" ]]; then
- EPATCH_SUFFIX=patch EPATCH_FORCE=yes epatch
- fi
-
- cat <<-EOF > "${T}"/40-gentoo.rules
- # Gentoo specific floppy and usb groups
- SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
- SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
- EOF
-
- # change rules back to group uucp instead of dialout for now wrt #454556
- sed -i -e 's/GROUP="dialout"/GROUP="uucp"/' rules/*.rules || die
-
- # stub out the am_path_libcrypt function
- echo 'AC_DEFUN([AM_PATH_LIBGCRYPT],[:])' > m4/gcrypt.m4
-
- # apply user patches
- epatch_user
-
- eautoreconf
-
- if ! [[ ${PV} = 9999* ]]; then
- check_default_rules
- fi
-
- # Restore possibility of running --enable-static wrt #472608
- sed -i \
- -e '/--enable-static is not supported by systemd/s:as_fn_error:echo:' \
- configure || die
-
- if ! use elibc_glibc; then #443030
- echo '#define secure_getenv(x) NULL' >> config.h.in
- sed -i -e '/error.*secure_getenv/s:.*:#define secure_getenv(x) NULL:' src/shared/missing.h || die
- fi
-}
-
-multilib_src_configure() {
- tc-export CC #463846
- export cc_cv_CFLAGS__flto=no #502950
- export cc_cv_CFLAGS__Werror_shadow=no #554454
-
- # Keep sorted by ./configure --help and only pass --disable flags
- # when *required* to avoid external deps or unnecessary compile
- local econf_args
- econf_args=(
- ac_cv_search_cap_init=
- --libdir=/usr/$(get_libdir)
- --docdir=/usr/share/doc/${PF}
- $(multilib_native_use_enable static-libs static)
- --disable-nls
- --disable-python-devel
- --disable-dbus
- $(multilib_native_use_enable kmod)
- --disable-xkbcommon
- --disable-seccomp
- $(multilib_native_use_enable selinux)
- --disable-xz
- --disable-lz4
- --disable-pam
- $(multilib_native_use_enable acl)
- --disable-gcrypt
- --disable-audit
- --disable-libcryptsetup
- --disable-qrencode
- --disable-microhttpd
- --disable-gnuefi
- --disable-gnutls
- --disable-libcurl
- --disable-libidn
- --disable-quotacheck
- --disable-logind
- --disable-polkit
- --disable-terminal
- --disable-myhostname
- $(multilib_is_native_abi || echo "--disable-manpages")
- --enable-split-usr
- --without-python
- --with-bashcompletiondir="$(get_bashcompdir)"
- --with-rootprefix=
- $(multilib_is_native_abi && echo "--with-rootlibdir=/$(get_libdir)")
- )
-
- if ! multilib_is_native_abi; then
- econf_args+=(
- MOUNT_{CFLAGS,LIBS}=' '
- )
- fi
-
- ECONF_SOURCE=${S} econf "${econf_args[@]}"
-}
-
-multilib_src_compile() {
- echo 'BUILT_SOURCES: $(BUILT_SOURCES)' > "${T}"/Makefile.extra
- emake -f Makefile -f "${T}"/Makefile.extra BUILT_SOURCES
-
- # Most of the parallel build problems were solved by >=sys-devel/make-3.82-r4,
- # but not everything -- separate building of the binaries as a workaround,
- # which will force internal libraries required for the helpers to be built
- # early enough, like eg. libsystemd-shared.la
- if multilib_is_native_abi; then
- local lib_targets=( libudev.la )
- emake "${lib_targets[@]}"
-
- local exec_targets=(
- systemd-udevd
- udevadm
- )
- emake "${exec_targets[@]}"
-
- local helper_targets=(
- ata_id
- cdrom_id
- collect
- scsi_id
- v4l_id
- mtd_probe
- )
- emake "${helper_targets[@]}"
-
- local man_targets=(
- man/udev.conf.5
- man/systemd.link.5
- man/udev.7
- man/systemd-udevd.service.8
- man/udevadm.8
- )
- emake "${man_targets[@]}"
- else
- local lib_targets=( libudev.la )
- emake "${lib_targets[@]}"
- fi
-}
-
-multilib_src_install() {
- if multilib_is_native_abi; then
- local lib_LTLIBRARIES="libudev.la" \
- pkgconfiglib_DATA="src/libudev/libudev.pc"
-
- local targets=(
- install-libLTLIBRARIES
- install-includeHEADERS
- install-rootbinPROGRAMS
- install-rootlibexecPROGRAMS
- install-udevlibexecPROGRAMS
- install-dist_udevconfDATA
- install-dist_udevrulesDATA
- install-pkgconfiglibDATA
- install-pkgconfigdataDATA
- install-dist_docDATA
- libudev-install-hook
- install-directories-hook
- install-dist_bashcompletionDATA
- install-dist_networkDATA
- )
-
- # add final values of variables:
- targets+=(
- rootlibexec_PROGRAMS=systemd-udevd
- rootbin_PROGRAMS=udevadm
- lib_LTLIBRARIES="${lib_LTLIBRARIES}"
- pkgconfiglib_DATA="${pkgconfiglib_DATA}"
- pkgconfigdata_DATA="src/udev/udev.pc"
- INSTALL_DIRS='$(sysconfdir)/udev/rules.d \
- $(sysconfdir)/udev/hwdb.d \
- $(sysconfdir)/systemd/network'
- dist_bashcompletion_DATA="shell-completion/bash/udevadm"
- dist_network_DATA="network/99-default.link"
- )
- emake -j1 DESTDIR="${D}" "${targets[@]}"
- doman man/{udev.conf.5,systemd.link.5,udev.7,systemd-udevd.service.8,udevadm.8}
- else
- local lib_LTLIBRARIES="libudev.la" \
- pkgconfiglib_DATA="src/libudev/libudev.pc" \
- include_HEADERS="src/libudev/libudev.h"
-
- local targets=(
- install-libLTLIBRARIES
- install-includeHEADERS
- install-pkgconfiglibDATA
- )
-
- targets+=(
- lib_LTLIBRARIES="${lib_LTLIBRARIES}"
- pkgconfiglib_DATA="${pkgconfiglib_DATA}"
- include_HEADERS="${include_HEADERS}"
- )
- emake -j1 DESTDIR="${D}" "${targets[@]}"
- fi
-}
-
-multilib_src_install_all() {
- dodoc TODO
-
- prune_libtool_files --all
- rm -f \
- "${D}"/lib/udev/rules.d/99-systemd.rules \
- "${D}"/usr/share/doc/${PF}/{LICENSE.*,GVARIANT-SERIALIZATION,DIFFERENCES,PORTING-DBUS1,sd-shutdown.h}
-
- # see src_prepare() for content of 40-gentoo.rules
- insinto /lib/udev/rules.d
- doins "${T}"/40-gentoo.rules
-
- # maintainer note: by not letting the upstream build-sys create the .so
- # link, you also avoid a parallel make problem
- mv "${D}"/usr/share/man/man8/systemd-udevd{.service,}.8
-}
-
-pkg_postinst() {
- mkdir -p "${ROOT%/}"/run
-
- # "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766
- # So try to remove it here (will only work if empty).
- rmdir "${ROOT%/}"/dev/loop 2>/dev/null
- if [[ -d ${ROOT%/}/dev/loop ]]; then
- ewarn "Please make sure your remove /dev/loop,"
- ewarn "else losetup may be confused when looking for unused devices."
- fi
-
- local fstab="${ROOT%/}"/etc/fstab dev path fstype rest
- while read -r dev path fstype rest; do
- if [[ ${path} == /dev && ${fstype} != devtmpfs ]]; then
- ewarn "You need to edit your /dev line in ${fstab} to have devtmpfs"
- ewarn "filesystem. Otherwise udev won't be able to boot."
- ewarn "See, https://bugs.gentoo.org/453186"
- fi
- done < "${fstab}"
-
- if [[ -d ${ROOT%/}/usr/lib/udev ]]; then
- ewarn
- ewarn "Please re-emerge all packages on your system which install"
- ewarn "rules and helpers in /usr/lib/udev. They should now be in"
- ewarn "/lib/udev."
- ewarn
- ewarn "One way to do this is to run the following command:"
- ewarn "emerge -av1 \$(qfile -q -S -C /usr/lib/udev)"
- ewarn "Note that qfile can be found in app-portage/portage-utils"
- fi
-
- local old_cd_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-cd.rules
- local old_net_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-net.rules
- for old_rules in "${old_cd_rules}" "${old_net_rules}"; do
- if [[ -f ${old_rules} ]]; then
- ewarn
- ewarn "File ${old_rules} is from old udev installation but if you still use it,"
- ewarn "rename it to something else starting with 70- to silence this deprecation"
- ewarn "warning."
- fi
- done
-
- elog
- elog "Starting from version >= 197 the new predictable network interface names are"
- elog "used by default, see:"
- elog "http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames"
- elog "http://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c"
- elog
- elog "Example command to get the information for the new interface name before booting"
- elog "(replace <ifname> with, for example, eth0):"
- elog "# udevadm test-builtin net_id /sys/class/net/<ifname> 2> /dev/null"
- elog
- elog "You can use either kernel parameter \"net.ifnames=0\", create empty"
- elog "file /etc/systemd/network/99-default.link, or symlink it to /dev/null"
- elog "to disable the feature."
-
- if has_version 'sys-apps/biosdevname'; then
- ewarn
- ewarn "You can replace the functionality of sys-apps/biosdevname which has been"
- ewarn "detected to be installed with the new predictable network interface names."
- fi
-
- ewarn
- ewarn "You need to restart udev as soon as possible to make the upgrade go"
- ewarn "into effect."
- ewarn "The method you use to do this depends on your init system."
- if has_version 'sys-apps/openrc'; then
- ewarn "For sys-apps/openrc users it is:"
- ewarn "# /etc/init.d/udev --nodeps restart"
- fi
-
- elog
- elog "For more information on udev on Gentoo, upgrading, writing udev rules, and"
- elog "fixing known issues visit:"
- elog "https://wiki.gentoo.org/wiki/Udev"
- elog "https://wiki.gentoo.org/wiki/Udev/upgrade"
-
- # If user has disabled 80-net-name-slot.rules using a empty file or a symlink to /dev/null,
- # do the same for 80-net-setup-link.rules to keep the old behavior
- local net_move=no
- local net_name_slot_sym=no
- local net_rules_path="${ROOT%/}"/etc/udev/rules.d
- local net_name_slot="${net_rules_path}"/80-net-name-slot.rules
- local net_setup_link="${net_rules_path}"/80-net-setup-link.rules
- if [[ ! -e ${net_setup_link} ]]; then
- [[ -f ${net_name_slot} && $(sed -e "/^#/d" -e "/^\W*$/d" ${net_name_slot} | wc -l) == 0 ]] && net_move=yes
- if [[ -L ${net_name_slot} && $(readlink ${net_name_slot}) == /dev/null ]]; then
- net_move=yes
- net_name_slot_sym=yes
- fi
- fi
- if [[ ${net_move} == yes ]]; then
- ebegin "Copying ${net_name_slot} to ${net_setup_link}"
-
- if [[ ${net_name_slot_sym} == yes ]]; then
- ln -nfs /dev/null "${net_setup_link}"
- else
- cp "${net_name_slot}" "${net_setup_link}"
- fi
- eend $?
- fi
-
- # http://cgit.freedesktop.org/systemd/systemd/commit/rules/50-udev-default.rules?id=3dff3e00e044e2d53c76fa842b9a4759d4a50e69
- # https://bugs.gentoo.org/246847
- # https://bugs.gentoo.org/514174
- enewgroup input
-
- # 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
- # http://cgit.freedesktop.org/systemd/systemd/commit/?id=1fab57c209035f7e66198343074e9cee06718bda
- [[ -z ${REPLACING_VERSIONS} ]] && udev_reload
- fi
-}
diff --git a/sys-fs/udev/udev-224-r1.ebuild b/sys-fs/udev/udev-224-r1.ebuild
deleted file mode 100644
index 997b853..0000000
--- a/sys-fs/udev/udev-224-r1.ebuild
+++ /dev/null
@@ -1,434 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit autotools bash-completion-r1 eutils linux-info multilib multilib-minimal toolchain-funcs udev user versionator
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="git://anongit.freedesktop.org/systemd/systemd"
- inherit git-r3
-else
- patchset=
- SRC_URI="https://github.com/systemd/systemd/archive/v${PV}.tar.gz -> systemd-${PV}.tar.gz"
- if [[ -n "${patchset}" ]]; then
- SRC_URI+="
- https://dev.gentoo.org/~ssuominen/${P}-patches-${patchset}.tar.xz
- https://dev.gentoo.org/~williamh/dist/${P}-patches-${patchset}.tar.xz"
- fi
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
-fi
-
-DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)"
-HOMEPAGE="http://www.freedesktop.org/wiki/Software/systemd"
-
-LICENSE="LGPL-2.1 MIT GPL-2"
-SLOT="0"
-IUSE="acl +kmod selinux static-libs"
-
-RESTRICT="test"
-
-COMMON_DEPEND=">=sys-apps/util-linux-2.24
- acl? ( sys-apps/acl )
- kmod? ( >=sys-apps/kmod-16 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
- !<sys-libs/glibc-2.11
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd
- abi_x86_32? (
- !<=app-emulation/emul-linux-x86-baselibs-20130224-r7
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
- )"
-# Force new make >= -r4 to skip some parallel build issues
-DEPEND="${COMMON_DEPEND}
- dev-util/gperf
- >=dev-util/intltool-0.50
- >=sys-apps/coreutils-8.16
- sys-libs/libcap
- virtual/os-headers
- virtual/pkgconfig
- >=sys-devel/make-3.82-r4
- >=sys-kernel/linux-headers-3.9
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xml-dtd:4.5
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt"
-RDEPEND="${COMMON_DEPEND}
- !<sys-fs/lvm2-2.02.103
- !<sec-policy/selinux-base-2.20120725-r10"
-PDEPEND=">=sys-apps/hwids-20140304[udev]
- >=sys-fs/udev-init-scripts-26"
-
-S=${WORKDIR}/systemd-${PV}
-
-# The multilib-build.eclass doesn't handle situation where the installed headers
-# are different in ABIs. In this case, we install libgudev headers in native
-# ABI but not for non-native ABI.
-multilib_check_headers() { :; }
-
-check_default_rules() {
- # Make sure there are no sudden changes to upstream rules file
- # (more for my own needs than anything else ...)
- local udev_rules_md5=b8ad860dccae0ca51656b33c405ea2ca
- MD5=$(md5sum < "${S}"/rules/50-udev-default.rules)
- MD5=${MD5/ -/}
- if [[ ${MD5} != ${udev_rules_md5} ]]; then
- eerror "50-udev-default.rules has been updated, please validate!"
- eerror "md5sum: ${MD5}"
- die "50-udev-default.rules has been updated, please validate!"
- fi
-}
-
-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"
- 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() {
- if ! [[ ${PV} = 9999* ]]; then
- # secure_getenv() disable for non-glibc systems wrt bug #443030
- if ! [[ $(grep -r secure_getenv * | wc -l) -eq 25 ]]; then
- eerror "The line count for secure_getenv() failed, see bug #443030"
- die
- fi
- fi
-
- # backport some patches
- if [[ -n "${patchset}" ]]; then
- EPATCH_SUFFIX=patch EPATCH_FORCE=yes epatch
- fi
-
- cat <<-EOF > "${T}"/40-gentoo.rules
- # Gentoo specific floppy and usb groups
- SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
- SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
- EOF
-
- # change rules back to group uucp instead of dialout for now wrt #454556
- sed -i -e 's/GROUP="dialout"/GROUP="uucp"/' rules/*.rules || die
-
- # stub out the am_path_libcrypt function
- echo 'AC_DEFUN([AM_PATH_LIBGCRYPT],[:])' > m4/gcrypt.m4
-
- # apply user patches
- epatch_user
-
- eautoreconf
-
- if ! [[ ${PV} = 9999* ]]; then
- check_default_rules
- fi
-
- # Restore possibility of running --enable-static wrt #472608
- sed -i \
- -e '/--enable-static is not supported by systemd/s:as_fn_error:echo:' \
- configure || die
-
- if ! use elibc_glibc; then #443030
- echo '#define secure_getenv(x) NULL' >> config.h.in
- sed -i -e '/error.*secure_getenv/s:.*:#define secure_getenv(x) NULL:' src/shared/missing.h || die
- fi
-}
-
-multilib_src_configure() {
- tc-export CC #463846
- export cc_cv_CFLAGS__flto=no #502950
- export cc_cv_CFLAGS__Werror_shadow=no #554454
-
- # Keep sorted by ./configure --help and only pass --disable flags
- # when *required* to avoid external deps or unnecessary compile
- local econf_args
- econf_args=(
- ac_cv_search_cap_init=
- --libdir=/usr/$(get_libdir)
- --docdir=/usr/share/doc/${PF}
- $(multilib_native_use_enable static-libs static)
- --disable-nls
- --disable-dbus
- $(multilib_native_use_enable kmod)
- --disable-xkbcommon
- --disable-seccomp
- $(multilib_native_use_enable selinux)
- --disable-xz
- --disable-lz4
- --disable-pam
- $(multilib_native_use_enable acl)
- --disable-gcrypt
- --disable-audit
- --disable-libcryptsetup
- --disable-qrencode
- --disable-microhttpd
- --disable-gnuefi
- --disable-gnutls
- --disable-libcurl
- --disable-libidn
- --disable-quotacheck
- --disable-logind
- --disable-polkit
- --disable-myhostname
- $(multilib_is_native_abi || echo "--disable-manpages")
- --enable-split-usr
- --without-python
- --with-bashcompletiondir="$(get_bashcompdir)"
- --with-rootprefix=
- $(multilib_is_native_abi && echo "--with-rootlibdir=/$(get_libdir)")
- --disable-elfutils
- )
-
- if ! multilib_is_native_abi; then
- econf_args+=(
- MOUNT_{CFLAGS,LIBS}=' '
- )
- fi
-
- ECONF_SOURCE=${S} econf "${econf_args[@]}"
-}
-
-multilib_src_compile() {
- echo 'BUILT_SOURCES: $(BUILT_SOURCES)' > "${T}"/Makefile.extra
- emake -f Makefile -f "${T}"/Makefile.extra BUILT_SOURCES
-
- # Most of the parallel build problems were solved by >=sys-devel/make-3.82-r4,
- # but not everything -- separate building of the binaries as a workaround,
- # which will force internal libraries required for the helpers to be built
- # early enough, like eg. libsystemd-shared.la
- if multilib_is_native_abi; then
- local lib_targets=( libudev.la )
- emake "${lib_targets[@]}"
-
- local exec_targets=(
- systemd-udevd
- udevadm
- )
- emake "${exec_targets[@]}"
-
- local helper_targets=(
- ata_id
- cdrom_id
- collect
- scsi_id
- v4l_id
- mtd_probe
- )
- emake "${helper_targets[@]}"
-
- local man_targets=(
- man/udev.conf.5
- man/systemd.link.5
- man/udev.7
- man/systemd-udevd.service.8
- man/udevadm.8
- )
- emake "${man_targets[@]}"
- else
- local lib_targets=( libudev.la )
- emake "${lib_targets[@]}"
- fi
-}
-
-multilib_src_install() {
- if multilib_is_native_abi; then
- local lib_LTLIBRARIES="libudev.la" \
- pkgconfiglib_DATA="src/libudev/libudev.pc"
-
- local targets=(
- install-libLTLIBRARIES
- install-includeHEADERS
- install-rootbinPROGRAMS
- install-rootlibexecPROGRAMS
- install-udevlibexecPROGRAMS
- install-dist_udevconfDATA
- install-dist_udevrulesDATA
- install-pkgconfiglibDATA
- install-pkgconfigdataDATA
- install-dist_docDATA
- libudev-install-hook
- install-directories-hook
- install-dist_bashcompletionDATA
- install-dist_networkDATA
- )
-
- # add final values of variables:
- targets+=(
- rootlibexec_PROGRAMS=systemd-udevd
- rootbin_PROGRAMS=udevadm
- lib_LTLIBRARIES="${lib_LTLIBRARIES}"
- pkgconfiglib_DATA="${pkgconfiglib_DATA}"
- pkgconfigdata_DATA="src/udev/udev.pc"
- INSTALL_DIRS='$(sysconfdir)/udev/rules.d \
- $(sysconfdir)/udev/hwdb.d \
- $(sysconfdir)/systemd/network'
- dist_bashcompletion_DATA="shell-completion/bash/udevadm"
- dist_network_DATA="network/99-default.link"
- )
- emake -j1 DESTDIR="${D}" "${targets[@]}"
- doman man/{udev.conf.5,systemd.link.5,udev.7,systemd-udevd.service.8,udevadm.8}
- else
- local lib_LTLIBRARIES="libudev.la" \
- pkgconfiglib_DATA="src/libudev/libudev.pc" \
- include_HEADERS="src/libudev/libudev.h"
-
- local targets=(
- install-libLTLIBRARIES
- install-includeHEADERS
- install-pkgconfiglibDATA
- )
-
- targets+=(
- lib_LTLIBRARIES="${lib_LTLIBRARIES}"
- pkgconfiglib_DATA="${pkgconfiglib_DATA}"
- include_HEADERS="${include_HEADERS}"
- )
- emake -j1 DESTDIR="${D}" "${targets[@]}"
- fi
-}
-
-multilib_src_install_all() {
- dodoc TODO
-
- prune_libtool_files --all
- rm -f \
- "${D}"/lib/udev/rules.d/99-systemd.rules \
- "${D}"/usr/share/doc/${PF}/{LICENSE.*,GVARIANT-SERIALIZATION,DIFFERENCES,PORTING-DBUS1,sd-shutdown.h}
-
- # see src_prepare() for content of 40-gentoo.rules
- insinto /lib/udev/rules.d
- doins "${T}"/40-gentoo.rules
-
- # maintainer note: by not letting the upstream build-sys create the .so
- # link, you also avoid a parallel make problem
- mv "${D}"/usr/share/man/man8/systemd-udevd{.service,}.8
-}
-
-pkg_postinst() {
- mkdir -p "${ROOT%/}"/run
-
- # "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766
- # So try to remove it here (will only work if empty).
- rmdir "${ROOT%/}"/dev/loop 2>/dev/null
- if [[ -d ${ROOT%/}/dev/loop ]]; then
- ewarn "Please make sure your remove /dev/loop,"
- ewarn "else losetup may be confused when looking for unused devices."
- fi
-
- local fstab="${ROOT%/}"/etc/fstab dev path fstype rest
- while read -r dev path fstype rest; do
- if [[ ${path} == /dev && ${fstype} != devtmpfs ]]; then
- ewarn "You need to edit your /dev line in ${fstab} to have devtmpfs"
- ewarn "filesystem. Otherwise udev won't be able to boot."
- ewarn "See, https://bugs.gentoo.org/453186"
- fi
- done < "${fstab}"
-
- if [[ -d ${ROOT%/}/usr/lib/udev ]]; then
- ewarn
- ewarn "Please re-emerge all packages on your system which install"
- ewarn "rules and helpers in /usr/lib/udev. They should now be in"
- ewarn "/lib/udev."
- ewarn
- ewarn "One way to do this is to run the following command:"
- ewarn "emerge -av1 \$(qfile -q -S -C /usr/lib/udev)"
- ewarn "Note that qfile can be found in app-portage/portage-utils"
- fi
-
- local old_cd_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-cd.rules
- local old_net_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-net.rules
- for old_rules in "${old_cd_rules}" "${old_net_rules}"; do
- if [[ -f ${old_rules} ]]; then
- ewarn
- ewarn "File ${old_rules} is from old udev installation but if you still use it,"
- ewarn "rename it to something else starting with 70- to silence this deprecation"
- ewarn "warning."
- fi
- done
-
- elog
- elog "Starting from version >= 197 the new predictable network interface names are"
- elog "used by default, see:"
- elog "http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames"
- elog "http://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c"
- elog
- elog "Example command to get the information for the new interface name before booting"
- elog "(replace <ifname> with, for example, eth0):"
- elog "# udevadm test-builtin net_id /sys/class/net/<ifname> 2> /dev/null"
- elog
- elog "You can use either kernel parameter \"net.ifnames=0\", create empty"
- elog "file /etc/systemd/network/99-default.link, or symlink it to /dev/null"
- elog "to disable the feature."
-
- if has_version 'sys-apps/biosdevname'; then
- ewarn
- ewarn "You can replace the functionality of sys-apps/biosdevname which has been"
- ewarn "detected to be installed with the new predictable network interface names."
- fi
-
- ewarn
- ewarn "You need to restart udev as soon as possible to make the upgrade go"
- ewarn "into effect."
- ewarn "The method you use to do this depends on your init system."
- if has_version 'sys-apps/openrc'; then
- ewarn "For sys-apps/openrc users it is:"
- ewarn "# /etc/init.d/udev --nodeps restart"
- fi
-
- elog
- elog "For more information on udev on Gentoo, upgrading, writing udev rules, and"
- elog "fixing known issues visit:"
- elog "https://wiki.gentoo.org/wiki/Udev"
- elog "https://wiki.gentoo.org/wiki/Udev/upgrade"
-
- # If user has disabled 80-net-name-slot.rules using a empty file or a symlink to /dev/null,
- # do the same for 80-net-setup-link.rules to keep the old behavior
- local net_move=no
- local net_name_slot_sym=no
- local net_rules_path="${ROOT%/}"/etc/udev/rules.d
- local net_name_slot="${net_rules_path}"/80-net-name-slot.rules
- local net_setup_link="${net_rules_path}"/80-net-setup-link.rules
- if [[ ! -e ${net_setup_link} ]]; then
- [[ -f ${net_name_slot} && $(sed -e "/^#/d" -e "/^\W*$/d" ${net_name_slot} | wc -l) == 0 ]] && net_move=yes
- if [[ -L ${net_name_slot} && $(readlink ${net_name_slot}) == /dev/null ]]; then
- net_move=yes
- net_name_slot_sym=yes
- fi
- fi
- if [[ ${net_move} == yes ]]; then
- ebegin "Copying ${net_name_slot} to ${net_setup_link}"
-
- if [[ ${net_name_slot_sym} == yes ]]; then
- ln -nfs /dev/null "${net_setup_link}"
- else
- cp "${net_name_slot}" "${net_setup_link}"
- fi
- eend $?
- fi
-
- # http://cgit.freedesktop.org/systemd/systemd/commit/rules/50-udev-default.rules?id=3dff3e00e044e2d53c76fa842b9a4759d4a50e69
- # https://bugs.gentoo.org/246847
- # https://bugs.gentoo.org/514174
- enewgroup input
-
- # 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
- # http://cgit.freedesktop.org/systemd/systemd/commit/?id=1fab57c209035f7e66198343074e9cee06718bda
- [[ -z ${REPLACING_VERSIONS} ]] && udev_reload
- fi
-}
diff --git a/sys-fs/udev/udev-224-r2.ebuild b/sys-fs/udev/udev-224-r2.ebuild
deleted file mode 100644
index 4332fe8..0000000
--- a/sys-fs/udev/udev-224-r2.ebuild
+++ /dev/null
@@ -1,435 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit autotools bash-completion-r1 eutils linux-info multilib multilib-minimal toolchain-funcs udev user versionator
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="git://anongit.freedesktop.org/systemd/systemd"
- inherit git-r3
-else
- patchset=
- SRC_URI="https://github.com/systemd/systemd/archive/v${PV}.tar.gz -> systemd-${PV}.tar.gz"
- if [[ -n "${patchset}" ]]; then
- SRC_URI+="
- https://dev.gentoo.org/~ssuominen/${P}-patches-${patchset}.tar.xz
- https://dev.gentoo.org/~williamh/dist/${P}-patches-${patchset}.tar.xz"
- fi
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
-fi
-
-DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)"
-HOMEPAGE="http://www.freedesktop.org/wiki/Software/systemd"
-
-LICENSE="LGPL-2.1 MIT GPL-2"
-SLOT="0"
-IUSE="acl +kmod selinux static-libs"
-
-RESTRICT="test"
-
-COMMON_DEPEND=">=sys-apps/util-linux-2.24
- sys-libs/libcap[${MULTILIB_USEDEP}]
- acl? ( sys-apps/acl )
- kmod? ( >=sys-apps/kmod-16 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
- !<sys-libs/glibc-2.11
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd
- abi_x86_32? (
- !<=app-emulation/emul-linux-x86-baselibs-20130224-r7
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
- )"
-# Force new make >= -r4 to skip some parallel build issues
-DEPEND="${COMMON_DEPEND}
- dev-util/gperf
- >=dev-util/intltool-0.50
- >=sys-apps/coreutils-8.16
- virtual/os-headers
- virtual/pkgconfig
- >=sys-devel/make-3.82-r4
- >=sys-kernel/linux-headers-3.9
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xml-dtd:4.5
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt"
-RDEPEND="${COMMON_DEPEND}
- !<sys-fs/lvm2-2.02.103
- !<sec-policy/selinux-base-2.20120725-r10"
-PDEPEND=">=sys-apps/hwids-20140304[udev]
- >=sys-fs/udev-init-scripts-26"
-
-S=${WORKDIR}/systemd-${PV}
-
-# The multilib-build.eclass doesn't handle situation where the installed headers
-# are different in ABIs. In this case, we install libgudev headers in native
-# ABI but not for non-native ABI.
-multilib_check_headers() { :; }
-
-check_default_rules() {
- # Make sure there are no sudden changes to upstream rules file
- # (more for my own needs than anything else ...)
- local udev_rules_md5=b8ad860dccae0ca51656b33c405ea2ca
- MD5=$(md5sum < "${S}"/rules/50-udev-default.rules)
- MD5=${MD5/ -/}
- if [[ ${MD5} != ${udev_rules_md5} ]]; then
- eerror "50-udev-default.rules has been updated, please validate!"
- eerror "md5sum: ${MD5}"
- die "50-udev-default.rules has been updated, please validate!"
- fi
-}
-
-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"
- 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() {
- if ! [[ ${PV} = 9999* ]]; then
- # secure_getenv() disable for non-glibc systems wrt bug #443030
- if ! [[ $(grep -r secure_getenv * | wc -l) -eq 25 ]]; then
- eerror "The line count for secure_getenv() failed, see bug #443030"
- die
- fi
- fi
-
- # backport some patches
- if [[ -n "${patchset}" ]]; then
- EPATCH_SUFFIX=patch EPATCH_FORCE=yes epatch
- fi
-
- epatch "${FILESDIR}/224-0002-Use-getxpid-syscall-on-alpha-for-raw_getpid.patch"
-
- cat <<-EOF > "${T}"/40-gentoo.rules
- # Gentoo specific floppy and usb groups
- SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
- SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
- EOF
-
- # change rules back to group uucp instead of dialout for now wrt #454556
- sed -i -e 's/GROUP="dialout"/GROUP="uucp"/' rules/*.rules || die
-
- # stub out the am_path_libcrypt function
- echo 'AC_DEFUN([AM_PATH_LIBGCRYPT],[:])' > m4/gcrypt.m4
-
- # apply user patches
- epatch_user
-
- eautoreconf
-
- if ! [[ ${PV} = 9999* ]]; then
- check_default_rules
- fi
-
- # Restore possibility of running --enable-static wrt #472608
- sed -i \
- -e '/--enable-static is not supported by systemd/s:as_fn_error:echo:' \
- configure || die
-
- if ! use elibc_glibc; then #443030
- echo '#define secure_getenv(x) NULL' >> config.h.in
- sed -i -e '/error.*secure_getenv/s:.*:#define secure_getenv(x) NULL:' src/shared/missing.h || die
- fi
-}
-
-multilib_src_configure() {
- tc-export CC #463846
- export cc_cv_CFLAGS__flto=no #502950
- export cc_cv_CFLAGS__Werror_shadow=no #554454
-
- # Keep sorted by ./configure --help and only pass --disable flags
- # when *required* to avoid external deps or unnecessary compile
- local econf_args
- econf_args=(
- --libdir=/usr/$(get_libdir)
- --docdir=/usr/share/doc/${PF}
- $(multilib_native_use_enable static-libs static)
- --disable-nls
- --disable-dbus
- $(multilib_native_use_enable kmod)
- --disable-xkbcommon
- --disable-seccomp
- $(multilib_native_use_enable selinux)
- --disable-xz
- --disable-lz4
- --disable-pam
- $(multilib_native_use_enable acl)
- --disable-gcrypt
- --disable-audit
- --disable-libcryptsetup
- --disable-qrencode
- --disable-microhttpd
- --disable-gnuefi
- --disable-gnutls
- --disable-libcurl
- --disable-libidn
- --disable-quotacheck
- --disable-logind
- --disable-polkit
- --disable-myhostname
- $(multilib_is_native_abi || echo "--disable-manpages")
- --enable-split-usr
- --without-python
- --with-bashcompletiondir="$(get_bashcompdir)"
- --with-rootprefix=
- $(multilib_is_native_abi && echo "--with-rootlibdir=/$(get_libdir)")
- --disable-elfutils
- )
-
- if ! multilib_is_native_abi; then
- econf_args+=(
- MOUNT_{CFLAGS,LIBS}=' '
- )
- fi
-
- ECONF_SOURCE=${S} econf "${econf_args[@]}"
-}
-
-multilib_src_compile() {
- echo 'BUILT_SOURCES: $(BUILT_SOURCES)' > "${T}"/Makefile.extra
- emake -f Makefile -f "${T}"/Makefile.extra BUILT_SOURCES
-
- # Most of the parallel build problems were solved by >=sys-devel/make-3.82-r4,
- # but not everything -- separate building of the binaries as a workaround,
- # which will force internal libraries required for the helpers to be built
- # early enough, like eg. libsystemd-shared.la
- if multilib_is_native_abi; then
- local lib_targets=( libudev.la )
- emake "${lib_targets[@]}"
-
- local exec_targets=(
- systemd-udevd
- udevadm
- )
- emake "${exec_targets[@]}"
-
- local helper_targets=(
- ata_id
- cdrom_id
- collect
- scsi_id
- v4l_id
- mtd_probe
- )
- emake "${helper_targets[@]}"
-
- local man_targets=(
- man/udev.conf.5
- man/systemd.link.5
- man/udev.7
- man/systemd-udevd.service.8
- man/udevadm.8
- )
- emake "${man_targets[@]}"
- else
- local lib_targets=( libudev.la )
- emake "${lib_targets[@]}"
- fi
-}
-
-multilib_src_install() {
- if multilib_is_native_abi; then
- local lib_LTLIBRARIES="libudev.la" \
- pkgconfiglib_DATA="src/libudev/libudev.pc"
-
- local targets=(
- install-libLTLIBRARIES
- install-includeHEADERS
- install-rootbinPROGRAMS
- install-rootlibexecPROGRAMS
- install-udevlibexecPROGRAMS
- install-dist_udevconfDATA
- install-dist_udevrulesDATA
- install-pkgconfiglibDATA
- install-pkgconfigdataDATA
- install-dist_docDATA
- libudev-install-hook
- install-directories-hook
- install-dist_bashcompletionDATA
- install-dist_networkDATA
- )
-
- # add final values of variables:
- targets+=(
- rootlibexec_PROGRAMS=systemd-udevd
- rootbin_PROGRAMS=udevadm
- lib_LTLIBRARIES="${lib_LTLIBRARIES}"
- pkgconfiglib_DATA="${pkgconfiglib_DATA}"
- pkgconfigdata_DATA="src/udev/udev.pc"
- INSTALL_DIRS='$(sysconfdir)/udev/rules.d \
- $(sysconfdir)/udev/hwdb.d \
- $(sysconfdir)/systemd/network'
- dist_bashcompletion_DATA="shell-completion/bash/udevadm"
- dist_network_DATA="network/99-default.link"
- )
- emake -j1 DESTDIR="${D}" "${targets[@]}"
- doman man/{udev.conf.5,systemd.link.5,udev.7,systemd-udevd.service.8,udevadm.8}
- else
- local lib_LTLIBRARIES="libudev.la" \
- pkgconfiglib_DATA="src/libudev/libudev.pc" \
- include_HEADERS="src/libudev/libudev.h"
-
- local targets=(
- install-libLTLIBRARIES
- install-includeHEADERS
- install-pkgconfiglibDATA
- )
-
- targets+=(
- lib_LTLIBRARIES="${lib_LTLIBRARIES}"
- pkgconfiglib_DATA="${pkgconfiglib_DATA}"
- include_HEADERS="${include_HEADERS}"
- )
- emake -j1 DESTDIR="${D}" "${targets[@]}"
- fi
-}
-
-multilib_src_install_all() {
- dodoc TODO
-
- prune_libtool_files --all
- rm -f \
- "${D}"/lib/udev/rules.d/99-systemd.rules \
- "${D}"/usr/share/doc/${PF}/{LICENSE.*,GVARIANT-SERIALIZATION,DIFFERENCES,PORTING-DBUS1,sd-shutdown.h}
-
- # see src_prepare() for content of 40-gentoo.rules
- insinto /lib/udev/rules.d
- doins "${T}"/40-gentoo.rules
-
- # maintainer note: by not letting the upstream build-sys create the .so
- # link, you also avoid a parallel make problem
- mv "${D}"/usr/share/man/man8/systemd-udevd{.service,}.8
-}
-
-pkg_postinst() {
- mkdir -p "${ROOT%/}"/run
-
- # "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766
- # So try to remove it here (will only work if empty).
- rmdir "${ROOT%/}"/dev/loop 2>/dev/null
- if [[ -d ${ROOT%/}/dev/loop ]]; then
- ewarn "Please make sure your remove /dev/loop,"
- ewarn "else losetup may be confused when looking for unused devices."
- fi
-
- local fstab="${ROOT%/}"/etc/fstab dev path fstype rest
- while read -r dev path fstype rest; do
- if [[ ${path} == /dev && ${fstype} != devtmpfs ]]; then
- ewarn "You need to edit your /dev line in ${fstab} to have devtmpfs"
- ewarn "filesystem. Otherwise udev won't be able to boot."
- ewarn "See, https://bugs.gentoo.org/453186"
- fi
- done < "${fstab}"
-
- if [[ -d ${ROOT%/}/usr/lib/udev ]]; then
- ewarn
- ewarn "Please re-emerge all packages on your system which install"
- ewarn "rules and helpers in /usr/lib/udev. They should now be in"
- ewarn "/lib/udev."
- ewarn
- ewarn "One way to do this is to run the following command:"
- ewarn "emerge -av1 \$(qfile -q -S -C /usr/lib/udev)"
- ewarn "Note that qfile can be found in app-portage/portage-utils"
- fi
-
- local old_cd_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-cd.rules
- local old_net_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-net.rules
- for old_rules in "${old_cd_rules}" "${old_net_rules}"; do
- if [[ -f ${old_rules} ]]; then
- ewarn
- ewarn "File ${old_rules} is from old udev installation but if you still use it,"
- ewarn "rename it to something else starting with 70- to silence this deprecation"
- ewarn "warning."
- fi
- done
-
- elog
- elog "Starting from version >= 197 the new predictable network interface names are"
- elog "used by default, see:"
- elog "http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames"
- elog "http://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c"
- elog
- elog "Example command to get the information for the new interface name before booting"
- elog "(replace <ifname> with, for example, eth0):"
- elog "# udevadm test-builtin net_id /sys/class/net/<ifname> 2> /dev/null"
- elog
- elog "You can use either kernel parameter \"net.ifnames=0\", create empty"
- elog "file /etc/systemd/network/99-default.link, or symlink it to /dev/null"
- elog "to disable the feature."
-
- if has_version 'sys-apps/biosdevname'; then
- ewarn
- ewarn "You can replace the functionality of sys-apps/biosdevname which has been"
- ewarn "detected to be installed with the new predictable network interface names."
- fi
-
- ewarn
- ewarn "You need to restart udev as soon as possible to make the upgrade go"
- ewarn "into effect."
- ewarn "The method you use to do this depends on your init system."
- if has_version 'sys-apps/openrc'; then
- ewarn "For sys-apps/openrc users it is:"
- ewarn "# /etc/init.d/udev --nodeps restart"
- fi
-
- elog
- elog "For more information on udev on Gentoo, upgrading, writing udev rules, and"
- elog "fixing known issues visit:"
- elog "https://wiki.gentoo.org/wiki/Udev"
- elog "https://wiki.gentoo.org/wiki/Udev/upgrade"
-
- # If user has disabled 80-net-name-slot.rules using a empty file or a symlink to /dev/null,
- # do the same for 80-net-setup-link.rules to keep the old behavior
- local net_move=no
- local net_name_slot_sym=no
- local net_rules_path="${ROOT%/}"/etc/udev/rules.d
- local net_name_slot="${net_rules_path}"/80-net-name-slot.rules
- local net_setup_link="${net_rules_path}"/80-net-setup-link.rules
- if [[ ! -e ${net_setup_link} ]]; then
- [[ -f ${net_name_slot} && $(sed -e "/^#/d" -e "/^\W*$/d" ${net_name_slot} | wc -l) == 0 ]] && net_move=yes
- if [[ -L ${net_name_slot} && $(readlink ${net_name_slot}) == /dev/null ]]; then
- net_move=yes
- net_name_slot_sym=yes
- fi
- fi
- if [[ ${net_move} == yes ]]; then
- ebegin "Copying ${net_name_slot} to ${net_setup_link}"
-
- if [[ ${net_name_slot_sym} == yes ]]; then
- ln -nfs /dev/null "${net_setup_link}"
- else
- cp "${net_name_slot}" "${net_setup_link}"
- fi
- eend $?
- fi
-
- # http://cgit.freedesktop.org/systemd/systemd/commit/rules/50-udev-default.rules?id=3dff3e00e044e2d53c76fa842b9a4759d4a50e69
- # https://bugs.gentoo.org/246847
- # https://bugs.gentoo.org/514174
- enewgroup input
-
- # 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
- # http://cgit.freedesktop.org/systemd/systemd/commit/?id=1fab57c209035f7e66198343074e9cee06718bda
- [[ -z ${REPLACING_VERSIONS} ]] && udev_reload
- fi
-}
diff --git a/sys-fs/udev/udev-224.ebuild b/sys-fs/udev/udev-224.ebuild
deleted file mode 100644
index 1703606..0000000
--- a/sys-fs/udev/udev-224.ebuild
+++ /dev/null
@@ -1,433 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit autotools bash-completion-r1 eutils linux-info multilib multilib-minimal toolchain-funcs udev user versionator
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="git://anongit.freedesktop.org/systemd/systemd"
- inherit git-r3
-else
- patchset=
- SRC_URI="https://github.com/systemd/systemd/archive/v${PV}.tar.gz -> systemd-${PV}.tar.gz"
- if [[ -n "${patchset}" ]]; then
- SRC_URI+="
- https://dev.gentoo.org/~ssuominen/${P}-patches-${patchset}.tar.xz
- https://dev.gentoo.org/~williamh/dist/${P}-patches-${patchset}.tar.xz"
- fi
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
-fi
-
-DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)"
-HOMEPAGE="http://www.freedesktop.org/wiki/Software/systemd"
-
-LICENSE="LGPL-2.1 MIT GPL-2"
-SLOT="0"
-IUSE="acl +kmod selinux static-libs"
-
-RESTRICT="test"
-
-COMMON_DEPEND=">=sys-apps/util-linux-2.24
- acl? ( sys-apps/acl )
- kmod? ( >=sys-apps/kmod-16 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
- !<sys-libs/glibc-2.11
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd
- abi_x86_32? (
- !<=app-emulation/emul-linux-x86-baselibs-20130224-r7
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
- )"
-# Force new make >= -r4 to skip some parallel build issues
-DEPEND="${COMMON_DEPEND}
- dev-util/gperf
- >=dev-util/intltool-0.50
- >=sys-apps/coreutils-8.16
- sys-libs/libcap
- virtual/os-headers
- virtual/pkgconfig
- >=sys-devel/make-3.82-r4
- >=sys-kernel/linux-headers-3.9
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xml-dtd:4.5
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt"
-RDEPEND="${COMMON_DEPEND}
- !<sys-fs/lvm2-2.02.103
- !<sec-policy/selinux-base-2.20120725-r10"
-PDEPEND=">=sys-apps/hwids-20140304[udev]
- >=sys-fs/udev-init-scripts-26"
-
-S=${WORKDIR}/systemd-${PV}
-
-# The multilib-build.eclass doesn't handle situation where the installed headers
-# are different in ABIs. In this case, we install libgudev headers in native
-# ABI but not for non-native ABI.
-multilib_check_headers() { :; }
-
-check_default_rules() {
- # Make sure there are no sudden changes to upstream rules file
- # (more for my own needs than anything else ...)
- local udev_rules_md5=b8ad860dccae0ca51656b33c405ea2ca
- MD5=$(md5sum < "${S}"/rules/50-udev-default.rules)
- MD5=${MD5/ -/}
- if [[ ${MD5} != ${udev_rules_md5} ]]; then
- eerror "50-udev-default.rules has been updated, please validate!"
- eerror "md5sum: ${MD5}"
- die "50-udev-default.rules has been updated, please validate!"
- fi
-}
-
-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"
- 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() {
- if ! [[ ${PV} = 9999* ]]; then
- # secure_getenv() disable for non-glibc systems wrt bug #443030
- if ! [[ $(grep -r secure_getenv * | wc -l) -eq 25 ]]; then
- eerror "The line count for secure_getenv() failed, see bug #443030"
- die
- fi
- fi
-
- # backport some patches
- if [[ -n "${patchset}" ]]; then
- EPATCH_SUFFIX=patch EPATCH_FORCE=yes epatch
- fi
-
- cat <<-EOF > "${T}"/40-gentoo.rules
- # Gentoo specific floppy and usb groups
- SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
- SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
- EOF
-
- # change rules back to group uucp instead of dialout for now wrt #454556
- sed -i -e 's/GROUP="dialout"/GROUP="uucp"/' rules/*.rules || die
-
- # stub out the am_path_libcrypt function
- echo 'AC_DEFUN([AM_PATH_LIBGCRYPT],[:])' > m4/gcrypt.m4
-
- # apply user patches
- epatch_user
-
- eautoreconf
-
- if ! [[ ${PV} = 9999* ]]; then
- check_default_rules
- fi
-
- # Restore possibility of running --enable-static wrt #472608
- sed -i \
- -e '/--enable-static is not supported by systemd/s:as_fn_error:echo:' \
- configure || die
-
- if ! use elibc_glibc; then #443030
- echo '#define secure_getenv(x) NULL' >> config.h.in
- sed -i -e '/error.*secure_getenv/s:.*:#define secure_getenv(x) NULL:' src/shared/missing.h || die
- fi
-}
-
-multilib_src_configure() {
- tc-export CC #463846
- export cc_cv_CFLAGS__flto=no #502950
- export cc_cv_CFLAGS__Werror_shadow=no #554454
-
- # Keep sorted by ./configure --help and only pass --disable flags
- # when *required* to avoid external deps or unnecessary compile
- local econf_args
- econf_args=(
- ac_cv_search_cap_init=
- --libdir=/usr/$(get_libdir)
- --docdir=/usr/share/doc/${PF}
- $(multilib_native_use_enable static-libs static)
- --disable-nls
- --disable-dbus
- $(multilib_native_use_enable kmod)
- --disable-xkbcommon
- --disable-seccomp
- $(multilib_native_use_enable selinux)
- --disable-xz
- --disable-lz4
- --disable-pam
- $(multilib_native_use_enable acl)
- --disable-gcrypt
- --disable-audit
- --disable-libcryptsetup
- --disable-qrencode
- --disable-microhttpd
- --disable-gnuefi
- --disable-gnutls
- --disable-libcurl
- --disable-libidn
- --disable-quotacheck
- --disable-logind
- --disable-polkit
- --disable-myhostname
- $(multilib_is_native_abi || echo "--disable-manpages")
- --enable-split-usr
- --without-python
- --with-bashcompletiondir="$(get_bashcompdir)"
- --with-rootprefix=
- $(multilib_is_native_abi && echo "--with-rootlibdir=/$(get_libdir)")
- )
-
- if ! multilib_is_native_abi; then
- econf_args+=(
- MOUNT_{CFLAGS,LIBS}=' '
- )
- fi
-
- ECONF_SOURCE=${S} econf "${econf_args[@]}"
-}
-
-multilib_src_compile() {
- echo 'BUILT_SOURCES: $(BUILT_SOURCES)' > "${T}"/Makefile.extra
- emake -f Makefile -f "${T}"/Makefile.extra BUILT_SOURCES
-
- # Most of the parallel build problems were solved by >=sys-devel/make-3.82-r4,
- # but not everything -- separate building of the binaries as a workaround,
- # which will force internal libraries required for the helpers to be built
- # early enough, like eg. libsystemd-shared.la
- if multilib_is_native_abi; then
- local lib_targets=( libudev.la )
- emake "${lib_targets[@]}"
-
- local exec_targets=(
- systemd-udevd
- udevadm
- )
- emake "${exec_targets[@]}"
-
- local helper_targets=(
- ata_id
- cdrom_id
- collect
- scsi_id
- v4l_id
- mtd_probe
- )
- emake "${helper_targets[@]}"
-
- local man_targets=(
- man/udev.conf.5
- man/systemd.link.5
- man/udev.7
- man/systemd-udevd.service.8
- man/udevadm.8
- )
- emake "${man_targets[@]}"
- else
- local lib_targets=( libudev.la )
- emake "${lib_targets[@]}"
- fi
-}
-
-multilib_src_install() {
- if multilib_is_native_abi; then
- local lib_LTLIBRARIES="libudev.la" \
- pkgconfiglib_DATA="src/libudev/libudev.pc"
-
- local targets=(
- install-libLTLIBRARIES
- install-includeHEADERS
- install-rootbinPROGRAMS
- install-rootlibexecPROGRAMS
- install-udevlibexecPROGRAMS
- install-dist_udevconfDATA
- install-dist_udevrulesDATA
- install-pkgconfiglibDATA
- install-pkgconfigdataDATA
- install-dist_docDATA
- libudev-install-hook
- install-directories-hook
- install-dist_bashcompletionDATA
- install-dist_networkDATA
- )
-
- # add final values of variables:
- targets+=(
- rootlibexec_PROGRAMS=systemd-udevd
- rootbin_PROGRAMS=udevadm
- lib_LTLIBRARIES="${lib_LTLIBRARIES}"
- pkgconfiglib_DATA="${pkgconfiglib_DATA}"
- pkgconfigdata_DATA="src/udev/udev.pc"
- INSTALL_DIRS='$(sysconfdir)/udev/rules.d \
- $(sysconfdir)/udev/hwdb.d \
- $(sysconfdir)/systemd/network'
- dist_bashcompletion_DATA="shell-completion/bash/udevadm"
- dist_network_DATA="network/99-default.link"
- )
- emake -j1 DESTDIR="${D}" "${targets[@]}"
- doman man/{udev.conf.5,systemd.link.5,udev.7,systemd-udevd.service.8,udevadm.8}
- else
- local lib_LTLIBRARIES="libudev.la" \
- pkgconfiglib_DATA="src/libudev/libudev.pc" \
- include_HEADERS="src/libudev/libudev.h"
-
- local targets=(
- install-libLTLIBRARIES
- install-includeHEADERS
- install-pkgconfiglibDATA
- )
-
- targets+=(
- lib_LTLIBRARIES="${lib_LTLIBRARIES}"
- pkgconfiglib_DATA="${pkgconfiglib_DATA}"
- include_HEADERS="${include_HEADERS}"
- )
- emake -j1 DESTDIR="${D}" "${targets[@]}"
- fi
-}
-
-multilib_src_install_all() {
- dodoc TODO
-
- prune_libtool_files --all
- rm -f \
- "${D}"/lib/udev/rules.d/99-systemd.rules \
- "${D}"/usr/share/doc/${PF}/{LICENSE.*,GVARIANT-SERIALIZATION,DIFFERENCES,PORTING-DBUS1,sd-shutdown.h}
-
- # see src_prepare() for content of 40-gentoo.rules
- insinto /lib/udev/rules.d
- doins "${T}"/40-gentoo.rules
-
- # maintainer note: by not letting the upstream build-sys create the .so
- # link, you also avoid a parallel make problem
- mv "${D}"/usr/share/man/man8/systemd-udevd{.service,}.8
-}
-
-pkg_postinst() {
- mkdir -p "${ROOT%/}"/run
-
- # "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766
- # So try to remove it here (will only work if empty).
- rmdir "${ROOT%/}"/dev/loop 2>/dev/null
- if [[ -d ${ROOT%/}/dev/loop ]]; then
- ewarn "Please make sure your remove /dev/loop,"
- ewarn "else losetup may be confused when looking for unused devices."
- fi
-
- local fstab="${ROOT%/}"/etc/fstab dev path fstype rest
- while read -r dev path fstype rest; do
- if [[ ${path} == /dev && ${fstype} != devtmpfs ]]; then
- ewarn "You need to edit your /dev line in ${fstab} to have devtmpfs"
- ewarn "filesystem. Otherwise udev won't be able to boot."
- ewarn "See, https://bugs.gentoo.org/453186"
- fi
- done < "${fstab}"
-
- if [[ -d ${ROOT%/}/usr/lib/udev ]]; then
- ewarn
- ewarn "Please re-emerge all packages on your system which install"
- ewarn "rules and helpers in /usr/lib/udev. They should now be in"
- ewarn "/lib/udev."
- ewarn
- ewarn "One way to do this is to run the following command:"
- ewarn "emerge -av1 \$(qfile -q -S -C /usr/lib/udev)"
- ewarn "Note that qfile can be found in app-portage/portage-utils"
- fi
-
- local old_cd_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-cd.rules
- local old_net_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-net.rules
- for old_rules in "${old_cd_rules}" "${old_net_rules}"; do
- if [[ -f ${old_rules} ]]; then
- ewarn
- ewarn "File ${old_rules} is from old udev installation but if you still use it,"
- ewarn "rename it to something else starting with 70- to silence this deprecation"
- ewarn "warning."
- fi
- done
-
- elog
- elog "Starting from version >= 197 the new predictable network interface names are"
- elog "used by default, see:"
- elog "http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames"
- elog "http://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c"
- elog
- elog "Example command to get the information for the new interface name before booting"
- elog "(replace <ifname> with, for example, eth0):"
- elog "# udevadm test-builtin net_id /sys/class/net/<ifname> 2> /dev/null"
- elog
- elog "You can use either kernel parameter \"net.ifnames=0\", create empty"
- elog "file /etc/systemd/network/99-default.link, or symlink it to /dev/null"
- elog "to disable the feature."
-
- if has_version 'sys-apps/biosdevname'; then
- ewarn
- ewarn "You can replace the functionality of sys-apps/biosdevname which has been"
- ewarn "detected to be installed with the new predictable network interface names."
- fi
-
- ewarn
- ewarn "You need to restart udev as soon as possible to make the upgrade go"
- ewarn "into effect."
- ewarn "The method you use to do this depends on your init system."
- if has_version 'sys-apps/openrc'; then
- ewarn "For sys-apps/openrc users it is:"
- ewarn "# /etc/init.d/udev --nodeps restart"
- fi
-
- elog
- elog "For more information on udev on Gentoo, upgrading, writing udev rules, and"
- elog "fixing known issues visit:"
- elog "https://wiki.gentoo.org/wiki/Udev"
- elog "https://wiki.gentoo.org/wiki/Udev/upgrade"
-
- # If user has disabled 80-net-name-slot.rules using a empty file or a symlink to /dev/null,
- # do the same for 80-net-setup-link.rules to keep the old behavior
- local net_move=no
- local net_name_slot_sym=no
- local net_rules_path="${ROOT%/}"/etc/udev/rules.d
- local net_name_slot="${net_rules_path}"/80-net-name-slot.rules
- local net_setup_link="${net_rules_path}"/80-net-setup-link.rules
- if [[ ! -e ${net_setup_link} ]]; then
- [[ -f ${net_name_slot} && $(sed -e "/^#/d" -e "/^\W*$/d" ${net_name_slot} | wc -l) == 0 ]] && net_move=yes
- if [[ -L ${net_name_slot} && $(readlink ${net_name_slot}) == /dev/null ]]; then
- net_move=yes
- net_name_slot_sym=yes
- fi
- fi
- if [[ ${net_move} == yes ]]; then
- ebegin "Copying ${net_name_slot} to ${net_setup_link}"
-
- if [[ ${net_name_slot_sym} == yes ]]; then
- ln -nfs /dev/null "${net_setup_link}"
- else
- cp "${net_name_slot}" "${net_setup_link}"
- fi
- eend $?
- fi
-
- # http://cgit.freedesktop.org/systemd/systemd/commit/rules/50-udev-default.rules?id=3dff3e00e044e2d53c76fa842b9a4759d4a50e69
- # https://bugs.gentoo.org/246847
- # https://bugs.gentoo.org/514174
- enewgroup input
-
- # 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
- # http://cgit.freedesktop.org/systemd/systemd/commit/?id=1fab57c209035f7e66198343074e9cee06718bda
- [[ -z ${REPLACING_VERSIONS} ]] && udev_reload
- fi
-}
diff --git a/sys-fs/udev/udev-229-r1.ebuild b/sys-fs/udev/udev-229-r1.ebuild
deleted file mode 100644
index 53876e6..0000000
--- a/sys-fs/udev/udev-229-r1.ebuild
+++ /dev/null
@@ -1,440 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit autotools bash-completion-r1 eutils linux-info multilib multilib-minimal toolchain-funcs udev user versionator
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="git://anongit.freedesktop.org/systemd/systemd"
- inherit git-r3
-else
- patchset=
- SRC_URI="https://github.com/systemd/systemd/archive/v${PV}.tar.gz -> systemd-${PV}.tar.gz"
- if [[ -n "${patchset}" ]]; then
- SRC_URI+="
- https://dev.gentoo.org/~ssuominen/${P}-patches-${patchset}.tar.xz
- https://dev.gentoo.org/~williamh/dist/${P}-patches-${patchset}.tar.xz"
- fi
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
-fi
-
-DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)"
-HOMEPAGE="http://www.freedesktop.org/wiki/Software/systemd"
-
-LICENSE="LGPL-2.1 MIT GPL-2"
-SLOT="0"
-IUSE="acl +kmod selinux static-libs"
-
-RESTRICT="test"
-
-COMMON_DEPEND=">=sys-apps/util-linux-2.27.1[${MULTILIB_USEDEP}]
- sys-libs/libcap[${MULTILIB_USEDEP}]
- acl? ( sys-apps/acl )
- kmod? ( >=sys-apps/kmod-16 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
- !<sys-libs/glibc-2.11
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd
- abi_x86_32? (
- !<=app-emulation/emul-linux-x86-baselibs-20130224-r7
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
- )"
-# Force new make >= -r4 to skip some parallel build issues
-DEPEND="${COMMON_DEPEND}
- dev-util/gperf
- >=dev-util/intltool-0.50
- >=sys-apps/coreutils-8.16
- virtual/os-headers
- virtual/pkgconfig
- >=sys-devel/make-3.82-r4
- >=sys-kernel/linux-headers-3.9
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xml-dtd:4.5
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt"
-RDEPEND="${COMMON_DEPEND}
- !<sys-fs/lvm2-2.02.103
- !<sec-policy/selinux-base-2.20120725-r10"
-PDEPEND=">=sys-apps/hwids-20140304[udev]
- >=sys-fs/udev-init-scripts-26"
-
-S=${WORKDIR}/systemd-${PV}
-
-# The multilib-build.eclass doesn't handle situation where the installed headers
-# are different in ABIs. In this case, we install libgudev headers in native
-# ABI but not for non-native ABI.
-multilib_check_headers() { :; }
-
-check_default_rules() {
- # Make sure there are no sudden changes to upstream rules file
- # (more for my own needs than anything else ...)
- local udev_rules_md5=b8ad860dccae0ca51656b33c405ea2ca
- MD5=$(md5sum < "${S}"/rules/50-udev-default.rules)
- MD5=${MD5/ -/}
- if [[ ${MD5} != ${udev_rules_md5} ]]; then
- eerror "50-udev-default.rules has been updated, please validate!"
- eerror "md5sum: ${MD5}"
- die "50-udev-default.rules has been updated, please validate!"
- fi
-}
-
-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"
- 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() {
- if ! [[ ${PV} = 9999* ]]; then
- # secure_getenv() disable for non-glibc systems wrt bug #443030
- if ! [[ $(grep -r secure_getenv * | wc -l) -eq 26 ]]; then
- eerror "The line count for secure_getenv() failed, see bug #443030"
- die
- fi
- fi
-
- # backport some patches
- if [[ -n "${patchset}" ]]; then
- EPATCH_SUFFIX=patch EPATCH_FORCE=yes epatch
- fi
-
- cat <<-EOF > "${T}"/40-gentoo.rules
- # Gentoo specific floppy and usb groups
- ACTION=="add", SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
- ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
- EOF
-
- # change rules back to group uucp instead of dialout for now wrt #454556
- sed -i -e 's/GROUP="dialout"/GROUP="uucp"/' rules/*.rules || die
-
- # stub out the am_path_libcrypt function
- echo 'AC_DEFUN([AM_PATH_LIBGCRYPT],[:])' > m4/gcrypt.m4
-
- # apply user patches
- epatch_user
-
- eautoreconf
-
- if ! [[ ${PV} = 9999* ]]; then
- check_default_rules
- fi
-
- # Restore possibility of running --enable-static wrt #472608
- sed -i \
- -e '/--enable-static is not supported by systemd/s:as_fn_error:echo:' \
- configure || die
-
- if ! use elibc_glibc; then #443030
- echo '#define secure_getenv(x) NULL' >> config.h.in
- sed -i -e '/error.*secure_getenv/s:.*:#define secure_getenv(x) NULL:' src/shared/missing.h || die
- fi
-}
-
-src_configure() {
- # Prevent conflicts with i686 cross toolchain, bug 559726
- tc-export AR CC NM OBJCOPY RANLIB
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- tc-export CC #463846
- export cc_cv_CFLAGS__flto=no #502950
- export cc_cv_CFLAGS__Werror_shadow=no #554454
- export cc_cv_LDFLAGS__Wl__fuse_ld_gold=no #573874
-
- # Keep sorted by ./configure --help and only pass --disable flags
- # when *required* to avoid external deps or unnecessary compile
- local econf_args
- econf_args=(
- --libdir=/usr/$(get_libdir)
- --docdir=/usr/share/doc/${PF}
- $(multilib_native_use_enable static-libs static)
- --disable-nls
- --disable-dbus
- $(multilib_native_use_enable kmod)
- --disable-xkbcommon
- --disable-seccomp
- $(multilib_native_use_enable selinux)
- --disable-xz
- --disable-lz4
- --disable-pam
- $(multilib_native_use_enable acl)
- --disable-gcrypt
- --disable-audit
- --disable-libcryptsetup
- --disable-qrencode
- --disable-microhttpd
- --disable-gnuefi
- --disable-gnutls
- --disable-libcurl
- --disable-libidn
- --disable-quotacheck
- --disable-logind
- --disable-polkit
- --disable-myhostname
- $(multilib_is_native_abi || echo "--disable-manpages")
- --enable-split-usr
- --without-python
- --with-bashcompletiondir="$(get_bashcompdir)"
- --with-rootprefix=
- $(multilib_is_native_abi && echo "--with-rootlibdir=/$(get_libdir)")
- --disable-elfutils
- )
-
- if ! multilib_is_native_abi; then
- econf_args+=(
- MOUNT_{CFLAGS,LIBS}=' '
- )
- fi
-
- ECONF_SOURCE=${S} econf "${econf_args[@]}"
-}
-
-multilib_src_compile() {
- echo 'BUILT_SOURCES: $(BUILT_SOURCES)' > "${T}"/Makefile.extra
- emake -f Makefile -f "${T}"/Makefile.extra BUILT_SOURCES
-
- # Most of the parallel build problems were solved by >=sys-devel/make-3.82-r4,
- # but not everything -- separate building of the binaries as a workaround,
- # which will force internal libraries required for the helpers to be built
- # early enough, like eg. libsystemd-shared.la
- if multilib_is_native_abi; then
- local lib_targets=( libudev.la )
- emake "${lib_targets[@]}"
-
- local exec_targets=(
- systemd-udevd
- udevadm
- )
- emake "${exec_targets[@]}"
-
- local helper_targets=(
- ata_id
- cdrom_id
- collect
- scsi_id
- v4l_id
- mtd_probe
- )
- emake "${helper_targets[@]}"
-
- local man_targets=(
- man/udev.conf.5
- man/systemd.link.5
- man/udev.7
- man/systemd-udevd.service.8
- man/udevadm.8
- )
- emake "${man_targets[@]}"
- else
- local lib_targets=( libudev.la )
- emake "${lib_targets[@]}"
- fi
-}
-
-multilib_src_install() {
- if multilib_is_native_abi; then
- local lib_LTLIBRARIES="libudev.la" \
- pkgconfiglib_DATA="src/libudev/libudev.pc"
-
- local targets=(
- install-libLTLIBRARIES
- install-includeHEADERS
- install-rootbinPROGRAMS
- install-rootlibexecPROGRAMS
- install-udevlibexecPROGRAMS
- install-dist_udevconfDATA
- install-dist_udevrulesDATA
- install-pkgconfiglibDATA
- install-pkgconfigdataDATA
- install-dist_docDATA
- libudev-install-hook
- install-directories-hook
- install-dist_bashcompletionDATA
- install-dist_networkDATA
- )
-
- # add final values of variables:
- targets+=(
- rootlibexec_PROGRAMS=systemd-udevd
- rootbin_PROGRAMS=udevadm
- lib_LTLIBRARIES="${lib_LTLIBRARIES}"
- pkgconfiglib_DATA="${pkgconfiglib_DATA}"
- pkgconfigdata_DATA="src/udev/udev.pc"
- INSTALL_DIRS='$(sysconfdir)/udev/rules.d \
- $(sysconfdir)/udev/hwdb.d \
- $(sysconfdir)/systemd/network'
- dist_bashcompletion_DATA="shell-completion/bash/udevadm"
- dist_network_DATA="network/99-default.link"
- )
- emake -j1 DESTDIR="${D}" "${targets[@]}"
- doman man/{udev.conf.5,systemd.link.5,udev.7,systemd-udevd.service.8,udevadm.8}
- else
- local lib_LTLIBRARIES="libudev.la" \
- pkgconfiglib_DATA="src/libudev/libudev.pc" \
- include_HEADERS="src/libudev/libudev.h"
-
- local targets=(
- install-libLTLIBRARIES
- install-includeHEADERS
- install-pkgconfiglibDATA
- )
-
- targets+=(
- lib_LTLIBRARIES="${lib_LTLIBRARIES}"
- pkgconfiglib_DATA="${pkgconfiglib_DATA}"
- include_HEADERS="${include_HEADERS}"
- )
- emake -j1 DESTDIR="${D}" "${targets[@]}"
- fi
-}
-
-multilib_src_install_all() {
- dodoc TODO
-
- prune_libtool_files --all
- rm -f \
- "${D}"/lib/udev/rules.d/99-systemd.rules \
- "${D}"/usr/share/doc/${PF}/{LICENSE.*,GVARIANT-SERIALIZATION,DIFFERENCES,PORTING-DBUS1,sd-shutdown.h}
-
- # see src_prepare() for content of 40-gentoo.rules
- insinto /lib/udev/rules.d
- doins "${T}"/40-gentoo.rules
-
- # maintainer note: by not letting the upstream build-sys create the .so
- # link, you also avoid a parallel make problem
- mv "${D}"/usr/share/man/man8/systemd-udevd{.service,}.8
-}
-
-pkg_postinst() {
- mkdir -p "${ROOT%/}"/run
-
- # "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766
- # So try to remove it here (will only work if empty).
- rmdir "${ROOT%/}"/dev/loop 2>/dev/null
- if [[ -d ${ROOT%/}/dev/loop ]]; then
- ewarn "Please make sure your remove /dev/loop,"
- ewarn "else losetup may be confused when looking for unused devices."
- fi
-
- local fstab="${ROOT%/}"/etc/fstab dev path fstype rest
- while read -r dev path fstype rest; do
- if [[ ${path} == /dev && ${fstype} != devtmpfs ]]; then
- ewarn "You need to edit your /dev line in ${fstab} to have devtmpfs"
- ewarn "filesystem. Otherwise udev won't be able to boot."
- ewarn "See, https://bugs.gentoo.org/453186"
- fi
- done < "${fstab}"
-
- if [[ -d ${ROOT%/}/usr/lib/udev ]]; then
- ewarn
- ewarn "Please re-emerge all packages on your system which install"
- ewarn "rules and helpers in /usr/lib/udev. They should now be in"
- ewarn "/lib/udev."
- ewarn
- ewarn "One way to do this is to run the following command:"
- ewarn "emerge -av1 \$(qfile -q -S -C /usr/lib/udev)"
- ewarn "Note that qfile can be found in app-portage/portage-utils"
- fi
-
- local old_cd_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-cd.rules
- local old_net_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-net.rules
- for old_rules in "${old_cd_rules}" "${old_net_rules}"; do
- if [[ -f ${old_rules} ]]; then
- ewarn
- ewarn "File ${old_rules} is from old udev installation but if you still use it,"
- ewarn "rename it to something else starting with 70- to silence this deprecation"
- ewarn "warning."
- fi
- done
-
- elog
- elog "Starting from version >= 197 the new predictable network interface names are"
- elog "used by default, see:"
- elog "http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames"
- elog "http://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c"
- elog
- elog "Example command to get the information for the new interface name before booting"
- elog "(replace <ifname> with, for example, eth0):"
- elog "# udevadm test-builtin net_id /sys/class/net/<ifname> 2> /dev/null"
- elog
- elog "You can use either kernel parameter \"net.ifnames=0\", create empty"
- elog "file /etc/systemd/network/99-default.link, or symlink it to /dev/null"
- elog "to disable the feature."
-
- if has_version 'sys-apps/biosdevname'; then
- ewarn
- ewarn "You can replace the functionality of sys-apps/biosdevname which has been"
- ewarn "detected to be installed with the new predictable network interface names."
- fi
-
- ewarn
- ewarn "You need to restart udev as soon as possible to make the upgrade go"
- ewarn "into effect."
- ewarn "The method you use to do this depends on your init system."
- if has_version 'sys-apps/openrc'; then
- ewarn "For sys-apps/openrc users it is:"
- ewarn "# /etc/init.d/udev --nodeps restart"
- fi
-
- elog
- elog "For more information on udev on Gentoo, upgrading, writing udev rules, and"
- elog "fixing known issues visit:"
- elog "https://wiki.gentoo.org/wiki/Udev"
- elog "https://wiki.gentoo.org/wiki/Udev/upgrade"
-
- # If user has disabled 80-net-name-slot.rules using a empty file or a symlink to /dev/null,
- # do the same for 80-net-setup-link.rules to keep the old behavior
- local net_move=no
- local net_name_slot_sym=no
- local net_rules_path="${ROOT%/}"/etc/udev/rules.d
- local net_name_slot="${net_rules_path}"/80-net-name-slot.rules
- local net_setup_link="${net_rules_path}"/80-net-setup-link.rules
- if [[ ! -e ${net_setup_link} ]]; then
- [[ -f ${net_name_slot} && $(sed -e "/^#/d" -e "/^\W*$/d" ${net_name_slot} | wc -l) == 0 ]] && net_move=yes
- if [[ -L ${net_name_slot} && $(readlink ${net_name_slot}) == /dev/null ]]; then
- net_move=yes
- net_name_slot_sym=yes
- fi
- fi
- if [[ ${net_move} == yes ]]; then
- ebegin "Copying ${net_name_slot} to ${net_setup_link}"
-
- if [[ ${net_name_slot_sym} == yes ]]; then
- ln -nfs /dev/null "${net_setup_link}"
- else
- cp "${net_name_slot}" "${net_setup_link}"
- fi
- eend $?
- fi
-
- # http://cgit.freedesktop.org/systemd/systemd/commit/rules/50-udev-default.rules?id=3dff3e00e044e2d53c76fa842b9a4759d4a50e69
- # https://bugs.gentoo.org/246847
- # https://bugs.gentoo.org/514174
- enewgroup input
-
- # 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
- # http://cgit.freedesktop.org/systemd/systemd/commit/?id=1fab57c209035f7e66198343074e9cee06718bda
- [[ -z ${REPLACING_VERSIONS} ]] && udev_reload
- fi
-}
diff --git a/sys-fs/udev/udev-229.ebuild b/sys-fs/udev/udev-229.ebuild
deleted file mode 100644
index 357e82a..0000000
--- a/sys-fs/udev/udev-229.ebuild
+++ /dev/null
@@ -1,440 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit autotools bash-completion-r1 eutils linux-info multilib multilib-minimal toolchain-funcs udev user versionator
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="git://anongit.freedesktop.org/systemd/systemd"
- inherit git-r3
-else
- patchset=
- SRC_URI="https://github.com/systemd/systemd/archive/v${PV}.tar.gz -> systemd-${PV}.tar.gz"
- if [[ -n "${patchset}" ]]; then
- SRC_URI+="
- https://dev.gentoo.org/~ssuominen/${P}-patches-${patchset}.tar.xz
- https://dev.gentoo.org/~williamh/dist/${P}-patches-${patchset}.tar.xz"
- fi
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
-fi
-
-DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)"
-HOMEPAGE="http://www.freedesktop.org/wiki/Software/systemd"
-
-LICENSE="LGPL-2.1 MIT GPL-2"
-SLOT="0"
-IUSE="acl +kmod selinux static-libs"
-
-RESTRICT="test"
-
-COMMON_DEPEND=">=sys-apps/util-linux-2.27.1[${MULTILIB_USEDEP}]
- sys-libs/libcap[${MULTILIB_USEDEP}]
- acl? ( sys-apps/acl )
- kmod? ( >=sys-apps/kmod-16 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
- !<sys-libs/glibc-2.11
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd
- abi_x86_32? (
- !<=app-emulation/emul-linux-x86-baselibs-20130224-r7
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
- )"
-# Force new make >= -r4 to skip some parallel build issues
-DEPEND="${COMMON_DEPEND}
- dev-util/gperf
- >=dev-util/intltool-0.50
- >=sys-apps/coreutils-8.16
- virtual/os-headers
- virtual/pkgconfig
- >=sys-devel/make-3.82-r4
- >=sys-kernel/linux-headers-3.9
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xml-dtd:4.5
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt"
-RDEPEND="${COMMON_DEPEND}
- !<sys-fs/lvm2-2.02.103
- !<sec-policy/selinux-base-2.20120725-r10"
-PDEPEND=">=sys-apps/hwids-20140304[udev]
- >=sys-fs/udev-init-scripts-26"
-
-S=${WORKDIR}/systemd-${PV}
-
-# The multilib-build.eclass doesn't handle situation where the installed headers
-# are different in ABIs. In this case, we install libgudev headers in native
-# ABI but not for non-native ABI.
-multilib_check_headers() { :; }
-
-check_default_rules() {
- # Make sure there are no sudden changes to upstream rules file
- # (more for my own needs than anything else ...)
- local udev_rules_md5=b8ad860dccae0ca51656b33c405ea2ca
- MD5=$(md5sum < "${S}"/rules/50-udev-default.rules)
- MD5=${MD5/ -/}
- if [[ ${MD5} != ${udev_rules_md5} ]]; then
- eerror "50-udev-default.rules has been updated, please validate!"
- eerror "md5sum: ${MD5}"
- die "50-udev-default.rules has been updated, please validate!"
- fi
-}
-
-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"
- 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() {
- if ! [[ ${PV} = 9999* ]]; then
- # secure_getenv() disable for non-glibc systems wrt bug #443030
- if ! [[ $(grep -r secure_getenv * | wc -l) -eq 26 ]]; then
- eerror "The line count for secure_getenv() failed, see bug #443030"
- die
- fi
- fi
-
- # backport some patches
- if [[ -n "${patchset}" ]]; then
- EPATCH_SUFFIX=patch EPATCH_FORCE=yes epatch
- fi
-
- cat <<-EOF > "${T}"/40-gentoo.rules
- # Gentoo specific floppy and usb groups
- SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
- SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
- EOF
-
- # change rules back to group uucp instead of dialout for now wrt #454556
- sed -i -e 's/GROUP="dialout"/GROUP="uucp"/' rules/*.rules || die
-
- # stub out the am_path_libcrypt function
- echo 'AC_DEFUN([AM_PATH_LIBGCRYPT],[:])' > m4/gcrypt.m4
-
- # apply user patches
- epatch_user
-
- eautoreconf
-
- if ! [[ ${PV} = 9999* ]]; then
- check_default_rules
- fi
-
- # Restore possibility of running --enable-static wrt #472608
- sed -i \
- -e '/--enable-static is not supported by systemd/s:as_fn_error:echo:' \
- configure || die
-
- if ! use elibc_glibc; then #443030
- echo '#define secure_getenv(x) NULL' >> config.h.in
- sed -i -e '/error.*secure_getenv/s:.*:#define secure_getenv(x) NULL:' src/shared/missing.h || die
- fi
-}
-
-src_configure() {
- # Prevent conflicts with i686 cross toolchain, bug 559726
- tc-export AR CC NM OBJCOPY RANLIB
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- tc-export CC #463846
- export cc_cv_CFLAGS__flto=no #502950
- export cc_cv_CFLAGS__Werror_shadow=no #554454
- export cc_cv_LDFLAGS__Wl__fuse_ld_gold=no #573874
-
- # Keep sorted by ./configure --help and only pass --disable flags
- # when *required* to avoid external deps or unnecessary compile
- local econf_args
- econf_args=(
- --libdir=/usr/$(get_libdir)
- --docdir=/usr/share/doc/${PF}
- $(multilib_native_use_enable static-libs static)
- --disable-nls
- --disable-dbus
- $(multilib_native_use_enable kmod)
- --disable-xkbcommon
- --disable-seccomp
- $(multilib_native_use_enable selinux)
- --disable-xz
- --disable-lz4
- --disable-pam
- $(multilib_native_use_enable acl)
- --disable-gcrypt
- --disable-audit
- --disable-libcryptsetup
- --disable-qrencode
- --disable-microhttpd
- --disable-gnuefi
- --disable-gnutls
- --disable-libcurl
- --disable-libidn
- --disable-quotacheck
- --disable-logind
- --disable-polkit
- --disable-myhostname
- $(multilib_is_native_abi || echo "--disable-manpages")
- --enable-split-usr
- --without-python
- --with-bashcompletiondir="$(get_bashcompdir)"
- --with-rootprefix=
- $(multilib_is_native_abi && echo "--with-rootlibdir=/$(get_libdir)")
- --disable-elfutils
- )
-
- if ! multilib_is_native_abi; then
- econf_args+=(
- MOUNT_{CFLAGS,LIBS}=' '
- )
- fi
-
- ECONF_SOURCE=${S} econf "${econf_args[@]}"
-}
-
-multilib_src_compile() {
- echo 'BUILT_SOURCES: $(BUILT_SOURCES)' > "${T}"/Makefile.extra
- emake -f Makefile -f "${T}"/Makefile.extra BUILT_SOURCES
-
- # Most of the parallel build problems were solved by >=sys-devel/make-3.82-r4,
- # but not everything -- separate building of the binaries as a workaround,
- # which will force internal libraries required for the helpers to be built
- # early enough, like eg. libsystemd-shared.la
- if multilib_is_native_abi; then
- local lib_targets=( libudev.la )
- emake "${lib_targets[@]}"
-
- local exec_targets=(
- systemd-udevd
- udevadm
- )
- emake "${exec_targets[@]}"
-
- local helper_targets=(
- ata_id
- cdrom_id
- collect
- scsi_id
- v4l_id
- mtd_probe
- )
- emake "${helper_targets[@]}"
-
- local man_targets=(
- man/udev.conf.5
- man/systemd.link.5
- man/udev.7
- man/systemd-udevd.service.8
- man/udevadm.8
- )
- emake "${man_targets[@]}"
- else
- local lib_targets=( libudev.la )
- emake "${lib_targets[@]}"
- fi
-}
-
-multilib_src_install() {
- if multilib_is_native_abi; then
- local lib_LTLIBRARIES="libudev.la" \
- pkgconfiglib_DATA="src/libudev/libudev.pc"
-
- local targets=(
- install-libLTLIBRARIES
- install-includeHEADERS
- install-rootbinPROGRAMS
- install-rootlibexecPROGRAMS
- install-udevlibexecPROGRAMS
- install-dist_udevconfDATA
- install-dist_udevrulesDATA
- install-pkgconfiglibDATA
- install-pkgconfigdataDATA
- install-dist_docDATA
- libudev-install-hook
- install-directories-hook
- install-dist_bashcompletionDATA
- install-dist_networkDATA
- )
-
- # add final values of variables:
- targets+=(
- rootlibexec_PROGRAMS=systemd-udevd
- rootbin_PROGRAMS=udevadm
- lib_LTLIBRARIES="${lib_LTLIBRARIES}"
- pkgconfiglib_DATA="${pkgconfiglib_DATA}"
- pkgconfigdata_DATA="src/udev/udev.pc"
- INSTALL_DIRS='$(sysconfdir)/udev/rules.d \
- $(sysconfdir)/udev/hwdb.d \
- $(sysconfdir)/systemd/network'
- dist_bashcompletion_DATA="shell-completion/bash/udevadm"
- dist_network_DATA="network/99-default.link"
- )
- emake -j1 DESTDIR="${D}" "${targets[@]}"
- doman man/{udev.conf.5,systemd.link.5,udev.7,systemd-udevd.service.8,udevadm.8}
- else
- local lib_LTLIBRARIES="libudev.la" \
- pkgconfiglib_DATA="src/libudev/libudev.pc" \
- include_HEADERS="src/libudev/libudev.h"
-
- local targets=(
- install-libLTLIBRARIES
- install-includeHEADERS
- install-pkgconfiglibDATA
- )
-
- targets+=(
- lib_LTLIBRARIES="${lib_LTLIBRARIES}"
- pkgconfiglib_DATA="${pkgconfiglib_DATA}"
- include_HEADERS="${include_HEADERS}"
- )
- emake -j1 DESTDIR="${D}" "${targets[@]}"
- fi
-}
-
-multilib_src_install_all() {
- dodoc TODO
-
- prune_libtool_files --all
- rm -f \
- "${D}"/lib/udev/rules.d/99-systemd.rules \
- "${D}"/usr/share/doc/${PF}/{LICENSE.*,GVARIANT-SERIALIZATION,DIFFERENCES,PORTING-DBUS1,sd-shutdown.h}
-
- # see src_prepare() for content of 40-gentoo.rules
- insinto /lib/udev/rules.d
- doins "${T}"/40-gentoo.rules
-
- # maintainer note: by not letting the upstream build-sys create the .so
- # link, you also avoid a parallel make problem
- mv "${D}"/usr/share/man/man8/systemd-udevd{.service,}.8
-}
-
-pkg_postinst() {
- mkdir -p "${ROOT%/}"/run
-
- # "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766
- # So try to remove it here (will only work if empty).
- rmdir "${ROOT%/}"/dev/loop 2>/dev/null
- if [[ -d ${ROOT%/}/dev/loop ]]; then
- ewarn "Please make sure your remove /dev/loop,"
- ewarn "else losetup may be confused when looking for unused devices."
- fi
-
- local fstab="${ROOT%/}"/etc/fstab dev path fstype rest
- while read -r dev path fstype rest; do
- if [[ ${path} == /dev && ${fstype} != devtmpfs ]]; then
- ewarn "You need to edit your /dev line in ${fstab} to have devtmpfs"
- ewarn "filesystem. Otherwise udev won't be able to boot."
- ewarn "See, https://bugs.gentoo.org/453186"
- fi
- done < "${fstab}"
-
- if [[ -d ${ROOT%/}/usr/lib/udev ]]; then
- ewarn
- ewarn "Please re-emerge all packages on your system which install"
- ewarn "rules and helpers in /usr/lib/udev. They should now be in"
- ewarn "/lib/udev."
- ewarn
- ewarn "One way to do this is to run the following command:"
- ewarn "emerge -av1 \$(qfile -q -S -C /usr/lib/udev)"
- ewarn "Note that qfile can be found in app-portage/portage-utils"
- fi
-
- local old_cd_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-cd.rules
- local old_net_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-net.rules
- for old_rules in "${old_cd_rules}" "${old_net_rules}"; do
- if [[ -f ${old_rules} ]]; then
- ewarn
- ewarn "File ${old_rules} is from old udev installation but if you still use it,"
- ewarn "rename it to something else starting with 70- to silence this deprecation"
- ewarn "warning."
- fi
- done
-
- elog
- elog "Starting from version >= 197 the new predictable network interface names are"
- elog "used by default, see:"
- elog "http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames"
- elog "http://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c"
- elog
- elog "Example command to get the information for the new interface name before booting"
- elog "(replace <ifname> with, for example, eth0):"
- elog "# udevadm test-builtin net_id /sys/class/net/<ifname> 2> /dev/null"
- elog
- elog "You can use either kernel parameter \"net.ifnames=0\", create empty"
- elog "file /etc/systemd/network/99-default.link, or symlink it to /dev/null"
- elog "to disable the feature."
-
- if has_version 'sys-apps/biosdevname'; then
- ewarn
- ewarn "You can replace the functionality of sys-apps/biosdevname which has been"
- ewarn "detected to be installed with the new predictable network interface names."
- fi
-
- ewarn
- ewarn "You need to restart udev as soon as possible to make the upgrade go"
- ewarn "into effect."
- ewarn "The method you use to do this depends on your init system."
- if has_version 'sys-apps/openrc'; then
- ewarn "For sys-apps/openrc users it is:"
- ewarn "# /etc/init.d/udev --nodeps restart"
- fi
-
- elog
- elog "For more information on udev on Gentoo, upgrading, writing udev rules, and"
- elog "fixing known issues visit:"
- elog "https://wiki.gentoo.org/wiki/Udev"
- elog "https://wiki.gentoo.org/wiki/Udev/upgrade"
-
- # If user has disabled 80-net-name-slot.rules using a empty file or a symlink to /dev/null,
- # do the same for 80-net-setup-link.rules to keep the old behavior
- local net_move=no
- local net_name_slot_sym=no
- local net_rules_path="${ROOT%/}"/etc/udev/rules.d
- local net_name_slot="${net_rules_path}"/80-net-name-slot.rules
- local net_setup_link="${net_rules_path}"/80-net-setup-link.rules
- if [[ ! -e ${net_setup_link} ]]; then
- [[ -f ${net_name_slot} && $(sed -e "/^#/d" -e "/^\W*$/d" ${net_name_slot} | wc -l) == 0 ]] && net_move=yes
- if [[ -L ${net_name_slot} && $(readlink ${net_name_slot}) == /dev/null ]]; then
- net_move=yes
- net_name_slot_sym=yes
- fi
- fi
- if [[ ${net_move} == yes ]]; then
- ebegin "Copying ${net_name_slot} to ${net_setup_link}"
-
- if [[ ${net_name_slot_sym} == yes ]]; then
- ln -nfs /dev/null "${net_setup_link}"
- else
- cp "${net_name_slot}" "${net_setup_link}"
- fi
- eend $?
- fi
-
- # http://cgit.freedesktop.org/systemd/systemd/commit/rules/50-udev-default.rules?id=3dff3e00e044e2d53c76fa842b9a4759d4a50e69
- # https://bugs.gentoo.org/246847
- # https://bugs.gentoo.org/514174
- enewgroup input
-
- # 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
- # http://cgit.freedesktop.org/systemd/systemd/commit/?id=1fab57c209035f7e66198343074e9cee06718bda
- [[ -z ${REPLACING_VERSIONS} ]] && udev_reload
- fi
-}
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/udev/, sys-fs/udev/files/
@ 2016-04-20 3:17 Mike Frysinger
0 siblings, 0 replies; 13+ messages in thread
From: Mike Frysinger @ 2016-04-20 3:17 UTC (permalink / raw
To: gentoo-commits
commit: 06022126809462809479739c0a86e2139b4f8410
Author: Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 20 03:16:34 2016 +0000
Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Wed Apr 20 03:16:34 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=06022126
sys-fs/udev: add upstream fix for building w/glibc #580200
sys-fs/udev/files/udev-229-sysmacros.patch | 82 ++++++++++++++++++++++++++++++
sys-fs/udev/udev-229-r2.ebuild | 1 +
2 files changed, 83 insertions(+)
diff --git a/sys-fs/udev/files/udev-229-sysmacros.patch b/sys-fs/udev/files/udev-229-sysmacros.patch
new file mode 100644
index 0000000..d72eb59
--- /dev/null
+++ b/sys-fs/udev/files/udev-229-sysmacros.patch
@@ -0,0 +1,82 @@
+https://bugs.gentoo.org/580200
+https://github.com/systemd/systemd/commit/27d13af71c3af6b2f9b60556d2c046dbb6e36e23
+
+From 27d13af71c3af6b2f9b60556d2c046dbb6e36e23 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Mon, 14 Mar 2016 17:44:49 -0400
+Subject: [PATCH] include sys/sysmacros.h in more places
+
+Since glibc is moving away from implicitly including sys/sysmacros.h
+all the time via sys/types.h, include the header directly in more
+places. This seems to cover most makedev/major/minor usage.
+---
+ src/basic/macro.h | 1 +
+ src/basic/util.h | 1 +
+ src/libudev/libudev.h | 1 +
+ src/systemd/sd-device.h | 1 +
+ src/udev/udev.h | 1 +
+ 5 files changed, 5 insertions(+)
+
+diff --git a/src/basic/macro.h b/src/basic/macro.h
+index c34441d..b36a956 100644
+--- a/src/basic/macro.h
++++ b/src/basic/macro.h
+@@ -23,6 +23,7 @@
+ #include <inttypes.h>
+ #include <stdbool.h>
+ #include <sys/param.h>
++#include <sys/sysmacros.h>
+ #include <sys/types.h>
+
+ #define _printf_(a,b) __attribute__ ((format (printf, a, b)))
+diff --git a/src/basic/util.h b/src/basic/util.h
+index e095254..286db05 100644
+--- a/src/basic/util.h
++++ b/src/basic/util.h
+@@ -36,6 +36,7 @@
+ #include <sys/socket.h>
+ #include <sys/stat.h>
+ #include <sys/statfs.h>
++#include <sys/sysmacros.h>
+ #include <sys/types.h>
+ #include <time.h>
+ #include <unistd.h>
+diff --git a/src/libudev/libudev.h b/src/libudev/libudev.h
+index eb58740..3f6d0ed 100644
+--- a/src/libudev/libudev.h
++++ b/src/libudev/libudev.h
+@@ -21,6 +21,7 @@
+ #define _LIBUDEV_H_
+
+ #include <stdarg.h>
++#include <sys/sysmacros.h>
+ #include <sys/types.h>
+
+ #ifdef __cplusplus
+diff --git a/src/systemd/sd-device.h b/src/systemd/sd-device.h
+index 5bfca6e..c1d0756 100644
+--- a/src/systemd/sd-device.h
++++ b/src/systemd/sd-device.h
+@@ -22,6 +22,7 @@
+ ***/
+
+ #include <inttypes.h>
++#include <sys/sysmacros.h>
+ #include <sys/types.h>
+
+ #include "_sd-common.h"
+diff --git a/src/udev/udev.h b/src/udev/udev.h
+index 5659051..8433e8d 100644
+--- a/src/udev/udev.h
++++ b/src/udev/udev.h
+@@ -19,6 +19,7 @@
+ */
+
+ #include <sys/param.h>
++#include <sys/sysmacros.h>
+ #include <sys/types.h>
+
+ #include "libudev.h"
+--
+2.7.4
+
diff --git a/sys-fs/udev/udev-229-r2.ebuild b/sys-fs/udev/udev-229-r2.ebuild
index a228a72..9599178 100644
--- a/sys-fs/udev/udev-229-r2.ebuild
+++ b/sys-fs/udev/udev-229-r2.ebuild
@@ -114,6 +114,7 @@ src_prepare() {
if [[ -n "${patchset}" ]]; then
EPATCH_SUFFIX=patch EPATCH_FORCE=yes epatch
fi
+ epatch "${FILESDIR}"/${PN}-229-sysmacros.patch #580200
cat <<-EOF > "${T}"/40-gentoo.rules
# Gentoo specific floppy and usb groups
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/udev/, sys-fs/udev/files/
@ 2016-11-05 14:13 Lars Wendler
0 siblings, 0 replies; 13+ messages in thread
From: Lars Wendler @ 2016-11-05 14:13 UTC (permalink / raw
To: gentoo-commits
commit: 248f71f97378522f6e981b85c8236b0c7abfb72f
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 5 13:51:43 2016 +0000
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Sat Nov 5 14:13:25 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=248f71f9
sys-fs/udev: Fixed installation of libudev.so (bug #598988).
Thanks to floppym for reviewing the ebuild patches and creating the
pkgconfig fix he also sent upstream.
Package-Manager: portage-2.3.2
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
sys-fs/udev/files/systemd-232-pkgconfig.patch | 50 ++++++++++++++++++++++
.../udev/{udev-232.ebuild => udev-232-r1.ebuild} | 11 ++++-
2 files changed, 59 insertions(+), 2 deletions(-)
diff --git a/sys-fs/udev/files/systemd-232-pkgconfig.patch b/sys-fs/udev/files/systemd-232-pkgconfig.patch
new file mode 100644
index 00000000..50f7921
--- /dev/null
+++ b/sys-fs/udev/files/systemd-232-pkgconfig.patch
@@ -0,0 +1,50 @@
+From a36dad95c447a5cf65f9e3b66c86e906e7f05890 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Sat, 5 Nov 2016 09:17:34 -0400
+Subject: [PATCH] Adjust pkgconfig files to point at rootlibdir
+
+The .so symlinks got moved to rootlibdir in 082210c7.
+---
+ Makefile.am | 1 +
+ src/libsystemd/libsystemd.pc.in | 2 +-
+ src/libudev/libudev.pc.in | 2 +-
+ 3 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index f2d8bf5..73144b1 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -6054,6 +6054,7 @@ EXTRA_DIST += \
+
+ # ------------------------------------------------------------------------------
+ substitutions = \
++ '|rootlibdir=$(rootlibdir)|' \
+ '|rootlibexecdir=$(rootlibexecdir)|' \
+ '|rootbindir=$(rootbindir)|' \
+ '|bindir=$(bindir)|' \
+diff --git a/src/libsystemd/libsystemd.pc.in b/src/libsystemd/libsystemd.pc.in
+index e8f7950..7e6d499 100644
+--- a/src/libsystemd/libsystemd.pc.in
++++ b/src/libsystemd/libsystemd.pc.in
+@@ -7,7 +7,7 @@
+
+ prefix=@prefix@
+ exec_prefix=@exec_prefix@
+-libdir=@libdir@
++libdir=@rootlibdir@
+ includedir=@includedir@
+
+ Name: systemd
+diff --git a/src/libudev/libudev.pc.in b/src/libudev/libudev.pc.in
+index a0f3f52..770c922 100644
+--- a/src/libudev/libudev.pc.in
++++ b/src/libudev/libudev.pc.in
+@@ -7,7 +7,7 @@
+
+ prefix=@prefix@
+ exec_prefix=@exec_prefix@
+-libdir=@libdir@
++libdir=@rootlibdir@
+ includedir=@includedir@
+
+ Name: libudev
diff --git a/sys-fs/udev/udev-232.ebuild b/sys-fs/udev/udev-232-r1.ebuild
similarity index 97%
rename from sys-fs/udev/udev-232.ebuild
rename to sys-fs/udev/udev-232-r1.ebuild
index db5fafc..83e57cb 100644
--- a/sys-fs/udev/udev-232.ebuild
+++ b/sys-fs/udev/udev-232-r1.ebuild
@@ -122,6 +122,8 @@ src_prepare() {
# stub out the am_path_libcrypt function
echo 'AC_DEFUN([AM_PATH_LIBGCRYPT],[:])' > m4/gcrypt.m4
+ eapply "${FILESDIR}/systemd-${PV}-pkgconfig.patch"
+
# apply user patches
eapply_user
@@ -244,9 +246,9 @@ multilib_src_install() {
local pkgconfiglib_DATA="src/libudev/libudev.pc"
local targets=(
- install-libLTLIBRARIES
install-includeHEADERS
install-rootbinPROGRAMS
+ install-rootlibLTLIBRARIES
install-rootlibexecPROGRAMS
install-udevlibexecPROGRAMS
install-dist_udevconfDATA
@@ -272,8 +274,13 @@ multilib_src_install() {
)
emake -j1 DESTDIR="${D}" "${targets[@]}"
doman man/{udev.conf.5,systemd.link.5,udev.7,systemd-udevd.service.8,udevadm.8}
+
+ # Compatibility symlink for software that looks for libudev.so
+ # without using pkg-config
+ dosym ../../$(get_libdir)/libudev.so.1 \
+ /usr/$(get_libdir)/libudev.so
else
- local rootlib_LTLIBRARIES="libudev.la"
+ local lib_LTLIBRARIES="libudev.la"
local pkgconfiglib_DATA="src/libudev/libudev.pc"
local include_HEADERS="src/libudev/libudev.h"
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/udev/, sys-fs/udev/files/
@ 2017-01-16 16:37 Mike Gilbert
0 siblings, 0 replies; 13+ messages in thread
From: Mike Gilbert @ 2017-01-16 16:37 UTC (permalink / raw
To: gentoo-commits
commit: 09cd09946cdad79faace80036a301784289a7e38
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 16 16:37:11 2017 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Mon Jan 16 16:37:33 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=09cd0994
sys-fs/udev: fix build with gperf-3.1
Bug: https://bugs.gentoo.org/605022
Package-Manager: Portage-2.3.3_p32, Repoman-2.3.1_p25
...dd-check-for-gperf-lookup-function-signat.patch | 302 +++++++++++++++++++++
sys-fs/udev/udev-230-r1.ebuild | 4 +-
sys-fs/udev/udev-232-r2.ebuild | 3 +-
3 files changed, 307 insertions(+), 2 deletions(-)
diff --git a/sys-fs/udev/files/232-0002-build-sys-add-check-for-gperf-lookup-function-signat.patch b/sys-fs/udev/files/232-0002-build-sys-add-check-for-gperf-lookup-function-signat.patch
new file mode 100644
index 00000000..440ec75
--- /dev/null
+++ b/sys-fs/udev/files/232-0002-build-sys-add-check-for-gperf-lookup-function-signat.patch
@@ -0,0 +1,302 @@
+From 016fb3b83b861cfe58694996076a9764dcb46475 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppymaster@gmail.com>
+Date: Tue, 10 Jan 2017 02:39:05 -0500
+Subject: [PATCH 2/2] build-sys: add check for gperf lookup function signature
+ (#5055)
+
+gperf-3.1 generates lookup functions that take a size_t length
+parameter instead of unsigned int. Test for this at configure time.
+
+Fixes: https://github.com/systemd/systemd/issues/5039
+---
+ configure.ac | 22 ++++++++++++++++++++++
+ src/basic/af-list.c | 2 +-
+ src/basic/arphrd-list.c | 2 +-
+ src/basic/cap-list.c | 2 +-
+ src/basic/errno-list.c | 2 +-
+ src/core/load-fragment.h | 2 +-
+ src/journal/journald-server.h | 2 +-
+ src/login/logind.h | 2 +-
+ src/network/networkd-conf.h | 2 +-
+ src/network/networkd-netdev.h | 2 +-
+ src/network/networkd-network.h | 2 +-
+ src/nspawn/nspawn-settings.h | 2 +-
+ src/resolve/dns-type.c | 2 +-
+ src/resolve/resolved-conf.h | 2 +-
+ src/test/test-af-list.c | 2 +-
+ src/test/test-arphrd-list.c | 2 +-
+ src/timesync/timesyncd-conf.h | 2 +-
+ src/udev/net/link-config.h | 2 +-
+ src/udev/udev-builtin-keyboard.c | 2 +-
+ 19 files changed, 40 insertions(+), 18 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 1928e65bd..5c639e32d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -258,6 +258,28 @@ AC_CHECK_SIZEOF(rlim_t,,[
+ #include <sys/resource.h>
+ ])
+
++GPERF_TEST="$(echo foo,bar | ${GPERF} -L ANSI-C)"
++
++AC_COMPILE_IFELSE(
++ [AC_LANG_PROGRAM([
++ #include <string.h>
++ const char * in_word_set(const char *, size_t);
++ $GPERF_TEST]
++ )],
++ [GPERF_LEN_TYPE=size_t],
++ [AC_COMPILE_IFELSE(
++ [AC_LANG_PROGRAM([
++ #include <string.h>
++ const char * in_word_set(const char *, unsigned);
++ $GPERF_TEST]
++ )],
++ [GPERF_LEN_TYPE=unsigned],
++ [AC_MSG_ERROR([** unable to determine gperf len type])]
++ )]
++)
++
++AC_DEFINE_UNQUOTED([GPERF_LEN_TYPE], [$GPERF_LEN_TYPE], [gperf len type])
++
+ # ------------------------------------------------------------------------------
+ # we use python to build the man page index
+ have_python=no
+diff --git a/src/basic/af-list.c b/src/basic/af-list.c
+index 3fac9c508..4b291d177 100644
+--- a/src/basic/af-list.c
++++ b/src/basic/af-list.c
+@@ -23,7 +23,7 @@
+ #include "af-list.h"
+ #include "macro.h"
+
+-static const struct af_name* lookup_af(register const char *str, register unsigned int len);
++static const struct af_name* lookup_af(register const char *str, register GPERF_LEN_TYPE len);
+
+ #include "af-from-name.h"
+ #include "af-to-name.h"
+diff --git a/src/basic/arphrd-list.c b/src/basic/arphrd-list.c
+index 6792d1ee3..2d598dc66 100644
+--- a/src/basic/arphrd-list.c
++++ b/src/basic/arphrd-list.c
+@@ -23,7 +23,7 @@
+ #include "arphrd-list.h"
+ #include "macro.h"
+
+-static const struct arphrd_name* lookup_arphrd(register const char *str, register unsigned int len);
++static const struct arphrd_name* lookup_arphrd(register const char *str, register GPERF_LEN_TYPE len);
+
+ #include "arphrd-from-name.h"
+ #include "arphrd-to-name.h"
+diff --git a/src/basic/cap-list.c b/src/basic/cap-list.c
+index 3e773a06f..d68cc78d0 100644
+--- a/src/basic/cap-list.c
++++ b/src/basic/cap-list.c
+@@ -26,7 +26,7 @@
+ #include "parse-util.h"
+ #include "util.h"
+
+-static const struct capability_name* lookup_capability(register const char *str, register unsigned int len);
++static const struct capability_name* lookup_capability(register const char *str, register GPERF_LEN_TYPE len);
+
+ #include "cap-from-name.h"
+ #include "cap-to-name.h"
+diff --git a/src/basic/errno-list.c b/src/basic/errno-list.c
+index 31b66bad5..c6a01eec8 100644
+--- a/src/basic/errno-list.c
++++ b/src/basic/errno-list.c
+@@ -23,7 +23,7 @@
+ #include "macro.h"
+
+ static const struct errno_name* lookup_errno(register const char *str,
+- register unsigned int len);
++ register GPERF_LEN_TYPE len);
+
+ #include "errno-from-name.h"
+ #include "errno-to-name.h"
+diff --git a/src/core/load-fragment.h b/src/core/load-fragment.h
+index c05f205c3..ede6b1f73 100644
+--- a/src/core/load-fragment.h
++++ b/src/core/load-fragment.h
+@@ -118,7 +118,7 @@ int config_parse_user_group(const char *unit, const char *filename, unsigned lin
+ int config_parse_user_group_strv(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+
+ /* gperf prototypes */
+-const struct ConfigPerfItem* load_fragment_gperf_lookup(const char *key, unsigned length);
++const struct ConfigPerfItem* load_fragment_gperf_lookup(const char *key, GPERF_LEN_TYPE length);
+ extern const char load_fragment_gperf_nulstr[];
+
+ typedef enum Disabled {
+diff --git a/src/journal/journald-server.h b/src/journal/journald-server.h
+index 99d91496b..d1520c45d 100644
+--- a/src/journal/journald-server.h
++++ b/src/journal/journald-server.h
+@@ -179,7 +179,7 @@ void server_dispatch_message(Server *s, struct iovec *iovec, unsigned n, unsigne
+ void server_driver_message(Server *s, sd_id128_t message_id, const char *format, ...) _printf_(3,0) _sentinel_;
+
+ /* gperf lookup function */
+-const struct ConfigPerfItem* journald_gperf_lookup(const char *key, unsigned length);
++const struct ConfigPerfItem* journald_gperf_lookup(const char *key, GPERF_LEN_TYPE length);
+
+ int config_parse_storage(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+
+diff --git a/src/login/logind.h b/src/login/logind.h
+index 086fa1eeb..7556ee2e4 100644
+--- a/src/login/logind.h
++++ b/src/login/logind.h
+@@ -182,7 +182,7 @@ int manager_unit_is_active(Manager *manager, const char *unit);
+ int manager_job_is_active(Manager *manager, const char *path);
+
+ /* gperf lookup function */
+-const struct ConfigPerfItem* logind_gperf_lookup(const char *key, unsigned length);
++const struct ConfigPerfItem* logind_gperf_lookup(const char *key, GPERF_LEN_TYPE length);
+
+ int manager_set_lid_switch_ignore(Manager *m, usec_t until);
+
+diff --git a/src/network/networkd-conf.h b/src/network/networkd-conf.h
+index c7bfb42a7..00ddb7672 100644
+--- a/src/network/networkd-conf.h
++++ b/src/network/networkd-conf.h
+@@ -23,7 +23,7 @@
+
+ int manager_parse_config_file(Manager *m);
+
+-const struct ConfigPerfItem* networkd_gperf_lookup(const char *key, unsigned length);
++const struct ConfigPerfItem* networkd_gperf_lookup(const char *key, GPERF_LEN_TYPE length);
+
+ int config_parse_duid_type(
+ const char *unit,
+diff --git a/src/network/networkd-netdev.h b/src/network/networkd-netdev.h
+index 70ff947b9..37c743121 100644
+--- a/src/network/networkd-netdev.h
++++ b/src/network/networkd-netdev.h
+@@ -175,7 +175,7 @@ NetDevKind netdev_kind_from_string(const char *d) _pure_;
+ int config_parse_netdev_kind(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+
+ /* gperf */
+-const struct ConfigPerfItem* network_netdev_gperf_lookup(const char *key, unsigned length);
++const struct ConfigPerfItem* network_netdev_gperf_lookup(const char *key, GPERF_LEN_TYPE length);
+
+ /* Macros which append INTERFACE= to the message */
+
+diff --git a/src/network/networkd-network.h b/src/network/networkd-network.h
+index 42fc82d39..09c3b3a3a 100644
+--- a/src/network/networkd-network.h
++++ b/src/network/networkd-network.h
+@@ -236,7 +236,7 @@ int config_parse_dhcp_route_table(const char *unit, const char *filename, unsign
+ /* Legacy IPv4LL support */
+ int config_parse_ipv4ll(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+
+-const struct ConfigPerfItem* network_network_gperf_lookup(const char *key, unsigned length);
++const struct ConfigPerfItem* network_network_gperf_lookup(const char *key, GPERF_LEN_TYPE length);
+
+ extern const sd_bus_vtable network_vtable[];
+
+diff --git a/src/nspawn/nspawn-settings.h b/src/nspawn/nspawn-settings.h
+index 231e6d726..4ae34f8e2 100644
+--- a/src/nspawn/nspawn-settings.h
++++ b/src/nspawn/nspawn-settings.h
+@@ -103,7 +103,7 @@ bool settings_private_network(Settings *s);
+
+ DEFINE_TRIVIAL_CLEANUP_FUNC(Settings*, settings_free);
+
+-const struct ConfigPerfItem* nspawn_gperf_lookup(const char *key, unsigned length);
++const struct ConfigPerfItem* nspawn_gperf_lookup(const char *key, GPERF_LEN_TYPE length);
+
+ int config_parse_capability(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+ int config_parse_id128(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+diff --git a/src/resolve/dns-type.c b/src/resolve/dns-type.c
+index aaf5ed62c..d89ae28dc 100644
+--- a/src/resolve/dns-type.c
++++ b/src/resolve/dns-type.c
+@@ -29,7 +29,7 @@ typedef const struct {
+ } dns_type;
+
+ static const struct dns_type_name *
+-lookup_dns_type (register const char *str, register unsigned int len);
++lookup_dns_type (register const char *str, register GPERF_LEN_TYPE len);
+
+ #include "dns_type-from-name.h"
+ #include "dns_type-to-name.h"
+diff --git a/src/resolve/resolved-conf.h b/src/resolve/resolved-conf.h
+index fc425a36b..8184d6cad 100644
+--- a/src/resolve/resolved-conf.h
++++ b/src/resolve/resolved-conf.h
+@@ -41,7 +41,7 @@ int manager_parse_search_domains_and_warn(Manager *m, const char *string);
+ int manager_add_dns_server_by_string(Manager *m, DnsServerType type, const char *word);
+ int manager_parse_dns_server_string_and_warn(Manager *m, DnsServerType type, const char *string);
+
+-const struct ConfigPerfItem* resolved_gperf_lookup(const char *key, unsigned length);
++const struct ConfigPerfItem* resolved_gperf_lookup(const char *key, GPERF_LEN_TYPE length);
+
+ int config_parse_dns_servers(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+ int config_parse_search_domains(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+diff --git a/src/test/test-af-list.c b/src/test/test-af-list.c
+index aeaa0929b..e2479133d 100644
+--- a/src/test/test-af-list.c
++++ b/src/test/test-af-list.c
+@@ -24,7 +24,7 @@
+ #include "string-util.h"
+ #include "util.h"
+
+-static const struct af_name* lookup_af(register const char *str, register unsigned int len);
++static const struct af_name* lookup_af(register const char *str, register GPERF_LEN_TYPE len);
+
+ #include "af-from-name.h"
+ #include "af-list.h"
+diff --git a/src/test/test-arphrd-list.c b/src/test/test-arphrd-list.c
+index f3989ad20..8f4f342fa 100644
+--- a/src/test/test-arphrd-list.c
++++ b/src/test/test-arphrd-list.c
+@@ -24,7 +24,7 @@
+ #include "string-util.h"
+ #include "util.h"
+
+-static const struct arphrd_name* lookup_arphrd(register const char *str, register unsigned int len);
++static const struct arphrd_name* lookup_arphrd(register const char *str, register GPERF_LEN_TYPE len);
+
+ #include "arphrd-from-name.h"
+ #include "arphrd-list.h"
+diff --git a/src/timesync/timesyncd-conf.h b/src/timesync/timesyncd-conf.h
+index cba0724b1..0280697e9 100644
+--- a/src/timesync/timesyncd-conf.h
++++ b/src/timesync/timesyncd-conf.h
+@@ -22,7 +22,7 @@
+ #include "conf-parser.h"
+ #include "timesyncd-manager.h"
+
+-const struct ConfigPerfItem* timesyncd_gperf_lookup(const char *key, unsigned length);
++const struct ConfigPerfItem* timesyncd_gperf_lookup(const char *key, GPERF_LEN_TYPE length);
+
+ int manager_parse_server_string(Manager *m, ServerType type, const char *string);
+
+diff --git a/src/udev/net/link-config.h b/src/udev/net/link-config.h
+index 91cc0357c..b0d8ceb76 100644
+--- a/src/udev/net/link-config.h
++++ b/src/udev/net/link-config.h
+@@ -93,7 +93,7 @@ const char *mac_policy_to_string(MACPolicy p) _const_;
+ MACPolicy mac_policy_from_string(const char *p) _pure_;
+
+ /* gperf lookup function */
+-const struct ConfigPerfItem* link_config_gperf_lookup(const char *key, unsigned length);
++const struct ConfigPerfItem* link_config_gperf_lookup(const char *key, GPERF_LEN_TYPE length);
+
+ int config_parse_mac_policy(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+ int config_parse_name_policy(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+diff --git a/src/udev/udev-builtin-keyboard.c b/src/udev/udev-builtin-keyboard.c
+index aa10beafb..09024116f 100644
+--- a/src/udev/udev-builtin-keyboard.c
++++ b/src/udev/udev-builtin-keyboard.c
+@@ -29,7 +29,7 @@
+ #include "string-util.h"
+ #include "udev.h"
+
+-static const struct key *keyboard_lookup_key(const char *str, unsigned len);
++static const struct key *keyboard_lookup_key(const char *str, GPERF_LEN_TYPE len);
+ #include "keyboard-keys-from-name.h"
+
+ static int install_force_release(struct udev_device *dev, const unsigned *release, unsigned release_count) {
+--
+2.11.0
+
diff --git a/sys-fs/udev/udev-230-r1.ebuild b/sys-fs/udev/udev-230-r1.ebuild
index aecf5ee..e1b65be 100644
--- a/sys-fs/udev/udev-230-r1.ebuild
+++ b/sys-fs/udev/udev-230-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@@ -122,6 +122,8 @@ src_prepare() {
# stub out the am_path_libcrypt function
echo 'AC_DEFUN([AM_PATH_LIBGCRYPT],[:])' > m4/gcrypt.m4
+ eapply "${FILESDIR}"/232-0002-build-sys-add-check-for-gperf-lookup-function-signat.patch
+
# apply user patches
eapply_user
diff --git a/sys-fs/udev/udev-232-r2.ebuild b/sys-fs/udev/udev-232-r2.ebuild
index 5338a7a..16d3cfc 100644
--- a/sys-fs/udev/udev-232-r2.ebuild
+++ b/sys-fs/udev/udev-232-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@@ -123,6 +123,7 @@ src_prepare() {
echo 'AC_DEFUN([AM_PATH_LIBGCRYPT],[:])' > m4/gcrypt.m4
eapply "${FILESDIR}/systemd-${PV}-pkgconfig.patch"
+ eapply "${FILESDIR}"/232-0002-build-sys-add-check-for-gperf-lookup-function-signat.patch
# apply user patches
eapply_user
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/udev/, sys-fs/udev/files/
@ 2017-07-02 16:11 Mike Gilbert
0 siblings, 0 replies; 13+ messages in thread
From: Mike Gilbert @ 2017-07-02 16:11 UTC (permalink / raw
To: gentoo-commits
commit: 247ffd39f221d14cf084a5119a5675b626837c1b
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 2 16:10:50 2017 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sun Jul 2 16:11:01 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=247ffd39
sys-fs/udev: fix build failure on alpha/ia64
Bug: https://bugs.gentoo.org/612102
Package-Manager: Portage-2.3.6_p9, Repoman-2.3.2_p77
sys-fs/udev/files/233-format-warnings.patch | 84 +++++++++++++++++++++++++++++
sys-fs/udev/udev-233.ebuild | 18 ++-----
2 files changed, 89 insertions(+), 13 deletions(-)
diff --git a/sys-fs/udev/files/233-format-warnings.patch b/sys-fs/udev/files/233-format-warnings.patch
new file mode 100644
index 00000000000..7bb08f0a320
--- /dev/null
+++ b/sys-fs/udev/files/233-format-warnings.patch
@@ -0,0 +1,84 @@
+From 3e7d14d78c4d15ec7789299216cbf5c58e61547b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
+Date: Sat, 3 Jun 2017 05:41:17 -0400
+Subject: [PATCH] sd-bus: silence format warnings in kdbus code (#6072)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The code is mostly correct, but gcc is trying to outsmart us, and emits a
+warning for a "llu vs lu" mismatch, even though they are the same size (on alpha):
+
+src/libsystemd/sd-bus/bus-control.c: In function ‘kernel_get_list’:
+src/libsystemd/sd-bus/bus-control.c:267:42: error: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 3 has type ‘__u64 {aka long unsigned int}’ [-Werror=format=]
+ if (asprintf(&n, ":1.%llu", name->id) < 0) {
+ ^
+src/libsystemd/sd-bus/bus-control.c: In function ‘bus_get_name_creds_kdbus’:
+src/libsystemd/sd-bus/bus-control.c:714:47: error: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 3 has type ‘__u64 {aka long unsigned int}’ [-Werror=format=]
+ if (asprintf(&c->unique_name, ":1.%llu", conn_info->id) < 0) {
+ ^
+This is hard to work around properly, because kdbus.h uses __u64 which is
+defined-differently-despite-being-the-same-size then uint64_t. Thus the simple
+solution of using %PRIu64 fails on amd64:
+
+src/libsystemd/sd-bus/bus-control.c:714:47: error: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘__u64 {aka long long unsigned int}’ [-Werror=format=]
+ if (asprintf(&c->unique_name, ":1.%"PRIu64, conn_info->id) < 0) {
+ ^~~~~~
+
+Let's just avoid the whole issue for now by silencing the warning.
+After the next release, we should just get rid of the kdbus code.
+
+Fixes #5561.
+---
+ src/libsystemd/sd-bus/bus-control.c | 6 ++++++
+ src/libsystemd/sd-bus/bus-kernel.c | 2 ++
+ 2 files changed, 8 insertions(+)
+
+diff --git a/src/libsystemd/sd-bus/bus-control.c b/src/libsystemd/sd-bus/bus-control.c
+index 9e58ffbd8..303ae0f23 100644
+--- a/src/libsystemd/sd-bus/bus-control.c
++++ b/src/libsystemd/sd-bus/bus-control.c
+@@ -264,10 +264,13 @@ static int kernel_get_list(sd_bus *bus, uint64_t flags, char ***x) {
+ if ((flags & KDBUS_LIST_UNIQUE) && name->id != previous_id && !(name->flags & KDBUS_HELLO_ACTIVATOR)) {
+ char *n;
+
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wformat"
+ if (asprintf(&n, ":1.%llu", name->id) < 0) {
+ r = -ENOMEM;
+ goto fail;
+ }
++#pragma GCC diagnostic pop
+
+ r = strv_consume(x, n);
+ if (r < 0)
+@@ -711,10 +714,13 @@ int bus_get_name_creds_kdbus(
+ }
+
+ if (mask & SD_BUS_CREDS_UNIQUE_NAME) {
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wformat"
+ if (asprintf(&c->unique_name, ":1.%llu", conn_info->id) < 0) {
+ r = -ENOMEM;
+ goto fail;
+ }
++#pragma GCC diagnostic pop
+
+ c->mask |= SD_BUS_CREDS_UNIQUE_NAME;
+ }
+diff --git a/src/libsystemd/sd-bus/bus-kernel.c b/src/libsystemd/sd-bus/bus-kernel.c
+index c82caeb3f..ca6aee7c0 100644
+--- a/src/libsystemd/sd-bus/bus-kernel.c
++++ b/src/libsystemd/sd-bus/bus-kernel.c
+@@ -51,6 +51,8 @@
+ #include "user-util.h"
+ #include "util.h"
+
++#pragma GCC diagnostic ignored "-Wformat"
++
+ #define UNIQUE_NAME_MAX (3+DECIMAL_STR_MAX(uint64_t))
+
+ int bus_kernel_parse_unique_name(const char *s, uint64_t *id) {
+--
+2.13.2
+
diff --git a/sys-fs/udev/udev-233.ebuild b/sys-fs/udev/udev-233.ebuild
index 8662d86b43c..7cdbc7e3da1 100644
--- a/sys-fs/udev/udev-233.ebuild
+++ b/sys-fs/udev/udev-233.ebuild
@@ -9,13 +9,7 @@ if [[ ${PV} = 9999* ]]; then
EGIT_REPO_URI="git://anongit.freedesktop.org/systemd/systemd"
inherit git-r3
else
- patchset=
SRC_URI="https://github.com/systemd/systemd/archive/v${PV}.tar.gz -> systemd-${PV}.tar.gz"
- if [[ -n "${patchset}" ]]; then
- SRC_URI+="
- https://dev.gentoo.org/~williamh/dist/${P}-patches-${patchset}.tar.xz
- https://dev.gentoo.org/~ssuominen/${P}-patches-${patchset}.tar.xz"
- fi
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
fi
@@ -61,6 +55,10 @@ PDEPEND=">=sys-apps/hwids-20140304[udev]
S=${WORKDIR}/systemd-${PV}
+PATCHES=(
+ "${FILESDIR}"/233-format-warnings.patch
+)
+
check_default_rules() {
# Make sure there are no sudden changes to upstream rules file
# (more for my own needs than anything else ...)
@@ -104,11 +102,6 @@ src_prepare() {
fi
fi
- # backport some patches
- if [[ -n "${patchset}" ]]; then
- eapply "${WORKDIR}"/patch
- fi
-
cat <<-EOF > "${T}"/40-gentoo.rules
# Gentoo specific floppy and usb groups
ACTION=="add", SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
@@ -121,8 +114,7 @@ src_prepare() {
# stub out the am_path_libcrypt function
echo 'AC_DEFUN([AM_PATH_LIBGCRYPT],[:])' > m4/gcrypt.m4
- # apply user patches
- eapply_user
+ default
eautoreconf
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/udev/, sys-fs/udev/files/
@ 2017-08-13 23:08 Mike Gilbert
0 siblings, 0 replies; 13+ messages in thread
From: Mike Gilbert @ 2017-08-13 23:08 UTC (permalink / raw
To: gentoo-commits
commit: cc7faaaefdb480c904faa827ee2917a3e3472c4e
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 13 23:07:04 2017 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sun Aug 13 23:07:59 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cc7faaae
sys-fs/udev: replace uucp sed with a patch
Bug: https://bugs.gentoo.org/625720
Package-Manager: Portage-2.3.6_p34, Repoman-2.3.3_p12
sys-fs/udev/files/234-uucp-group.patch | 11 +++++++++++
sys-fs/udev/{udev-234.ebuild => udev-234-r1.ebuild} | 19 ++++---------------
sys-fs/udev/udev-9999.ebuild | 21 +++++----------------
3 files changed, 20 insertions(+), 31 deletions(-)
diff --git a/sys-fs/udev/files/234-uucp-group.patch b/sys-fs/udev/files/234-uucp-group.patch
new file mode 100644
index 00000000000..89cf552c829
--- /dev/null
+++ b/sys-fs/udev/files/234-uucp-group.patch
@@ -0,0 +1,11 @@
+--- a/rules/50-udev-default.rules.in
++++ b/rules/50-udev-default.rules.in
+@@ -22,7 +22,7 @@
+ SUBSYSTEM=="tty", KERNEL=="ttysclp[0-9]*", GROUP="tty", MODE="0620"
+ SUBSYSTEM=="tty", KERNEL=="3270/tty[0-9]*", GROUP="tty", MODE="0620"
+ SUBSYSTEM=="vc", KERNEL=="vcs*|vcsa*", GROUP="tty"
+-KERNEL=="tty[A-Z]*[0-9]|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="dialout"
++KERNEL=="tty[A-Z]*[0-9]|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="uucp"
+
+ SUBSYSTEM=="mem", KERNEL=="mem|kmem|port", GROUP="kmem", MODE="0640"
+
diff --git a/sys-fs/udev/udev-234.ebuild b/sys-fs/udev/udev-234-r1.ebuild
similarity index 95%
rename from sys-fs/udev/udev-234.ebuild
rename to sys-fs/udev/udev-234-r1.ebuild
index e8469928824..03c1796fcac 100644
--- a/sys-fs/udev/udev-234.ebuild
+++ b/sys-fs/udev/udev-234-r1.ebuild
@@ -9,13 +9,7 @@ if [[ ${PV} = 9999* ]]; then
EGIT_REPO_URI="https://github.com/systemd/systemd.git"
inherit git-r3
else
- patchset=
SRC_URI="https://github.com/systemd/systemd/archive/v${PV}.tar.gz -> systemd-${PV}.tar.gz"
- if [[ -n "${patchset}" ]]; then
- SRC_URI+="
- https://dev.gentoo.org/~williamh/dist/${P}-patches-${patchset}.tar.xz
- https://dev.gentoo.org/~ssuominen/${P}-patches-${patchset}.tar.xz"
- fi
KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86"
fi
@@ -92,22 +86,17 @@ src_prepare() {
fi
fi
- # backport some patches
- if [[ -n "${patchset}" ]]; then
- eapply "${WORKDIR}"/patch
- fi
-
cat <<-EOF > "${T}"/40-gentoo.rules
# Gentoo specific floppy and usb groups
ACTION=="add", SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
EOF
- # change rules back to group uucp instead of dialout for now wrt #454556
- sed -i -e 's/GROUP="dialout"/GROUP="uucp"/' rules/*.rules || die
+ local PATCHES=(
+ "${FILESDIR}/234-uucp-group.patch"
+ )
- # apply user patches
- eapply_user
+ default
if ! use elibc_glibc; then #443030
echo '#define secure_getenv(x) NULL' >> config.h.in
diff --git a/sys-fs/udev/udev-9999.ebuild b/sys-fs/udev/udev-9999.ebuild
index b7834ccec24..03c1796fcac 100644
--- a/sys-fs/udev/udev-9999.ebuild
+++ b/sys-fs/udev/udev-9999.ebuild
@@ -9,14 +9,8 @@ if [[ ${PV} = 9999* ]]; then
EGIT_REPO_URI="https://github.com/systemd/systemd.git"
inherit git-r3
else
- patchset=
SRC_URI="https://github.com/systemd/systemd/archive/v${PV}.tar.gz -> systemd-${PV}.tar.gz"
- if [[ -n "${patchset}" ]]; then
- SRC_URI+="
- https://dev.gentoo.org/~williamh/dist/${P}-patches-${patchset}.tar.xz
- https://dev.gentoo.org/~ssuominen/${P}-patches-${patchset}.tar.xz"
- fi
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86"
fi
DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)"
@@ -92,22 +86,17 @@ src_prepare() {
fi
fi
- # backport some patches
- if [[ -n "${patchset}" ]]; then
- eapply "${WORKDIR}"/patch
- fi
-
cat <<-EOF > "${T}"/40-gentoo.rules
# Gentoo specific floppy and usb groups
ACTION=="add", SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
EOF
- # change rules back to group uucp instead of dialout for now wrt #454556
- sed -i -e 's/GROUP="dialout"/GROUP="uucp"/' rules/*.rules || die
+ local PATCHES=(
+ "${FILESDIR}/234-uucp-group.patch"
+ )
- # apply user patches
- eapply_user
+ default
if ! use elibc_glibc; then #443030
echo '#define secure_getenv(x) NULL' >> config.h.in
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/udev/, sys-fs/udev/files/
@ 2017-12-16 17:54 William Hubbs
0 siblings, 0 replies; 13+ messages in thread
From: William Hubbs @ 2017-12-16 17:54 UTC (permalink / raw
To: gentoo-commits
commit: 930b5a6b49bfa99f6d9f01f21a4e1644ff6799d7
Author: William Hubbs <williamh <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 16 17:36:32 2017 +0000
Commit: William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Sat Dec 16 17:54:13 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=930b5a6b
sys-fs/udev: 236 version bump
Package-Manager: Portage-2.3.13, Repoman-2.3.3
sys-fs/udev/Manifest | 1 +
sys-fs/udev/files/236-uucp-group.patch | 13 ++
sys-fs/udev/udev-236.ebuild | 329 +++++++++++++++++++++++++++++++++
3 files changed, 343 insertions(+)
diff --git a/sys-fs/udev/Manifest b/sys-fs/udev/Manifest
index c6ecac5bfc2..4d5255330b8 100644
--- a/sys-fs/udev/Manifest
+++ b/sys-fs/udev/Manifest
@@ -3,4 +3,5 @@ DIST systemd-225.tar.gz 3878442 BLAKE2B 24bf9f6bfdd7d7c585829c1b172f73e669e13702
DIST systemd-233.tar.gz 4660737 BLAKE2B 38cdd74543447b3c02391b328428fed169fe2cf2df6e9341dcaf2f7d3d977612ec102301e144c1cada90d61e9e9bda3b2faaef708c8ff4bd0b52b143760a83b2 SHA512 5ad5329ea116d973cf67096f7e7ad28e9ea0905696e9451291f1d25e5064f4a9bfcfae87e912996c6a38397e9f4a148d4ccecfa9b70f7ecdf04deadb61784c8e
DIST systemd-234.tar.gz 4800186 BLAKE2B 398ed8869da98909d1374ef5e549ca3e26b02ece577d94dec53e98431de0c6441e50762a3bc2c93fa1c14c236a8f0dca8e3f4102fd276ec977dfb3e77a789165 SHA512 762336a7d96c6583cf71cad62efce95a0ed93cd0a0d7251f128d10dba8200c0c8df0e5a7d168179ababa5b221295a231e73b7e7ea2697cb3fb5c1b33538efa68
DIST systemd-235.tar.gz 6586406 BLAKE2B f2e46a6c51fc9445800c4b7eee66f23ae83b42c2fedf2304acf612e6cb99122afe67f1b93cf72ed022b52384975afb92ab38cfb4efc6026384602c973d2eb98e SHA512 243f2eb5340fa37dd1286eaa63e83387bda9e03953af266cd6196a37535a13491482caf14c6ab10608bba4ed23b6c41923608e52017e0c26988ed72ddd2b9993
+DIST systemd-236.tar.gz 6759035 BLAKE2B 0fc26bd67fb6cc3b0565c763fc26e38186c4b05c3d38652b73a2189dfbfb46382dba239f7f6f889eec57ad1d8f69d4098745c8f4ca16a707aa23b7771f2328f3 SHA512 1a9672960e03e05c09e41fb8cfe9b0f25e867fd43f37f8371515ddddfdbd4270afd746a6da733f6d1d3b2cc43db1ecc7a9f2245f2dac2ec233db74e9e70e4f6d
DIST udev-216-patches-2.tar.xz 1264 BLAKE2B b1bbb6b1b7734edc3352b4352a45b4b5df4715b0fc92c4936798aa93fb078755b7795f475d7bc42392ad8ef57853e9ce2507c66cc9bfbd37e6fe22ada4c156cc SHA512 1f5912f3bbc3e40a4efad9de8b1fab2b3a750f3f23c9f2e33a581658959d22cf23f9ff1b8f51597874e7bca1d0f757f37fd5550b4112160261559524eda261f4
diff --git a/sys-fs/udev/files/236-uucp-group.patch b/sys-fs/udev/files/236-uucp-group.patch
new file mode 100644
index 00000000000..be0ba065430
--- /dev/null
+++ b/sys-fs/udev/files/236-uucp-group.patch
@@ -0,0 +1,13 @@
+diff --git a/rules/50-udev-default.rules.in b/rules/50-udev-default.rules.in
+index 71e716913..f24c9e6ae 100644
+--- a/rules/50-udev-default.rules.in
++++ b/rules/50-udev-default.rules.in
+@@ -22,7 +22,7 @@ SUBSYSTEM=="tty", KERNEL=="sclp_line[0-9]*", GROUP="tty", MODE="0620"
+ SUBSYSTEM=="tty", KERNEL=="ttysclp[0-9]*", GROUP="tty", MODE="0620"
+ SUBSYSTEM=="tty", KERNEL=="3270/tty[0-9]*", GROUP="tty", MODE="0620"
+ SUBSYSTEM=="vc", KERNEL=="vcs*|vcsa*", GROUP="tty"
+-KERNEL=="tty[A-Z]*[0-9]|ttymxc[0-9]*|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="dialout"
++KERNEL=="tty[A-Z]*[0-9]|ttymxc[0-9]*|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="uucp"
+
+ SUBSYSTEM=="mem", KERNEL=="mem|kmem|port", GROUP="kmem", MODE="0640"
+
diff --git a/sys-fs/udev/udev-236.ebuild b/sys-fs/udev/udev-236.ebuild
new file mode 100644
index 00000000000..bab6000491a
--- /dev/null
+++ b/sys-fs/udev/udev-236.ebuild
@@ -0,0 +1,329 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit bash-completion-r1 linux-info meson ninja-utils multilib-minimal toolchain-funcs udev user versionator
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="https://github.com/systemd/systemd.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/systemd/systemd/archive/v${PV}.tar.gz -> systemd-${PV}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~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"
+
+RESTRICT="test"
+
+COMMON_DEPEND=">=sys-apps/util-linux-2.30[${MULTILIB_USEDEP}]
+ sys-libs/libcap[${MULTILIB_USEDEP}]
+ acl? ( sys-apps/acl )
+ kmod? ( >=sys-apps/kmod-16 )
+ selinux? ( >=sys-libs/libselinux-2.1.9 )
+ !<sys-libs/glibc-2.11
+ !sys-apps/gentoo-systemd-integration
+ !sys-apps/systemd
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20130224-r7
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+DEPEND="${COMMON_DEPEND}
+ dev-util/gperf
+ >=dev-util/intltool-0.50
+ >=dev-util/meson-0.40.0
+ dev-util/ninja
+ >=sys-apps/coreutils-8.16
+ virtual/os-headers
+ virtual/pkgconfig
+ >=sys-kernel/linux-headers-3.9
+ app-text/docbook-xml-dtd:4.2
+ app-text/docbook-xml-dtd:4.5
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt"
+RDEPEND="${COMMON_DEPEND}
+ !<sys-fs/lvm2-2.02.103
+ !<sec-policy/selinux-base-2.20120725-r10"
+PDEPEND=">=sys-apps/hwids-20140304[udev]
+ >=sys-fs/udev-init-scripts-26"
+
+S=${WORKDIR}/systemd-${PV}
+EGIT_CHECKOUT_DIR=${S}
+
+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() {
+ if ! [[ ${PV} = 9999* ]]; then
+ # secure_getenv() disable for non-glibc systems wrt bug #443030
+ if ! [[ $(grep -r secure_getenv * | wc -l) -eq 27 ]]; then
+ eerror "The line count for secure_getenv() failed, see bug #443030"
+ die
+ fi
+ fi
+
+ cat <<-EOF > "${T}"/40-gentoo.rules
+ # Gentoo specific floppy and usb groups
+ ACTION=="add", SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
+ ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
+ EOF
+
+ local PATCHES=(
+ "${FILESDIR}/236-uucp-group.patch"
+ )
+
+ default
+
+ if ! use elibc_glibc; then #443030
+ echo '#define secure_getenv(x) NULL' >> config.h.in
+ sed -i -e '/error.*secure_getenv/s:.*:#define secure_getenv(x) NULL:' src/shared/missing.h || die
+ fi
+}
+
+meson_multilib_native_use() {
+ if multilib_is_native_abi && use "$1"; then
+ echo true
+ else
+ echo false
+ fi
+}
+
+multilib_src_configure() {
+ local emesonargs=(
+ -Dacl=$(meson_multilib_native_use acl)
+ -Defi=false
+ -Dkmod=$(meson_multilib_native_use kmod)
+ -Dselinux=$(meson_multilib_native_use selinux)
+ -Dlink-udev-shared=false
+ -Dsplit-usr=true
+ )
+ meson_src_configure
+}
+
+src_configure() {
+ # Prevent conflicts with i686 cross toolchain, bug 559726
+ tc-export AR CC NM OBJCOPY RANLIB
+ multilib-minimal_src_configure
+}
+
+multilib_src_compile() {
+ # meson creates this link
+ local libudev=$(readlink src/libudev/libudev.so.1)
+
+ local targets=(
+ src/libudev/${libudev}
+ )
+ if multilib_is_native_abi; then
+ targets+=(
+ systemd-udevd
+ udevadm
+ src/udev/ata_id
+ src/udev/cdrom_id
+ src/udev/collect
+ src/udev/mtd_probe
+ src/udev/scsi_id
+ 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
+ )
+ fi
+ eninja "${targets[@]}"
+}
+
+multilib_src_install() {
+ local libudev=$(readlink src/libudev/libudev.so.1)
+
+ into /
+ dolib.so src/libudev/{${libudev},libudev.so.1,libudev.so}
+
+ insinto "/usr/$(get_libdir)/pkgconfig"
+ doins src/libudev/libudev.pc
+
+ if multilib_is_native_abi; then
+ into /
+ dobin udevadm
+
+ exeinto /lib/systemd
+ doexe systemd-udevd
+
+ exeinto /lib/udev
+ doexe src/udev/{ata_id,cdrom_id,collect,mtd_probe,scsi_id,v4l_id}
+
+ rm rules/99-systemd.rules || die
+ insinto /lib/udev/rules.d
+ doins rules/*.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
+
+ insinto /lib/systemd/network
+ doins network/99-default.link
+
+ # see src_prepare() for content of 40-gentoo.rules
+ insinto /lib/udev/rules.d
+ doins "${T}"/40-gentoo.rules
+ doins "${S}"/rules/*.rules
+
+ dobashcomp shell-completion/bash/udevadm
+
+ insinto /usr/share/zsh/site-functions
+ doins shell-completion/zsh/_udevadm
+
+ einstalldocs
+}
+
+pkg_postinst() {
+ mkdir -p "${ROOT%/}"/run
+
+ # "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766
+ # So try to remove it here (will only work if empty).
+ rmdir "${ROOT%/}"/dev/loop 2>/dev/null
+ if [[ -d ${ROOT%/}/dev/loop ]]; then
+ ewarn "Please make sure your remove /dev/loop,"
+ ewarn "else losetup may be confused when looking for unused devices."
+ fi
+
+ local fstab="${ROOT%/}"/etc/fstab dev path fstype rest
+ while read -r dev path fstype rest; do
+ if [[ ${path} == /dev && ${fstype} != devtmpfs ]]; then
+ ewarn "You need to edit your /dev line in ${fstab} to have devtmpfs"
+ ewarn "filesystem. Otherwise udev won't be able to boot."
+ ewarn "See, https://bugs.gentoo.org/453186"
+ fi
+ done < "${fstab}"
+
+ if [[ -d ${ROOT%/}/usr/lib/udev ]]; then
+ ewarn
+ ewarn "Please re-emerge all packages on your system which install"
+ ewarn "rules and helpers in /usr/lib/udev. They should now be in"
+ ewarn "/lib/udev."
+ ewarn
+ ewarn "One way to do this is to run the following command:"
+ ewarn "emerge -av1 \$(qfile -q -S -C /usr/lib/udev)"
+ ewarn "Note that qfile can be found in app-portage/portage-utils"
+ fi
+
+ local old_cd_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-cd.rules
+ local old_net_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-net.rules
+ for old_rules in "${old_cd_rules}" "${old_net_rules}"; do
+ if [[ -f ${old_rules} ]]; then
+ ewarn
+ ewarn "File ${old_rules} is from old udev installation but if you still use it,"
+ ewarn "rename it to something else starting with 70- to silence this deprecation"
+ ewarn "warning."
+ fi
+ done
+
+ elog
+ elog "Starting from version >= 197 the new predictable network interface names are"
+ elog "used by default, see:"
+ elog "https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames"
+ elog "https://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c"
+ elog
+ elog "Example command to get the information for the new interface name before booting"
+ elog "(replace <ifname> with, for example, eth0):"
+ elog "# udevadm test-builtin net_id /sys/class/net/<ifname> 2> /dev/null"
+ elog
+ elog "You can use either kernel parameter \"net.ifnames=0\", create empty"
+ elog "file /etc/systemd/network/99-default.link, or symlink it to /dev/null"
+ elog "to disable the feature."
+
+ if has_version 'sys-apps/biosdevname'; then
+ ewarn
+ ewarn "You can replace the functionality of sys-apps/biosdevname which has been"
+ ewarn "detected to be installed with the new predictable network interface names."
+ fi
+
+ ewarn
+ ewarn "You need to restart udev as soon as possible to make the upgrade go"
+ ewarn "into effect."
+ ewarn "The method you use to do this depends on your init system."
+ if has_version 'sys-apps/openrc'; then
+ ewarn "For sys-apps/openrc users it is:"
+ ewarn "# /etc/init.d/udev --nodeps restart"
+ fi
+
+ elog
+ elog "For more information on udev on Gentoo, upgrading, writing udev rules, and"
+ elog "fixing known issues visit:"
+ elog "https://wiki.gentoo.org/wiki/Udev"
+ elog "https://wiki.gentoo.org/wiki/Udev/upgrade"
+
+ # If user has disabled 80-net-name-slot.rules using a empty file or a symlink to /dev/null,
+ # do the same for 80-net-setup-link.rules to keep the old behavior
+ local net_move=no
+ local net_name_slot_sym=no
+ local net_rules_path="${ROOT%/}"/etc/udev/rules.d
+ local net_name_slot="${net_rules_path}"/80-net-name-slot.rules
+ local net_setup_link="${net_rules_path}"/80-net-setup-link.rules
+ if [[ ! -e ${net_setup_link} ]]; then
+ [[ -f ${net_name_slot} && $(sed -e "/^#/d" -e "/^\W*$/d" ${net_name_slot} | wc -l) == 0 ]] && net_move=yes
+ if [[ -L ${net_name_slot} && $(readlink ${net_name_slot}) == /dev/null ]]; then
+ net_move=yes
+ net_name_slot_sym=yes
+ fi
+ fi
+ if [[ ${net_move} == yes ]]; then
+ ebegin "Copying ${net_name_slot} to ${net_setup_link}"
+
+ if [[ ${net_name_slot_sym} == yes ]]; then
+ ln -nfs /dev/null "${net_setup_link}"
+ else
+ cp "${net_name_slot}" "${net_setup_link}"
+ fi
+ eend $?
+ fi
+
+ # https://cgit.freedesktop.org/systemd/systemd/commit/rules/50-udev-default.rules?id=3dff3e00e044e2d53c76fa842b9a4759d4a50e69
+ # https://bugs.gentoo.org/246847
+ # https://bugs.gentoo.org/514174
+ enewgroup input
+
+ # 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
+}
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/udev/, sys-fs/udev/files/
@ 2018-01-10 18:32 Mike Gilbert
0 siblings, 0 replies; 13+ messages in thread
From: Mike Gilbert @ 2018-01-10 18:32 UTC (permalink / raw
To: gentoo-commits
commit: e248b7af8903fdb47cd11c203d46f8eded6023c3
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 10 18:20:34 2018 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Wed Jan 10 18:31:46 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e248b7af
sys-fs/udev: fix 233 build with glibc-2.26
Package-Manager: Portage-2.3.19_p3, Repoman-2.3.6_p37
sys-fs/udev/files/233-fix-includes.patch | 38 ++++++++++++++++++++++++++++++++
sys-fs/udev/udev-233.ebuild | 3 ++-
2 files changed, 40 insertions(+), 1 deletion(-)
diff --git a/sys-fs/udev/files/233-fix-includes.patch b/sys-fs/udev/files/233-fix-includes.patch
new file mode 100644
index 00000000000..44b06214f89
--- /dev/null
+++ b/sys-fs/udev/files/233-fix-includes.patch
@@ -0,0 +1,38 @@
+From 284d1cd0a12cad96a5ea61d1afb0dd677dbd147e Mon Sep 17 00:00:00 2001
+From: Matija Skala <mskala@gmx.com>
+Date: Wed, 15 Mar 2017 13:21:10 +0100
+Subject: [PATCH] fix includes
+
+linux/sockios.h is needed for the SIOCGSTAMPNS macro
+
+xlocale.h is included indirectly in glibc and doesn't even exist in
+other libcs
+---
+ src/basic/parse-util.c | 1 -
+ src/libsystemd-network/sd-lldp.c | 1 +
+ 2 files changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c
+index 6e58ced6f5..d86700736d 100644
+--- a/src/basic/parse-util.c
++++ b/src/basic/parse-util.c
+@@ -23,7 +23,6 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+-#include <xlocale.h>
+
+ #include "alloc-util.h"
+ #include "extract-word.h"
+diff --git a/src/libsystemd-network/sd-lldp.c b/src/libsystemd-network/sd-lldp.c
+index 0702241506..39ddb2461a 100644
+--- a/src/libsystemd-network/sd-lldp.c
++++ b/src/libsystemd-network/sd-lldp.c
+@@ -19,6 +19,7 @@
+ ***/
+
+ #include <arpa/inet.h>
++#include <linux/sockios.h>
+
+ #include "sd-lldp.h"
+
diff --git a/sys-fs/udev/udev-233.ebuild b/sys-fs/udev/udev-233.ebuild
index c42ecc2c0be..33ba3ae76f4 100644
--- a/sys-fs/udev/udev-233.ebuild
+++ b/sys-fs/udev/udev-233.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -57,6 +57,7 @@ S=${WORKDIR}/systemd-${PV}
PATCHES=(
"${FILESDIR}"/233-format-warnings.patch
+ "${FILESDIR}"/233-fix-includes.patch
)
check_default_rules() {
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/udev/, sys-fs/udev/files/
@ 2019-07-30 14:46 Mike Gilbert
0 siblings, 0 replies; 13+ messages in thread
From: Mike Gilbert @ 2019-07-30 14:46 UTC (permalink / raw
To: gentoo-commits
commit: bedd1302f0fdf5d892f9bf8be663e6b3bfa3cb0e
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 30 14:44:29 2019 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Tue Jul 30 14:45:04 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bedd1302
sys-fs/udev: backport fixes for gcc 9
Closes: https://bugs.gentoo.org/690356
Package-Manager: Portage-2.3.69_p3, Repoman-2.3.16_p12
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
sys-fs/udev/files/242-gcc-9.patch | 163 ++++++++++++++++++++++++++++++++++++++
sys-fs/udev/udev-242.ebuild | 1 +
2 files changed, 164 insertions(+)
diff --git a/sys-fs/udev/files/242-gcc-9.patch b/sys-fs/udev/files/242-gcc-9.patch
new file mode 100644
index 00000000000..e9f690a65be
--- /dev/null
+++ b/sys-fs/udev/files/242-gcc-9.patch
@@ -0,0 +1,163 @@
+From c98b3545008d8e984ab456dcf79787418fcbfe13 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
+Date: Tue, 7 May 2019 13:46:55 +0200
+Subject: [PATCH] network: remove redunant link name in message
+
+Fixes #12454.
+
+gcc was complaining that the link->ifname argument is NULL. Adding
+assert(link->ifname) right before the call has no effect. It seems that
+gcc is confused by the fact that log_link_warning_errno() internally
+calls log_object(), with link->ifname passed as the object. log_object()
+is also a macro and is does a check whether the passed object is NULL.
+So we have a check if something is NULL right next an unconditional use
+of it where it cannot be NULL. I think it's a bug in gcc.
+
+Anyway, we don't need to use link->ifname here. log_object() already prepends
+the object name to the message.
+---
+ src/network/networkd-link.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
+index 533193ac932..6fc82940033 100644
+--- a/src/network/networkd-link.c
++++ b/src/network/networkd-link.c
+@@ -338,8 +338,7 @@ static int link_enable_ipv6(Link *link) {
+
+ r = sysctl_write_ip_property_boolean(AF_INET6, link->ifname, "disable_ipv6", disabled);
+ if (r < 0)
+- log_link_warning_errno(link, r, "Cannot %s IPv6 for interface %s: %m",
+- enable_disable(!disabled), link->ifname);
++ log_link_warning_errno(link, r, "Cannot %s IPv6: %m", enable_disable(!disabled));
+ else
+ log_link_info(link, "IPv6 successfully %sd", enable_disable(!disabled));
+
+From bcb846f30f9ca8f42e79d109706aee9f2032261b Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Wed, 22 May 2019 10:31:01 -0400
+Subject: [PATCH] shared/machine-image: avoid passing NULL to log_debug_errno
+
+Fixes: https://github.com/systemd/systemd/issues/12534
+---
+ src/shared/machine-image.c | 11 ++++++++---
+ 1 file changed, 8 insertions(+), 3 deletions(-)
+
+diff --git a/src/shared/machine-image.c b/src/shared/machine-image.c
+index 6b9d8fb97a6..6a6d952b424 100644
+--- a/src/shared/machine-image.c
++++ b/src/shared/machine-image.c
+@@ -201,11 +201,13 @@ static int image_make(
+ Image **ret) {
+
+ _cleanup_free_ char *pretty_buffer = NULL;
++ _cleanup_free_ char *cwd = NULL;
+ struct stat stbuf;
+ bool read_only;
+ int r;
+
+ assert(dfd >= 0 || dfd == AT_FDCWD);
++ assert(path || dfd == AT_FDCWD);
+ assert(filename);
+
+ /* We explicitly *do* follow symlinks here, since we want to allow symlinking trees, raw files and block
+@@ -221,6 +223,9 @@ static int image_make(
+ st = &stbuf;
+ }
+
++ if (!path)
++ safe_getcwd(&cwd);
++
+ read_only =
+ (path && path_startswith(path, "/usr")) ||
+ (faccessat(dfd, filename, W_OK, AT_EACCESS) < 0 && errno == EROFS);
+@@ -359,7 +364,7 @@ static int image_make(
+
+ block_fd = openat(dfd, filename, O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_NOCTTY);
+ if (block_fd < 0)
+- log_debug_errno(errno, "Failed to open block device %s/%s, ignoring: %m", path, filename);
++ log_debug_errno(errno, "Failed to open block device %s/%s, ignoring: %m", path ?: strnull(cwd), filename);
+ else {
+ /* Refresh stat data after opening the node */
+ if (fstat(block_fd, &stbuf) < 0)
+@@ -373,13 +378,13 @@ static int image_make(
+ int state = 0;
+
+ if (ioctl(block_fd, BLKROGET, &state) < 0)
+- log_debug_errno(errno, "Failed to issue BLKROGET on device %s/%s, ignoring: %m", path, filename);
++ log_debug_errno(errno, "Failed to issue BLKROGET on device %s/%s, ignoring: %m", path ?: strnull(cwd), filename);
+ else if (state)
+ read_only = true;
+ }
+
+ if (ioctl(block_fd, BLKGETSIZE64, &size) < 0)
+- log_debug_errno(errno, "Failed to issue BLKGETSIZE64 on device %s/%s, ignoring: %m", path, filename);
++ log_debug_errno(errno, "Failed to issue BLKGETSIZE64 on device %s/%s, ignoring: %m", path ?: strnull(cwd), filename);
+
+ block_fd = safe_close(block_fd);
+ }
+From 2570578d908a8e010828fa1f88826b1c45d534ff Mon Sep 17 00:00:00 2001
+From: Lennart Poettering <lennart@poettering.net>
+Date: Fri, 24 May 2019 10:54:09 +0200
+Subject: [PATCH] machine-image: openat() doesn't operate on the cwd if the
+ first argument is specified
+
+A fix-up for bcb846f30f9ca8f42e79d109706aee9f2032261b.
+---
+ src/shared/machine-image.c | 17 ++++++++++-------
+ 1 file changed, 10 insertions(+), 7 deletions(-)
+
+diff --git a/src/shared/machine-image.c b/src/shared/machine-image.c
+index 6a6d952b424..55e5f08f91e 100644
+--- a/src/shared/machine-image.c
++++ b/src/shared/machine-image.c
+@@ -200,8 +200,7 @@ static int image_make(
+ const struct stat *st,
+ Image **ret) {
+
+- _cleanup_free_ char *pretty_buffer = NULL;
+- _cleanup_free_ char *cwd = NULL;
++ _cleanup_free_ char *pretty_buffer = NULL, *parent = NULL;
+ struct stat stbuf;
+ bool read_only;
+ int r;
+@@ -223,8 +222,12 @@ static int image_make(
+ st = &stbuf;
+ }
+
+- if (!path)
+- safe_getcwd(&cwd);
++ if (!path) {
++ if (dfd == AT_FDCWD)
++ (void) safe_getcwd(&parent);
++ else
++ (void) fd_get_path(dfd, &parent);
++ }
+
+ read_only =
+ (path && path_startswith(path, "/usr")) ||
+@@ -364,7 +367,7 @@ static int image_make(
+
+ block_fd = openat(dfd, filename, O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_NOCTTY);
+ if (block_fd < 0)
+- log_debug_errno(errno, "Failed to open block device %s/%s, ignoring: %m", path ?: strnull(cwd), filename);
++ log_debug_errno(errno, "Failed to open block device %s/%s, ignoring: %m", path ?: strnull(parent), filename);
+ else {
+ /* Refresh stat data after opening the node */
+ if (fstat(block_fd, &stbuf) < 0)
+@@ -378,13 +381,13 @@ static int image_make(
+ int state = 0;
+
+ if (ioctl(block_fd, BLKROGET, &state) < 0)
+- log_debug_errno(errno, "Failed to issue BLKROGET on device %s/%s, ignoring: %m", path ?: strnull(cwd), filename);
++ log_debug_errno(errno, "Failed to issue BLKROGET on device %s/%s, ignoring: %m", path ?: strnull(parent), filename);
+ else if (state)
+ read_only = true;
+ }
+
+ if (ioctl(block_fd, BLKGETSIZE64, &size) < 0)
+- log_debug_errno(errno, "Failed to issue BLKGETSIZE64 on device %s/%s, ignoring: %m", path ?: strnull(cwd), filename);
++ log_debug_errno(errno, "Failed to issue BLKGETSIZE64 on device %s/%s, ignoring: %m", path ?: strnull(parent), filename);
+
+ block_fd = safe_close(block_fd);
+ }
diff --git a/sys-fs/udev/udev-242.ebuild b/sys-fs/udev/udev-242.ebuild
index 0490d5f1dea..126aa9ccf37 100644
--- a/sys-fs/udev/udev-242.ebuild
+++ b/sys-fs/udev/udev-242.ebuild
@@ -97,6 +97,7 @@ src_prepare() {
fi
local PATCHES=(
+ "${FILESDIR}"/242-gcc-9.patch
)
default
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/udev/, sys-fs/udev/files/
@ 2019-10-11 4:38 William Hubbs
0 siblings, 0 replies; 13+ messages in thread
From: William Hubbs @ 2019-10-11 4:38 UTC (permalink / raw
To: gentoo-commits
commit: c675e266b1c5b8fe4e5db814db6de7c3994cb6d2
Author: William Hubbs <williamh <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 11 04:37:09 2019 +0000
Commit: William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Fri Oct 11 04:37:41 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c675e266
sys-fs/udev: remove several old versions
Package-Manager: Portage-2.3.76, Repoman-2.3.16
Signed-off-by: William Hubbs <williamh <AT> gentoo.org>
sys-fs/udev/Manifest | 9 -
sys-fs/udev/files/236-uucp-group.patch | 13 -
...issing-comma-in-raw_clone-assembly-for-sp.patch | 29 --
| 40 ---
sys-fs/udev/files/239-stat-0.patch | 108 -------
sys-fs/udev/files/239-stat-1.patch | 74 -----
sys-fs/udev/udev-236-r1.ebuild | 336 ---------------------
sys-fs/udev/udev-238.ebuild | 323 --------------------
sys-fs/udev/udev-239.ebuild | 327 --------------------
sys-fs/udev/udev-240-r2.ebuild | 325 --------------------
sys-fs/udev/udev-240-r3.ebuild | 325 --------------------
sys-fs/udev/udev-241.ebuild | 328 --------------------
sys-fs/udev/udev-241_rc1.ebuild | 326 --------------------
sys-fs/udev/udev-241_rc2.ebuild | 326 --------------------
14 files changed, 2889 deletions(-)
diff --git a/sys-fs/udev/Manifest b/sys-fs/udev/Manifest
index b53cebb6825..875ca45a4ae 100644
--- a/sys-fs/udev/Manifest
+++ b/sys-fs/udev/Manifest
@@ -1,11 +1,2 @@
-DIST systemd-236.tar.gz 6759035 BLAKE2B 0fc26bd67fb6cc3b0565c763fc26e38186c4b05c3d38652b73a2189dfbfb46382dba239f7f6f889eec57ad1d8f69d4098745c8f4ca16a707aa23b7771f2328f3 SHA512 1a9672960e03e05c09e41fb8cfe9b0f25e867fd43f37f8371515ddddfdbd4270afd746a6da733f6d1d3b2cc43db1ecc7a9f2245f2dac2ec233db74e9e70e4f6d
-DIST systemd-238.tar.gz 6954022 BLAKE2B 9b5cc36a7234c0d037a2656ee1e5ed54186a394b8be41771ebc29c903d3efcecf7f13f004a6d1695c022923bd0d540a243e897852f07e810f73fd3163f688dde SHA512 c0f272b022308d3bd94679184e102a8dc85de55310bda205a458ea33c77c7733e5c8c8e5b15f786ba3e0ce59e7c6a9bf0d5a0950517c6b91e0f345950129b9c8
-DIST systemd-239.tar.gz 7157293 BLAKE2B 975f6215c8bb6662d6e161f637e1fece22930c0190b3c31a8fc4cb1a10600546a252704ac95590d9d14e495fcd06082a590e6d755e36603a41b3a396d579d8b0 SHA512 fd44590dfd148504c5ed1e67521efce50d84b627b7fc77015fa95dfa76d7a42297c56cc89eff40181809732024b16d48f2a87038cf435e0c63bc2b95ecd86b0f
-DIST systemd-240-patches-1.tar.gz 15364 BLAKE2B e5cf4c2b8666a5c03e658f46674422d2566a748d3dc088f3cda0f5c5e7b51aec00a531ef7e9d047fd59504299d2e8a44faa353da1183260ae72156bb486d51f7 SHA512 1541810dbcfcc75c4323015c056c963ef69d633761293dea7f27aa6106e3ccc59a84263c703fc5542cf2fb3410c846e97ffb11ecc7d56a98ca658b43b73b6313
-DIST systemd-240-patches-3.tar.gz 31952 BLAKE2B 0677d24c4f4e1575dbd4953eb75734f0773671e4ffc2a8d848353a379f5ea2caf4f96620ed6303d98ec00a15367d5e2124b493aaef80b1a0fe118866a1c04ada SHA512 e604e1de17bcd4c941036f12d2e3ae96dd6e86647db2b07576e8468405900b6e8af6a0e55a50c7e9b19704601930b8152c8ac506b2624e261ee0cd35dfc91a21
-DIST systemd-240.tar.gz 7582001 BLAKE2B cf53595a83424984dd9f533f7cd0c9905366c5a52ab946fc45ff7fd1bcc85978ff654720113641534e40c0f9a1ad1c9628255778616770762950426789f659c3 SHA512 da7467781b16f65d868931ae88fd07554db61542aec7f11dbec9f7279b529f900301edfea2d3813ddb64eeb3fdcfb7be86e540c65212dd7cfdcdebbc80de2ff5
-DIST systemd-241-rc1.tar.gz 7617965 BLAKE2B 6c491297b71ad3c473d644de04bb334f902ee4110d647b654c5452f34401cfc11c7564b290022072555f3fbd46674ce009f587622f412f8a66330a7089db34c5 SHA512 168ba80d6e8abadbf1ed84270f2b02e257f1490b61021bb6fb704d9b5fad2670b63e0fc0cb26071e8d56c993faa30274e80d53cf49154cce2b609f47c73b30e0
-DIST systemd-241-rc2.tar.gz 7619504 BLAKE2B 610940b3141d36a0534cf477d303eb681f418f8c04d7e9ff1d28832d02c05d68195aec108b15392662b134020c28df5b35f6c1c85f8eea8e7090cdc210ce5e26 SHA512 69932b1e5d48fbf6fd650a91354763b1e7e8d490def98a011d6377ee8623abc21244f2c8ddd97a500c4d3e6ab11bae2a6148ddc84e325d75a0273b3d456d8f41
-DIST systemd-241.tar.gz 7640538 BLAKE2B 69d7196fee0d0ad06ea8d7c78b0299cc17517ecce3ca4c0b1181a3fbb13bc2627629156785051e2ff427dcc21414f7a078724c6409ebaa431618e4799ebcd50a SHA512 a7757574590e8aa37e1291ea0b2c5eb03a8d8062fe9462fa5b0bf50830c933e2b301d106c70d904f94afc0aa8e43a8acfd11926dfa25b1b89174580e491e545e
DIST systemd-242.tar.gz 7831435 BLAKE2B 288e65d0a8e133ef5885689eb16118a83d93c730e342da63115cea0892fc999104c3a4856c83f3e7ef909ba2f3311146730b05ee02d84cc0400851ccbdcd54cd SHA512 578f68a3c8f2d454198fc04ff8d943abcfb390531d57f9603d185857f7afa7f4dc641dafecf49ce50fe22f5837b252b181400891e8efd4459fd4f69bb4283cb4
DIST systemd-243.tar.gz 8242522 BLAKE2B 89e3ebbea5a99061329f7c78220a66c1e075d5ba90dfdf5ee8d0d9b762ef4600dc82d8ca2054632e5e343b6272cd8046c92f7f99dcfa8287c5ef2b42fb96d4cb SHA512 56b52a297aa5ac04d9667eb3afb1598725b197de73ff72baa1aabbc2844e36fba7b7fccdf6d214ae8b5b926616b2b7e15772763aaa80ec938d74333ff9c8673e
diff --git a/sys-fs/udev/files/236-uucp-group.patch b/sys-fs/udev/files/236-uucp-group.patch
deleted file mode 100644
index be0ba065430..00000000000
--- a/sys-fs/udev/files/236-uucp-group.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/rules/50-udev-default.rules.in b/rules/50-udev-default.rules.in
-index 71e716913..f24c9e6ae 100644
---- a/rules/50-udev-default.rules.in
-+++ b/rules/50-udev-default.rules.in
-@@ -22,7 +22,7 @@ SUBSYSTEM=="tty", KERNEL=="sclp_line[0-9]*", GROUP="tty", MODE="0620"
- SUBSYSTEM=="tty", KERNEL=="ttysclp[0-9]*", GROUP="tty", MODE="0620"
- SUBSYSTEM=="tty", KERNEL=="3270/tty[0-9]*", GROUP="tty", MODE="0620"
- SUBSYSTEM=="vc", KERNEL=="vcs*|vcsa*", GROUP="tty"
--KERNEL=="tty[A-Z]*[0-9]|ttymxc[0-9]*|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="dialout"
-+KERNEL=="tty[A-Z]*[0-9]|ttymxc[0-9]*|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="uucp"
-
- SUBSYSTEM=="mem", KERNEL=="mem|kmem|port", GROUP="kmem", MODE="0640"
-
diff --git a/sys-fs/udev/files/239-basic-add-missing-comma-in-raw_clone-assembly-for-sp.patch b/sys-fs/udev/files/239-basic-add-missing-comma-in-raw_clone-assembly-for-sp.patch
deleted file mode 100644
index 5f253bbaab9..00000000000
--- a/sys-fs/udev/files/239-basic-add-missing-comma-in-raw_clone-assembly-for-sp.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 7a022d7583f13fb3d4fb437d386364782f4efa88 Mon Sep 17 00:00:00 2001
-From: Mike Gilbert <floppym@gentoo.org>
-Date: Wed, 27 Jun 2018 10:36:50 -0400
-Subject: [PATCH 18/19] basic: add missing comma in raw_clone assembly for
- sparc
-
-Fixes: 96f64eb5741b157f26a9089816fdd992e959792e
-Closes: https://github.com/systemd/systemd/issues/9444
-(cherry picked from commit 358248caa3eca525751694de7c34b16bb46d5a9c)
----
- src/basic/raw-clone.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/basic/raw-clone.h b/src/basic/raw-clone.h
-index 1f134ba7f..b8857b0cd 100644
---- a/src/basic/raw-clone.h
-+++ b/src/basic/raw-clone.h
-@@ -60,7 +60,7 @@ static inline pid_t raw_clone(unsigned long flags) {
- "mov %%o0, %1" :
- "=r"(in_child), "=r"(child_pid), "=r"(error) :
- "i"(__NR_clone), "r"(flags) :
-- "%o1", "%o0", "%g1" "cc" );
-+ "%o1", "%o0", "%g1", "cc" );
-
- if (error) {
- errno = child_pid;
---
-2.18.0.rc2
-
diff --git a/sys-fs/udev/files/239-debug-extra.patch b/sys-fs/udev/files/239-debug-extra.patch
deleted file mode 100644
index 19db590257c..00000000000
--- a/sys-fs/udev/files/239-debug-extra.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 8f6b442a78d0b485f044742ad90b2e8271b4e68e Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
-Date: Sun, 19 Aug 2018 19:11:30 +0200
-Subject: [PATCH] meson: rename -Ddebug to -Ddebug-extra
-
-Meson added -Doptimization and -Ddebug options, which obviously causes
-a conflict with our -Ddebug options. Let's rename it.
-
-Fixes #9883.
----
- meson.build | 2 +-
- meson_options.txt | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index f79ac4b12e7..2209c935ad6 100644
---- a/meson.build
-+++ b/meson.build
-@@ -763,7 +763,7 @@ substs.set('DEBUGTTY', get_option('debug-tty'))
-
- enable_debug_hashmap = false
- enable_debug_mmap_cache = false
--foreach name : get_option('debug')
-+foreach name : get_option('debug-extra')
- if name == 'hashmap'
- enable_debug_hashmap = true
- elif name == 'mmap-cache'
-diff --git a/meson_options.txt b/meson_options.txt
-index e3140c8c110..7b1f61bf464 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -45,7 +45,7 @@ option('debug-shell', type : 'string', value : '/bin/sh',
- description : 'path to debug shell binary')
- option('debug-tty', type : 'string', value : '/dev/tty9',
- description : 'specify the tty device for debug shell')
--option('debug', type : 'array', choices : ['hashmap', 'mmap-cache'], value : [],
-+option('debug-extra', type : 'array', choices : ['hashmap', 'mmap-cache'], value : [],
- description : 'enable extra debugging')
- option('memory-accounting-default', type : 'boolean',
- description : 'enable MemoryAccounting= by default')
diff --git a/sys-fs/udev/files/239-stat-0.patch b/sys-fs/udev/files/239-stat-0.patch
deleted file mode 100644
index e136b703a2f..00000000000
--- a/sys-fs/udev/files/239-stat-0.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-From 75720bff62a84896e9a0654afc7cf9408cf89a38 Mon Sep 17 00:00:00 2001
-From: Filipe Brandenburger <filbranden@google.com>
-Date: Sun, 15 Jul 2018 22:43:35 -0700
-Subject: [PATCH] build-sys: Detect whether struct statx is defined in
- sys/stat.h
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Starting with glibc 2.27.9000-36.fc29, include file sys/stat.h will have a
-definition for struct statx, in which case include file linux/stat.h should be
-avoided, in order to prevent a duplicate definition.
-
- In file included from ../src/basic/missing.h:18,
- from ../src/basic/util.h:28,
- from ../src/basic/hashmap.h:10,
- from ../src/shared/bus-util.h:12,
- from ../src/libsystemd/sd-bus/bus-creds.c:11:
- /usr/include/linux/stat.h:99:8: error: redefinition of ‘struct statx’
- struct statx {
- ^~~~~
- In file included from /usr/include/sys/stat.h:446,
- from ../src/basic/util.h:19,
- from ../src/basic/hashmap.h:10,
- from ../src/shared/bus-util.h:12,
- from ../src/libsystemd/sd-bus/bus-creds.c:11:
- /usr/include/bits/statx.h:36:8: note: originally defined here
- struct statx
- ^~~~~
-
-Extend our meson.build to look for struct statx when only sys/stat.h is
-included and, in that case, do not include linux/stat.h anymore.
-
-Tested that systemd builds correctly when using a glibc version that includes a
-definition for struct statx.
-
-glibc Fedora RPM update:
-https://src.fedoraproject.org/rpms/glibc/c/28cb5d31fc1e5887912283c889689c47076278ae
-
-glibc upstream commit:
-https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=fd70af45528d59a00eb3190ef6706cb299488fcd
----
- meson.build | 5 +++++
- src/basic/missing.h | 5 ++++-
- src/basic/xattr-util.c | 1 -
- 3 files changed, 9 insertions(+), 2 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index dd904c7148..68423bdfa5 100644
---- a/meson.build
-+++ b/meson.build
-@@ -425,6 +425,7 @@ decl_headers = '''
- #include <sys/stat.h>
- '''
- # FIXME: key_serial_t is only defined in keyutils.h, this is bound to fail
-+# FIXME: these should use -D_GNU_SOURCE, since that is defined at build time
-
- foreach decl : ['char16_t',
- 'char32_t',
-@@ -439,6 +440,10 @@ foreach decl : ['char16_t',
- conf.set10('HAVE_' + decl.underscorify().to_upper(), have)
- endforeach
-
-+conf.set10('HAVE_STRUCT_STATX_IN_SYS_STAT_H', cc.sizeof('struct statx', prefix : '''
-+#include <sys/stat.h>
-+''', args : '-D_GNU_SOURCE') > 0)
-+
- foreach decl : [['IFLA_INET6_ADDR_GEN_MODE', 'linux/if_link.h'],
- ['IN6_ADDR_GEN_MODE_STABLE_PRIVACY', 'linux/if_link.h'],
- ['IFLA_VRF_TABLE', 'linux/if_link.h'],
-diff --git a/src/basic/missing.h b/src/basic/missing.h
-index 71a07d0574..14ad3d4914 100644
---- a/src/basic/missing.h
-+++ b/src/basic/missing.h
-@@ -15,7 +15,6 @@
- #include <linux/neighbour.h>
- #include <linux/oom.h>
- #include <linux/rtnetlink.h>
--#include <linux/stat.h>
- #include <net/ethernet.h>
- #include <stdlib.h>
- #include <sys/resource.h>
-@@ -25,6 +24,10 @@
- #include <uchar.h>
- #include <unistd.h>
-
-+#if !HAVE_STRUCT_STATX_IN_SYS_STAT_H
-+#include <linux/stat.h>
-+#endif
-+
- #if HAVE_AUDIT
- #include <libaudit.h>
- #endif
-diff --git a/src/basic/xattr-util.c b/src/basic/xattr-util.c
-index c5c55ea846..0ee0979837 100644
---- a/src/basic/xattr-util.c
-+++ b/src/basic/xattr-util.c
-@@ -2,7 +2,6 @@
-
- #include <errno.h>
- #include <fcntl.h>
--#include <linux/stat.h>
- #include <stdint.h>
- #include <stdlib.h>
- #include <string.h>
---
-2.19.1
-
diff --git a/sys-fs/udev/files/239-stat-1.patch b/sys-fs/udev/files/239-stat-1.patch
deleted file mode 100644
index 1104de3c9c1..00000000000
--- a/sys-fs/udev/files/239-stat-1.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From 9c869d08d82c73f62ab3527567858ce4b0cf1257 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
-Date: Wed, 18 Jul 2018 17:26:17 +0200
-Subject: [PATCH] meson: unify linux/stat.h check with other checks and use
- _GNU_SOURCE
-
-Using _GNU_SOURCE is better because that's how we include the headers in the
-actual build, and some headers define different stuff when it is defined.
-sys/stat.h for example defines 'struct statx' conditionally.
----
- meson.build | 20 ++++++++++++++------
- src/basic/missing.h | 2 +-
- 2 files changed, 15 insertions(+), 7 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index 68423bdfa5..99035d2306 100644
---- a/meson.build
-+++ b/meson.build
-@@ -421,11 +421,9 @@ decl_headers = '''
- #include <uchar.h>
- #include <linux/ethtool.h>
- #include <linux/fib_rules.h>
--#include <linux/stat.h>
- #include <sys/stat.h>
- '''
- # FIXME: key_serial_t is only defined in keyutils.h, this is bound to fail
--# FIXME: these should use -D_GNU_SOURCE, since that is defined at build time
-
- foreach decl : ['char16_t',
- 'char32_t',
-@@ -436,13 +434,23 @@ foreach decl : ['char16_t',
- ]
-
- # We get -1 if the size cannot be determined
-- have = cc.sizeof(decl, prefix : decl_headers) > 0
-+ have = cc.sizeof(decl, prefix : decl_headers, args : '-D_GNU_SOURCE') > 0
-+
-+ if decl == 'struct statx'
-+ if have
-+ want_linux_stat_h = false
-+ else
-+ have = cc.sizeof(decl,
-+ prefix : decl_headers + '#include <linux/stat.h>',
-+ args : '-D_GNU_SOURCE') > 0
-+ want_linux_stat_h = have
-+ endif
-+ endif
-+
- conf.set10('HAVE_' + decl.underscorify().to_upper(), have)
- endforeach
-
--conf.set10('HAVE_STRUCT_STATX_IN_SYS_STAT_H', cc.sizeof('struct statx', prefix : '''
--#include <sys/stat.h>
--''', args : '-D_GNU_SOURCE') > 0)
-+conf.set10('WANT_LINUX_STAT_H', want_linux_stat_h)
-
- foreach decl : [['IFLA_INET6_ADDR_GEN_MODE', 'linux/if_link.h'],
- ['IN6_ADDR_GEN_MODE_STABLE_PRIVACY', 'linux/if_link.h'],
-diff --git a/src/basic/missing.h b/src/basic/missing.h
-index 14ad3d4914..9044683b15 100644
---- a/src/basic/missing.h
-+++ b/src/basic/missing.h
-@@ -24,7 +24,7 @@
- #include <uchar.h>
- #include <unistd.h>
-
--#if !HAVE_STRUCT_STATX_IN_SYS_STAT_H
-+#if WANT_LINUX_STAT_H
- #include <linux/stat.h>
- #endif
-
---
-2.19.1
-
diff --git a/sys-fs/udev/udev-236-r1.ebuild b/sys-fs/udev/udev-236-r1.ebuild
deleted file mode 100644
index ace4ae35562..00000000000
--- a/sys-fs/udev/udev-236-r1.ebuild
+++ /dev/null
@@ -1,336 +0,0 @@
-# Copyright 2003-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit bash-completion-r1 linux-info meson ninja-utils multilib-minimal toolchain-funcs udev user versionator
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://github.com/systemd/systemd.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/systemd/systemd/archive/v${PV}.tar.gz -> systemd-${PV}.tar.gz"
- KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh 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"
-
-RESTRICT="test"
-
-COMMON_DEPEND=">=sys-apps/util-linux-2.30[${MULTILIB_USEDEP}]
- sys-libs/libcap[${MULTILIB_USEDEP}]
- acl? ( sys-apps/acl )
- kmod? ( >=sys-apps/kmod-16 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
- !<sys-libs/glibc-2.11
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd"
-DEPEND="${COMMON_DEPEND}
- dev-util/gperf
- >=dev-util/intltool-0.50
- >=dev-util/meson-0.40.0
- dev-util/ninja
- >=sys-apps/coreutils-8.16
- virtual/os-headers
- virtual/pkgconfig
- >=sys-kernel/linux-headers-3.9
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xml-dtd:4.5
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt"
-RDEPEND="${COMMON_DEPEND}
- !<sys-fs/lvm2-2.02.103
- !<sec-policy/selinux-base-2.20120725-r10"
-PDEPEND=">=sys-apps/hwids-20140304[udev]
- >=sys-fs/udev-init-scripts-26"
-
-S=${WORKDIR}/systemd-${PV}
-EGIT_CHECKOUT_DIR=${S}
-
-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() {
- if ! [[ ${PV} = 9999* ]]; then
- # secure_getenv() disable for non-glibc systems wrt bug #443030
- if ! [[ $(grep -r secure_getenv * | wc -l) -eq 27 ]]; then
- eerror "The line count for secure_getenv() failed, see bug #443030"
- die
- fi
- fi
-
- cat <<-EOF > "${T}"/40-gentoo.rules
- # Gentoo specific floppy and usb groups
- ACTION=="add", SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
- ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
- EOF
-
- local PATCHES=(
- "${FILESDIR}/236-uucp-group.patch"
- )
-
- default
-
- if ! use elibc_glibc; then #443030
- echo '#define secure_getenv(x) NULL' >> config.h.in
- sed -i -e '/error.*secure_getenv/s:.*:#define secure_getenv(x) NULL:' src/shared/missing.h || die
- fi
-}
-
-meson_multilib_native_use() {
- if multilib_is_native_abi && use "$1"; then
- echo true
- else
- echo false
- fi
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Dacl=$(meson_multilib_native_use acl)
- -Defi=false
- -Dkmod=$(meson_multilib_native_use kmod)
- -Dselinux=$(meson_multilib_native_use selinux)
- -Dlink-udev-shared=false
- -Dsplit-usr=true
-
- # Prevent automagic deps
- -Dgcrypt=false
- -Dlibcryptsetup=false
- -Dlibidn=false
- -Dlibidn2=false
- -Dlibiptc=false
- -Dseccomp=false
- -Dlz4=false
- -Dxz=false
- )
- meson_src_configure
-}
-
-src_configure() {
- # Prevent conflicts with i686 cross toolchain, bug 559726
- tc-export AR CC NM OBJCOPY RANLIB
- multilib-minimal_src_configure
-}
-
-multilib_src_compile() {
- # meson creates this link
- local libudev=$(readlink src/libudev/libudev.so.1)
-
- local targets=(
- src/libudev/${libudev}
- )
- if multilib_is_native_abi; then
- targets+=(
- systemd-udevd
- udevadm
- src/udev/ata_id
- src/udev/cdrom_id
- src/udev/collect
- src/udev/mtd_probe
- src/udev/scsi_id
- 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
- )
- fi
- eninja "${targets[@]}"
-}
-
-multilib_src_install() {
- local libudev=$(readlink src/libudev/libudev.so.1)
-
- into /
- dolib.so src/libudev/{${libudev},libudev.so.1,libudev.so}
-
- insinto "/usr/$(get_libdir)/pkgconfig"
- doins src/libudev/libudev.pc
-
- if multilib_is_native_abi; then
- into /
- dobin udevadm
-
- exeinto /lib/systemd
- doexe systemd-udevd
-
- exeinto /lib/udev
- doexe src/udev/{ata_id,cdrom_id,collect,mtd_probe,scsi_id,v4l_id}
-
- rm rules/99-systemd.rules || die
- insinto /lib/udev/rules.d
- doins rules/*.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
-
- # see src_prepare() for content of 40-gentoo.rules
- insinto /lib/udev/rules.d
- doins "${T}"/40-gentoo.rules
- doins "${S}"/rules/*.rules
-
- dobashcomp shell-completion/bash/udevadm
-
- insinto /usr/share/zsh/site-functions
- doins shell-completion/zsh/_udevadm
-
- einstalldocs
-}
-
-pkg_postinst() {
- mkdir -p "${ROOT%/}"/run
-
- # "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766
- # So try to remove it here (will only work if empty).
- rmdir "${ROOT%/}"/dev/loop 2>/dev/null
- if [[ -d ${ROOT%/}/dev/loop ]]; then
- ewarn "Please make sure your remove /dev/loop,"
- ewarn "else losetup may be confused when looking for unused devices."
- fi
-
- local fstab="${ROOT%/}"/etc/fstab dev path fstype rest
- while read -r dev path fstype rest; do
- if [[ ${path} == /dev && ${fstype} != devtmpfs ]]; then
- ewarn "You need to edit your /dev line in ${fstab} to have devtmpfs"
- ewarn "filesystem. Otherwise udev won't be able to boot."
- ewarn "See, https://bugs.gentoo.org/453186"
- fi
- done < "${fstab}"
-
- if [[ -d ${ROOT%/}/usr/lib/udev ]]; then
- ewarn
- ewarn "Please re-emerge all packages on your system which install"
- ewarn "rules and helpers in /usr/lib/udev. They should now be in"
- ewarn "/lib/udev."
- ewarn
- ewarn "One way to do this is to run the following command:"
- ewarn "emerge -av1 \$(qfile -q -S -C /usr/lib/udev)"
- ewarn "Note that qfile can be found in app-portage/portage-utils"
- fi
-
- local old_cd_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-cd.rules
- local old_net_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-net.rules
- for old_rules in "${old_cd_rules}" "${old_net_rules}"; do
- if [[ -f ${old_rules} ]]; then
- ewarn
- ewarn "File ${old_rules} is from old udev installation but if you still use it,"
- ewarn "rename it to something else starting with 70- to silence this deprecation"
- ewarn "warning."
- fi
- done
-
- elog
- elog "Starting from version >= 197 the new predictable network interface names are"
- elog "used by default, see:"
- elog "https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames"
- elog "https://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c"
- elog
- elog "Example command to get the information for the new interface name before booting"
- elog "(replace <ifname> with, for example, eth0):"
- elog "# udevadm test-builtin net_id /sys/class/net/<ifname> 2> /dev/null"
- elog
- elog "You can use either kernel parameter \"net.ifnames=0\", create empty"
- elog "file /etc/systemd/network/99-default.link, or symlink it to /dev/null"
- elog "to disable the feature."
-
- if has_version 'sys-apps/biosdevname'; then
- ewarn
- ewarn "You can replace the functionality of sys-apps/biosdevname which has been"
- ewarn "detected to be installed with the new predictable network interface names."
- fi
-
- ewarn
- ewarn "You need to restart udev as soon as possible to make the upgrade go"
- ewarn "into effect."
- ewarn "The method you use to do this depends on your init system."
- if has_version 'sys-apps/openrc'; then
- ewarn "For sys-apps/openrc users it is:"
- ewarn "# /etc/init.d/udev --nodeps restart"
- fi
-
- elog
- elog "For more information on udev on Gentoo, upgrading, writing udev rules, and"
- elog "fixing known issues visit:"
- elog "https://wiki.gentoo.org/wiki/Udev"
- elog "https://wiki.gentoo.org/wiki/Udev/upgrade"
-
- # If user has disabled 80-net-name-slot.rules using a empty file or a symlink to /dev/null,
- # do the same for 80-net-setup-link.rules to keep the old behavior
- local net_move=no
- local net_name_slot_sym=no
- local net_rules_path="${ROOT%/}"/etc/udev/rules.d
- local net_name_slot="${net_rules_path}"/80-net-name-slot.rules
- local net_setup_link="${net_rules_path}"/80-net-setup-link.rules
- if [[ ! -e ${net_setup_link} ]]; then
- [[ -f ${net_name_slot} && $(sed -e "/^#/d" -e "/^\W*$/d" ${net_name_slot} | wc -l) == 0 ]] && net_move=yes
- if [[ -L ${net_name_slot} && $(readlink ${net_name_slot}) == /dev/null ]]; then
- net_move=yes
- net_name_slot_sym=yes
- fi
- fi
- if [[ ${net_move} == yes ]]; then
- ebegin "Copying ${net_name_slot} to ${net_setup_link}"
-
- if [[ ${net_name_slot_sym} == yes ]]; then
- ln -nfs /dev/null "${net_setup_link}"
- else
- cp "${net_name_slot}" "${net_setup_link}"
- fi
- eend $?
- fi
-
- # https://cgit.freedesktop.org/systemd/systemd/commit/rules/50-udev-default.rules?id=3dff3e00e044e2d53c76fa842b9a4759d4a50e69
- # https://bugs.gentoo.org/246847
- # https://bugs.gentoo.org/514174
- enewgroup input
-
- # 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
-}
diff --git a/sys-fs/udev/udev-238.ebuild b/sys-fs/udev/udev-238.ebuild
deleted file mode 100644
index 0aa97d85fa6..00000000000
--- a/sys-fs/udev/udev-238.ebuild
+++ /dev/null
@@ -1,323 +0,0 @@
-# Copyright 2003-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit bash-completion-r1 linux-info meson ninja-utils multilib-minimal toolchain-funcs udev user versionator
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://github.com/systemd/systemd.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/systemd/systemd/archive/v${PV}.tar.gz -> systemd-${PV}.tar.gz"
- KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh 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"
-
-RESTRICT="test"
-
-COMMON_DEPEND=">=sys-apps/util-linux-2.30[${MULTILIB_USEDEP}]
- sys-libs/libcap[${MULTILIB_USEDEP}]
- acl? ( sys-apps/acl )
- kmod? ( >=sys-apps/kmod-16 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
- !<sys-libs/glibc-2.11
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd"
-DEPEND="${COMMON_DEPEND}
- dev-util/gperf
- >=dev-util/intltool-0.50
- >=dev-util/meson-0.40.0
- dev-util/ninja
- >=sys-apps/coreutils-8.16
- virtual/os-headers
- virtual/pkgconfig
- >=sys-kernel/linux-headers-3.9
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xml-dtd:4.5
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt"
-RDEPEND="${COMMON_DEPEND}
- !<sys-fs/lvm2-2.02.103
- !<sec-policy/selinux-base-2.20120725-r10"
-PDEPEND=">=sys-apps/hwids-20140304[udev]
- >=sys-fs/udev-init-scripts-26"
-
-S=${WORKDIR}/systemd-${PV}
-EGIT_CHECKOUT_DIR=${S}
-
-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() {
- cat <<-EOF > "${T}"/40-gentoo.rules
- # Gentoo specific floppy and usb groups
- ACTION=="add", SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
- ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
- EOF
-
- local PATCHES=(
- "${FILESDIR}/236-uucp-group.patch"
- )
-
- default
-}
-
-meson_multilib_native_use() {
- if multilib_is_native_abi && use "$1"; then
- echo true
- else
- echo false
- fi
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Dacl=$(meson_multilib_native_use acl)
- -Defi=false
- -Dkmod=$(meson_multilib_native_use kmod)
- -Dselinux=$(meson_multilib_native_use selinux)
- -Dlink-udev-shared=false
- -Dsplit-usr=true
-
- # Prevent automagic deps
- -Dgcrypt=false
- -Dlibcryptsetup=false
- -Dlibidn=false
- -Dlibidn2=false
- -Dlibiptc=false
- -Dseccomp=false
- -Dlz4=false
- -Dxz=false
- )
- meson_src_configure
-}
-
-src_configure() {
- # Prevent conflicts with i686 cross toolchain, bug 559726
- tc-export AR CC NM OBJCOPY RANLIB
- multilib-minimal_src_configure
-}
-
-multilib_src_compile() {
- # meson creates this link
- local libudev=$(readlink src/udev/libudev.so.1)
-
- local targets=(
- src/udev/${libudev}
- )
- if multilib_is_native_abi; then
- targets+=(
- systemd-udevd
- udevadm
- src/udev/ata_id
- src/udev/cdrom_id
- src/udev/collect
- src/udev/mtd_probe
- src/udev/scsi_id
- 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
- )
- fi
- eninja "${targets[@]}"
-}
-
-multilib_src_install() {
- local libudev=$(readlink src/udev/libudev.so.1)
-
- into /
- dolib.so src/udev/{${libudev},libudev.so.1,libudev.so}
-
- insinto "/usr/$(get_libdir)/pkgconfig"
- doins src/libudev/libudev.pc
-
- if multilib_is_native_abi; then
- into /
- dobin udevadm
-
- exeinto /lib/systemd
- doexe systemd-udevd
-
- exeinto /lib/udev
- doexe src/udev/{ata_id,cdrom_id,collect,mtd_probe,scsi_id,v4l_id}
-
- rm rules/99-systemd.rules || die
- insinto /lib/udev/rules.d
- doins rules/*.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
-
- # see src_prepare() for content of 40-gentoo.rules
- insinto /lib/udev/rules.d
- doins "${T}"/40-gentoo.rules
- doins "${S}"/rules/*.rules
-
- dobashcomp shell-completion/bash/udevadm
-
- insinto /usr/share/zsh/site-functions
- doins shell-completion/zsh/_udevadm
-
- einstalldocs
-}
-
-pkg_postinst() {
- mkdir -p "${ROOT%/}"/run
-
- # "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766
- # So try to remove it here (will only work if empty).
- rmdir "${ROOT%/}"/dev/loop 2>/dev/null
- if [[ -d ${ROOT%/}/dev/loop ]]; then
- ewarn "Please make sure your remove /dev/loop,"
- ewarn "else losetup may be confused when looking for unused devices."
- fi
-
- local fstab="${ROOT%/}"/etc/fstab dev path fstype rest
- while read -r dev path fstype rest; do
- if [[ ${path} == /dev && ${fstype} != devtmpfs ]]; then
- ewarn "You need to edit your /dev line in ${fstab} to have devtmpfs"
- ewarn "filesystem. Otherwise udev won't be able to boot."
- ewarn "See, https://bugs.gentoo.org/453186"
- fi
- done < "${fstab}"
-
- if [[ -d ${ROOT%/}/usr/lib/udev ]]; then
- ewarn
- ewarn "Please re-emerge all packages on your system which install"
- ewarn "rules and helpers in /usr/lib/udev. They should now be in"
- ewarn "/lib/udev."
- ewarn
- ewarn "One way to do this is to run the following command:"
- ewarn "emerge -av1 \$(qfile -q -S -C /usr/lib/udev)"
- ewarn "Note that qfile can be found in app-portage/portage-utils"
- fi
-
- local old_cd_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-cd.rules
- local old_net_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-net.rules
- for old_rules in "${old_cd_rules}" "${old_net_rules}"; do
- if [[ -f ${old_rules} ]]; then
- ewarn
- ewarn "File ${old_rules} is from old udev installation but if you still use it,"
- ewarn "rename it to something else starting with 70- to silence this deprecation"
- ewarn "warning."
- fi
- done
-
- elog
- elog "Starting from version >= 197 the new predictable network interface names are"
- elog "used by default, see:"
- elog "https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames"
- elog "https://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c"
- elog
- elog "Example command to get the information for the new interface name before booting"
- elog "(replace <ifname> with, for example, eth0):"
- elog "# udevadm test-builtin net_id /sys/class/net/<ifname> 2> /dev/null"
- elog
- elog "You can use either kernel parameter \"net.ifnames=0\", create empty"
- elog "file /etc/systemd/network/99-default.link, or symlink it to /dev/null"
- elog "to disable the feature."
-
- if has_version 'sys-apps/biosdevname'; then
- ewarn
- ewarn "You can replace the functionality of sys-apps/biosdevname which has been"
- ewarn "detected to be installed with the new predictable network interface names."
- fi
-
- ewarn
- ewarn "You need to restart udev as soon as possible to make the upgrade go"
- ewarn "into effect."
- ewarn "The method you use to do this depends on your init system."
- if has_version 'sys-apps/openrc'; then
- ewarn "For sys-apps/openrc users it is:"
- ewarn "# /etc/init.d/udev --nodeps restart"
- fi
-
- elog
- elog "For more information on udev on Gentoo, upgrading, writing udev rules, and"
- elog "fixing known issues visit:"
- elog "https://wiki.gentoo.org/wiki/Udev"
- elog "https://wiki.gentoo.org/wiki/Udev/upgrade"
-
- # If user has disabled 80-net-name-slot.rules using a empty file or a symlink to /dev/null,
- # do the same for 80-net-setup-link.rules to keep the old behavior
- local net_move=no
- local net_name_slot_sym=no
- local net_rules_path="${ROOT%/}"/etc/udev/rules.d
- local net_name_slot="${net_rules_path}"/80-net-name-slot.rules
- local net_setup_link="${net_rules_path}"/80-net-setup-link.rules
- if [[ ! -e ${net_setup_link} ]]; then
- [[ -f ${net_name_slot} && $(sed -e "/^#/d" -e "/^\W*$/d" ${net_name_slot} | wc -l) == 0 ]] && net_move=yes
- if [[ -L ${net_name_slot} && $(readlink ${net_name_slot}) == /dev/null ]]; then
- net_move=yes
- net_name_slot_sym=yes
- fi
- fi
- if [[ ${net_move} == yes ]]; then
- ebegin "Copying ${net_name_slot} to ${net_setup_link}"
-
- if [[ ${net_name_slot_sym} == yes ]]; then
- ln -nfs /dev/null "${net_setup_link}"
- else
- cp "${net_name_slot}" "${net_setup_link}"
- fi
- eend $?
- fi
-
- # https://cgit.freedesktop.org/systemd/systemd/commit/rules/50-udev-default.rules?id=3dff3e00e044e2d53c76fa842b9a4759d4a50e69
- # https://bugs.gentoo.org/246847
- # https://bugs.gentoo.org/514174
- enewgroup input
-
- # 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
-}
diff --git a/sys-fs/udev/udev-239.ebuild b/sys-fs/udev/udev-239.ebuild
deleted file mode 100644
index b57d90865ed..00000000000
--- a/sys-fs/udev/udev-239.ebuild
+++ /dev/null
@@ -1,327 +0,0 @@
-# Copyright 2003-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit bash-completion-r1 linux-info meson ninja-utils multilib-minimal toolchain-funcs udev user
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://github.com/systemd/systemd.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/systemd/systemd/archive/v${PV}.tar.gz -> systemd-${PV}.tar.gz"
- KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh 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"
-
-RESTRICT="test"
-
-COMMON_DEPEND=">=sys-apps/util-linux-2.30[${MULTILIB_USEDEP}]
- sys-libs/libcap[${MULTILIB_USEDEP}]
- acl? ( sys-apps/acl )
- kmod? ( >=sys-apps/kmod-16 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
- !<sys-libs/glibc-2.11
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd"
-DEPEND="${COMMON_DEPEND}
- dev-util/gperf
- >=dev-util/intltool-0.50
- >=dev-util/meson-0.40.0
- dev-util/ninja
- >=sys-apps/coreutils-8.16
- virtual/os-headers
- virtual/pkgconfig
- >=sys-kernel/linux-headers-3.9
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xml-dtd:4.5
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt"
-RDEPEND="${COMMON_DEPEND}
- !<sys-fs/lvm2-2.02.103
- !<sec-policy/selinux-base-2.20120725-r10"
-PDEPEND=">=sys-apps/hwids-20140304[udev]
- >=sys-fs/udev-init-scripts-26"
-
-S=${WORKDIR}/systemd-${PV}
-EGIT_CHECKOUT_DIR=${S}
-
-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() {
- cat <<-EOF > "${T}"/40-gentoo.rules
- # Gentoo specific floppy and usb groups
- ACTION=="add", SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
- ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
- EOF
-
- local PATCHES=(
- "${FILESDIR}/236-uucp-group.patch"
- "${FILESDIR}/239-basic-add-missing-comma-in-raw_clone-assembly-for-sp.patch"
- "${FILESDIR}/239-debug-extra.patch"
- "${FILESDIR}/239-stat-0.patch"
- "${FILESDIR}/239-stat-1.patch"
- )
-
- default
-}
-
-meson_multilib_native_use() {
- if multilib_is_native_abi && use "$1"; then
- echo true
- else
- echo false
- fi
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Dacl=$(meson_multilib_native_use acl)
- -Defi=false
- -Dkmod=$(meson_multilib_native_use kmod)
- -Dselinux=$(meson_multilib_native_use selinux)
- -Dlink-udev-shared=false
- -Dsplit-usr=true
-
- # Prevent automagic deps
- -Dgcrypt=false
- -Dlibcryptsetup=false
- -Dlibidn=false
- -Dlibidn2=false
- -Dlibiptc=false
- -Dseccomp=false
- -Dlz4=false
- -Dxz=false
- )
- meson_src_configure
-}
-
-src_configure() {
- # Prevent conflicts with i686 cross toolchain, bug 559726
- tc-export AR CC NM OBJCOPY RANLIB
- multilib-minimal_src_configure
-}
-
-multilib_src_compile() {
- # meson creates this link
- local libudev=$(readlink src/udev/libudev.so.1)
-
- local targets=(
- src/udev/${libudev}
- )
- if multilib_is_native_abi; then
- targets+=(
- systemd-udevd
- udevadm
- src/udev/ata_id
- src/udev/cdrom_id
- src/udev/collect
- src/udev/mtd_probe
- src/udev/scsi_id
- 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
- )
- fi
- eninja "${targets[@]}"
-}
-
-multilib_src_install() {
- local libudev=$(readlink src/udev/libudev.so.1)
-
- into /
- dolib.so src/udev/{${libudev},libudev.so.1,libudev.so}
-
- insinto "/usr/$(get_libdir)/pkgconfig"
- doins src/libudev/libudev.pc
-
- if multilib_is_native_abi; then
- into /
- dobin udevadm
-
- exeinto /lib/systemd
- doexe systemd-udevd
-
- exeinto /lib/udev
- doexe src/udev/{ata_id,cdrom_id,collect,mtd_probe,scsi_id,v4l_id}
-
- rm rules/99-systemd.rules || die
- insinto /lib/udev/rules.d
- doins rules/*.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
-
- # see src_prepare() for content of 40-gentoo.rules
- insinto /lib/udev/rules.d
- doins "${T}"/40-gentoo.rules
- doins "${S}"/rules/*.rules
-
- dobashcomp shell-completion/bash/udevadm
-
- insinto /usr/share/zsh/site-functions
- doins shell-completion/zsh/_udevadm
-
- einstalldocs
-}
-
-pkg_postinst() {
- mkdir -p "${ROOT%/}"/run
-
- # "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766
- # So try to remove it here (will only work if empty).
- rmdir "${ROOT%/}"/dev/loop 2>/dev/null
- if [[ -d ${ROOT%/}/dev/loop ]]; then
- ewarn "Please make sure your remove /dev/loop,"
- ewarn "else losetup may be confused when looking for unused devices."
- fi
-
- local fstab="${ROOT%/}"/etc/fstab dev path fstype rest
- while read -r dev path fstype rest; do
- if [[ ${path} == /dev && ${fstype} != devtmpfs ]]; then
- ewarn "You need to edit your /dev line in ${fstab} to have devtmpfs"
- ewarn "filesystem. Otherwise udev won't be able to boot."
- ewarn "See, https://bugs.gentoo.org/453186"
- fi
- done < "${fstab}"
-
- if [[ -d ${ROOT%/}/usr/lib/udev ]]; then
- ewarn
- ewarn "Please re-emerge all packages on your system which install"
- ewarn "rules and helpers in /usr/lib/udev. They should now be in"
- ewarn "/lib/udev."
- ewarn
- ewarn "One way to do this is to run the following command:"
- ewarn "emerge -av1 \$(qfile -q -S -C /usr/lib/udev)"
- ewarn "Note that qfile can be found in app-portage/portage-utils"
- fi
-
- local old_cd_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-cd.rules
- local old_net_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-net.rules
- for old_rules in "${old_cd_rules}" "${old_net_rules}"; do
- if [[ -f ${old_rules} ]]; then
- ewarn
- ewarn "File ${old_rules} is from old udev installation but if you still use it,"
- ewarn "rename it to something else starting with 70- to silence this deprecation"
- ewarn "warning."
- fi
- done
-
- elog
- elog "Starting from version >= 197 the new predictable network interface names are"
- elog "used by default, see:"
- elog "https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames"
- elog "https://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c"
- elog
- elog "Example command to get the information for the new interface name before booting"
- elog "(replace <ifname> with, for example, eth0):"
- elog "# udevadm test-builtin net_id /sys/class/net/<ifname> 2> /dev/null"
- elog
- elog "You can use either kernel parameter \"net.ifnames=0\", create empty"
- elog "file /etc/systemd/network/99-default.link, or symlink it to /dev/null"
- elog "to disable the feature."
-
- if has_version 'sys-apps/biosdevname'; then
- ewarn
- ewarn "You can replace the functionality of sys-apps/biosdevname which has been"
- ewarn "detected to be installed with the new predictable network interface names."
- fi
-
- ewarn
- ewarn "You need to restart udev as soon as possible to make the upgrade go"
- ewarn "into effect."
- ewarn "The method you use to do this depends on your init system."
- if has_version 'sys-apps/openrc'; then
- ewarn "For sys-apps/openrc users it is:"
- ewarn "# /etc/init.d/udev --nodeps restart"
- fi
-
- elog
- elog "For more information on udev on Gentoo, upgrading, writing udev rules, and"
- elog "fixing known issues visit:"
- elog "https://wiki.gentoo.org/wiki/Udev"
- elog "https://wiki.gentoo.org/wiki/Udev/upgrade"
-
- # If user has disabled 80-net-name-slot.rules using a empty file or a symlink to /dev/null,
- # do the same for 80-net-setup-link.rules to keep the old behavior
- local net_move=no
- local net_name_slot_sym=no
- local net_rules_path="${ROOT%/}"/etc/udev/rules.d
- local net_name_slot="${net_rules_path}"/80-net-name-slot.rules
- local net_setup_link="${net_rules_path}"/80-net-setup-link.rules
- if [[ ! -e ${net_setup_link} ]]; then
- [[ -f ${net_name_slot} && $(sed -e "/^#/d" -e "/^\W*$/d" ${net_name_slot} | wc -l) == 0 ]] && net_move=yes
- if [[ -L ${net_name_slot} && $(readlink ${net_name_slot}) == /dev/null ]]; then
- net_move=yes
- net_name_slot_sym=yes
- fi
- fi
- if [[ ${net_move} == yes ]]; then
- ebegin "Copying ${net_name_slot} to ${net_setup_link}"
-
- if [[ ${net_name_slot_sym} == yes ]]; then
- ln -nfs /dev/null "${net_setup_link}"
- else
- cp "${net_name_slot}" "${net_setup_link}"
- fi
- eend $?
- fi
-
- # https://cgit.freedesktop.org/systemd/systemd/commit/rules/50-udev-default.rules?id=3dff3e00e044e2d53c76fa842b9a4759d4a50e69
- # https://bugs.gentoo.org/246847
- # https://bugs.gentoo.org/514174
- enewgroup input
-
- # 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
-}
diff --git a/sys-fs/udev/udev-240-r2.ebuild b/sys-fs/udev/udev-240-r2.ebuild
deleted file mode 100644
index 9772ccf7dcb..00000000000
--- a/sys-fs/udev/udev-240-r2.ebuild
+++ /dev/null
@@ -1,325 +0,0 @@
-# Copyright 2003-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit bash-completion-r1 linux-info meson ninja-utils multilib-minimal toolchain-funcs udev user
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://github.com/systemd/systemd.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/systemd/systemd/archive/v${PV}.tar.gz -> systemd-${PV}.tar.gz
- https://dev.gentoo.org/~floppym/dist/systemd-${PV}-patches-1.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~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"
-
-RESTRICT="test"
-
-COMMON_DEPEND=">=sys-apps/util-linux-2.30[${MULTILIB_USEDEP}]
- sys-libs/libcap[${MULTILIB_USEDEP}]
- acl? ( sys-apps/acl )
- kmod? ( >=sys-apps/kmod-16 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
- !<sys-libs/glibc-2.11
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd"
-DEPEND="${COMMON_DEPEND}
- dev-util/gperf
- >=dev-util/intltool-0.50
- >=dev-util/meson-0.40.0
- dev-util/ninja
- >=sys-apps/coreutils-8.16
- virtual/os-headers
- virtual/pkgconfig
- >=sys-kernel/linux-headers-3.9
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xml-dtd:4.5
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt"
-RDEPEND="${COMMON_DEPEND}
- !<sys-fs/lvm2-2.02.103
- !<sec-policy/selinux-base-2.20120725-r10"
-PDEPEND=">=sys-apps/hwids-20140304[udev]
- >=sys-fs/udev-init-scripts-26"
-
-S=${WORKDIR}/systemd-${PV}
-EGIT_CHECKOUT_DIR=${S}
-
-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() {
- cat <<-EOF > "${T}"/40-gentoo.rules
- # Gentoo specific floppy and usb groups
- ACTION=="add", SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
- ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
- EOF
-
- eapply "${WORKDIR}/patches"
-
- local PATCHES=(
- "${FILESDIR}/236-uucp-group.patch"
- )
-
- default
-}
-
-meson_multilib_native_use() {
- if multilib_is_native_abi && use "$1"; then
- echo true
- else
- echo false
- fi
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Dacl=$(meson_multilib_native_use acl)
- -Defi=false
- -Dkmod=$(meson_multilib_native_use kmod)
- -Dselinux=$(meson_multilib_native_use selinux)
- -Dlink-udev-shared=false
- -Dsplit-usr=true
-
- # Prevent automagic deps
- -Dgcrypt=false
- -Dlibcryptsetup=false
- -Dlibidn=false
- -Dlibidn2=false
- -Dlibiptc=false
- -Dseccomp=false
- -Dlz4=false
- -Dxz=false
- )
- meson_src_configure
-}
-
-src_configure() {
- # Prevent conflicts with i686 cross toolchain, bug 559726
- tc-export AR CC NM OBJCOPY RANLIB
- multilib-minimal_src_configure
-}
-
-multilib_src_compile() {
- # meson creates this link
- local libudev=$(readlink src/udev/libudev.so.1)
-
- local targets=(
- src/udev/${libudev}
- )
- if multilib_is_native_abi; then
- targets+=(
- systemd-udevd
- udevadm
- src/udev/ata_id
- src/udev/cdrom_id
- src/udev/mtd_probe
- src/udev/scsi_id
- 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
- )
- fi
- eninja "${targets[@]}"
-}
-
-multilib_src_install() {
- local libudev=$(readlink src/udev/libudev.so.1)
-
- into /
- dolib.so src/udev/{${libudev},libudev.so.1,libudev.so}
-
- insinto "/usr/$(get_libdir)/pkgconfig"
- doins src/libudev/libudev.pc
-
- if multilib_is_native_abi; then
- into /
- dobin udevadm
-
- exeinto /lib/systemd
- doexe systemd-udevd
-
- exeinto /lib/udev
- doexe src/udev/{ata_id,cdrom_id,mtd_probe,scsi_id,v4l_id}
-
- rm rules/99-systemd.rules || die
- insinto /lib/udev/rules.d
- doins rules/*.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
-
- # see src_prepare() for content of 40-gentoo.rules
- insinto /lib/udev/rules.d
- doins "${T}"/40-gentoo.rules
- doins "${S}"/rules/*.rules
-
- dobashcomp shell-completion/bash/udevadm
-
- insinto /usr/share/zsh/site-functions
- doins shell-completion/zsh/_udevadm
-
- einstalldocs
-}
-
-pkg_postinst() {
- mkdir -p "${ROOT%/}"/run
-
- # "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766
- # So try to remove it here (will only work if empty).
- rmdir "${ROOT%/}"/dev/loop 2>/dev/null
- if [[ -d ${ROOT%/}/dev/loop ]]; then
- ewarn "Please make sure your remove /dev/loop,"
- ewarn "else losetup may be confused when looking for unused devices."
- fi
-
- local fstab="${ROOT%/}"/etc/fstab dev path fstype rest
- while read -r dev path fstype rest; do
- if [[ ${path} == /dev && ${fstype} != devtmpfs ]]; then
- ewarn "You need to edit your /dev line in ${fstab} to have devtmpfs"
- ewarn "filesystem. Otherwise udev won't be able to boot."
- ewarn "See, https://bugs.gentoo.org/453186"
- fi
- done < "${fstab}"
-
- if [[ -d ${ROOT%/}/usr/lib/udev ]]; then
- ewarn
- ewarn "Please re-emerge all packages on your system which install"
- ewarn "rules and helpers in /usr/lib/udev. They should now be in"
- ewarn "/lib/udev."
- ewarn
- ewarn "One way to do this is to run the following command:"
- ewarn "emerge -av1 \$(qfile -q -S -C /usr/lib/udev)"
- ewarn "Note that qfile can be found in app-portage/portage-utils"
- fi
-
- local old_cd_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-cd.rules
- local old_net_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-net.rules
- for old_rules in "${old_cd_rules}" "${old_net_rules}"; do
- if [[ -f ${old_rules} ]]; then
- ewarn
- ewarn "File ${old_rules} is from old udev installation but if you still use it,"
- ewarn "rename it to something else starting with 70- to silence this deprecation"
- ewarn "warning."
- fi
- done
-
- elog
- elog "Starting from version >= 197 the new predictable network interface names are"
- elog "used by default, see:"
- elog "https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames"
- elog "https://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c"
- elog
- elog "Example command to get the information for the new interface name before booting"
- elog "(replace <ifname> with, for example, eth0):"
- elog "# udevadm test-builtin net_id /sys/class/net/<ifname> 2> /dev/null"
- elog
- elog "You can use either kernel parameter \"net.ifnames=0\", create empty"
- elog "file /etc/systemd/network/99-default.link, or symlink it to /dev/null"
- elog "to disable the feature."
-
- if has_version 'sys-apps/biosdevname'; then
- ewarn
- ewarn "You can replace the functionality of sys-apps/biosdevname which has been"
- ewarn "detected to be installed with the new predictable network interface names."
- fi
-
- ewarn
- ewarn "You need to restart udev as soon as possible to make the upgrade go"
- ewarn "into effect."
- ewarn "The method you use to do this depends on your init system."
- if has_version 'sys-apps/openrc'; then
- ewarn "For sys-apps/openrc users it is:"
- ewarn "# /etc/init.d/udev --nodeps restart"
- fi
-
- elog
- elog "For more information on udev on Gentoo, upgrading, writing udev rules, and"
- elog "fixing known issues visit:"
- elog "https://wiki.gentoo.org/wiki/Udev"
- elog "https://wiki.gentoo.org/wiki/Udev/upgrade"
-
- # If user has disabled 80-net-name-slot.rules using a empty file or a symlink to /dev/null,
- # do the same for 80-net-setup-link.rules to keep the old behavior
- local net_move=no
- local net_name_slot_sym=no
- local net_rules_path="${ROOT%/}"/etc/udev/rules.d
- local net_name_slot="${net_rules_path}"/80-net-name-slot.rules
- local net_setup_link="${net_rules_path}"/80-net-setup-link.rules
- if [[ ! -e ${net_setup_link} ]]; then
- [[ -f ${net_name_slot} && $(sed -e "/^#/d" -e "/^\W*$/d" ${net_name_slot} | wc -l) == 0 ]] && net_move=yes
- if [[ -L ${net_name_slot} && $(readlink ${net_name_slot}) == /dev/null ]]; then
- net_move=yes
- net_name_slot_sym=yes
- fi
- fi
- if [[ ${net_move} == yes ]]; then
- ebegin "Copying ${net_name_slot} to ${net_setup_link}"
-
- if [[ ${net_name_slot_sym} == yes ]]; then
- ln -nfs /dev/null "${net_setup_link}"
- else
- cp "${net_name_slot}" "${net_setup_link}"
- fi
- eend $?
- fi
-
- # https://cgit.freedesktop.org/systemd/systemd/commit/rules/50-udev-default.rules?id=3dff3e00e044e2d53c76fa842b9a4759d4a50e69
- # https://bugs.gentoo.org/246847
- # https://bugs.gentoo.org/514174
- enewgroup input
-
- # 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
-}
diff --git a/sys-fs/udev/udev-240-r3.ebuild b/sys-fs/udev/udev-240-r3.ebuild
deleted file mode 100644
index e7251ee0143..00000000000
--- a/sys-fs/udev/udev-240-r3.ebuild
+++ /dev/null
@@ -1,325 +0,0 @@
-# Copyright 2003-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit bash-completion-r1 linux-info meson ninja-utils multilib-minimal toolchain-funcs udev user
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://github.com/systemd/systemd.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/systemd/systemd/archive/v${PV}.tar.gz -> systemd-${PV}.tar.gz
- https://dev.gentoo.org/~floppym/dist/systemd-${PV}-patches-3.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~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"
-
-RESTRICT="test"
-
-COMMON_DEPEND=">=sys-apps/util-linux-2.30[${MULTILIB_USEDEP}]
- sys-libs/libcap[${MULTILIB_USEDEP}]
- acl? ( sys-apps/acl )
- kmod? ( >=sys-apps/kmod-16 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
- !<sys-libs/glibc-2.11
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd"
-DEPEND="${COMMON_DEPEND}
- dev-util/gperf
- >=dev-util/intltool-0.50
- >=dev-util/meson-0.40.0
- dev-util/ninja
- >=sys-apps/coreutils-8.16
- virtual/os-headers
- virtual/pkgconfig
- >=sys-kernel/linux-headers-3.9
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xml-dtd:4.5
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt"
-RDEPEND="${COMMON_DEPEND}
- !<sys-fs/lvm2-2.02.103
- !<sec-policy/selinux-base-2.20120725-r10"
-PDEPEND=">=sys-apps/hwids-20140304[udev]
- >=sys-fs/udev-init-scripts-26"
-
-S=${WORKDIR}/systemd-${PV}
-EGIT_CHECKOUT_DIR=${S}
-
-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() {
- cat <<-EOF > "${T}"/40-gentoo.rules
- # Gentoo specific floppy and usb groups
- ACTION=="add", SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
- ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
- EOF
-
- eapply "${WORKDIR}/patches"
-
- local PATCHES=(
- "${FILESDIR}/236-uucp-group.patch"
- )
-
- default
-}
-
-meson_multilib_native_use() {
- if multilib_is_native_abi && use "$1"; then
- echo true
- else
- echo false
- fi
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Dacl=$(meson_multilib_native_use acl)
- -Defi=false
- -Dkmod=$(meson_multilib_native_use kmod)
- -Dselinux=$(meson_multilib_native_use selinux)
- -Dlink-udev-shared=false
- -Dsplit-usr=true
-
- # Prevent automagic deps
- -Dgcrypt=false
- -Dlibcryptsetup=false
- -Dlibidn=false
- -Dlibidn2=false
- -Dlibiptc=false
- -Dseccomp=false
- -Dlz4=false
- -Dxz=false
- )
- meson_src_configure
-}
-
-src_configure() {
- # Prevent conflicts with i686 cross toolchain, bug 559726
- tc-export AR CC NM OBJCOPY RANLIB
- multilib-minimal_src_configure
-}
-
-multilib_src_compile() {
- # meson creates this link
- local libudev=$(readlink src/udev/libudev.so.1)
-
- local targets=(
- src/udev/${libudev}
- )
- if multilib_is_native_abi; then
- targets+=(
- systemd-udevd
- udevadm
- src/udev/ata_id
- src/udev/cdrom_id
- src/udev/mtd_probe
- src/udev/scsi_id
- 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
- )
- fi
- eninja "${targets[@]}"
-}
-
-multilib_src_install() {
- local libudev=$(readlink src/udev/libudev.so.1)
-
- into /
- dolib.so src/udev/{${libudev},libudev.so.1,libudev.so}
-
- insinto "/usr/$(get_libdir)/pkgconfig"
- doins src/libudev/libudev.pc
-
- if multilib_is_native_abi; then
- into /
- dobin udevadm
-
- exeinto /lib/systemd
- doexe systemd-udevd
-
- exeinto /lib/udev
- doexe src/udev/{ata_id,cdrom_id,mtd_probe,scsi_id,v4l_id}
-
- rm rules/99-systemd.rules || die
- insinto /lib/udev/rules.d
- doins rules/*.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
-
- # see src_prepare() for content of 40-gentoo.rules
- insinto /lib/udev/rules.d
- doins "${T}"/40-gentoo.rules
- doins "${S}"/rules/*.rules
-
- dobashcomp shell-completion/bash/udevadm
-
- insinto /usr/share/zsh/site-functions
- doins shell-completion/zsh/_udevadm
-
- einstalldocs
-}
-
-pkg_postinst() {
- mkdir -p "${ROOT%/}"/run
-
- # "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766
- # So try to remove it here (will only work if empty).
- rmdir "${ROOT%/}"/dev/loop 2>/dev/null
- if [[ -d ${ROOT%/}/dev/loop ]]; then
- ewarn "Please make sure your remove /dev/loop,"
- ewarn "else losetup may be confused when looking for unused devices."
- fi
-
- local fstab="${ROOT%/}"/etc/fstab dev path fstype rest
- while read -r dev path fstype rest; do
- if [[ ${path} == /dev && ${fstype} != devtmpfs ]]; then
- ewarn "You need to edit your /dev line in ${fstab} to have devtmpfs"
- ewarn "filesystem. Otherwise udev won't be able to boot."
- ewarn "See, https://bugs.gentoo.org/453186"
- fi
- done < "${fstab}"
-
- if [[ -d ${ROOT%/}/usr/lib/udev ]]; then
- ewarn
- ewarn "Please re-emerge all packages on your system which install"
- ewarn "rules and helpers in /usr/lib/udev. They should now be in"
- ewarn "/lib/udev."
- ewarn
- ewarn "One way to do this is to run the following command:"
- ewarn "emerge -av1 \$(qfile -q -S -C /usr/lib/udev)"
- ewarn "Note that qfile can be found in app-portage/portage-utils"
- fi
-
- local old_cd_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-cd.rules
- local old_net_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-net.rules
- for old_rules in "${old_cd_rules}" "${old_net_rules}"; do
- if [[ -f ${old_rules} ]]; then
- ewarn
- ewarn "File ${old_rules} is from old udev installation but if you still use it,"
- ewarn "rename it to something else starting with 70- to silence this deprecation"
- ewarn "warning."
- fi
- done
-
- elog
- elog "Starting from version >= 197 the new predictable network interface names are"
- elog "used by default, see:"
- elog "https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames"
- elog "https://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c"
- elog
- elog "Example command to get the information for the new interface name before booting"
- elog "(replace <ifname> with, for example, eth0):"
- elog "# udevadm test-builtin net_id /sys/class/net/<ifname> 2> /dev/null"
- elog
- elog "You can use either kernel parameter \"net.ifnames=0\", create empty"
- elog "file /etc/systemd/network/99-default.link, or symlink it to /dev/null"
- elog "to disable the feature."
-
- if has_version 'sys-apps/biosdevname'; then
- ewarn
- ewarn "You can replace the functionality of sys-apps/biosdevname which has been"
- ewarn "detected to be installed with the new predictable network interface names."
- fi
-
- ewarn
- ewarn "You need to restart udev as soon as possible to make the upgrade go"
- ewarn "into effect."
- ewarn "The method you use to do this depends on your init system."
- if has_version 'sys-apps/openrc'; then
- ewarn "For sys-apps/openrc users it is:"
- ewarn "# /etc/init.d/udev --nodeps restart"
- fi
-
- elog
- elog "For more information on udev on Gentoo, upgrading, writing udev rules, and"
- elog "fixing known issues visit:"
- elog "https://wiki.gentoo.org/wiki/Udev"
- elog "https://wiki.gentoo.org/wiki/Udev/upgrade"
-
- # If user has disabled 80-net-name-slot.rules using a empty file or a symlink to /dev/null,
- # do the same for 80-net-setup-link.rules to keep the old behavior
- local net_move=no
- local net_name_slot_sym=no
- local net_rules_path="${ROOT%/}"/etc/udev/rules.d
- local net_name_slot="${net_rules_path}"/80-net-name-slot.rules
- local net_setup_link="${net_rules_path}"/80-net-setup-link.rules
- if [[ ! -e ${net_setup_link} ]]; then
- [[ -f ${net_name_slot} && $(sed -e "/^#/d" -e "/^\W*$/d" ${net_name_slot} | wc -l) == 0 ]] && net_move=yes
- if [[ -L ${net_name_slot} && $(readlink ${net_name_slot}) == /dev/null ]]; then
- net_move=yes
- net_name_slot_sym=yes
- fi
- fi
- if [[ ${net_move} == yes ]]; then
- ebegin "Copying ${net_name_slot} to ${net_setup_link}"
-
- if [[ ${net_name_slot_sym} == yes ]]; then
- ln -nfs /dev/null "${net_setup_link}"
- else
- cp "${net_name_slot}" "${net_setup_link}"
- fi
- eend $?
- fi
-
- # https://cgit.freedesktop.org/systemd/systemd/commit/rules/50-udev-default.rules?id=3dff3e00e044e2d53c76fa842b9a4759d4a50e69
- # https://bugs.gentoo.org/246847
- # https://bugs.gentoo.org/514174
- enewgroup input
-
- # 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
-}
diff --git a/sys-fs/udev/udev-241.ebuild b/sys-fs/udev/udev-241.ebuild
deleted file mode 100644
index e3c9cbfb5d8..00000000000
--- a/sys-fs/udev/udev-241.ebuild
+++ /dev/null
@@ -1,328 +0,0 @@
-# Copyright 2003-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit bash-completion-r1 linux-info meson ninja-utils multilib-minimal toolchain-funcs udev user
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://github.com/systemd/systemd.git"
- inherit git-r3
-else
- MY_PV=${PV/_/-}
- MY_P=systemd-${MY_PV}
- S=${WORKDIR}/${MY_P}
- SRC_URI="https://github.com/systemd/systemd/archive/v${MY_PV}/${MY_P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~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"
-
-RESTRICT="test"
-
-COMMON_DEPEND=">=sys-apps/util-linux-2.30[${MULTILIB_USEDEP}]
- sys-libs/libcap[${MULTILIB_USEDEP}]
- acl? ( sys-apps/acl )
- kmod? ( >=sys-apps/kmod-16 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
- !<sys-libs/glibc-2.11
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd"
-DEPEND="${COMMON_DEPEND}
- dev-util/gperf
- >=dev-util/intltool-0.50
- >=dev-util/meson-0.40.0
- dev-util/ninja
- >=sys-apps/coreutils-8.16
- virtual/os-headers
- virtual/pkgconfig
- >=sys-kernel/linux-headers-3.9
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xml-dtd:4.5
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt"
-RDEPEND="${COMMON_DEPEND}
- !<sys-fs/lvm2-2.02.103
- !<sec-policy/selinux-base-2.20120725-r10"
-PDEPEND=">=sys-apps/hwids-20140304[udev]
- >=sys-fs/udev-init-scripts-26"
-
-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() {
- cat <<-EOF > "${T}"/40-gentoo.rules
- # Gentoo specific floppy and usb groups
- ACTION=="add", SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
- ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
- EOF
-
- if [[ -d "${WORKDIR}/patches" ]]; then
- eapply "${WORKDIR}/patches"
- fi
-
- local PATCHES=(
- "${FILESDIR}/236-uucp-group.patch"
- )
-
- default
-}
-
-meson_multilib_native_use() {
- if multilib_is_native_abi && use "$1"; then
- echo true
- else
- echo false
- fi
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Dacl=$(meson_multilib_native_use acl)
- -Defi=false
- -Dkmod=$(meson_multilib_native_use kmod)
- -Dselinux=$(meson_multilib_native_use selinux)
- -Dlink-udev-shared=false
- -Dsplit-usr=true
-
- # Prevent automagic deps
- -Dgcrypt=false
- -Dlibcryptsetup=false
- -Dlibidn=false
- -Dlibidn2=false
- -Dlibiptc=false
- -Dseccomp=false
- -Dlz4=false
- -Dxz=false
- )
- meson_src_configure
-}
-
-src_configure() {
- # Prevent conflicts with i686 cross toolchain, bug 559726
- tc-export AR CC NM OBJCOPY RANLIB
- multilib-minimal_src_configure
-}
-
-multilib_src_compile() {
- # meson creates this link
- local libudev=$(readlink src/udev/libudev.so.1)
-
- local targets=(
- src/udev/${libudev}
- )
- if multilib_is_native_abi; then
- targets+=(
- systemd-udevd
- udevadm
- src/udev/ata_id
- src/udev/cdrom_id
- src/udev/mtd_probe
- src/udev/scsi_id
- 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
- )
- fi
- eninja "${targets[@]}"
-}
-
-multilib_src_install() {
- local libudev=$(readlink src/udev/libudev.so.1)
-
- into /
- dolib.so src/udev/{${libudev},libudev.so.1,libudev.so}
-
- insinto "/usr/$(get_libdir)/pkgconfig"
- doins src/libudev/libudev.pc
-
- if multilib_is_native_abi; then
- into /
- dobin udevadm
-
- exeinto /lib/systemd
- doexe systemd-udevd
-
- exeinto /lib/udev
- doexe src/udev/{ata_id,cdrom_id,mtd_probe,scsi_id,v4l_id}
-
- rm rules/99-systemd.rules || die
- insinto /lib/udev/rules.d
- doins rules/*.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
-
- # see src_prepare() for content of 40-gentoo.rules
- insinto /lib/udev/rules.d
- doins "${T}"/40-gentoo.rules
- doins "${S}"/rules/*.rules
-
- dobashcomp shell-completion/bash/udevadm
-
- insinto /usr/share/zsh/site-functions
- doins shell-completion/zsh/_udevadm
-
- einstalldocs
-}
-
-pkg_postinst() {
- mkdir -p "${ROOT%/}"/run
-
- # "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766
- # So try to remove it here (will only work if empty).
- rmdir "${ROOT%/}"/dev/loop 2>/dev/null
- if [[ -d ${ROOT%/}/dev/loop ]]; then
- ewarn "Please make sure your remove /dev/loop,"
- ewarn "else losetup may be confused when looking for unused devices."
- fi
-
- local fstab="${ROOT%/}"/etc/fstab dev path fstype rest
- while read -r dev path fstype rest; do
- if [[ ${path} == /dev && ${fstype} != devtmpfs ]]; then
- ewarn "You need to edit your /dev line in ${fstab} to have devtmpfs"
- ewarn "filesystem. Otherwise udev won't be able to boot."
- ewarn "See, https://bugs.gentoo.org/453186"
- fi
- done < "${fstab}"
-
- if [[ -d ${ROOT%/}/usr/lib/udev ]]; then
- ewarn
- ewarn "Please re-emerge all packages on your system which install"
- ewarn "rules and helpers in /usr/lib/udev. They should now be in"
- ewarn "/lib/udev."
- ewarn
- ewarn "One way to do this is to run the following command:"
- ewarn "emerge -av1 \$(qfile -q -S -C /usr/lib/udev)"
- ewarn "Note that qfile can be found in app-portage/portage-utils"
- fi
-
- local old_cd_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-cd.rules
- local old_net_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-net.rules
- for old_rules in "${old_cd_rules}" "${old_net_rules}"; do
- if [[ -f ${old_rules} ]]; then
- ewarn
- ewarn "File ${old_rules} is from old udev installation but if you still use it,"
- ewarn "rename it to something else starting with 70- to silence this deprecation"
- ewarn "warning."
- fi
- done
-
- elog
- elog "Starting from version >= 197 the new predictable network interface names are"
- elog "used by default, see:"
- elog "https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames"
- elog "https://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c"
- elog
- elog "Example command to get the information for the new interface name before booting"
- elog "(replace <ifname> with, for example, eth0):"
- elog "# udevadm test-builtin net_id /sys/class/net/<ifname> 2> /dev/null"
- elog
- elog "You can use either kernel parameter \"net.ifnames=0\", create empty"
- elog "file /etc/systemd/network/99-default.link, or symlink it to /dev/null"
- elog "to disable the feature."
-
- if has_version 'sys-apps/biosdevname'; then
- ewarn
- ewarn "You can replace the functionality of sys-apps/biosdevname which has been"
- ewarn "detected to be installed with the new predictable network interface names."
- fi
-
- ewarn
- ewarn "You need to restart udev as soon as possible to make the upgrade go"
- ewarn "into effect."
- ewarn "The method you use to do this depends on your init system."
- if has_version 'sys-apps/openrc'; then
- ewarn "For sys-apps/openrc users it is:"
- ewarn "# /etc/init.d/udev --nodeps restart"
- fi
-
- elog
- elog "For more information on udev on Gentoo, upgrading, writing udev rules, and"
- elog "fixing known issues visit:"
- elog "https://wiki.gentoo.org/wiki/Udev"
- elog "https://wiki.gentoo.org/wiki/Udev/upgrade"
-
- # If user has disabled 80-net-name-slot.rules using a empty file or a symlink to /dev/null,
- # do the same for 80-net-setup-link.rules to keep the old behavior
- local net_move=no
- local net_name_slot_sym=no
- local net_rules_path="${ROOT%/}"/etc/udev/rules.d
- local net_name_slot="${net_rules_path}"/80-net-name-slot.rules
- local net_setup_link="${net_rules_path}"/80-net-setup-link.rules
- if [[ ! -e ${net_setup_link} ]]; then
- [[ -f ${net_name_slot} && $(sed -e "/^#/d" -e "/^\W*$/d" ${net_name_slot} | wc -l) == 0 ]] && net_move=yes
- if [[ -L ${net_name_slot} && $(readlink ${net_name_slot}) == /dev/null ]]; then
- net_move=yes
- net_name_slot_sym=yes
- fi
- fi
- if [[ ${net_move} == yes ]]; then
- ebegin "Copying ${net_name_slot} to ${net_setup_link}"
-
- if [[ ${net_name_slot_sym} == yes ]]; then
- ln -nfs /dev/null "${net_setup_link}"
- else
- cp "${net_name_slot}" "${net_setup_link}"
- fi
- eend $?
- fi
-
- # https://cgit.freedesktop.org/systemd/systemd/commit/rules/50-udev-default.rules?id=3dff3e00e044e2d53c76fa842b9a4759d4a50e69
- # https://bugs.gentoo.org/246847
- # https://bugs.gentoo.org/514174
- enewgroup input
- enewgroup kvm 78
- enewgroup render
-
- # 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
-}
diff --git a/sys-fs/udev/udev-241_rc1.ebuild b/sys-fs/udev/udev-241_rc1.ebuild
deleted file mode 100644
index ba1551d202d..00000000000
--- a/sys-fs/udev/udev-241_rc1.ebuild
+++ /dev/null
@@ -1,326 +0,0 @@
-# Copyright 2003-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit bash-completion-r1 linux-info meson ninja-utils multilib-minimal toolchain-funcs udev user
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://github.com/systemd/systemd.git"
- inherit git-r3
-else
- MY_PV=${PV/_/-}
- MY_P=systemd-${MY_PV}
- S=${WORKDIR}/${MY_P}
- SRC_URI="https://github.com/systemd/systemd/archive/v${MY_PV}/${MY_P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~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"
-
-RESTRICT="test"
-
-COMMON_DEPEND=">=sys-apps/util-linux-2.30[${MULTILIB_USEDEP}]
- sys-libs/libcap[${MULTILIB_USEDEP}]
- acl? ( sys-apps/acl )
- kmod? ( >=sys-apps/kmod-16 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
- !<sys-libs/glibc-2.11
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd"
-DEPEND="${COMMON_DEPEND}
- dev-util/gperf
- >=dev-util/intltool-0.50
- >=dev-util/meson-0.40.0
- dev-util/ninja
- >=sys-apps/coreutils-8.16
- virtual/os-headers
- virtual/pkgconfig
- >=sys-kernel/linux-headers-3.9
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xml-dtd:4.5
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt"
-RDEPEND="${COMMON_DEPEND}
- !<sys-fs/lvm2-2.02.103
- !<sec-policy/selinux-base-2.20120725-r10"
-PDEPEND=">=sys-apps/hwids-20140304[udev]
- >=sys-fs/udev-init-scripts-26"
-
-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() {
- cat <<-EOF > "${T}"/40-gentoo.rules
- # Gentoo specific floppy and usb groups
- ACTION=="add", SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
- ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
- EOF
-
- if [[ -d "${WORKDIR}/patches" ]]; then
- eapply "${WORKDIR}/patches"
- fi
-
- local PATCHES=(
- "${FILESDIR}/236-uucp-group.patch"
- )
-
- default
-}
-
-meson_multilib_native_use() {
- if multilib_is_native_abi && use "$1"; then
- echo true
- else
- echo false
- fi
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Dacl=$(meson_multilib_native_use acl)
- -Defi=false
- -Dkmod=$(meson_multilib_native_use kmod)
- -Dselinux=$(meson_multilib_native_use selinux)
- -Dlink-udev-shared=false
- -Dsplit-usr=true
-
- # Prevent automagic deps
- -Dgcrypt=false
- -Dlibcryptsetup=false
- -Dlibidn=false
- -Dlibidn2=false
- -Dlibiptc=false
- -Dseccomp=false
- -Dlz4=false
- -Dxz=false
- )
- meson_src_configure
-}
-
-src_configure() {
- # Prevent conflicts with i686 cross toolchain, bug 559726
- tc-export AR CC NM OBJCOPY RANLIB
- multilib-minimal_src_configure
-}
-
-multilib_src_compile() {
- # meson creates this link
- local libudev=$(readlink src/udev/libudev.so.1)
-
- local targets=(
- src/udev/${libudev}
- )
- if multilib_is_native_abi; then
- targets+=(
- systemd-udevd
- udevadm
- src/udev/ata_id
- src/udev/cdrom_id
- src/udev/mtd_probe
- src/udev/scsi_id
- 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
- )
- fi
- eninja "${targets[@]}"
-}
-
-multilib_src_install() {
- local libudev=$(readlink src/udev/libudev.so.1)
-
- into /
- dolib.so src/udev/{${libudev},libudev.so.1,libudev.so}
-
- insinto "/usr/$(get_libdir)/pkgconfig"
- doins src/libudev/libudev.pc
-
- if multilib_is_native_abi; then
- into /
- dobin udevadm
-
- exeinto /lib/systemd
- doexe systemd-udevd
-
- exeinto /lib/udev
- doexe src/udev/{ata_id,cdrom_id,mtd_probe,scsi_id,v4l_id}
-
- rm rules/99-systemd.rules || die
- insinto /lib/udev/rules.d
- doins rules/*.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
-
- # see src_prepare() for content of 40-gentoo.rules
- insinto /lib/udev/rules.d
- doins "${T}"/40-gentoo.rules
- doins "${S}"/rules/*.rules
-
- dobashcomp shell-completion/bash/udevadm
-
- insinto /usr/share/zsh/site-functions
- doins shell-completion/zsh/_udevadm
-
- einstalldocs
-}
-
-pkg_postinst() {
- mkdir -p "${ROOT%/}"/run
-
- # "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766
- # So try to remove it here (will only work if empty).
- rmdir "${ROOT%/}"/dev/loop 2>/dev/null
- if [[ -d ${ROOT%/}/dev/loop ]]; then
- ewarn "Please make sure your remove /dev/loop,"
- ewarn "else losetup may be confused when looking for unused devices."
- fi
-
- local fstab="${ROOT%/}"/etc/fstab dev path fstype rest
- while read -r dev path fstype rest; do
- if [[ ${path} == /dev && ${fstype} != devtmpfs ]]; then
- ewarn "You need to edit your /dev line in ${fstab} to have devtmpfs"
- ewarn "filesystem. Otherwise udev won't be able to boot."
- ewarn "See, https://bugs.gentoo.org/453186"
- fi
- done < "${fstab}"
-
- if [[ -d ${ROOT%/}/usr/lib/udev ]]; then
- ewarn
- ewarn "Please re-emerge all packages on your system which install"
- ewarn "rules and helpers in /usr/lib/udev. They should now be in"
- ewarn "/lib/udev."
- ewarn
- ewarn "One way to do this is to run the following command:"
- ewarn "emerge -av1 \$(qfile -q -S -C /usr/lib/udev)"
- ewarn "Note that qfile can be found in app-portage/portage-utils"
- fi
-
- local old_cd_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-cd.rules
- local old_net_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-net.rules
- for old_rules in "${old_cd_rules}" "${old_net_rules}"; do
- if [[ -f ${old_rules} ]]; then
- ewarn
- ewarn "File ${old_rules} is from old udev installation but if you still use it,"
- ewarn "rename it to something else starting with 70- to silence this deprecation"
- ewarn "warning."
- fi
- done
-
- elog
- elog "Starting from version >= 197 the new predictable network interface names are"
- elog "used by default, see:"
- elog "https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames"
- elog "https://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c"
- elog
- elog "Example command to get the information for the new interface name before booting"
- elog "(replace <ifname> with, for example, eth0):"
- elog "# udevadm test-builtin net_id /sys/class/net/<ifname> 2> /dev/null"
- elog
- elog "You can use either kernel parameter \"net.ifnames=0\", create empty"
- elog "file /etc/systemd/network/99-default.link, or symlink it to /dev/null"
- elog "to disable the feature."
-
- if has_version 'sys-apps/biosdevname'; then
- ewarn
- ewarn "You can replace the functionality of sys-apps/biosdevname which has been"
- ewarn "detected to be installed with the new predictable network interface names."
- fi
-
- ewarn
- ewarn "You need to restart udev as soon as possible to make the upgrade go"
- ewarn "into effect."
- ewarn "The method you use to do this depends on your init system."
- if has_version 'sys-apps/openrc'; then
- ewarn "For sys-apps/openrc users it is:"
- ewarn "# /etc/init.d/udev --nodeps restart"
- fi
-
- elog
- elog "For more information on udev on Gentoo, upgrading, writing udev rules, and"
- elog "fixing known issues visit:"
- elog "https://wiki.gentoo.org/wiki/Udev"
- elog "https://wiki.gentoo.org/wiki/Udev/upgrade"
-
- # If user has disabled 80-net-name-slot.rules using a empty file or a symlink to /dev/null,
- # do the same for 80-net-setup-link.rules to keep the old behavior
- local net_move=no
- local net_name_slot_sym=no
- local net_rules_path="${ROOT%/}"/etc/udev/rules.d
- local net_name_slot="${net_rules_path}"/80-net-name-slot.rules
- local net_setup_link="${net_rules_path}"/80-net-setup-link.rules
- if [[ ! -e ${net_setup_link} ]]; then
- [[ -f ${net_name_slot} && $(sed -e "/^#/d" -e "/^\W*$/d" ${net_name_slot} | wc -l) == 0 ]] && net_move=yes
- if [[ -L ${net_name_slot} && $(readlink ${net_name_slot}) == /dev/null ]]; then
- net_move=yes
- net_name_slot_sym=yes
- fi
- fi
- if [[ ${net_move} == yes ]]; then
- ebegin "Copying ${net_name_slot} to ${net_setup_link}"
-
- if [[ ${net_name_slot_sym} == yes ]]; then
- ln -nfs /dev/null "${net_setup_link}"
- else
- cp "${net_name_slot}" "${net_setup_link}"
- fi
- eend $?
- fi
-
- # https://cgit.freedesktop.org/systemd/systemd/commit/rules/50-udev-default.rules?id=3dff3e00e044e2d53c76fa842b9a4759d4a50e69
- # https://bugs.gentoo.org/246847
- # https://bugs.gentoo.org/514174
- enewgroup input
-
- # 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
-}
diff --git a/sys-fs/udev/udev-241_rc2.ebuild b/sys-fs/udev/udev-241_rc2.ebuild
deleted file mode 100644
index ba1551d202d..00000000000
--- a/sys-fs/udev/udev-241_rc2.ebuild
+++ /dev/null
@@ -1,326 +0,0 @@
-# Copyright 2003-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit bash-completion-r1 linux-info meson ninja-utils multilib-minimal toolchain-funcs udev user
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://github.com/systemd/systemd.git"
- inherit git-r3
-else
- MY_PV=${PV/_/-}
- MY_P=systemd-${MY_PV}
- S=${WORKDIR}/${MY_P}
- SRC_URI="https://github.com/systemd/systemd/archive/v${MY_PV}/${MY_P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~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"
-
-RESTRICT="test"
-
-COMMON_DEPEND=">=sys-apps/util-linux-2.30[${MULTILIB_USEDEP}]
- sys-libs/libcap[${MULTILIB_USEDEP}]
- acl? ( sys-apps/acl )
- kmod? ( >=sys-apps/kmod-16 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
- !<sys-libs/glibc-2.11
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd"
-DEPEND="${COMMON_DEPEND}
- dev-util/gperf
- >=dev-util/intltool-0.50
- >=dev-util/meson-0.40.0
- dev-util/ninja
- >=sys-apps/coreutils-8.16
- virtual/os-headers
- virtual/pkgconfig
- >=sys-kernel/linux-headers-3.9
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xml-dtd:4.5
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt"
-RDEPEND="${COMMON_DEPEND}
- !<sys-fs/lvm2-2.02.103
- !<sec-policy/selinux-base-2.20120725-r10"
-PDEPEND=">=sys-apps/hwids-20140304[udev]
- >=sys-fs/udev-init-scripts-26"
-
-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() {
- cat <<-EOF > "${T}"/40-gentoo.rules
- # Gentoo specific floppy and usb groups
- ACTION=="add", SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
- ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
- EOF
-
- if [[ -d "${WORKDIR}/patches" ]]; then
- eapply "${WORKDIR}/patches"
- fi
-
- local PATCHES=(
- "${FILESDIR}/236-uucp-group.patch"
- )
-
- default
-}
-
-meson_multilib_native_use() {
- if multilib_is_native_abi && use "$1"; then
- echo true
- else
- echo false
- fi
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Dacl=$(meson_multilib_native_use acl)
- -Defi=false
- -Dkmod=$(meson_multilib_native_use kmod)
- -Dselinux=$(meson_multilib_native_use selinux)
- -Dlink-udev-shared=false
- -Dsplit-usr=true
-
- # Prevent automagic deps
- -Dgcrypt=false
- -Dlibcryptsetup=false
- -Dlibidn=false
- -Dlibidn2=false
- -Dlibiptc=false
- -Dseccomp=false
- -Dlz4=false
- -Dxz=false
- )
- meson_src_configure
-}
-
-src_configure() {
- # Prevent conflicts with i686 cross toolchain, bug 559726
- tc-export AR CC NM OBJCOPY RANLIB
- multilib-minimal_src_configure
-}
-
-multilib_src_compile() {
- # meson creates this link
- local libudev=$(readlink src/udev/libudev.so.1)
-
- local targets=(
- src/udev/${libudev}
- )
- if multilib_is_native_abi; then
- targets+=(
- systemd-udevd
- udevadm
- src/udev/ata_id
- src/udev/cdrom_id
- src/udev/mtd_probe
- src/udev/scsi_id
- 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
- )
- fi
- eninja "${targets[@]}"
-}
-
-multilib_src_install() {
- local libudev=$(readlink src/udev/libudev.so.1)
-
- into /
- dolib.so src/udev/{${libudev},libudev.so.1,libudev.so}
-
- insinto "/usr/$(get_libdir)/pkgconfig"
- doins src/libudev/libudev.pc
-
- if multilib_is_native_abi; then
- into /
- dobin udevadm
-
- exeinto /lib/systemd
- doexe systemd-udevd
-
- exeinto /lib/udev
- doexe src/udev/{ata_id,cdrom_id,mtd_probe,scsi_id,v4l_id}
-
- rm rules/99-systemd.rules || die
- insinto /lib/udev/rules.d
- doins rules/*.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
-
- # see src_prepare() for content of 40-gentoo.rules
- insinto /lib/udev/rules.d
- doins "${T}"/40-gentoo.rules
- doins "${S}"/rules/*.rules
-
- dobashcomp shell-completion/bash/udevadm
-
- insinto /usr/share/zsh/site-functions
- doins shell-completion/zsh/_udevadm
-
- einstalldocs
-}
-
-pkg_postinst() {
- mkdir -p "${ROOT%/}"/run
-
- # "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766
- # So try to remove it here (will only work if empty).
- rmdir "${ROOT%/}"/dev/loop 2>/dev/null
- if [[ -d ${ROOT%/}/dev/loop ]]; then
- ewarn "Please make sure your remove /dev/loop,"
- ewarn "else losetup may be confused when looking for unused devices."
- fi
-
- local fstab="${ROOT%/}"/etc/fstab dev path fstype rest
- while read -r dev path fstype rest; do
- if [[ ${path} == /dev && ${fstype} != devtmpfs ]]; then
- ewarn "You need to edit your /dev line in ${fstab} to have devtmpfs"
- ewarn "filesystem. Otherwise udev won't be able to boot."
- ewarn "See, https://bugs.gentoo.org/453186"
- fi
- done < "${fstab}"
-
- if [[ -d ${ROOT%/}/usr/lib/udev ]]; then
- ewarn
- ewarn "Please re-emerge all packages on your system which install"
- ewarn "rules and helpers in /usr/lib/udev. They should now be in"
- ewarn "/lib/udev."
- ewarn
- ewarn "One way to do this is to run the following command:"
- ewarn "emerge -av1 \$(qfile -q -S -C /usr/lib/udev)"
- ewarn "Note that qfile can be found in app-portage/portage-utils"
- fi
-
- local old_cd_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-cd.rules
- local old_net_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-net.rules
- for old_rules in "${old_cd_rules}" "${old_net_rules}"; do
- if [[ -f ${old_rules} ]]; then
- ewarn
- ewarn "File ${old_rules} is from old udev installation but if you still use it,"
- ewarn "rename it to something else starting with 70- to silence this deprecation"
- ewarn "warning."
- fi
- done
-
- elog
- elog "Starting from version >= 197 the new predictable network interface names are"
- elog "used by default, see:"
- elog "https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames"
- elog "https://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c"
- elog
- elog "Example command to get the information for the new interface name before booting"
- elog "(replace <ifname> with, for example, eth0):"
- elog "# udevadm test-builtin net_id /sys/class/net/<ifname> 2> /dev/null"
- elog
- elog "You can use either kernel parameter \"net.ifnames=0\", create empty"
- elog "file /etc/systemd/network/99-default.link, or symlink it to /dev/null"
- elog "to disable the feature."
-
- if has_version 'sys-apps/biosdevname'; then
- ewarn
- ewarn "You can replace the functionality of sys-apps/biosdevname which has been"
- ewarn "detected to be installed with the new predictable network interface names."
- fi
-
- ewarn
- ewarn "You need to restart udev as soon as possible to make the upgrade go"
- ewarn "into effect."
- ewarn "The method you use to do this depends on your init system."
- if has_version 'sys-apps/openrc'; then
- ewarn "For sys-apps/openrc users it is:"
- ewarn "# /etc/init.d/udev --nodeps restart"
- fi
-
- elog
- elog "For more information on udev on Gentoo, upgrading, writing udev rules, and"
- elog "fixing known issues visit:"
- elog "https://wiki.gentoo.org/wiki/Udev"
- elog "https://wiki.gentoo.org/wiki/Udev/upgrade"
-
- # If user has disabled 80-net-name-slot.rules using a empty file or a symlink to /dev/null,
- # do the same for 80-net-setup-link.rules to keep the old behavior
- local net_move=no
- local net_name_slot_sym=no
- local net_rules_path="${ROOT%/}"/etc/udev/rules.d
- local net_name_slot="${net_rules_path}"/80-net-name-slot.rules
- local net_setup_link="${net_rules_path}"/80-net-setup-link.rules
- if [[ ! -e ${net_setup_link} ]]; then
- [[ -f ${net_name_slot} && $(sed -e "/^#/d" -e "/^\W*$/d" ${net_name_slot} | wc -l) == 0 ]] && net_move=yes
- if [[ -L ${net_name_slot} && $(readlink ${net_name_slot}) == /dev/null ]]; then
- net_move=yes
- net_name_slot_sym=yes
- fi
- fi
- if [[ ${net_move} == yes ]]; then
- ebegin "Copying ${net_name_slot} to ${net_setup_link}"
-
- if [[ ${net_name_slot_sym} == yes ]]; then
- ln -nfs /dev/null "${net_setup_link}"
- else
- cp "${net_name_slot}" "${net_setup_link}"
- fi
- eend $?
- fi
-
- # https://cgit.freedesktop.org/systemd/systemd/commit/rules/50-udev-default.rules?id=3dff3e00e044e2d53c76fa842b9a4759d4a50e69
- # https://bugs.gentoo.org/246847
- # https://bugs.gentoo.org/514174
- enewgroup input
-
- # 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
-}
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/udev/, sys-fs/udev/files/
@ 2021-01-06 15:47 Mike Gilbert
0 siblings, 0 replies; 13+ messages in thread
From: Mike Gilbert @ 2021-01-06 15:47 UTC (permalink / raw
To: gentoo-commits
commit: e1c9784d3db136c7ce82dd00bcad18839dd11fee
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 6 15:47:10 2021 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Wed Jan 6 15:47:10 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e1c9784d
sys-fs/udev: remove old
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
sys-fs/udev/Manifest | 1 -
sys-fs/udev/files/242-gcc-9.patch | 163 -------------------
sys-fs/udev/udev-242.ebuild | 333 --------------------------------------
3 files changed, 497 deletions(-)
diff --git a/sys-fs/udev/Manifest b/sys-fs/udev/Manifest
index 299515c5f11..d0bd75c2b5b 100644
--- a/sys-fs/udev/Manifest
+++ b/sys-fs/udev/Manifest
@@ -1,4 +1,3 @@
-DIST systemd-242.tar.gz 7831435 BLAKE2B 288e65d0a8e133ef5885689eb16118a83d93c730e342da63115cea0892fc999104c3a4856c83f3e7ef909ba2f3311146730b05ee02d84cc0400851ccbdcd54cd SHA512 578f68a3c8f2d454198fc04ff8d943abcfb390531d57f9603d185857f7afa7f4dc641dafecf49ce50fe22f5837b252b181400891e8efd4459fd4f69bb4283cb4
DIST systemd-243.tar.gz 8242522 BLAKE2B 89e3ebbea5a99061329f7c78220a66c1e075d5ba90dfdf5ee8d0d9b762ef4600dc82d8ca2054632e5e343b6272cd8046c92f7f99dcfa8287c5ef2b42fb96d4cb SHA512 56b52a297aa5ac04d9667eb3afb1598725b197de73ff72baa1aabbc2844e36fba7b7fccdf6d214ae8b5b926616b2b7e15772763aaa80ec938d74333ff9c8673e
DIST systemd-246.tar.gz 9534036 BLAKE2B 71b72abcd4d066d35d45d9835d41bec8faa9a7eddc80b48fe7073223f07d32f78a8442c52dc0800940f9750d9c5502123a633738981d797cf610d85df2035bf0 SHA512 7103f7da53f7ced3b5543c238f23bd11c82af8e37166c1720a90576b6b431b4329320c78726166c65a9f5e101dd465c0a86dd13c586c4e55e608a6273d8f324f
DIST systemd-stable-245.5.tar.gz 9020836 BLAKE2B 7753eecceffa86c9208c3e71df2037b58b445f9090b73c6ff499b4170b94488a1fd1cabcd17cbb98506a692875a3eef07a40a54d23e09c331a01319f8d03d13d SHA512 47de4a59980643002f325c499eeb4dd76fa9f1d1267686e7564f103690487bf85974590d7cb3e3641409e5bfba567fe2a66efa80320e7e8adc48af4461e2e172
diff --git a/sys-fs/udev/files/242-gcc-9.patch b/sys-fs/udev/files/242-gcc-9.patch
deleted file mode 100644
index e9f690a65be..00000000000
--- a/sys-fs/udev/files/242-gcc-9.patch
+++ /dev/null
@@ -1,163 +0,0 @@
-From c98b3545008d8e984ab456dcf79787418fcbfe13 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
-Date: Tue, 7 May 2019 13:46:55 +0200
-Subject: [PATCH] network: remove redunant link name in message
-
-Fixes #12454.
-
-gcc was complaining that the link->ifname argument is NULL. Adding
-assert(link->ifname) right before the call has no effect. It seems that
-gcc is confused by the fact that log_link_warning_errno() internally
-calls log_object(), with link->ifname passed as the object. log_object()
-is also a macro and is does a check whether the passed object is NULL.
-So we have a check if something is NULL right next an unconditional use
-of it where it cannot be NULL. I think it's a bug in gcc.
-
-Anyway, we don't need to use link->ifname here. log_object() already prepends
-the object name to the message.
----
- src/network/networkd-link.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
-index 533193ac932..6fc82940033 100644
---- a/src/network/networkd-link.c
-+++ b/src/network/networkd-link.c
-@@ -338,8 +338,7 @@ static int link_enable_ipv6(Link *link) {
-
- r = sysctl_write_ip_property_boolean(AF_INET6, link->ifname, "disable_ipv6", disabled);
- if (r < 0)
-- log_link_warning_errno(link, r, "Cannot %s IPv6 for interface %s: %m",
-- enable_disable(!disabled), link->ifname);
-+ log_link_warning_errno(link, r, "Cannot %s IPv6: %m", enable_disable(!disabled));
- else
- log_link_info(link, "IPv6 successfully %sd", enable_disable(!disabled));
-
-From bcb846f30f9ca8f42e79d109706aee9f2032261b Mon Sep 17 00:00:00 2001
-From: Mike Gilbert <floppym@gentoo.org>
-Date: Wed, 22 May 2019 10:31:01 -0400
-Subject: [PATCH] shared/machine-image: avoid passing NULL to log_debug_errno
-
-Fixes: https://github.com/systemd/systemd/issues/12534
----
- src/shared/machine-image.c | 11 ++++++++---
- 1 file changed, 8 insertions(+), 3 deletions(-)
-
-diff --git a/src/shared/machine-image.c b/src/shared/machine-image.c
-index 6b9d8fb97a6..6a6d952b424 100644
---- a/src/shared/machine-image.c
-+++ b/src/shared/machine-image.c
-@@ -201,11 +201,13 @@ static int image_make(
- Image **ret) {
-
- _cleanup_free_ char *pretty_buffer = NULL;
-+ _cleanup_free_ char *cwd = NULL;
- struct stat stbuf;
- bool read_only;
- int r;
-
- assert(dfd >= 0 || dfd == AT_FDCWD);
-+ assert(path || dfd == AT_FDCWD);
- assert(filename);
-
- /* We explicitly *do* follow symlinks here, since we want to allow symlinking trees, raw files and block
-@@ -221,6 +223,9 @@ static int image_make(
- st = &stbuf;
- }
-
-+ if (!path)
-+ safe_getcwd(&cwd);
-+
- read_only =
- (path && path_startswith(path, "/usr")) ||
- (faccessat(dfd, filename, W_OK, AT_EACCESS) < 0 && errno == EROFS);
-@@ -359,7 +364,7 @@ static int image_make(
-
- block_fd = openat(dfd, filename, O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_NOCTTY);
- if (block_fd < 0)
-- log_debug_errno(errno, "Failed to open block device %s/%s, ignoring: %m", path, filename);
-+ log_debug_errno(errno, "Failed to open block device %s/%s, ignoring: %m", path ?: strnull(cwd), filename);
- else {
- /* Refresh stat data after opening the node */
- if (fstat(block_fd, &stbuf) < 0)
-@@ -373,13 +378,13 @@ static int image_make(
- int state = 0;
-
- if (ioctl(block_fd, BLKROGET, &state) < 0)
-- log_debug_errno(errno, "Failed to issue BLKROGET on device %s/%s, ignoring: %m", path, filename);
-+ log_debug_errno(errno, "Failed to issue BLKROGET on device %s/%s, ignoring: %m", path ?: strnull(cwd), filename);
- else if (state)
- read_only = true;
- }
-
- if (ioctl(block_fd, BLKGETSIZE64, &size) < 0)
-- log_debug_errno(errno, "Failed to issue BLKGETSIZE64 on device %s/%s, ignoring: %m", path, filename);
-+ log_debug_errno(errno, "Failed to issue BLKGETSIZE64 on device %s/%s, ignoring: %m", path ?: strnull(cwd), filename);
-
- block_fd = safe_close(block_fd);
- }
-From 2570578d908a8e010828fa1f88826b1c45d534ff Mon Sep 17 00:00:00 2001
-From: Lennart Poettering <lennart@poettering.net>
-Date: Fri, 24 May 2019 10:54:09 +0200
-Subject: [PATCH] machine-image: openat() doesn't operate on the cwd if the
- first argument is specified
-
-A fix-up for bcb846f30f9ca8f42e79d109706aee9f2032261b.
----
- src/shared/machine-image.c | 17 ++++++++++-------
- 1 file changed, 10 insertions(+), 7 deletions(-)
-
-diff --git a/src/shared/machine-image.c b/src/shared/machine-image.c
-index 6a6d952b424..55e5f08f91e 100644
---- a/src/shared/machine-image.c
-+++ b/src/shared/machine-image.c
-@@ -200,8 +200,7 @@ static int image_make(
- const struct stat *st,
- Image **ret) {
-
-- _cleanup_free_ char *pretty_buffer = NULL;
-- _cleanup_free_ char *cwd = NULL;
-+ _cleanup_free_ char *pretty_buffer = NULL, *parent = NULL;
- struct stat stbuf;
- bool read_only;
- int r;
-@@ -223,8 +222,12 @@ static int image_make(
- st = &stbuf;
- }
-
-- if (!path)
-- safe_getcwd(&cwd);
-+ if (!path) {
-+ if (dfd == AT_FDCWD)
-+ (void) safe_getcwd(&parent);
-+ else
-+ (void) fd_get_path(dfd, &parent);
-+ }
-
- read_only =
- (path && path_startswith(path, "/usr")) ||
-@@ -364,7 +367,7 @@ static int image_make(
-
- block_fd = openat(dfd, filename, O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_NOCTTY);
- if (block_fd < 0)
-- log_debug_errno(errno, "Failed to open block device %s/%s, ignoring: %m", path ?: strnull(cwd), filename);
-+ log_debug_errno(errno, "Failed to open block device %s/%s, ignoring: %m", path ?: strnull(parent), filename);
- else {
- /* Refresh stat data after opening the node */
- if (fstat(block_fd, &stbuf) < 0)
-@@ -378,13 +381,13 @@ static int image_make(
- int state = 0;
-
- if (ioctl(block_fd, BLKROGET, &state) < 0)
-- log_debug_errno(errno, "Failed to issue BLKROGET on device %s/%s, ignoring: %m", path ?: strnull(cwd), filename);
-+ log_debug_errno(errno, "Failed to issue BLKROGET on device %s/%s, ignoring: %m", path ?: strnull(parent), filename);
- else if (state)
- read_only = true;
- }
-
- if (ioctl(block_fd, BLKGETSIZE64, &size) < 0)
-- log_debug_errno(errno, "Failed to issue BLKGETSIZE64 on device %s/%s, ignoring: %m", path ?: strnull(cwd), filename);
-+ log_debug_errno(errno, "Failed to issue BLKGETSIZE64 on device %s/%s, ignoring: %m", path ?: strnull(parent), filename);
-
- block_fd = safe_close(block_fd);
- }
diff --git a/sys-fs/udev/udev-242.ebuild b/sys-fs/udev/udev-242.ebuild
deleted file mode 100644
index 6c9973b9a66..00000000000
--- a/sys-fs/udev/udev-242.ebuild
+++ /dev/null
@@ -1,333 +0,0 @@
-# Copyright 2003-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit bash-completion-r1 linux-info meson ninja-utils multilib-minimal toolchain-funcs udev
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://github.com/systemd/systemd.git"
- inherit git-r3
-else
- MY_PV=${PV/_/-}
- MY_P=systemd-${MY_PV}
- S=${WORKDIR}/${MY_P}
- SRC_URI="https://github.com/systemd/systemd/archive/v${MY_PV}/${MY_P}.tar.gz"
- 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"
-
-RESTRICT="test"
-
-COMMON_DEPEND=">=sys-apps/util-linux-2.30[${MULTILIB_USEDEP}]
- sys-libs/libcap[${MULTILIB_USEDEP}]
- acl? ( sys-apps/acl )
- kmod? ( >=sys-apps/kmod-16 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
- !<sys-libs/glibc-2.11
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd"
-DEPEND="${COMMON_DEPEND}
- dev-util/gperf
- >=dev-util/intltool-0.50
- >=dev-util/meson-0.40.0
- dev-util/ninja
- >=sys-apps/coreutils-8.16
- virtual/os-headers
- virtual/pkgconfig
- >=sys-kernel/linux-headers-3.9
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xml-dtd:4.5
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt"
-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-fs/lvm2-2.02.103
- !<sec-policy/selinux-base-2.20120725-r10"
-PDEPEND=">=sys-apps/hwids-20140304[udev]
- >=sys-fs/udev-init-scripts-26"
-
-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() {
- cat <<-EOF > "${T}"/40-gentoo.rules
- # Gentoo specific floppy and usb groups
- ACTION=="add", SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
- ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
- EOF
-
- if [[ -d "${WORKDIR}/patches" ]]; then
- eapply "${WORKDIR}/patches"
- fi
-
- local PATCHES=(
- "${FILESDIR}"/242-gcc-9.patch
- )
-
- default
-}
-
-meson_multilib_native_use() {
- if multilib_is_native_abi && use "$1"; then
- echo true
- else
- echo false
- fi
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Dacl=$(meson_multilib_native_use acl)
- -Defi=false
- -Dkmod=$(meson_multilib_native_use kmod)
- -Dselinux=$(meson_multilib_native_use selinux)
- -Dlink-udev-shared=false
- -Dsplit-usr=true
-
- # Prevent automagic deps
- -Dgcrypt=false
- -Dlibcryptsetup=false
- -Dlibidn=false
- -Dlibidn2=false
- -Dlibiptc=false
- -Dseccomp=false
- -Dlz4=false
- -Dxz=false
- )
- meson_src_configure
-}
-
-src_configure() {
- # Prevent conflicts with i686 cross toolchain, bug 559726
- tc-export AR CC NM OBJCOPY RANLIB
- multilib-minimal_src_configure
-}
-
-multilib_src_compile() {
- # meson creates this link
- local libudev=$(readlink src/udev/libudev.so.1)
-
- local targets=(
- src/udev/${libudev}
- )
- if multilib_is_native_abi; then
- targets+=(
- systemd-udevd
- udevadm
- src/udev/ata_id
- src/udev/cdrom_id
- src/udev/mtd_probe
- src/udev/scsi_id
- 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
- )
- fi
- eninja "${targets[@]}"
-}
-
-multilib_src_install() {
- local libudev=$(readlink src/udev/libudev.so.1)
-
- into /
- dolib.so src/udev/{${libudev},libudev.so.1,libudev.so}
-
- insinto "/usr/$(get_libdir)/pkgconfig"
- doins src/libudev/libudev.pc
-
- if multilib_is_native_abi; then
- into /
- dobin udevadm
-
- exeinto /lib/systemd
- doexe systemd-udevd
-
- exeinto /lib/udev
- doexe src/udev/{ata_id,cdrom_id,mtd_probe,scsi_id,v4l_id}
-
- rm rules/99-systemd.rules || die
- insinto /lib/udev/rules.d
- doins rules/*.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
-
- # see src_prepare() for content of 40-gentoo.rules
- insinto /lib/udev/rules.d
- doins "${T}"/40-gentoo.rules
- doins "${S}"/rules/*.rules
-
- dobashcomp shell-completion/bash/udevadm
-
- insinto /usr/share/zsh/site-functions
- doins shell-completion/zsh/_udevadm
-
- einstalldocs
-}
-
-pkg_postinst() {
- mkdir -p "${ROOT%/}"/run
-
- # "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766
- # So try to remove it here (will only work if empty).
- rmdir "${ROOT%/}"/dev/loop 2>/dev/null
- if [[ -d ${ROOT%/}/dev/loop ]]; then
- ewarn "Please make sure your remove /dev/loop,"
- ewarn "else losetup may be confused when looking for unused devices."
- fi
-
- local fstab="${ROOT%/}"/etc/fstab dev path fstype rest
- while read -r dev path fstype rest; do
- if [[ ${path} == /dev && ${fstype} != devtmpfs ]]; then
- ewarn "You need to edit your /dev line in ${fstab} to have devtmpfs"
- ewarn "filesystem. Otherwise udev won't be able to boot."
- ewarn "See, https://bugs.gentoo.org/453186"
- fi
- done < "${fstab}"
-
- if [[ -d ${ROOT%/}/usr/lib/udev ]]; then
- ewarn
- ewarn "Please re-emerge all packages on your system which install"
- ewarn "rules and helpers in /usr/lib/udev. They should now be in"
- ewarn "/lib/udev."
- ewarn
- ewarn "One way to do this is to run the following command:"
- ewarn "emerge -av1 \$(qfile -q -S -C /usr/lib/udev)"
- ewarn "Note that qfile can be found in app-portage/portage-utils"
- fi
-
- local old_cd_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-cd.rules
- local old_net_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-net.rules
- for old_rules in "${old_cd_rules}" "${old_net_rules}"; do
- if [[ -f ${old_rules} ]]; then
- ewarn
- ewarn "File ${old_rules} is from old udev installation but if you still use it,"
- ewarn "rename it to something else starting with 70- to silence this deprecation"
- ewarn "warning."
- fi
- done
-
- elog
- elog "Starting from version >= 197 the new predictable network interface names are"
- elog "used by default, see:"
- elog "https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames"
- elog "https://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c"
- elog
- elog "Example command to get the information for the new interface name before booting"
- elog "(replace <ifname> with, for example, eth0):"
- elog "# udevadm test-builtin net_id /sys/class/net/<ifname> 2> /dev/null"
- elog
- elog "You can use either kernel parameter \"net.ifnames=0\", create empty"
- elog "file /etc/systemd/network/99-default.link, or symlink it to /dev/null"
- elog "to disable the feature."
-
- if has_version 'sys-apps/biosdevname'; then
- ewarn
- ewarn "You can replace the functionality of sys-apps/biosdevname which has been"
- ewarn "detected to be installed with the new predictable network interface names."
- fi
-
- ewarn
- ewarn "You need to restart udev as soon as possible to make the upgrade go"
- ewarn "into effect."
- ewarn "The method you use to do this depends on your init system."
- if has_version 'sys-apps/openrc'; then
- ewarn "For sys-apps/openrc users it is:"
- ewarn "# /etc/init.d/udev --nodeps restart"
- fi
-
- elog
- elog "For more information on udev on Gentoo, upgrading, writing udev rules, and"
- elog "fixing known issues visit:"
- elog "https://wiki.gentoo.org/wiki/Udev"
- elog "https://wiki.gentoo.org/wiki/Udev/upgrade"
-
- # If user has disabled 80-net-name-slot.rules using a empty file or a symlink to /dev/null,
- # do the same for 80-net-setup-link.rules to keep the old behavior
- local net_move=no
- local net_name_slot_sym=no
- local net_rules_path="${ROOT%/}"/etc/udev/rules.d
- local net_name_slot="${net_rules_path}"/80-net-name-slot.rules
- local net_setup_link="${net_rules_path}"/80-net-setup-link.rules
- if [[ ! -e ${net_setup_link} ]]; then
- [[ -f ${net_name_slot} && $(sed -e "/^#/d" -e "/^\W*$/d" ${net_name_slot} | wc -l) == 0 ]] && net_move=yes
- if [[ -L ${net_name_slot} && $(readlink ${net_name_slot}) == /dev/null ]]; then
- net_move=yes
- net_name_slot_sym=yes
- fi
- fi
- if [[ ${net_move} == yes ]]; then
- ebegin "Copying ${net_name_slot} to ${net_setup_link}"
-
- if [[ ${net_name_slot_sym} == yes ]]; then
- ln -nfs /dev/null "${net_setup_link}"
- else
- cp "${net_name_slot}" "${net_setup_link}"
- fi
- eend $?
- fi
-
- # 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
-}
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/udev/, sys-fs/udev/files/
@ 2021-08-03 11:27 David Seifert
0 siblings, 0 replies; 13+ messages in thread
From: David Seifert @ 2021-08-03 11:27 UTC (permalink / raw
To: gentoo-commits
commit: eb6b84e59fabdec573a61ea845edc144541c6b75
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 3 11:27:33 2021 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Aug 3 11:27:33 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eb6b84e5
sys-fs/udev: enable musl
Closes: https://github.com/gentoo/gentoo/pull/21862
Signed-off-by: David Seifert <soap <AT> gentoo.org>
sys-fs/udev/Manifest | 1 +
sys-fs/udev/files/249-sys-include-posix.patch | 67 +++++++++++++++++++++++++++
sys-fs/udev/udev-249-r2.ebuild | 64 +++++++++++++++++++++++--
3 files changed, 127 insertions(+), 5 deletions(-)
diff --git a/sys-fs/udev/Manifest b/sys-fs/udev/Manifest
index f3904e20d03..507013c24e8 100644
--- a/sys-fs/udev/Manifest
+++ b/sys-fs/udev/Manifest
@@ -1,2 +1,3 @@
DIST systemd-248.tar.gz 10306883 BLAKE2B 3cb25d6101136a5f57e841d3f464f0d7649f6c1cb190b25e4dbf0a8f2be075d04a3cbe92e2fee5bb6a03b73bd8195d8c7b691661b39b7850547d512219cc40af SHA512 486f6ac6c2897a2aac97a59306091a03fd50768340407401e1f088ea5b21c67dae726bff4cbe53cec6b89a8f0ee72205b340165a4fe3a3c16cff6d176506c6e0
DIST systemd-249.tar.gz 10588828 BLAKE2B f7896dea0bdec25125188b94ee84270b972649b1eb16599bed1967ced79f62dbfd1494e22362934f418823c054b342fb24dc57706b49520814beb95b6956bf27 SHA512 0810d09cc32e4aaa4425ee5b7ddf129262b061ce159cbd43571fabda48285243d8f80b566379ece9215d531b9407ee45e1e72c71935644fea31c7bca1bbf540c
+DIST systemd-musl-patches-249.1-r0.tar.xz 24276 BLAKE2B ba96bcfb04096d639d7ee028b219bb90648b6aa8aaefe804cd658d3fb8c4f9770b617dc9c5ddfb93e876b739ad927d037c881cbfb19d2db095fa897f3bb83d20 SHA512 9bd7ea515184e44bfa50c9f415200c62f931c657a49cd53a15ee9719991f3773c12ca7162dc12f61a7e67ed791405e879f9b5a13c9fa09fab464be269508f31f
diff --git a/sys-fs/udev/files/249-sys-include-posix.patch b/sys-fs/udev/files/249-sys-include-posix.patch
new file mode 100644
index 00000000000..6d9e0039b9c
--- /dev/null
+++ b/sys-fs/udev/files/249-sys-include-posix.patch
@@ -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"
diff --git a/sys-fs/udev/udev-249-r2.ebuild b/sys-fs/udev/udev-249-r2.ebuild
index ae3ddedfae4..e2c3e613c5e 100644
--- a/sys-fs/udev/udev-249-r2.ebuild
+++ b/sys-fs/udev/udev-249-r2.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"
@@ -22,14 +22,21 @@ else
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+="
+ elibc_musl? (
+ https://dev.gentoo.org/~gyakovlev/distfiles/systemd-musl-patches-${PV}.1-r0.tar.xz
+ https://dev.gentoo.org/~soap/distfiles/systemd-musl-patches-${PV}.1-r0.tar.xz
+ )"
+
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 static-libs"
-
-RESTRICT="test"
+IUSE="acl +kmod selinux static-libs test"
+RESTRICT="!test? ( test )"
BDEPEND="
dev-util/gperf
@@ -42,6 +49,7 @@ BDEPEND="
dev-libs/libxslt
${PYTHON_DEPS}
$(python_gen_any_dep 'dev-python/jinja[${PYTHON_USEDEP}]')
+ test? ( app-text/tree )
"
COMMON_DEPEND="
>=sys-apps/util-linux-2.30[${MULTILIB_USEDEP}]
@@ -100,8 +108,11 @@ pkg_setup() {
src_prepare() {
local PATCHES=(
+ # backport from 250 to silence musl warnings
+ "${FILESDIR}/249-sys-include-posix.patch"
"${FILESDIR}/249-libudev-static.patch"
)
+ use elibc_musl && PATCHES+=( "${WORKDIR}"/musl-patches )
default
}
@@ -120,6 +131,7 @@ multilib_src_configure() {
# Prevent automagic deps
-Dgcrypt=false
-Dlibcryptsetup=false
+ -Didn=false
-Dlibidn=false
-Dlibidn2=false
-Dlibiptc=false
@@ -128,6 +140,12 @@ multilib_src_configure() {
-Dlz4=false
-Dxz=false
)
+ use elibc_musl && emesonargs+=(
+ -Dgshadow=false
+ -Dsmack=false
+ -Dutmp=false
+ )
+
meson_src_configure
}
@@ -135,6 +153,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
}
@@ -172,6 +193,39 @@ 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 has userpriv ${FEATURES}; then
+ ewarn "\'FEATURES=userpriv\' detected"
+ ewarn "udev tests need to run under uid 0"
+ ewarn "Skipping tests"
+ elif has usersandbox ${FEATURES}; then
+ ewarn "\'FEATURES=usersandbox\' detected"
+ ewarn "udev tests needs full access to /dev"
+ 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)
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/udev/, sys-fs/udev/files/
@ 2021-12-25 0:02 Mike Gilbert
0 siblings, 0 replies; 13+ messages in thread
From: Mike Gilbert @ 2021-12-25 0:02 UTC (permalink / raw
To: gentoo-commits
commit: 14ca519cc16eee5cb7b7c0eda524ac8d98fa36c3
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 24 19:59:34 2021 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sat Dec 25 00:02:14 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=14ca519c
sys-fs/udev: drop 249-r3, 249.6
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
sys-fs/udev/Manifest | 2 -
sys-fs/udev/files/249-libudev-static.patch | 26 --
sys-fs/udev/files/249-sys-include-posix.patch | 67 -----
| 22 --
sys-fs/udev/udev-249-r3.ebuild | 300 --------------------
sys-fs/udev/udev-249.6.ebuild | 303 ---------------------
6 files changed, 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
-}
^ permalink raw reply related [flat|nested] 13+ messages in thread
end of thread, other threads:[~2021-12-25 0:02 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-05 14:13 [gentoo-commits] repo/gentoo:master commit in: sys-fs/udev/, sys-fs/udev/files/ Lars Wendler
-- strict thread matches above, loose matches on Subject: below --
2021-12-25 0:02 Mike Gilbert
2021-08-03 11:27 David Seifert
2021-01-06 15:47 Mike Gilbert
2019-10-11 4:38 William Hubbs
2019-07-30 14:46 Mike Gilbert
2018-01-10 18:32 Mike Gilbert
2017-12-16 17:54 William Hubbs
2017-08-13 23:08 Mike Gilbert
2017-07-02 16:11 Mike Gilbert
2017-01-16 16:37 Mike Gilbert
2016-04-20 3:17 Mike Frysinger
2016-03-09 16:45 William Hubbs
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox