Gentoo Archives: gentoo-commits

From: "Anthony G. Basile" <blueness@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-fs/eudev/
Date: Sun, 03 Sep 2017 18:31:07
Message-Id: 1504463457.db9dffe8b564dc3c1abf953662b51b3d5e8f7028.blueness@gentoo
1 commit: db9dffe8b564dc3c1abf953662b51b3d5e8f7028
2 Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
3 AuthorDate: Sun Sep 3 18:30:38 2017 +0000
4 Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
5 CommitDate: Sun Sep 3 18:30:57 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=db9dffe8
7
8 sys-fs/eudev: version bump to 3.2.3
9
10 Package-Manager: Portage-2.3.6, Repoman-2.3.1
11
12 sys-fs/eudev/Manifest | 1 +
13 sys-fs/eudev/eudev-3.2.3.ebuild | 240 ++++++++++++++++++++++++++++++++++++++++
14 2 files changed, 241 insertions(+)
15
16 diff --git a/sys-fs/eudev/Manifest b/sys-fs/eudev/Manifest
17 index c0ee7d18f0b..a2730b1799e 100644
18 --- a/sys-fs/eudev/Manifest
19 +++ b/sys-fs/eudev/Manifest
20 @@ -3,3 +3,4 @@ DIST eudev-1.9.tar.gz 1762520 SHA256 8f17e92f1177ce9352bde00360e227a7cbb3b97ac88
21 DIST eudev-3.1.2.tar.gz 1858004 SHA256 4393b69e93dd8117defde6519b199d479f9d051f52061157a1a7a41b8fe10273 SHA512 d9aeb37a163ce4a0c116f75a927b4b99f8445d06624fbb3c28ade18f3effd8c54af5a4a52477c31a0452822a3dc0901468263195256e9dbf79d2ef08cf46f2b6 WHIRLPOOL 2249128672d2adfa968c123a2538063331348bc8e8481ad9c25bf8d9fb4d2d3c8a05417439f155d9ababe657b19a595c18c6ba60ad0d5584a8ead86220b39577
22 DIST eudev-3.1.5.tar.gz 1745524 SHA256 f75885a430cd50fe4b31732f808ba7f9b2adf0f26b53b8ba2957b0c1d84b6f2a SHA512 c5192e085ca4230aaac918e701989b712e5bda1558db31eb6ba635c17c4bdff398458d51cefbc5fb77a7c775ec1e04b1dbe019b8314cac3f43a5c1ae61521b5e WHIRLPOOL bc845c474101635c039515489e1316053156d3dd5f9c915c312324b9a1a6168f831e7476eeff834487fc83289e5d5eea2ba764c10bb6628b7c18d188de5f3846
23 DIST eudev-3.2.2.tar.gz 1821812 SHA256 3e4c56ec2fc1854afd0a31f3affa48f922c62d40ee12a0c1a4b4f152ef5b0f63 SHA512 38465ba6a68c3a8756d750ac36dfde0e220c3b13d058a8fcb664ee628e95d2f83b4155cb080a7bd518a5435c7c502aa3fa785a99233ebb24dda406441a753f7a WHIRLPOOL bcebd850c5c9b0ffea21bbb3517feb15f2328f602366daa2fd13b62ce62b0834815b98618fbe80bbe9db9d27085a6ef917c4b1e597f6ad47182acf7386786bbb
24 +DIST eudev-3.2.3.tar.gz 1856424 SHA256 49200c54f63bb0ae922880a9bb64f360959fa83d272239b9cf72111dd53f444a SHA512 7c3409ba48da187df005e30078b2ebf3cef771ec1a6d39c10e4a670f3c945edb1952216dadcbc2585fdf9a24a08d88eca7cd0670c3f612c4c2401d0fe0545d42 WHIRLPOOL 8cf2217425fc1c8b1ab12d8ef07fa588ae6af4d28711553e8c3777093067eb4f33c8f7a09b4094727f8059d33a3f8ce30e314ac9c602712867fa21e0411b365f
25
26 diff --git a/sys-fs/eudev/eudev-3.2.3.ebuild b/sys-fs/eudev/eudev-3.2.3.ebuild
27 new file mode 100644
28 index 00000000000..a864deb766c
29 --- /dev/null
30 +++ b/sys-fs/eudev/eudev-3.2.3.ebuild
31 @@ -0,0 +1,240 @@
32 +# Copyright 1999-2017 Gentoo Foundation
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI="6"
36 +
37 +KV_min=2.6.39
38 +
39 +inherit autotools linux-info multilib multilib-minimal user
40 +
41 +if [[ ${PV} = 9999* ]]; then
42 + EGIT_REPO_URI="https://github.com/gentoo/eudev.git"
43 + inherit git-r3
44 +else
45 + SRC_URI="https://dev.gentoo.org/~blueness/${PN}/${P}.tar.gz"
46 + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
47 +fi
48 +
49 +DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)"
50 +HOMEPAGE="https://github.com/gentoo/eudev"
51 +
52 +LICENSE="LGPL-2.1 MIT GPL-2"
53 +SLOT="0"
54 +IUSE="+hwdb +kmod introspection rule-generator selinux static-libs test"
55 +
56 +COMMON_DEPEND=">=sys-apps/util-linux-2.20
57 + introspection? ( >=dev-libs/gobject-introspection-1.38 )
58 + kmod? ( >=sys-apps/kmod-16 )
59 + selinux? ( >=sys-libs/libselinux-2.1.9 )
60 + !<sys-libs/glibc-2.11
61 + !sys-apps/gentoo-systemd-integration
62 + !sys-apps/systemd
63 + abi_x86_32? (
64 + !<=app-emulation/emul-linux-x86-baselibs-20130224-r7
65 + !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
66 + )"
67 +DEPEND="${COMMON_DEPEND}
68 + dev-util/gperf
69 + virtual/os-headers
70 + virtual/pkgconfig
71 + >=sys-devel/make-3.82-r4
72 + >=sys-kernel/linux-headers-${KV_min}
73 + >=dev-util/intltool-0.50
74 + test? ( app-text/tree dev-lang/perl )"
75 +
76 +RDEPEND="${COMMON_DEPEND}
77 + !<sys-fs/lvm2-2.02.103
78 + !<sec-policy/selinux-base-2.20120725-r10
79 + !sys-fs/udev
80 + !sys-apps/systemd"
81 +
82 +PDEPEND=">=sys-fs/udev-init-scripts-26
83 + hwdb? ( >=sys-apps/hwids-20140304[udev] )"
84 +
85 +# The multilib-build.eclass doesn't handle situation where the installed headers
86 +# are different in ABIs. In this case, we install libgudev headers in native
87 +# ABI but not for non-native ABI.
88 +multilib_check_headers() { :; }
89 +
90 +pkg_pretend() {
91 + ewarn
92 + ewarn "As of 2013-01-29, ${P} provides the new interface renaming functionality,"
93 + ewarn "as described in the URL below:"
94 + ewarn "https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames"
95 + ewarn
96 + ewarn "This functionality is enabled BY DEFAULT because eudev has no means of synchronizing"
97 + ewarn "between the default or user-modified choice of sys-fs/udev. If you wish to disable"
98 + ewarn "this new iface naming, please be sure that /etc/udev/rules.d/80-net-name-slot.rules"
99 + ewarn "exists: touch /etc/udev/rules.d/80-net-name-slot.rules"
100 + ewarn
101 +}
102 +
103 +pkg_setup() {
104 + CONFIG_CHECK="~BLK_DEV_BSG ~DEVTMPFS ~!IDE ~INOTIFY_USER ~!SYSFS_DEPRECATED ~!SYSFS_DEPRECATED_V2 ~SIGNALFD ~EPOLL ~FHANDLE ~NET ~UNIX"
105 + linux-info_pkg_setup
106 + get_running_version
107 +
108 + # These are required kernel options, but we don't error out on them
109 + # because you can build under one kernel and run under another.
110 + if kernel_is lt ${KV_min//./ }; then
111 + ewarn
112 + ewarn "Your current running kernel version ${KV_FULL} is too old to run ${P}."
113 + ewarn "Make sure to run udev under kernel version ${KV_min} or above."
114 + ewarn
115 + fi
116 +}
117 +
118 +src_prepare() {
119 + # change rules back to group uucp instead of dialout for now
120 + sed -e 's/GROUP="dialout"/GROUP="uucp"/' -i rules/*.rules \
121 + || die "failed to change group dialout to uucp"
122 +
123 + eapply_user
124 + eautoreconf
125 +}
126 +
127 +multilib_src_configure() {
128 + tc-export CC #463846
129 + export cc_cv_CFLAGS__flto=no #502950
130 +
131 + # Keep sorted by ./configure --help and only pass --disable flags
132 + # when *required* to avoid external deps or unnecessary compile
133 + local econf_args
134 + econf_args=(
135 + ac_cv_search_cap_init=
136 + ac_cv_header_sys_capability_h=yes
137 + DBUS_CFLAGS=' '
138 + DBUS_LIBS=' '
139 + --with-rootprefix=
140 + --with-rootrundir=/run
141 + --libdir="${EPREFIX}"/usr/$(get_libdir)
142 + --with-rootlibexecdir="${EPREFIX}"/lib/udev
143 + --enable-split-usr
144 + --enable-manpages
145 + --disable-hwdb
146 + --exec-prefix="${EPREFIX}"
147 + )
148 +
149 + # Only build libudev for non-native_abi, and only install it to libdir,
150 + # that means all options only apply to native_abi
151 + if multilib_is_native_abi; then
152 + econf_args+=(
153 + --with-rootlibdir="${EPREFIX}"/$(get_libdir)
154 + $(use_enable introspection)
155 + $(use_enable kmod)
156 + $(use_enable static-libs static)
157 + $(use_enable selinux)
158 + $(use_enable rule-generator)
159 + )
160 + else
161 + econf_args+=(
162 + --disable-static
163 + --disable-introspection
164 + --disable-kmod
165 + --disable-selinux
166 + --disable-rule-generator
167 + )
168 + fi
169 + ECONF_SOURCE="${S}" econf "${econf_args[@]}"
170 +}
171 +
172 +multilib_src_compile() {
173 + if multilib_is_native_abi; then
174 + emake
175 + else
176 + emake -C src/shared
177 + emake -C src/libudev
178 + fi
179 +}
180 +
181 +multilib_src_install() {
182 + if multilib_is_native_abi; then
183 + emake DESTDIR="${D}" install
184 + else
185 + emake -C src/libudev DESTDIR="${D}" install
186 + fi
187 +}
188 +
189 +multilib_src_test() {
190 + # make sandbox get out of the way
191 + # these are safe because there is a fake root filesystem put in place,
192 + # but sandbox seems to evaluate the paths of the test i/o instead of the
193 + # paths of the actual i/o that results.
194 + # also only test for native abi
195 + if multilib_is_native_abi; then
196 + addread /sys
197 + addwrite /dev
198 + addwrite /run
199 + default_src_test
200 + fi
201 +}
202 +
203 +multilib_src_install_all() {
204 + prune_libtool_files --all
205 +
206 + insinto /lib/udev/rules.d
207 + doins "${FILESDIR}"/40-gentoo.rules
208 +
209 + use rule-generator && doinitd "${FILESDIR}"/udev-postmount
210 +}
211 +
212 +pkg_postinst() {
213 + mkdir -p "${EROOT}"run
214 +
215 + # "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766
216 + # So try to remove it here (will only work if empty).
217 + rmdir "${EROOT}"dev/loop 2>/dev/null
218 + if [[ -d ${EROOT}dev/loop ]]; then
219 + ewarn "Please make sure your remove /dev/loop,"
220 + ewarn "else losetup may be confused when looking for unused devices."
221 + fi
222 +
223 + # https://cgit.freedesktop.org/systemd/systemd/commit/rules/50-udev-default.rules?id=3dff3e00e044e2d53c76fa842b9a4759d4a50e69
224 + # https://bugs.gentoo.org/246847
225 + # https://bugs.gentoo.org/514174
226 + enewgroup input
227 +
228 + # REPLACING_VERSIONS should only ever have zero or 1 values but in case it doesn't,
229 + # process it as a list. We only care about the zero case (new install) or the case where
230 + # the same version is being re-emerged. If there is a second version, allow it to abort.
231 + local rv rvres=doitnew
232 + for rv in ${REPLACING_VERSIONS} ; do
233 + if [[ ${rvres} == doit* ]]; then
234 + if [[ ${rv%-r*} == ${PV} ]]; then
235 + rvres=doit
236 + else
237 + rvres=${rv}
238 + fi
239 + fi
240 + done
241 +
242 + if use hwdb && has_version 'sys-apps/hwids[udev]'; then
243 + udevadm hwdb --update --root="${ROOT%/}"
244 +
245 + # https://cgit.freedesktop.org/systemd/systemd/commit/?id=1fab57c209035f7e66198343074e9cee06718bda
246 + # reload database after it has be rebuilt, but only if we are not upgrading
247 + # also pass if we are -9999 since who knows what hwdb related changes there might be
248 + if [[ ${rvres} == doit* ]] && [[ ${ROOT%/} == "" ]] && [[ ${PV} != "9999" ]]; then
249 + udevadm control --reload
250 + fi
251 + fi
252 + if [[ ${rvres} != doitnew ]]; then
253 + ewarn
254 + ewarn "You need to restart eudev as soon as possible to make the"
255 + ewarn "upgrade go into effect:"
256 + ewarn "\t/etc/init.d/udev --nodeps restart"
257 + fi
258 +
259 + if use rule-generator && \
260 + [[ -x $(type -P rc-update) ]] && rc-update show | grep udev-postmount | grep -qsv 'boot\|default\|sysinit'; then
261 + ewarn
262 + ewarn "Please add the udev-postmount init script to your default runlevel"
263 + ewarn "to ensure the legacy rule-generator functionality works as reliably"
264 + ewarn "as possible."
265 + ewarn "\trc-update add udev-postmount default"
266 + fi
267 +
268 + elog
269 + elog "For more information on eudev on Gentoo, writing udev rules, and"
270 + elog "fixing known issues visit: https://wiki.gentoo.org/wiki/Eudev"
271 +}