Gentoo Archives: gentoo-commits

From: William Hubbs <williamh@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-fs/udev/
Date: Wed, 05 Aug 2020 21:28:35
Message-Id: 1596662906.93ee872f11d43a36d66a71a8c6196498eefcf017.williamh@gentoo
1 commit: 93ee872f11d43a36d66a71a8c6196498eefcf017
2 Author: William Hubbs <williamh <AT> gentoo <DOT> org>
3 AuthorDate: Wed Aug 5 20:51:49 2020 +0000
4 Commit: William Hubbs <williamh <AT> gentoo <DOT> org>
5 CommitDate: Wed Aug 5 21:28:26 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=93ee872f
7
8 sys-fs/udev: bump to 246
9
10 Signed-off-by: William Hubbs <williamh <AT> gentoo.org>
11
12 sys-fs/udev/Manifest | 1 +
13 sys-fs/udev/udev-246.ebuild | 235 ++++++++++++++++++++++++++++++++++++++++++++
14 2 files changed, 236 insertions(+)
15
16 diff --git a/sys-fs/udev/Manifest b/sys-fs/udev/Manifest
17 index 0e4199a7178..2698256f752 100644
18 --- a/sys-fs/udev/Manifest
19 +++ b/sys-fs/udev/Manifest
20 @@ -1,4 +1,5 @@
21 DIST systemd-242.tar.gz 7831435 BLAKE2B 288e65d0a8e133ef5885689eb16118a83d93c730e342da63115cea0892fc999104c3a4856c83f3e7ef909ba2f3311146730b05ee02d84cc0400851ccbdcd54cd SHA512 578f68a3c8f2d454198fc04ff8d943abcfb390531d57f9603d185857f7afa7f4dc641dafecf49ce50fe22f5837b252b181400891e8efd4459fd4f69bb4283cb4
22 DIST systemd-243.tar.gz 8242522 BLAKE2B 89e3ebbea5a99061329f7c78220a66c1e075d5ba90dfdf5ee8d0d9b762ef4600dc82d8ca2054632e5e343b6272cd8046c92f7f99dcfa8287c5ef2b42fb96d4cb SHA512 56b52a297aa5ac04d9667eb3afb1598725b197de73ff72baa1aabbc2844e36fba7b7fccdf6d214ae8b5b926616b2b7e15772763aaa80ec938d74333ff9c8673e
23 DIST systemd-245.tar.gz 8993479 BLAKE2B be0b1fca5ba8585978f570868bc9135c1fee78ea64dcdf8b1a3419e856a83da90104ed2f86e5f3e5b0b6f29d4b34f603bfe1e4cbc61ccf71bedce547db62ff35 SHA512 1b80d0e02472dfc4197f11dab4f56cf90e8a6e105ce19f837cb11335b6d8577ed49031dad94cdb41aa9bdc06ec8eec62c8e9246272b83935e7bb9dcd3cd8c012
24 +DIST systemd-246.tar.gz 9534036 BLAKE2B 71b72abcd4d066d35d45d9835d41bec8faa9a7eddc80b48fe7073223f07d32f78a8442c52dc0800940f9750d9c5502123a633738981d797cf610d85df2035bf0 SHA512 7103f7da53f7ced3b5543c238f23bd11c82af8e37166c1720a90576b6b431b4329320c78726166c65a9f5e101dd465c0a86dd13c586c4e55e608a6273d8f324f
25 DIST systemd-stable-245.5.tar.gz 9020836 BLAKE2B 7753eecceffa86c9208c3e71df2037b58b445f9090b73c6ff499b4170b94488a1fd1cabcd17cbb98506a692875a3eef07a40a54d23e09c331a01319f8d03d13d SHA512 47de4a59980643002f325c499eeb4dd76fa9f1d1267686e7564f103690487bf85974590d7cb3e3641409e5bfba567fe2a66efa80320e7e8adc48af4461e2e172
26
27 diff --git a/sys-fs/udev/udev-246.ebuild b/sys-fs/udev/udev-246.ebuild
28 new file mode 100644
29 index 00000000000..2e6bdd6ec98
30 --- /dev/null
31 +++ b/sys-fs/udev/udev-246.ebuild
32 @@ -0,0 +1,235 @@
33 +# Copyright 2003-2020 Gentoo Authors
34 +# Distributed under the terms of the GNU General Public License v2
35 +
36 +EAPI=7
37 +
38 +inherit bash-completion-r1 linux-info meson ninja-utils multilib-minimal toolchain-funcs udev usr-ldscript
39 +
40 +if [[ ${PV} = 9999* ]]; then
41 + EGIT_REPO_URI="https://github.com/systemd/systemd.git"
42 + inherit git-r3
43 +else
44 + MY_PV=${PV/_/-}
45 + MY_P=systemd-${MY_PV}
46 + S=${WORKDIR}/${MY_P}
47 + SRC_URI="https://github.com/systemd/systemd/archive/v${MY_PV}/${MY_P}.tar.gz"
48 + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
49 +fi
50 +
51 +DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)"
52 +HOMEPAGE="https://www.freedesktop.org/wiki/Software/systemd"
53 +
54 +LICENSE="LGPL-2.1 MIT GPL-2"
55 +SLOT="0"
56 +IUSE="acl +kmod selinux static-libs"
57 +
58 +RESTRICT="test"
59 +
60 +BDEPEND="
61 + dev-util/gperf
62 + >=dev-util/intltool-0.50
63 + >=sys-apps/coreutils-8.16
64 + virtual/pkgconfig
65 + app-text/docbook-xml-dtd:4.2
66 + app-text/docbook-xml-dtd:4.5
67 + app-text/docbook-xsl-stylesheets
68 + dev-libs/libxslt
69 +"
70 +COMMON_DEPEND="
71 + >=sys-apps/util-linux-2.30[${MULTILIB_USEDEP}]
72 + sys-libs/libcap:0=[${MULTILIB_USEDEP}]
73 + acl? ( sys-apps/acl )
74 + kmod? ( >=sys-apps/kmod-15 )
75 + selinux? ( >=sys-libs/libselinux-2.1.9 )
76 +"
77 +DEPEND="${COMMON_DEPEND}
78 + >=sys-kernel/linux-headers-3.9
79 +"
80 +RDEPEND="${COMMON_DEPEND}
81 + acct-group/kmem
82 + acct-group/tty
83 + acct-group/audio
84 + acct-group/cdrom
85 + acct-group/dialout
86 + acct-group/disk
87 + acct-group/input
88 + acct-group/kvm
89 + acct-group/lp
90 + acct-group/render
91 + acct-group/tape
92 + acct-group/video
93 + !sys-apps/gentoo-systemd-integration
94 + !sys-apps/systemd
95 +"
96 +PDEPEND=">=sys-apps/hwids-20140304[udev]
97 + >=sys-fs/udev-init-scripts-26"
98 +
99 +pkg_setup() {
100 + if [[ ${MERGE_TYPE} != buildonly ]]; then
101 + CONFIG_CHECK="~BLK_DEV_BSG ~DEVTMPFS ~!IDE ~INOTIFY_USER ~!SYSFS_DEPRECATED ~!SYSFS_DEPRECATED_V2 ~SIGNALFD ~EPOLL ~FHANDLE ~NET ~!FW_LOADER_USER_HELPER ~UNIX"
102 + linux-info_pkg_setup
103 +
104 + # CONFIG_FHANDLE was introduced by 2.6.39
105 + local MINKV=2.6.39
106 +
107 + if kernel_is -lt ${MINKV//./ }; then
108 + eerror "Your running kernel is too old to run this version of ${P}"
109 + eerror "You need to upgrade kernel at least to ${MINKV}"
110 + fi
111 +
112 + if kernel_is -lt 3 7; then
113 + ewarn "Your running kernel is too old to have firmware loader and"
114 + ewarn "this version of ${P} doesn't have userspace firmware loader"
115 + ewarn "If you need firmware support, you need to upgrade kernel at least to 3.7"
116 + fi
117 + fi
118 +}
119 +
120 +src_prepare() {
121 + cat <<-EOF > "${T}"/40-gentoo.rules
122 + # Gentoo specific floppy and usb groups
123 + ACTION=="add", SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
124 + ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
125 + EOF
126 +
127 + if [[ -d "${WORKDIR}/patches" ]]; then
128 + eapply "${WORKDIR}/patches"
129 + fi
130 +
131 + local PATCHES=(
132 + )
133 +
134 + default
135 +}
136 +
137 +meson_multilib_native_use() {
138 + if multilib_is_native_abi && use "$1"; then
139 + echo true
140 + else
141 + echo false
142 + fi
143 +}
144 +
145 +multilib_src_configure() {
146 + local emesonargs=(
147 + -Dacl=$(meson_multilib_native_use acl)
148 + -Defi=false
149 + -Dkmod=$(meson_multilib_native_use kmod)
150 + -Dselinux=$(meson_multilib_native_use selinux)
151 + -Dlink-udev-shared=false
152 + -Dsplit-usr=true
153 + -Drootlibdir="${EPREFIX}/usr/$(get_libdir)"
154 + -Dstatic-libudev=$(usex static-libs true false)
155 +
156 + # Prevent automagic deps
157 + -Dgcrypt=false
158 + -Dlibcryptsetup=false
159 + -Dlibidn=false
160 + -Dlibidn2=false
161 + -Dlibiptc=false
162 + -Dseccomp=false
163 + -Dlz4=false
164 + -Dxz=false
165 + )
166 + meson_src_configure
167 +}
168 +
169 +src_configure() {
170 + # Prevent conflicts with i686 cross toolchain, bug 559726
171 + tc-export AR CC NM OBJCOPY RANLIB
172 + multilib-minimal_src_configure
173 +}
174 +
175 +multilib_src_compile() {
176 + # meson creates this link
177 + local libudev=$(readlink src/udev/libudev.so.1)
178 +
179 + local targets=(
180 + src/udev/${libudev}
181 + )
182 + if use static-libs; then
183 + targets+=( src/udev/libudev.a )
184 + fi
185 + if multilib_is_native_abi; then
186 + targets+=(
187 + udevadm
188 + src/udev/ata_id
189 + src/udev/cdrom_id
190 + src/udev/mtd_probe
191 + src/udev/scsi_id
192 + src/udev/v4l_id
193 + man/udev.conf.5
194 + man/systemd.link.5
195 + man/hwdb.7
196 + man/udev.7
197 + man/systemd-udevd.service.8
198 + man/udevadm.8
199 + )
200 + fi
201 + eninja "${targets[@]}"
202 +}
203 +
204 +multilib_src_install() {
205 + local libudev=$(readlink src/udev/libudev.so.1)
206 +
207 + dolib.so src/udev/{${libudev},libudev.so.1,libudev.so}
208 + gen_usr_ldscript -a udev
209 + use static-libs && dolib.a src/udev/libudev.a
210 +
211 + insinto "/usr/$(get_libdir)/pkgconfig"
212 + doins src/libudev/libudev.pc
213 +
214 + if multilib_is_native_abi; then
215 + into /
216 + dobin udevadm
217 +
218 + dosym ../../bin/udevadm /lib/systemd/systemd-udevd
219 +
220 + exeinto /lib/udev
221 + doexe src/udev/{ata_id,cdrom_id,mtd_probe,scsi_id,v4l_id}
222 +
223 + rm rules.d/99-systemd.rules || die
224 + insinto /lib/udev/rules.d
225 + doins rules.d/*.rules
226 +
227 + insinto /usr/share/pkgconfig
228 + doins src/udev/udev.pc
229 +
230 + mv man/systemd-udevd.service.8 man/systemd-udevd.8 || die
231 + rm man/systemd-udevd-{control,kernel}.socket.8 || die
232 + doman man/*.[0-9]
233 + fi
234 +}
235 +
236 +multilib_src_install_all() {
237 + doheader src/libudev/libudev.h
238 +
239 + insinto /etc/udev
240 + doins src/udev/udev.conf
241 + keepdir /etc/udev/{hwdb.d,rules.d}
242 +
243 + insinto /lib/systemd/network
244 + doins network/99-default.link
245 +
246 + # see src_prepare() for content of 40-gentoo.rules
247 + insinto /lib/udev/rules.d
248 + doins "${T}"/40-gentoo.rules
249 + doins "${S}"/rules.d/*.rules
250 +
251 + dobashcomp shell-completion/bash/udevadm
252 +
253 + insinto /usr/share/zsh/site-functions
254 + doins shell-completion/zsh/_udevadm
255 +
256 + einstalldocs
257 +}
258 +
259 +pkg_postinst() {
260 + # Update hwdb database in case the format is changed by udev version.
261 + if has_version 'sys-apps/hwids[udev]'; then
262 + udevadm hwdb --update --root="${ROOT}"
263 + # Only reload when we are not upgrading to avoid potential race w/ incompatible hwdb.bin and the running udevd
264 + # https://cgit.freedesktop.org/systemd/systemd/commit/?id=1fab57c209035f7e66198343074e9cee06718bda
265 + [[ -z ${REPLACING_VERSIONS} ]] && udev_reload
266 + fi
267 +}