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