From 2fd57282f0262ca084e05b0f2c63fbada395d02b Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 16 Jan 2022 20:27:28 +0000 Subject: gentoo resync : 16.01.2021 --- sys-fs/udev/Manifest | 3 + sys-fs/udev/files/249.9-cross-compile.patch | 23 ++ sys-fs/udev/udev-249.9.ebuild | 312 ++++++++++++++++++++++++++++ 3 files changed, 338 insertions(+) create mode 100644 sys-fs/udev/files/249.9-cross-compile.patch create mode 100644 sys-fs/udev/udev-249.9.ebuild (limited to 'sys-fs/udev') diff --git a/sys-fs/udev/Manifest b/sys-fs/udev/Manifest index 6b9fae457bdf..aae74f795e9a 100644 --- a/sys-fs/udev/Manifest +++ b/sys-fs/udev/Manifest @@ -1,6 +1,9 @@ +AUX 249.9-cross-compile.patch 1070 BLAKE2B 45586e1d76f6eed0e6f4ae27c5c93f9495bfde2b2bb3b1853bdda22f341787747ea7d7a02a1d582e6ba7e113fd2aed94bfa72616a6a9139ec18c89f85d176646 SHA512 97e919c30fc5ff39f50908f63fee23371047223d12874e68fe74ae545acea7a1dd0d1f0147e2d8a95a49e1943a276148011294b33a8f7fcfa11c91f275e87194 AUX 40-gentoo.rules 167 BLAKE2B 07116c6e5aab7de9fa8a88c6cdd9ad76a09d797d6f7bc3d0535c93ccf83486bbdae8f68d682714576b072a174df070505cce9c6f4b729e91a6f61ed89da72e8e SHA512 92e2be610839432f46cefab4d128825199dc9f2c5ef33119f9ff84dfe635ef56a4f7aaed64ba52ea2798868b00c3a1b7955caa33219aa298c6a2b8290181f94b 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 EBUILD udev-249.6-r2.ebuild 7917 BLAKE2B 8b48f9aa00ca2eddd0aa921d4adda3e8e506d0a895753ca9e6c64037f3cefb7b0a65c62e370a9064e3f2668524e21ac89bec18907b7e575cdab16791ca997726 SHA512 238b0daa2283b89b0b6c970e53c677073b851c1672fea1734393cd00e7a30af6ac0084583f41af733cf848101a3c091b1d0cfaff375d9a4910896177100fab0f +EBUILD udev-249.9.ebuild 7967 BLAKE2B a614c5ca69ad160379683911434291bb6ffa8e1ff57d965e33564a1d8f8ee3093af5ea59c5fc393faa0c352d275b3025f14a6ff557d55aa22d377f4e2642ebb4 SHA512 e78178c206def095cd392c5952b74cc3f4d869cc8683dc8ee6fb09a188d8c3cda370a968113a3ea9a89591ff729e622acabefd78574703caf0ff29cc568a05ee EBUILD udev-9999.ebuild 7921 BLAKE2B 6005fae7b9012a23f0a6c398d0381f725bf9afdb7469397ba887b37b290f3686c0f6dd5f9925b221d3d3fc333efd37fe5fa7d069c0635c1eb630ce78903b9ccc SHA512 8d55530628495ff6566575d0942380db6512cf307d74141c3af8a1738b30d8f34a20fc1d56161779a5654045929984d76b233aa499ac5e583ef93bc5c69ccdfc MISC metadata.xml 475 BLAKE2B 51db3fcfdcb7942e2bfa6e3e9fac08f9a0de6018e08a04da65920d1c1e83af6620ef73dfff201f1feff31580a0a6341814a8182e43b2c07f9da7577252010ad1 SHA512 65c1345e9c0707248f12bbf436f9b0ccb6160eb86d6c22f3e62b34791879621df59eb195e4c4c95b5cf9440b052bdc7c2b5847789a44cc9fb13b6cd4867f580e 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 +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 ')) + conf.set('SIZEOF_INO_T', cc.sizeof('ino_t', prefix : '#include ')) + conf.set('SIZEOF_TIME_T', cc.sizeof('time_t', prefix : '#include ')) + conf.set('SIZEOF_RLIM_T', cc.sizeof('rlim_t', prefix : '#include ')) +-conf.set('SIZEOF_TIMEX_MEMBER', cc.sizeof('((struct timex *)0)->freq', prefix : '#include ')) ++conf.set('SIZEOF_TIMEX_MEMBER', cc.sizeof('typeof(((struct timex *)0)->freq)', prefix : '#include ')) + + decl_headers = ''' + #include diff --git a/sys-fs/udev/udev-249.9.ebuild b/sys-fs/udev/udev-249.9.ebuild new file mode 100644 index 000000000000..0b8e93be4fa5 --- /dev/null +++ b/sys-fs/udev/udev-249.9.ebuild @@ -0,0 +1,312 @@ +# 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() { + has_version -b "dev-python/jinja[${PYTHON_USEDEP}]" +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != buildonly ]] ; then + CONFIG_CHECK="~BLK_DEV_BSG ~DEVTMPFS ~!IDE ~INOTIFY_USER ~!SYSFS_DEPRECATED ~!SYSFS_DEPRECATED_V2 ~SIGNALFD ~EPOLL ~FHANDLE ~NET ~!FW_LOADER_USER_HELPER ~UNIX" + linux-info_pkg_setup + + # CONFIG_FHANDLE was introduced by 2.6.39 + local MINKV=2.6.39 + + if kernel_is -lt ${MINKV//./ } ; then + eerror "Your running kernel is too old to run this version of ${P}" + eerror "You need to upgrade kernel at least to ${MINKV}" + fi + + if kernel_is -lt 3 7 ; then + ewarn "Your running kernel is too old to have firmware loader and" + ewarn "this version of ${P} doesn't have userspace firmware loader" + ewarn "If you need firmware support, you need to upgrade kernel at least to 3.7" + fi + fi +} + +src_prepare() { + local PATCHES=( + "${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 +} -- cgit v1.2.3