* [gentoo-commits] repo/gentoo:master commit in: sys-fs/udev/files/, sys-fs/udev/
@ 2018-10-30 1:15 Mike Gilbert
0 siblings, 0 replies; 10+ messages in thread
From: Mike Gilbert @ 2018-10-30 1:15 UTC (permalink / raw
To: gentoo-commits
commit: dbb9fccb96b31a786aeedcaded94e9402de635ae
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 29 03:04:28 2018 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Tue Oct 30 01:15:26 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dbb9fccb
sys-fs/udev: glibc-2.28 compat with stat.h
Package-Manager: Portage-2.3.51_p2, Repoman-2.3.11_p27
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
sys-fs/udev/files/239-stat-0.patch | 108 +++++++++++++++++++++++++++++++++++++
sys-fs/udev/files/239-stat-1.patch | 74 +++++++++++++++++++++++++
sys-fs/udev/udev-239.ebuild | 2 +
3 files changed, 184 insertions(+)
diff --git a/sys-fs/udev/files/239-stat-0.patch b/sys-fs/udev/files/239-stat-0.patch
new file mode 100644
index 00000000000..e136b703a2f
--- /dev/null
+++ b/sys-fs/udev/files/239-stat-0.patch
@@ -0,0 +1,108 @@
+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
new file mode 100644
index 00000000000..1104de3c9c1
--- /dev/null
+++ b/sys-fs/udev/files/239-stat-1.patch
@@ -0,0 +1,74 @@
+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-239.ebuild b/sys-fs/udev/udev-239.ebuild
index b6ffc09d185..d536fd90a14 100644
--- a/sys-fs/udev/udev-239.ebuild
+++ b/sys-fs/udev/udev-239.ebuild
@@ -84,6 +84,8 @@ src_prepare() {
"${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
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/udev/files/, sys-fs/udev/
@ 2022-09-19 21:00 Mike Gilbert
0 siblings, 0 replies; 10+ messages in thread
From: Mike Gilbert @ 2022-09-19 21:00 UTC (permalink / raw
To: gentoo-commits
commit: fea2b533e5855d2d06fbe973635b78f48a23460d
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 19 00:50:04 2022 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Mon Sep 19 21:00:24 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fea2b533
sys-fs/udev: drop 249.6-r2, 249.9, 9999
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
sys-fs/udev/Manifest | 3 -
sys-fs/udev/files/249.9-cross-compile.patch | 23 --
sys-fs/udev/files/40-gentoo.rules | 3 -
sys-fs/udev/metadata.xml | 3 -
sys-fs/udev/udev-249.6-r2.ebuild | 311 ---------------------------
sys-fs/udev/udev-249.9.ebuild | 312 ----------------------------
sys-fs/udev/udev-9999.ebuild | 311 ---------------------------
7 files changed, 966 deletions(-)
diff --git a/sys-fs/udev/Manifest b/sys-fs/udev/Manifest
deleted file mode 100644
index 1739d2c01014..000000000000
--- a/sys-fs/udev/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-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
-DIST systemd-stable-249.9.tar.gz 10613893 BLAKE2B fc7a14fa3b0cc3d05fa9f20fde2efedd3ef0f011d9dce53b0a418994b4257cf753b228cf98f749fb2028d81db55ef30a6e3d9b138d86239cad4fc730d845f9e2 SHA512 ce57bc6c522082e55649fc1886c4dc818c89607e175df2c92feffe288dbd38757f36b30abeebe153f5be6b664a49d729405040a952473cb2133a2e39cf9cc164
diff --git a/sys-fs/udev/files/249.9-cross-compile.patch b/sys-fs/udev/files/249.9-cross-compile.patch
deleted file mode 100644
index e063d303c7d8..000000000000
--- a/sys-fs/udev/files/249.9-cross-compile.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 3d7fd38ea938ab194366f40ed7aa413ad33f2fad Mon Sep 17 00:00:00 2001
-From: Yu Watanabe <watanabe.yu+github@gmail.com>
-Date: Tue, 21 Dec 2021 20:10:09 +0900
-Subject: [PATCH] meson: fix cross compiling
-
-(cherry picked from commit 3112d756a36993900b70fbff98e69a2a43b970a8)
----
- meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index 02495d16c9..c76cab535d 100644
---- a/meson.build
-+++ b/meson.build
-@@ -442,7 +442,7 @@ conf.set('SIZEOF_DEV_T', cc.sizeof('dev_t', prefix : '#include <sys/types.h>'))
- conf.set('SIZEOF_INO_T', cc.sizeof('ino_t', prefix : '#include <sys/types.h>'))
- conf.set('SIZEOF_TIME_T', cc.sizeof('time_t', prefix : '#include <sys/time.h>'))
- conf.set('SIZEOF_RLIM_T', cc.sizeof('rlim_t', prefix : '#include <sys/resource.h>'))
--conf.set('SIZEOF_TIMEX_MEMBER', cc.sizeof('((struct timex *)0)->freq', prefix : '#include <sys/timex.h>'))
-+conf.set('SIZEOF_TIMEX_MEMBER', cc.sizeof('typeof(((struct timex *)0)->freq)', prefix : '#include <sys/timex.h>'))
-
- decl_headers = '''
- #include <uchar.h>
diff --git a/sys-fs/udev/files/40-gentoo.rules b/sys-fs/udev/files/40-gentoo.rules
deleted file mode 100644
index 6b96bd07051e..000000000000
--- a/sys-fs/udev/files/40-gentoo.rules
+++ /dev/null
@@ -1,3 +0,0 @@
-# Gentoo specific groups
-ACTION=="add", SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
-ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
diff --git a/sys-fs/udev/metadata.xml b/sys-fs/udev/metadata.xml
index 4371b65f936b..dd0c7f195866 100644
--- a/sys-fs/udev/metadata.xml
+++ b/sys-fs/udev/metadata.xml
@@ -4,9 +4,6 @@
<maintainer type="project">
<email>systemd@gentoo.org</email>
</maintainer>
- <use>
- <flag name="kmod">Enable kernel module loading/unloading support using <pkg>sys-apps/kmod</pkg></flag>
- </use>
<upstream>
<remote-id type="cpe">cpe:/a:kernel:udev</remote-id>
<remote-id type="github">systemd/systemd</remote-id>
diff --git a/sys-fs/udev/udev-249.6-r2.ebuild b/sys-fs/udev/udev-249.6-r2.ebuild
deleted file mode 100644
index 46e093544366..000000000000
--- a/sys-fs/udev/udev-249.6-r2.ebuild
+++ /dev/null
@@ -1,311 +0,0 @@
-# Copyright 2003-2022 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/sgx
- acct-group/tape
- acct-group/video
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd
- !sys-apps/hwids[udev]
-"
-PDEPEND="
- >=sys-fs/udev-init-scripts-34
-"
-
-python_check_deps() {
- python_has_version "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
- hwdb.d/60-autosuspend-chromiumos.hwdb
- 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 /lib/udev/hwdb.d
- doins hwdb.d/*.hwdb
-
- 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
- insinto /lib/udev/hwdb.d
- doins hwdb.d/*.hwdb
-
- 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
-}
diff --git a/sys-fs/udev/udev-249.9.ebuild b/sys-fs/udev/udev-249.9.ebuild
deleted file mode 100644
index aa652f10807f..000000000000
--- a/sys-fs/udev/udev-249.9.ebuild
+++ /dev/null
@@ -1,312 +0,0 @@
-# Copyright 2003-2022 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/sgx
- acct-group/tape
- acct-group/video
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd
- !sys-apps/hwids[udev]
-"
-PDEPEND="
- >=sys-fs/udev-init-scripts-34
-"
-
-python_check_deps() {
- python_has_version "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=(
- "${FILESDIR}/249.9-cross-compile.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
- hwdb.d/60-autosuspend-chromiumos.hwdb
- 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 /lib/udev/hwdb.d
- doins hwdb.d/*.hwdb
-
- 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
- insinto /lib/udev/hwdb.d
- doins hwdb.d/*.hwdb
-
- 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
-}
diff --git a/sys-fs/udev/udev-9999.ebuild b/sys-fs/udev/udev-9999.ebuild
deleted file mode 100644
index 8a15ce5e7321..000000000000
--- a/sys-fs/udev/udev-9999.ebuild
+++ /dev/null
@@ -1,311 +0,0 @@
-# Copyright 2003-2022 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="${PV}"
- SRC_URI+="
- elibc_musl? (
- https://dev.gentoo.org/~gyakovlev/distfiles/systemd-musl-patches-${MUSL_PATCHSE}.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/sgx
- acct-group/tape
- acct-group/video
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd
- !sys-apps/hwids[udev]
-"
-PDEPEND="
- >=sys-fs/udev-init-scripts-34
-"
-
-python_check_deps() {
- python_has_version "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
- hwdb.d/60-autosuspend-chromiumos.hwdb
- 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 /lib/udev/hwdb.d
- doins hwdb.d/*.hwdb
-
- 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
- insinto /lib/udev/hwdb.d
- doins hwdb.d/*.hwdb
-
- 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] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/udev/files/, sys-fs/udev/
@ 2022-01-15 16:12 Mike Gilbert
0 siblings, 0 replies; 10+ messages in thread
From: Mike Gilbert @ 2022-01-15 16:12 UTC (permalink / raw
To: gentoo-commits
commit: 769425232fb53ec7c5cd1c0ddcc388f9198c7691
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 15 16:10:26 2022 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sat Jan 15 16:10:26 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=76942523
sys-fs/udev: backport cross compile fix
Bug: https://bugs.gentoo.org/831221
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
sys-fs/udev/files/249.9-cross-compile.patch | 23 +++++++++++++++++++++++
sys-fs/udev/udev-249.9.ebuild | 1 +
2 files changed, 24 insertions(+)
diff --git a/sys-fs/udev/files/249.9-cross-compile.patch b/sys-fs/udev/files/249.9-cross-compile.patch
new file mode 100644
index 000000000000..e063d303c7d8
--- /dev/null
+++ b/sys-fs/udev/files/249.9-cross-compile.patch
@@ -0,0 +1,23 @@
+From 3d7fd38ea938ab194366f40ed7aa413ad33f2fad Mon Sep 17 00:00:00 2001
+From: Yu Watanabe <watanabe.yu+github@gmail.com>
+Date: Tue, 21 Dec 2021 20:10:09 +0900
+Subject: [PATCH] meson: fix cross compiling
+
+(cherry picked from commit 3112d756a36993900b70fbff98e69a2a43b970a8)
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 02495d16c9..c76cab535d 100644
+--- a/meson.build
++++ b/meson.build
+@@ -442,7 +442,7 @@ conf.set('SIZEOF_DEV_T', cc.sizeof('dev_t', prefix : '#include <sys/types.h>'))
+ conf.set('SIZEOF_INO_T', cc.sizeof('ino_t', prefix : '#include <sys/types.h>'))
+ conf.set('SIZEOF_TIME_T', cc.sizeof('time_t', prefix : '#include <sys/time.h>'))
+ conf.set('SIZEOF_RLIM_T', cc.sizeof('rlim_t', prefix : '#include <sys/resource.h>'))
+-conf.set('SIZEOF_TIMEX_MEMBER', cc.sizeof('((struct timex *)0)->freq', prefix : '#include <sys/timex.h>'))
++conf.set('SIZEOF_TIMEX_MEMBER', cc.sizeof('typeof(((struct timex *)0)->freq)', prefix : '#include <sys/timex.h>'))
+
+ decl_headers = '''
+ #include <uchar.h>
diff --git a/sys-fs/udev/udev-249.9.ebuild b/sys-fs/udev/udev-249.9.ebuild
index 07a6665a0772..0b8e93be4fa5 100644
--- a/sys-fs/udev/udev-249.9.ebuild
+++ b/sys-fs/udev/udev-249.9.ebuild
@@ -117,6 +117,7 @@ pkg_setup() {
src_prepare() {
local PATCHES=(
+ "${FILESDIR}/249.9-cross-compile.patch"
)
use elibc_musl && PATCHES+=( "${WORKDIR}"/musl-patches )
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/udev/files/, sys-fs/udev/
@ 2021-11-14 8:02 Sam James
0 siblings, 0 replies; 10+ messages in thread
From: Sam James @ 2021-11-14 8:02 UTC (permalink / raw
To: gentoo-commits
commit: ac2e319813282c3a79c1a704aee66387bc10a149
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 14 08:02:21 2021 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Nov 14 08:02:36 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ac2e3198
sys-fs/udev: fix build with linux-headers-5.15
Just like tmpfiles and systemd itself.
Closes: https://bugs.gentoo.org/821550
Signed-off-by: Sam James <sam <AT> gentoo.org>
| 22 ++++++++++++++++++++++
sys-fs/udev/udev-249-r3.ebuild | 1 +
2 files changed, 23 insertions(+)
--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
new file mode 100644
index 000000000000..844099b72819
--- /dev/null
+++ b/sys-fs/udev/files/249-udev-linux-headers-5-15.patch
@@ -0,0 +1,22 @@
+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
index 2e1601d89e08..d8c084d97863 100644
--- a/sys-fs/udev/udev-249-r3.ebuild
+++ b/sys-fs/udev/udev-249-r3.ebuild
@@ -116,6 +116,7 @@ src_prepare() {
# 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 )
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/udev/files/, sys-fs/udev/
@ 2021-07-11 14:41 Mike Gilbert
0 siblings, 0 replies; 10+ messages in thread
From: Mike Gilbert @ 2021-07-11 14:41 UTC (permalink / raw
To: gentoo-commits
commit: 9d338b39cd9f19977bb47b52bb5e797f2f1563b2
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 11 14:40:09 2021 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sun Jul 11 14:40:09 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9d338b39
sys-fs/udev: add static link info to libudev.pc
Closes: https://bugs.gentoo.org/801325
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
sys-fs/udev/files/249-libudev-static.patch | 26 ++++++++++++++++++++++
.../udev/{udev-249.ebuild => udev-249-r1.ebuild} | 1 +
2 files changed, 27 insertions(+)
diff --git a/sys-fs/udev/files/249-libudev-static.patch b/sys-fs/udev/files/249-libudev-static.patch
new file mode 100644
index 00000000000..73375b716e9
--- /dev/null
+++ b/sys-fs/udev/files/249-libudev-static.patch
@@ -0,0 +1,26 @@
+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/udev-249.ebuild b/sys-fs/udev/udev-249-r1.ebuild
similarity index 99%
rename from sys-fs/udev/udev-249.ebuild
rename to sys-fs/udev/udev-249-r1.ebuild
index d23c86c0aeb..0154e132439 100644
--- a/sys-fs/udev/udev-249.ebuild
+++ b/sys-fs/udev/udev-249-r1.ebuild
@@ -94,6 +94,7 @@ pkg_setup() {
src_prepare() {
local PATCHES=(
+ "${FILESDIR}/249-libudev-static.patch"
)
default
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/udev/files/, sys-fs/udev/
@ 2021-01-10 17:55 Mike Gilbert
0 siblings, 0 replies; 10+ messages in thread
From: Mike Gilbert @ 2021-01-10 17:55 UTC (permalink / raw
To: gentoo-commits
commit: 8c90d2bd447948c268517c779d7ada27a2649949
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 10 17:25:58 2021 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sun Jan 10 17:55:24 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8c90d2bd
sys-fs/udev: move 40-gentoo.rules to FILESDIR
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
sys-fs/udev/files/40-gentoo.rules | 3 +++
sys-fs/udev/udev-9999.ebuild | 12 +-----------
2 files changed, 4 insertions(+), 11 deletions(-)
diff --git a/sys-fs/udev/files/40-gentoo.rules b/sys-fs/udev/files/40-gentoo.rules
new file mode 100644
index 00000000000..6b96bd07051
--- /dev/null
+++ b/sys-fs/udev/files/40-gentoo.rules
@@ -0,0 +1,3 @@
+# Gentoo specific groups
+ACTION=="add", SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
+ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
diff --git a/sys-fs/udev/udev-9999.ebuild b/sys-fs/udev/udev-9999.ebuild
index cf615425a34..f028328e33e 100644
--- a/sys-fs/udev/udev-9999.ebuild
+++ b/sys-fs/udev/udev-9999.ebuild
@@ -93,16 +93,6 @@ pkg_setup() {
}
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=(
)
@@ -222,7 +212,7 @@ multilib_src_install_all() {
# see src_prepare() for content of 40-gentoo.rules
insinto /lib/udev/rules.d
- doins "${T}"/40-gentoo.rules
+ doins "${FILESDIR}"/40-gentoo.rules
doins "${S}"/rules.d/*.rules
dobashcomp shell-completion/bash/udevadm
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/udev/files/, sys-fs/udev/
@ 2018-09-29 15:27 Mike Gilbert
0 siblings, 0 replies; 10+ messages in thread
From: Mike Gilbert @ 2018-09-29 15:27 UTC (permalink / raw
To: gentoo-commits
commit: abebe048fd7040d7f5ee143e3385953858011717
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 29 15:26:33 2018 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sat Sep 29 15:26:57 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=abebe048
sys-fs/udev: rename meson debug option
Closes: https://bugs.gentoo.org/667240
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
Package-Manager: Portage-2.3.50_p2, Repoman-2.3.11_p9
| 40 +++++++++++++++++++++++++++++++++
sys-fs/udev/udev-239.ebuild | 3 ++-
2 files changed, 42 insertions(+), 1 deletion(-)
--git a/sys-fs/udev/files/239-debug-extra.patch b/sys-fs/udev/files/239-debug-extra.patch
new file mode 100644
index 00000000000..19db590257c
--- /dev/null
+++ b/sys-fs/udev/files/239-debug-extra.patch
@@ -0,0 +1,40 @@
+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/udev-239.ebuild b/sys-fs/udev/udev-239.ebuild
index b09e0c65e66..b6ffc09d185 100644
--- a/sys-fs/udev/udev-239.ebuild
+++ b/sys-fs/udev/udev-239.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -83,6 +83,7 @@ src_prepare() {
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"
)
default
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/udev/files/, sys-fs/udev/
@ 2018-07-26 13:24 William Hubbs
0 siblings, 0 replies; 10+ messages in thread
From: William Hubbs @ 2018-07-26 13:24 UTC (permalink / raw
To: gentoo-commits
commit: f3a2f4fa829092888e04a46204f7552682ab704e
Author: William Hubbs <williamh <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 26 13:23:35 2018 +0000
Commit: William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Thu Jul 26 13:23:35 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f3a2f4fa
sys-fs/udev: removed several old versions
Package-Manager: Portage-2.3.40, Repoman-2.3.9
sys-fs/udev/Manifest | 4 -
sys-fs/udev/files/233-fix-includes.patch | 38 ---
sys-fs/udev/files/233-format-warnings.patch | 84 -----
sys-fs/udev/metadata.xml | 2 -
sys-fs/udev/udev-216.ebuild | 485 ----------------------------
sys-fs/udev/udev-225-r1.ebuild | 426 ------------------------
sys-fs/udev/udev-233.ebuild | 405 -----------------------
7 files changed, 1444 deletions(-)
diff --git a/sys-fs/udev/Manifest b/sys-fs/udev/Manifest
index 01bd656d0f2..8892a91fea5 100644
--- a/sys-fs/udev/Manifest
+++ b/sys-fs/udev/Manifest
@@ -1,7 +1,3 @@
-DIST systemd-216.tar.xz 3612960 BLAKE2B 677fa79e7a8dae5d62f37115c3087d89c46a28515c1fe48abbd77016ee41565583e407913b5a9738908436a2ccc36a1d3305392d8dfa5ac053a44ca66d587611 SHA512 f4eee6664368168eafd61939f1355ac21c7eeecce6247de98ef36f40bb6a942d12c006ced4ee15f3d8f11699c194990222d5a5115b45f2aa81f2a1abafebbdd2
-DIST systemd-225.tar.gz 3878442 BLAKE2B 24bf9f6bfdd7d7c585829c1b172f73e669e137020b990ecd07dffafbe6890f1819e6c8efd5b322008473a62007a4a6f6ab2fb209be7db4ecb89a2bc01d60aaab SHA512 35b3946509c7b01660da4370d3c51ff0e6a537dadd9dbb0a039c4f7ed552fd4e02ebac6eb8a788f61f1e3ba99444238d959051dd004c174b027729a80368ac19
-DIST systemd-233.tar.gz 4660737 BLAKE2B 38cdd74543447b3c02391b328428fed169fe2cf2df6e9341dcaf2f7d3d977612ec102301e144c1cada90d61e9e9bda3b2faaef708c8ff4bd0b52b143760a83b2 SHA512 5ad5329ea116d973cf67096f7e7ad28e9ea0905696e9451291f1d25e5064f4a9bfcfae87e912996c6a38397e9f4a148d4ccecfa9b70f7ecdf04deadb61784c8e
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 udev-216-patches-2.tar.xz 1264 BLAKE2B b1bbb6b1b7734edc3352b4352a45b4b5df4715b0fc92c4936798aa93fb078755b7795f475d7bc42392ad8ef57853e9ce2507c66cc9bfbd37e6fe22ada4c156cc SHA512 1f5912f3bbc3e40a4efad9de8b1fab2b3a750f3f23c9f2e33a581658959d22cf23f9ff1b8f51597874e7bca1d0f757f37fd5550b4112160261559524eda261f4
diff --git a/sys-fs/udev/files/233-fix-includes.patch b/sys-fs/udev/files/233-fix-includes.patch
deleted file mode 100644
index 44b06214f89..00000000000
--- a/sys-fs/udev/files/233-fix-includes.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-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/files/233-format-warnings.patch b/sys-fs/udev/files/233-format-warnings.patch
deleted file mode 100644
index 7bb08f0a320..00000000000
--- a/sys-fs/udev/files/233-format-warnings.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-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/metadata.xml b/sys-fs/udev/metadata.xml
index e6e0979044d..39f61746d0d 100644
--- a/sys-fs/udev/metadata.xml
+++ b/sys-fs/udev/metadata.xml
@@ -5,8 +5,6 @@
<email>udev-bugs@gentoo.org</email>
</maintainer>
<use>
- <flag name="firmware-loader">Enable the userspace firmware loader (DEPRECATED, replaced by the in-kernel loader starting from 3.8)</flag>
- <flag name="gudev">Build the gobject interface library</flag>
<flag name="kmod">Enable kernel module loading/unloading support using <pkg>sys-apps/kmod</pkg></flag>
</use>
<upstream>
diff --git a/sys-fs/udev/udev-216.ebuild b/sys-fs/udev/udev-216.ebuild
deleted file mode 100644
index 3d009073e05..00000000000
--- a/sys-fs/udev/udev-216.ebuild
+++ /dev/null
@@ -1,485 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-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=2
- SRC_URI="https://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="https://www.freedesktop.org/wiki/Software/systemd"
-
-LICENSE="LGPL-2.1 MIT GPL-2"
-SLOT="0"
-IUSE="acl doc +firmware-loader 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"
-# 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() {
- CONFIG_CHECK="~BLK_DEV_BSG ~DEVTMPFS ~!IDE ~INOTIFY_USER ~!SYSFS_DEPRECATED ~!SYSFS_DEPRECATED_V2 ~SIGNALFD ~EPOLL ~FHANDLE ~NET ~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
-}
-
-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-readahead
- --disable-quotacheck
- --disable-logind
- --disable-polkit
- --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)"
- $(use firmware-loader && echo "--with-firmware-path=/lib/firmware/updates:/lib/firmware")
- --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 "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-225-r1.ebuild b/sys-fs/udev/udev-225-r1.ebuild
deleted file mode 100644
index ee167a2d7ec..00000000000
--- a/sys-fs/udev/udev-225-r1.ebuild
+++ /dev/null
@@ -1,426 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-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="https://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"
-# 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}
-
-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 ~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 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
-}
-
-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
-
- # 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"
- local 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"
- local pkgconfiglib_DATA="src/libudev/libudev.pc"
- local 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
- rm -f "${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 "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-233.ebuild b/sys-fs/udev/udev-233.ebuild
deleted file mode 100644
index 9ca311c705f..00000000000
--- a/sys-fs/udev/udev-233.ebuild
+++ /dev/null
@@ -1,405 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools bash-completion-r1 linux-info ltprune multilib-minimal toolchain-funcs udev user versionator
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="git://anongit.freedesktop.org/systemd/systemd"
- 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.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"
-# 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}
-
-PATCHES=(
- "${FILESDIR}"/233-format-warnings.patch
- "${FILESDIR}"/233-fix-includes.patch
-)
-
-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=c6ee9def75c5c082bf083a7248991935
- 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 ~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 30 ]]; 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
-
- # 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
-
- default
-
- eautoreconf
-
- if ! [[ ${PV} = 9999* ]]; then
- check_default_rules
- fi
-
- 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}
- --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 targets=(
- install-includeHEADERS
- install-rootbinPROGRAMS
- install-rootlibLTLIBRARIES
- install-rootlibexecPROGRAMS
- install-udevlibexecPROGRAMS
- install-dist_udevconfDATA
- install-dist_udevrulesDATA
- install-pkgconfiglibDATA
- install-pkgconfigdataDATA
- install-dist_docDATA
- install-directories-hook
- install-dist_bashcompletionDATA
- install-dist_networkDATA
- rootlibexec_PROGRAMS=systemd-udevd
- rootbin_PROGRAMS=udevadm
- rootlib_LTLIBRARIES="libudev.la"
- pkgconfiglib_DATA="src/libudev/libudev.pc"
- 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}
-
- # 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 targets=(
- install-libLTLIBRARIES
- install-includeHEADERS
- install-pkgconfiglibDATA
- lib_LTLIBRARIES="libudev.la"
- pkgconfiglib_DATA="src/libudev/libudev.pc"
- include_HEADERS="src/libudev/libudev.h"
- )
-
- 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
- rm -f "${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 "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] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/udev/files/, sys-fs/udev/
@ 2018-07-10 19:45 William Hubbs
0 siblings, 0 replies; 10+ messages in thread
From: William Hubbs @ 2018-07-10 19:45 UTC (permalink / raw
To: gentoo-commits
commit: a6af105145328ed25fb7325942507dbbba762643
Author: William Hubbs <williamh <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 10 19:43:26 2018 +0000
Commit: William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Tue Jul 10 19:44:36 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a6af1051
sys-fs/udev: 239 version bump
Package-Manager: Portage-2.3.40, Repoman-2.3.9
sys-fs/udev/Manifest | 1 +
...issing-comma-in-raw_clone-assembly-for-sp.patch | 29 ++
sys-fs/udev/udev-239.ebuild | 324 +++++++++++++++++++++
3 files changed, 354 insertions(+)
diff --git a/sys-fs/udev/Manifest b/sys-fs/udev/Manifest
index 879d26bb80f..01bd656d0f2 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-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 udev-216-patches-2.tar.xz 1264 BLAKE2B b1bbb6b1b7734edc3352b4352a45b4b5df4715b0fc92c4936798aa93fb078755b7795f475d7bc42392ad8ef57853e9ce2507c66cc9bfbd37e6fe22ada4c156cc SHA512 1f5912f3bbc3e40a4efad9de8b1fab2b3a750f3f23c9f2e33a581658959d22cf23f9ff1b8f51597874e7bca1d0f757f37fd5550b4112160261559524eda261f4
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
new file mode 100644
index 00000000000..5f253bbaab9
--- /dev/null
+++ b/sys-fs/udev/files/239-basic-add-missing-comma-in-raw_clone-assembly-for-sp.patch
@@ -0,0 +1,29 @@
+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/udev-239.ebuild b/sys-fs/udev/udev-239.ebuild
new file mode 100644
index 00000000000..b09e0c65e66
--- /dev/null
+++ b/sys-fs/udev/udev-239.ebuild
@@ -0,0 +1,324 @@
+# Copyright 1999-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"
+ "${FILESDIR}/239-basic-add-missing-comma-in-raw_clone-assembly-for-sp.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
+}
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/udev/files/, sys-fs/udev/
@ 2015-08-22 22:12 Mike Gilbert
0 siblings, 0 replies; 10+ messages in thread
From: Mike Gilbert @ 2015-08-22 22:12 UTC (permalink / raw
To: gentoo-commits
commit: 441221345e1852d21798290de7464f97bc07608c
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 22 22:07:00 2015 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sat Aug 22 22:07:00 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=44122134
sys-fs/udev: Backport build fix on alpha
Bug: https://bugs.gentoo.org/543900
Package-Manager: portage-2.2.20_p134
sys-fs/udev/Manifest | 4 ---
...e-getxpid-syscall-on-alpha-for-raw_getpid.patch | 30 ++++++++++++++++++++++
sys-fs/udev/udev-224-r2.ebuild | 2 ++
3 files changed, 32 insertions(+), 4 deletions(-)
diff --git a/sys-fs/udev/Manifest b/sys-fs/udev/Manifest
index 9875832..e21e829 100644
--- a/sys-fs/udev/Manifest
+++ b/sys-fs/udev/Manifest
@@ -1,15 +1,11 @@
-DIST systemd-208-r1.tar.xz 2382904 SHA256 aa64fa864466fd5727005c55d61c092828b94b4f857272c0b503695022146390 SHA512 c21989b747f5e73ba2311919e1ae558132e4ab2e0d8715c25f51e5e90069e147a52e04280c736ecca6b675af7d79def576171a9b08aaeda45fcd52bcdca011cb WHIRLPOOL e86fdbf96c75c4c94c9507900a5696ff811f5439e0cb45bdc765dc42c62a855c9d2e7d3414df7ec7e18013d937c9148e42c861d0e28e8b4c2fabebd234fbee03
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 udev-208-patches-1.tar.xz 964 SHA256 b2df84afd8631736aceee1317d332fd9bee347df503aa55cd78bcf1b375e8f75 SHA512 6e85daaf8639255bbaa76364cda02f8b034ec5f687730a7e3ea7427b53031b4cdcbe1b8758e1474104d52e04781605ee3c1e31bbec2df33c95e606cee8eb0f28 WHIRLPOOL 054d1e954c4eacd10fcdacf130bf6cf2dd165f3da10ba5629f4bd8e488a221e8e5d7db3ab821593af8dd92011dee98daadf09e5dd726a4c99861f4abaea6aca0
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-1.tar.xz 1760 SHA256 ac2e778776db9dc13d431b871d5b67aad378bc4bd0b7108476500313ab9c8d2a SHA512 0cbaf904a5aadedfc3bd8aee735f700b2489112e51938ea54ed34a7fdef4e8f26749eb251a82bbc409fb631f1abc4f70c732cf9b2de7ced739efd3cfadcd5cc2 WHIRLPOOL 75e67af7592c9177d81f43a4aa403b1c359fd4695007f3324e73f65289f1d2b8c3575556980c77473717198eaac03b59c4e7e0575586bde1735cfe6942dde53e
-DIST udev-220-patches-3.tar.xz 2812 SHA256 885e3f4a52e7f178272da5591d22baf87954d2c8e6fed188193deff493b0ab13 SHA512 15a5bbd3f4ac95d14ffc7c95cd2494b4d74cfd95674f3b0ac3ed9ae955e88a026ad9be82e9229aaf81a2ac9649411aa178fccba2beee688f287e925a8bf3057c WHIRLPOOL 3f1f24eddb80d29da4cba0a32dd8697a9a1f7fc45c00207effe5d944f8ad4c09aae86c0d45dc7af560f42ccdecf0cd69267c46ddd853123bfcae202c5bd90d75
DIST udev-220-patches-4.tar.xz 3432 SHA256 b17c676c7984d90bcafb57d087e77bc9e435a3244187f51e8c5ce1b3d4248ac9 SHA512 747e6d36faaed145bbe630e794bdd636d4e39d55fc2fc422d815cee3ab4aa579f15abbd1ff88c0448667546c8b04f72663cffa46d07861199076912bd009d25d WHIRLPOOL 0a349daae71b6ac95afc7414aa931f8aaa7328d2a0e7058cf6099b794531a1148bcd198f404d5d4bab7b250b1390adeb6938e8771da90fb7f56114560fd03a82
DIST udev-222.tar.gz 4015599 SHA256 b49f51f9855127987adc98aad3b6d608e4e53eaa029b629f2ea2089ce0234f34 SHA512 83f0acf0ca90c89c902c268af6eef4b61380a30380013cbe89c929357959f51682cd3961a6a4f772abc09d5ca09404ae290edf2c3253fab1b20dc2b5b3ecde47 WHIRLPOOL dd0151034de374b072e70448e7a9ff47693df0190e8a2a11488593400d3d7e53e0a91d86037d027c750584089e6c68e58c437647d608a72f8826f091e3253879
DIST udev-224.tar.gz 3868075 SHA256 0d7ac1532a57639fbc828f8a5051a090883c6ad2908618a7a13ab386db831bfc SHA512 7717d340c6de11afd589234b7ec8952fe2ffcd05829622bd7ea8e008870c0e3b83eb1eaf20e85ffffa7adafc9c0c0b94fd93784510792109240e22e6b963f198 WHIRLPOOL 645b08ff0c20994b17b8ed585fb0eef682336961d7fedf25031fa4dc89a4d9a2b58c254e0f9baeedcb228435316fdfb562f9fefd21e5a63f94499d2f1040e093
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
new file mode 100644
index 0000000..40e2d1c
--- /dev/null
+++ b/sys-fs/udev/files/224-0002-Use-getxpid-syscall-on-alpha-for-raw_getpid.patch
@@ -0,0 +1,30 @@
+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-224-r2.ebuild b/sys-fs/udev/udev-224-r2.ebuild
index 19cba30..38922de 100644
--- a/sys-fs/udev/udev-224-r2.ebuild
+++ b/sys-fs/udev/udev-224-r2.ebuild
@@ -115,6 +115,8 @@ src_prepare() {
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"
^ permalink raw reply related [flat|nested] 10+ messages in thread
end of thread, other threads:[~2022-09-19 21:00 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-30 1:15 [gentoo-commits] repo/gentoo:master commit in: sys-fs/udev/files/, sys-fs/udev/ Mike Gilbert
-- strict thread matches above, loose matches on Subject: below --
2022-09-19 21:00 Mike Gilbert
2022-01-15 16:12 Mike Gilbert
2021-11-14 8:02 Sam James
2021-07-11 14:41 Mike Gilbert
2021-01-10 17:55 Mike Gilbert
2018-09-29 15:27 Mike Gilbert
2018-07-26 13:24 William Hubbs
2018-07-10 19:45 William Hubbs
2015-08-22 22:12 Mike Gilbert
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox