sys-fs/udev: bump to 245.5
authorMike Gilbert <floppym@gentoo.org>
Mon, 25 May 2020 16:15:28 +0000 (12:15 -0400)
committerMike Gilbert <floppym@gentoo.org>
Mon, 25 May 2020 16:16:00 +0000 (12:16 -0400)
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
sys-fs/udev/Manifest
sys-fs/udev/udev-245.5.ebuild [new file with mode: 0644]
sys-fs/udev/udev-9999.ebuild

index d05d70330be8daf953892be958b3579f854e9b7b..0e4199a7178339b6a3b8fdd373f703f48904d769 100644 (file)
@@ -1,3 +1,4 @@
 DIST systemd-242.tar.gz 7831435 BLAKE2B 288e65d0a8e133ef5885689eb16118a83d93c730e342da63115cea0892fc999104c3a4856c83f3e7ef909ba2f3311146730b05ee02d84cc0400851ccbdcd54cd SHA512 578f68a3c8f2d454198fc04ff8d943abcfb390531d57f9603d185857f7afa7f4dc641dafecf49ce50fe22f5837b252b181400891e8efd4459fd4f69bb4283cb4
 DIST systemd-243.tar.gz 8242522 BLAKE2B 89e3ebbea5a99061329f7c78220a66c1e075d5ba90dfdf5ee8d0d9b762ef4600dc82d8ca2054632e5e343b6272cd8046c92f7f99dcfa8287c5ef2b42fb96d4cb SHA512 56b52a297aa5ac04d9667eb3afb1598725b197de73ff72baa1aabbc2844e36fba7b7fccdf6d214ae8b5b926616b2b7e15772763aaa80ec938d74333ff9c8673e
 DIST systemd-245.tar.gz 8993479 BLAKE2B be0b1fca5ba8585978f570868bc9135c1fee78ea64dcdf8b1a3419e856a83da90104ed2f86e5f3e5b0b6f29d4b34f603bfe1e4cbc61ccf71bedce547db62ff35 SHA512 1b80d0e02472dfc4197f11dab4f56cf90e8a6e105ce19f837cb11335b6d8577ed49031dad94cdb41aa9bdc06ec8eec62c8e9246272b83935e7bb9dcd3cd8c012
+DIST systemd-stable-245.5.tar.gz 9020836 BLAKE2B 7753eecceffa86c9208c3e71df2037b58b445f9090b73c6ff499b4170b94488a1fd1cabcd17cbb98506a692875a3eef07a40a54d23e09c331a01319f8d03d13d SHA512 47de4a59980643002f325c499eeb4dd76fa9f1d1267686e7564f103690487bf85974590d7cb3e3641409e5bfba567fe2a66efa80320e7e8adc48af4461e2e172
diff --git a/sys-fs/udev/udev-245.5.ebuild b/sys-fs/udev/udev-245.5.ebuild
new file mode 100644 (file)
index 0000000..f8ba208
--- /dev/null
@@ -0,0 +1,242 @@
+# Copyright 2003-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit bash-completion-r1 linux-info meson ninja-utils multilib-minimal 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[${MULTILIB_USEDEP}]
+       app-text/docbook-xml-dtd:4.2
+       app-text/docbook-xml-dtd:4.5
+       app-text/docbook-xsl-stylesheets
+       dev-libs/libxslt
+"
+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-26"
+
+pkg_setup() {
+       if [[ ${MERGE_TYPE} != buildonly ]]; then
+               CONFIG_CHECK="~BLK_DEV_BSG ~DEVTMPFS ~!IDE ~INOTIFY_USER ~!SYSFS_DEPRECATED ~!SYSFS_DEPRECATED_V2 ~SIGNALFD ~EPOLL ~FHANDLE ~NET ~!FW_LOADER_USER_HELPER ~UNIX"
+               linux-info_pkg_setup
+
+               # CONFIG_FHANDLE was introduced by 2.6.39
+               local MINKV=2.6.39
+
+               if kernel_is -lt ${MINKV//./ }; then
+                       eerror "Your running kernel is too old to run this version of ${P}"
+                       eerror "You need to upgrade kernel at least to ${MINKV}"
+               fi
+
+               if kernel_is -lt 3 7; then
+                       ewarn "Your running kernel is too old to have firmware loader and"
+                       ewarn "this version of ${P} doesn't have userspace firmware loader"
+                       ewarn "If you need firmware support, you need to upgrade kernel at least to 3.7"
+               fi
+       fi
+}
+
+src_prepare() {
+       cat <<-EOF > "${T}"/40-gentoo.rules
+       # Gentoo specific floppy and usb groups
+       ACTION=="add", SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
+       ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
+       EOF
+
+       if [[ -d "${WORKDIR}/patches" ]]; then
+               eapply "${WORKDIR}/patches"
+       fi
+
+       local PATCHES=(
+       )
+
+       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
+               -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 use static-libs; then
+               targets+=( src/udev/libudev.a )
+       fi
+       if multilib_is_native_abi; then
+               targets+=(
+                       systemd-udevd
+                       udevadm
+                       src/udev/ata_id
+                       src/udev/cdrom_id
+                       src/udev/mtd_probe
+                       src/udev/scsi_id
+                       src/udev/v4l_id
+                       man/udev.conf.5
+                       man/systemd.link.5
+                       man/hwdb.7
+                       man/udev.7
+                       man/systemd-udevd.service.8
+                       man/udevadm.8
+               )
+       fi
+       eninja "${targets[@]}"
+}
+
+multilib_src_install() {
+       local libudev=$(readlink src/udev/libudev.so.1)
+
+       dolib.so src/udev/{${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
+
+               exeinto /lib/systemd
+               doexe systemd-udevd
+
+               exeinto /lib/udev
+               doexe src/udev/{ata_id,cdrom_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 "${T}"/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
+}
index 4cdaa936a654cd73c6b4a18ebe449729db7be98c..f8ba208e8aefd0d55f7e6ba59cc507d5199bb7ad 100644 (file)
@@ -9,10 +9,15 @@ 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=systemd-${MY_PV}
+       MY_P=${MY_PN}-${MY_PV}
        S=${WORKDIR}/${MY_P}
-       SRC_URI="https://github.com/systemd/systemd/archive/v${MY_PV}/${MY_P}.tar.gz"
+       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