From 4df3bf9762850b34cd1ead5c80374d1a0fc3362e Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 12 Jul 2021 08:41:54 +0100 Subject: gentoo resync : 12.07.2021 --- sys-fs/udev/Manifest | 5 +- sys-fs/udev/files/249-libudev-static.patch | 26 ++++ sys-fs/udev/udev-249-r1.ebuild | 232 +++++++++++++++++++++++++++++ sys-fs/udev/udev-9999.ebuild | 10 +- 4 files changed, 269 insertions(+), 4 deletions(-) create mode 100644 sys-fs/udev/files/249-libudev-static.patch create mode 100644 sys-fs/udev/udev-249-r1.ebuild (limited to 'sys-fs/udev') diff --git a/sys-fs/udev/Manifest b/sys-fs/udev/Manifest index 13d0a2fdcf14..9100350e73d5 100644 --- a/sys-fs/udev/Manifest +++ b/sys-fs/udev/Manifest @@ -1,11 +1,14 @@ +AUX 249-libudev-static.patch 1454 BLAKE2B 420f9452066ccf951033c1ae1e215284fa9d11f24777c68ecd0178db5c7571ee881451300d409468c1ba3f3b2ad4b35adca5b2761309c84b315bbabd45f6b97f SHA512 4d616b4b02981c4622951a46f23519e03c2d1228453837d31fe060db70afa24722883ca57c08c55cd9fd35c720a5ef2ecb11ab3313867e1b3cfc3682e45e3f45 AUX 40-gentoo.rules 167 BLAKE2B 07116c6e5aab7de9fa8a88c6cdd9ad76a09d797d6f7bc3d0535c93ccf83486bbdae8f68d682714576b072a174df070505cce9c6f4b729e91a6f61ed89da72e8e SHA512 92e2be610839432f46cefab4d128825199dc9f2c5ef33119f9ff84dfe635ef56a4f7aaed64ba52ea2798868b00c3a1b7955caa33219aa298c6a2b8290181f94b DIST systemd-246.tar.gz 9534036 BLAKE2B 71b72abcd4d066d35d45d9835d41bec8faa9a7eddc80b48fe7073223f07d32f78a8442c52dc0800940f9750d9c5502123a633738981d797cf610d85df2035bf0 SHA512 7103f7da53f7ced3b5543c238f23bd11c82af8e37166c1720a90576b6b431b4329320c78726166c65a9f5e101dd465c0a86dd13c586c4e55e608a6273d8f324f DIST systemd-248.tar.gz 10306883 BLAKE2B 3cb25d6101136a5f57e841d3f464f0d7649f6c1cb190b25e4dbf0a8f2be075d04a3cbe92e2fee5bb6a03b73bd8195d8c7b691661b39b7850547d512219cc40af SHA512 486f6ac6c2897a2aac97a59306091a03fd50768340407401e1f088ea5b21c67dae726bff4cbe53cec6b89a8f0ee72205b340165a4fe3a3c16cff6d176506c6e0 +DIST systemd-249.tar.gz 10588828 BLAKE2B f7896dea0bdec25125188b94ee84270b972649b1eb16599bed1967ced79f62dbfd1494e22362934f418823c054b342fb24dc57706b49520814beb95b6956bf27 SHA512 0810d09cc32e4aaa4425ee5b7ddf129262b061ce159cbd43571fabda48285243d8f80b566379ece9215d531b9407ee45e1e72c71935644fea31c7bca1bbf540c DIST systemd-stable-245.5.tar.gz 9020836 BLAKE2B 7753eecceffa86c9208c3e71df2037b58b445f9090b73c6ff499b4170b94488a1fd1cabcd17cbb98506a692875a3eef07a40a54d23e09c331a01319f8d03d13d SHA512 47de4a59980643002f325c499eeb4dd76fa9f1d1267686e7564f103690487bf85974590d7cb3e3641409e5bfba567fe2a66efa80320e7e8adc48af4461e2e172 DIST systemd-stable-247.2.tar.gz 9890845 BLAKE2B 5363f429f4e629b9a05248b77f7c102da37e23c5678e14621ca67edeea59d7995064d037f04eb0ce57dd17a1b3a40a04e00619f77dbde82a61aabbc02f5bc412 SHA512 220739bedb7ccbb35d9d2ff441a52e0615fbe80da5141f7e0420d469f4d66d3604ea72ce70c3deaa2afa5a32b3c7eec4340738337c96891b471e23ed43cd6a82 EBUILD udev-245.5-r1.ebuild 5928 BLAKE2B 5fc1655db3633cd1a7459bc05d2065a0878a43e8cf48ac6a5957a71b662f9ddce8dd18c906de8707fdf411378ffe82e71b6217f2d6e8ea0136830718af125af3 SHA512 4450cd68fcebc939de12f641f4404570e48b6cb623a4ccc8536dad9d3ca92534d5d2b44b68fa723baf24446b034193788ca4e32ade975f2e4c7413cea3f99092 EBUILD udev-246-r1.ebuild 5927 BLAKE2B a8830dbfefdb6c12fa7e8d6034bcb9c94b0eb81eee871655e8f57bb3732d693b345588ab6e3f1c211695fdd15e7402bea08ac097c7721998f9625a77ca725430 SHA512 a113458cf68bff8881e0b1c7ff80bc4ff4dbe715dcec7f4f83b264e8f5f0f4c0153a6365ce3e1105d1dbbe8144016d94c1c530397e3ae768f9bc2bb3030428a9 EBUILD udev-247.2.ebuild 5648 BLAKE2B c99ee7449eecca95e92f2178a2b7e0b38fc9d2211b171539af45d28fd407c31012ab0ca4b877392f39d7e42828686661abfff2ca72efe01ca8f0bdf64b6018fb SHA512 98f3bcc0e3a6277685e52e570e4a6f3d279329ad3fbe6dc0bbb33a0ee7fa7491b422878afde0eeab00223567de3126c331df1de83fa30350919f56d1e7bfa75a EBUILD udev-248.ebuild 5461 BLAKE2B 20ac6f812475c24362dd6258d474c1bdd611efd8c3ff4955328046b9e32862bad3b43b9405ac07525c8cedf4093da671c5ab37d2b3d3e106ad94a962e9bd9121 SHA512 ac27997375f9d2a62e37c9d6c60b49dd6d18f702113790a4adbba1800f71a775aa46c7d345c0722e31f529baecc0b7a2c029fb472ba7fcf7b28d36761977dce2 -EBUILD udev-9999.ebuild 5461 BLAKE2B 20ac6f812475c24362dd6258d474c1bdd611efd8c3ff4955328046b9e32862bad3b43b9405ac07525c8cedf4093da671c5ab37d2b3d3e106ad94a962e9bd9121 SHA512 ac27997375f9d2a62e37c9d6c60b49dd6d18f702113790a4adbba1800f71a775aa46c7d345c0722e31f529baecc0b7a2c029fb472ba7fcf7b28d36761977dce2 +EBUILD udev-249-r1.ebuild 5616 BLAKE2B d6a83d6572c3916eeefbe84f3dce9b0ecd839d120084b7747f0d06858544270871940d072267994155ec364551000c449d00cf99282608e5e0b2ba489ff238f5 SHA512 e40f6d47c4f9002cdcfe30aac2cc028f7b0d75bd72d39feb07215e093df5fe7c00ca49c4f7db680b485460ed70e94d32908d95a3392c621a151ea807e5b6ec25 +EBUILD udev-9999.ebuild 5575 BLAKE2B 8298696ad05cb845a59b117bec1231a25b8a1ebf3284515607b77827b69d68a59ae9fb61f66dca95bdf37072c9aa3d845154653311e9c1ecc541e1a934e4b7d7 SHA512 14efa15db19ebe88fa20a20ab2193c67bbdfc31709d010fbfa5cf793223ce8605c126fe2134fbdabb92409ce748979edb22440851d47e61019e1f9d41f4eff0c MISC metadata.xml 476 BLAKE2B 5d293590663fda69b35a5f434b64827de86ac14831536e873c38d1e3baa8575cc02cc45525726046103b73212c02852dce6c407fe7c02705370e4b6402771686 SHA512 552311593b07f4f3d41e406fe99606d79973d9c69e5e448ffcdf3f6d1e04ea6b59c97b022ad2fe7fedbf0c627e2b45efc293dc1065e7cec035c2e48c85c3495d 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 000000000000..73375b716e9b --- /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 +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-r1.ebuild b/sys-fs/udev/udev-249-r1.ebuild new file mode 100644 index 000000000000..0154e132439e --- /dev/null +++ b/sys-fs/udev/udev-249-r1.ebuild @@ -0,0 +1,232 @@ +# 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-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" + 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=( + "${FILESDIR}/249-libudev-static.patch" + ) + + 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)" + $(meson_use static-libs static-libudev) + + # 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} + src/libudev/libudev.pc + ) + 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/udev.pc + src/udev/v4l_id + man/udev.conf.5 + man/systemd.link.5 + man/hwdb.7 + man/udev.7 + man/systemd-udevd.service.8 + man/udevadm.8 + rules.d/50-udev-default.rules + rules.d/64-btrfs.rules + ) + fi + eninja "${targets[@]}" +} + +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} + + # Install generated rules (${BUILD_DIR}/rules.d/*.rules) + insinto /lib/udev/rules.d + doins rules.d/*.rules + + insinto /usr/share/pkgconfig + doins src/udev/udev.pc + + mv man/systemd-udevd.service.8 man/systemd-udevd.8 || die + rm man/systemd-udevd-{control,kernel}.socket.8 || die + doman man/*.[0-9] + fi +} + +multilib_src_install_all() { + doheader src/libudev/libudev.h + + insinto /etc/udev + doins src/udev/udev.conf + keepdir /etc/udev/{hwdb.d,rules.d} + + insinto /lib/systemd/network + doins network/99-default.link + + # Install static rules (${S}/rules.d/*.rules) + insinto /lib/udev/rules.d + doins rules.d/*.rules + doins "${FILESDIR}"/40-gentoo.rules + + dobashcomp shell-completion/bash/udevadm + + insinto /usr/share/zsh/site-functions + doins shell-completion/zsh/_udevadm + + einstalldocs +} + +pkg_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 +} diff --git a/sys-fs/udev/udev-9999.ebuild b/sys-fs/udev/udev-9999.ebuild index 676b5a0be4e7..d23c86c0aeb8 100644 --- a/sys-fs/udev/udev-9999.ebuild +++ b/sys-fs/udev/udev-9999.ebuild @@ -137,6 +137,7 @@ multilib_src_compile() { local targets=( ${libudev} + src/libudev/libudev.pc ) if use static-libs; then targets+=( src/udev/libudev.a ) @@ -149,6 +150,7 @@ multilib_src_compile() { 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 @@ -156,6 +158,8 @@ multilib_src_compile() { man/udev.7 man/systemd-udevd.service.8 man/udevadm.8 + rules.d/50-udev-default.rules + rules.d/64-btrfs.rules ) fi eninja "${targets[@]}" @@ -180,7 +184,7 @@ multilib_src_install() { 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 + # Install generated rules (${BUILD_DIR}/rules.d/*.rules) insinto /lib/udev/rules.d doins rules.d/*.rules @@ -203,10 +207,10 @@ multilib_src_install_all() { insinto /lib/systemd/network doins network/99-default.link - # see src_prepare() for content of 40-gentoo.rules + # Install static rules (${S}/rules.d/*.rules) insinto /lib/udev/rules.d + doins rules.d/*.rules doins "${FILESDIR}"/40-gentoo.rules - doins "${S}"/rules.d/*.rules dobashcomp shell-completion/bash/udevadm -- cgit v1.2.3