summaryrefslogtreecommitdiff
path: root/sys-fs
diff options
context:
space:
mode:
Diffstat (limited to 'sys-fs')
-rw-r--r--sys-fs/udev/Manifest1
-rw-r--r--sys-fs/udev/udev-248.ebuild235
2 files changed, 236 insertions, 0 deletions
diff --git a/sys-fs/udev/Manifest b/sys-fs/udev/Manifest
index cf4602fb43c5..1060971a7b31 100644
--- a/sys-fs/udev/Manifest
+++ b/sys-fs/udev/Manifest
@@ -1,4 +1,5 @@
DIST systemd-243.tar.gz 8242522 BLAKE2B 89e3ebbea5a99061329f7c78220a66c1e075d5ba90dfdf5ee8d0d9b762ef4600dc82d8ca2054632e5e343b6272cd8046c92f7f99dcfa8287c5ef2b42fb96d4cb SHA512 56b52a297aa5ac04d9667eb3afb1598725b197de73ff72baa1aabbc2844e36fba7b7fccdf6d214ae8b5b926616b2b7e15772763aaa80ec938d74333ff9c8673e
DIST systemd-246.tar.gz 9534036 BLAKE2B 71b72abcd4d066d35d45d9835d41bec8faa9a7eddc80b48fe7073223f07d32f78a8442c52dc0800940f9750d9c5502123a633738981d797cf610d85df2035bf0 SHA512 7103f7da53f7ced3b5543c238f23bd11c82af8e37166c1720a90576b6b431b4329320c78726166c65a9f5e101dd465c0a86dd13c586c4e55e608a6273d8f324f
+DIST systemd-248.tar.gz 10306883 BLAKE2B 3cb25d6101136a5f57e841d3f464f0d7649f6c1cb190b25e4dbf0a8f2be075d04a3cbe92e2fee5bb6a03b73bd8195d8c7b691661b39b7850547d512219cc40af SHA512 486f6ac6c2897a2aac97a59306091a03fd50768340407401e1f088ea5b21c67dae726bff4cbe53cec6b89a8f0ee72205b340165a4fe3a3c16cff6d176506c6e0
DIST systemd-stable-245.5.tar.gz 9020836 BLAKE2B 7753eecceffa86c9208c3e71df2037b58b445f9090b73c6ff499b4170b94488a1fd1cabcd17cbb98506a692875a3eef07a40a54d23e09c331a01319f8d03d13d SHA512 47de4a59980643002f325c499eeb4dd76fa9f1d1267686e7564f103690487bf85974590d7cb3e3641409e5bfba567fe2a66efa80320e7e8adc48af4461e2e172
DIST systemd-stable-247.2.tar.gz 9890845 BLAKE2B 5363f429f4e629b9a05248b77f7c102da37e23c5678e14621ca67edeea59d7995064d037f04eb0ce57dd17a1b3a40a04e00619f77dbde82a61aabbc02f5bc412 SHA512 220739bedb7ccbb35d9d2ff441a52e0615fbe80da5141f7e0420d469f4d66d3604ea72ce70c3deaa2afa5a32b3c7eec4340738337c96891b471e23ed43cd6a82
diff --git a/sys-fs/udev/udev-248.ebuild b/sys-fs/udev/udev-248.ebuild
new file mode 100644
index 000000000000..177412dc751e
--- /dev/null
+++ b/sys-fs/udev/udev-248.ebuild
@@ -0,0 +1,235 @@
+# Copyright 2003-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7..9} )
+
+inherit bash-completion-r1 linux-info meson ninja-utils multilib-minimal 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"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+fi
+
+DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)"
+HOMEPAGE="https://www.freedesktop.org/wiki/Software/systemd"
+
+LICENSE="LGPL-2.1 MIT GPL-2"
+SLOT="0"
+IUSE="acl +kmod selinux static-libs"
+
+RESTRICT="test"
+
+BDEPEND="
+ dev-util/gperf
+ >=dev-util/intltool-0.50
+ >=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}
+"
+COMMON_DEPEND="
+ >=sys-apps/util-linux-2.30[${MULTILIB_USEDEP}]
+ sys-libs/libcap:0=[${MULTILIB_USEDEP}]
+ acl? ( sys-apps/acl )
+ kmod? ( >=sys-apps/kmod-15 )
+ selinux? ( >=sys-libs/libselinux-2.1.9 )
+"
+DEPEND="${COMMON_DEPEND}
+ >=sys-kernel/linux-headers-3.9
+"
+RDEPEND="${COMMON_DEPEND}
+ acct-group/kmem
+ acct-group/tty
+ acct-group/audio
+ acct-group/cdrom
+ acct-group/dialout
+ acct-group/disk
+ acct-group/input
+ acct-group/kvm
+ acct-group/lp
+ acct-group/render
+ acct-group/tape
+ acct-group/video
+ !sys-apps/gentoo-systemd-integration
+ !sys-apps/systemd
+"
+PDEPEND=">=sys-apps/hwids-20140304[udev]
+ >=sys-fs/udev-init-scripts-34"
+
+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=(
+ )
+
+ 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
+ -Drootlibdir="${EPREFIX}/usr/$(get_libdir)"
+ -Dstatic-libudev=$(usex static-libs true false)
+
+ # Prevent automagic deps
+ -Dgcrypt=false
+ -Dlibcryptsetup=false
+ -Dlibidn=false
+ -Dlibidn2=false
+ -Dlibiptc=false
+ -Dp11kit=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
+ python_setup
+ multilib-minimal_src_configure
+}
+
+multilib_src_compile() {
+ # meson creates this link
+ local libudev=$(readlink libudev.so.1)
+
+ local targets=(
+ ${libudev}
+ )
+ if use static-libs; then
+ targets+=( src/udev/libudev.a )
+ fi
+ 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/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 libudev.so.1)
+
+ dolib.so {${libudev},libudev.so.1,libudev.so}
+ gen_usr_ldscript -a udev
+ use static-libs && dolib.a src/udev/libudev.a
+
+ 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}
+
+ rm rules.d/99-systemd.rules || die
+ insinto /lib/udev/rules.d
+ doins rules.d/*.rules
+
+ insinto /usr/share/pkgconfig
+ doins src/udev/udev.pc
+
+ mv man/systemd-udevd.service.8 man/systemd-udevd.8 || die
+ rm man/systemd-udevd-{control,kernel}.socket.8 || die
+ doman man/*.[0-9]
+ fi
+}
+
+multilib_src_install_all() {
+ doheader src/libudev/libudev.h
+
+ insinto /etc/udev
+ doins src/udev/udev.conf
+ keepdir /etc/udev/{hwdb.d,rules.d}
+
+ insinto /lib/systemd/network
+ doins network/99-default.link
+
+ # see src_prepare() for content of 40-gentoo.rules
+ insinto /lib/udev/rules.d
+ doins "${FILESDIR}"/40-gentoo.rules
+ doins "${S}"/rules.d/*.rules
+
+ dobashcomp shell-completion/bash/udevadm
+
+ insinto /usr/share/zsh/site-functions
+ doins shell-completion/zsh/_udevadm
+
+ einstalldocs
+}
+
+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
+}