1 |
ssuominen 13/02/01 17:31:33 |
2 |
|
3 |
Modified: ChangeLog udev-9999.ebuild |
4 |
Added: udev-197-r6.ebuild |
5 |
Log: |
6 |
Trim unnecessary cruft out of 40-gentoo.rules |
7 |
|
8 |
(Portage version: 2.2.0_alpha161/cvs/Linux x86_64, signed Manifest commit with key 4868F14D) |
9 |
|
10 |
Revision Changes Path |
11 |
1.815 sys-fs/udev/ChangeLog |
12 |
|
13 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/udev/ChangeLog?rev=1.815&view=markup |
14 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/udev/ChangeLog?rev=1.815&content-type=text/plain |
15 |
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/udev/ChangeLog?r1=1.814&r2=1.815 |
16 |
|
17 |
Index: ChangeLog |
18 |
=================================================================== |
19 |
RCS file: /var/cvsroot/gentoo-x86/sys-fs/udev/ChangeLog,v |
20 |
retrieving revision 1.814 |
21 |
retrieving revision 1.815 |
22 |
diff -u -r1.814 -r1.815 |
23 |
--- ChangeLog 1 Feb 2013 08:10:47 -0000 1.814 |
24 |
+++ ChangeLog 1 Feb 2013 17:31:33 -0000 1.815 |
25 |
@@ -1,6 +1,13 @@ |
26 |
# ChangeLog for sys-fs/udev |
27 |
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 |
28 |
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/ChangeLog,v 1.814 2013/02/01 08:10:47 ssuominen Exp $ |
29 |
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/ChangeLog,v 1.815 2013/02/01 17:31:33 ssuominen Exp $ |
30 |
+ |
31 |
+*udev-197-r6 (01 Feb 2013) |
32 |
+ |
33 |
+ 01 Feb 2013; Samuli Suominen <ssuominen@g.o> +udev-197-r6.ebuild, |
34 |
+ udev-9999.ebuild: |
35 |
+ Trim 40-gentoo.rules in favour of upstream 50-udev-default.rules; and |
36 |
+ write it using the ebuild. |
37 |
|
38 |
01 Feb 2013; Samuli Suominen <ssuominen@g.o> -udev-197-r3.ebuild: |
39 |
old |
40 |
|
41 |
|
42 |
|
43 |
1.169 sys-fs/udev/udev-9999.ebuild |
44 |
|
45 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/udev/udev-9999.ebuild?rev=1.169&view=markup |
46 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/udev/udev-9999.ebuild?rev=1.169&content-type=text/plain |
47 |
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/udev/udev-9999.ebuild?r1=1.168&r2=1.169 |
48 |
|
49 |
Index: udev-9999.ebuild |
50 |
=================================================================== |
51 |
RCS file: /var/cvsroot/gentoo-x86/sys-fs/udev/udev-9999.ebuild,v |
52 |
retrieving revision 1.168 |
53 |
retrieving revision 1.169 |
54 |
diff -u -r1.168 -r1.169 |
55 |
--- udev-9999.ebuild 31 Jan 2013 10:38:57 -0000 1.168 |
56 |
+++ udev-9999.ebuild 1 Feb 2013 17:31:33 -0000 1.169 |
57 |
@@ -1,6 +1,6 @@ |
58 |
# Copyright 1999-2013 Gentoo Foundation |
59 |
# Distributed under the terms of the GNU General Public License v2 |
60 |
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/udev-9999.ebuild,v 1.168 2013/01/31 10:38:57 ssuominen Exp $ |
61 |
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/udev-9999.ebuild,v 1.169 2013/02/01 17:31:33 ssuominen Exp $ |
62 |
|
63 |
EAPI=4 |
64 |
|
65 |
@@ -134,6 +134,12 @@ |
66 |
EPATCH_SUFFIX=patch EPATCH_FORCE=yes epatch |
67 |
fi |
68 |
|
69 |
+ # Set there here since they are not part of 50-udev-default.rules |
70 |
+ cat <<-EOF > "${T}"/40-gentoo.rules |
71 |
+ SUBSYSTEM=="snd", GROUP="audio" |
72 |
+ SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb" |
73 |
+ EOF |
74 |
+ |
75 |
# Remove requirements for gettext and intltool wrt bug #443028 |
76 |
if ! has_version dev-util/intltool && ! [[ ${PV} = 9999* ]]; then |
77 |
sed -i \ |
78 |
@@ -352,7 +358,7 @@ |
79 |
|
80 |
# install gentoo-specific rules |
81 |
insinto /lib/udev/rules.d |
82 |
- doins "${FILESDIR}"/40-gentoo.rules |
83 |
+ doins "${T}"/40-gentoo.rules |
84 |
|
85 |
# install udevadm symlink |
86 |
dosym ../bin/udevadm /sbin/udevadm |
87 |
|
88 |
|
89 |
|
90 |
1.1 sys-fs/udev/udev-197-r6.ebuild |
91 |
|
92 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/udev/udev-197-r6.ebuild?rev=1.1&view=markup |
93 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/udev/udev-197-r6.ebuild?rev=1.1&content-type=text/plain |
94 |
|
95 |
Index: udev-197-r6.ebuild |
96 |
=================================================================== |
97 |
# Copyright 1999-2013 Gentoo Foundation |
98 |
# Distributed under the terms of the GNU General Public License v2 |
99 |
# $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/udev-197-r6.ebuild,v 1.1 2013/02/01 17:31:33 ssuominen Exp $ |
100 |
|
101 |
EAPI=4 |
102 |
|
103 |
KV_min=2.6.39 |
104 |
|
105 |
inherit autotools eutils linux-info multilib systemd toolchain-funcs versionator |
106 |
|
107 |
if [[ ${PV} = 9999* ]] |
108 |
then |
109 |
EGIT_REPO_URI="git://anongit.freedesktop.org/systemd/systemd" |
110 |
inherit git-2 |
111 |
else |
112 |
patchset=1 |
113 |
SRC_URI="http://www.freedesktop.org/software/systemd/systemd-${PV}.tar.xz" |
114 |
if [[ -n "${patchset}" ]] |
115 |
then |
116 |
SRC_URI="${SRC_URI} |
117 |
http://dev.gentoo.org/~williamh/dist/${P}-patches-${patchset}.tar.bz2" |
118 |
fi |
119 |
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" |
120 |
fi |
121 |
|
122 |
DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)" |
123 |
HOMEPAGE="http://www.freedesktop.org/wiki/Software/systemd" |
124 |
|
125 |
LICENSE="LGPL-2.1 MIT GPL-2" |
126 |
SLOT="0" |
127 |
IUSE="acl doc gudev hwdb introspection keymap +kmod +openrc selinux static-libs" |
128 |
|
129 |
RESTRICT="test" |
130 |
|
131 |
COMMON_DEPEND=">=sys-apps/util-linux-2.20 |
132 |
acl? ( sys-apps/acl ) |
133 |
gudev? ( >=dev-libs/glib-2 ) |
134 |
introspection? ( >=dev-libs/gobject-introspection-1.31.1 ) |
135 |
kmod? ( >=sys-apps/kmod-12 ) |
136 |
selinux? ( sys-libs/libselinux ) |
137 |
!<sys-libs/glibc-2.11 |
138 |
!<sys-apps/systemd-${PV}" |
139 |
|
140 |
DEPEND="${COMMON_DEPEND} |
141 |
virtual/os-headers |
142 |
virtual/pkgconfig |
143 |
!<sys-kernel/linux-headers-${KV_min} |
144 |
doc? ( >=dev-util/gtk-doc-1.18 ) |
145 |
hwdb? ( >=sys-apps/hwids-20130114[udev] ) |
146 |
keymap? ( dev-util/gperf )" |
147 |
|
148 |
if [[ ${PV} = 9999* ]] |
149 |
then |
150 |
DEPEND="${DEPEND} |
151 |
app-text/docbook-xsl-stylesheets |
152 |
dev-libs/libxslt |
153 |
dev-util/gperf |
154 |
>=dev-util/intltool-0.50" |
155 |
fi |
156 |
|
157 |
RDEPEND="${COMMON_DEPEND} |
158 |
openrc? ( !<sys-apps/openrc-0.9.9 ) |
159 |
!sys-apps/coldplug |
160 |
!<sys-fs/lvm2-2.02.97-r1 |
161 |
!sys-fs/device-mapper |
162 |
!<sys-fs/udev-init-scripts-19 |
163 |
!<sys-kernel/dracut-017-r1 |
164 |
!<sys-kernel/genkernel-3.4.25 |
165 |
!<sec-policy/selinux-base-2.20120725-r10" |
166 |
|
167 |
PDEPEND=">=virtual/udev-197 |
168 |
openrc? ( >=sys-fs/udev-init-scripts-19-r1 )" |
169 |
|
170 |
S=${WORKDIR}/systemd-${PV} |
171 |
|
172 |
QA_MULTILIB_PATHS="lib/systemd/systemd-udevd" |
173 |
|
174 |
udev_check_KV() |
175 |
{ |
176 |
# accept4 came late for ia64 |
177 |
use ia64 && KV_min=3.3 |
178 |
if kernel_is lt ${KV_min//./ } |
179 |
then |
180 |
return 1 |
181 |
fi |
182 |
return 0 |
183 |
} |
184 |
|
185 |
check_default_rules() |
186 |
{ |
187 |
# Make sure there are no sudden changes to upstream rules file |
188 |
# (more for my own needs than anything else ...) |
189 |
local udev_rules_md5=66bb698deeae64ab444b710baf54a412 |
190 |
MD5=$(md5sum < "${S}"/rules/50-udev-default.rules) |
191 |
MD5=${MD5/ -/} |
192 |
if [[ ${MD5} != ${udev_rules_md5} ]] |
193 |
then |
194 |
eerror "50-udev-default.rules has been updated, please validate!" |
195 |
eerror "md5sum: ${MD5}" |
196 |
die "50-udev-default.rules has been updated, please validate!" |
197 |
fi |
198 |
} |
199 |
|
200 |
pkg_setup() |
201 |
{ |
202 |
# required kernel options |
203 |
CONFIG_CHECK="~BLK_DEV_BSG ~DEVTMPFS ~!IDE ~INOTIFY_USER ~!SYSFS_DEPRECATED ~!SYSFS_DEPRECATED_V2 ~SIGNALFD" |
204 |
ERROR_DEVTMPFS="DEVTMPFS is not set in this kernel. Udev will not run." |
205 |
|
206 |
linux-info_pkg_setup |
207 |
|
208 |
if ! udev_check_KV |
209 |
then |
210 |
eerror "Your kernel version (${KV_FULL}) is too old to run ${P}" |
211 |
eerror "It must be at least ${KV_min}!" |
212 |
fi |
213 |
|
214 |
KV_FULL_SRC=${KV_FULL} |
215 |
get_running_version |
216 |
if ! udev_check_KV |
217 |
then |
218 |
eerror |
219 |
eerror "Your running kernel version (${KV_FULL}) is too old" |
220 |
eerror "for this version of udev." |
221 |
eerror "You must upgrade your kernel or downgrade udev." |
222 |
fi |
223 |
} |
224 |
|
225 |
src_prepare() |
226 |
{ |
227 |
# backport some patches |
228 |
if [[ -n "${patchset}" ]] |
229 |
then |
230 |
EPATCH_SUFFIX=patch EPATCH_FORCE=yes epatch |
231 |
fi |
232 |
|
233 |
# Set there here since they are not part of 50-udev-default.rules |
234 |
cat <<-EOF > "${T}"/40-gentoo.rules |
235 |
SUBSYSTEM=="snd", GROUP="audio" |
236 |
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb" |
237 |
EOF |
238 |
|
239 |
# Remove requirements for gettext and intltool wrt bug #443028 |
240 |
if ! has_version dev-util/intltool && ! [[ ${PV} = 9999* ]]; then |
241 |
sed -i \ |
242 |
-e '/INTLTOOL_APPLIED_VERSION=/s:=.*:=0.40.0:' \ |
243 |
-e '/XML::Parser perl module is required for intltool/s|^|:|' \ |
244 |
configure || die |
245 |
eval export INTLTOOL_{EXTRACT,MERGE,UPDATE}=/bin/true |
246 |
eval export {MSG{FMT,MERGE},XGETTEXT}=/bin/true |
247 |
fi |
248 |
|
249 |
# apply user patches |
250 |
epatch_user |
251 |
|
252 |
# compile with older versions of gcc #451110 |
253 |
version_is_at_least 4.6 $(gcc-version) || \ |
254 |
sed -i 's:static_assert:alsdjflkasjdfa:' src/shared/macro.h |
255 |
|
256 |
# change rules back to group uucp instead of dialout for now |
257 |
sed -e 's/GROUP="dialout"/GROUP="uucp"/' \ |
258 |
-i rules/*.rules \ |
259 |
|| die "failed to change group dialout to uucp" |
260 |
|
261 |
if [[ ! -e configure ]] |
262 |
then |
263 |
if use doc |
264 |
then |
265 |
gtkdocize --docdir docs || die "gtkdocize failed" |
266 |
else |
267 |
echo 'EXTRA_DIST =' > docs/gtk-doc.make |
268 |
fi |
269 |
eautoreconf |
270 |
else |
271 |
check_default_rules |
272 |
elibtoolize |
273 |
fi |
274 |
|
275 |
if [[ ${PV} = 9999* ]]; then |
276 |
# secure_getenv() disable for non-glibc systems wrt bug #443030 |
277 |
if ! [[ $(grep -r secure_getenv * | wc -l) -eq 16 ]]; then |
278 |
eerror "The line count for secure_getenv() failed, see bug #443030" |
279 |
die |
280 |
fi |
281 |
|
282 |
# gperf disable if keymaps are not requested wrt bug #452760 |
283 |
if ! [[ $(grep -i gperf Makefile.am | wc -l) -eq 24 ]]; then |
284 |
eerror "The line count for gperf references failed, see bug 452760" |
285 |
die |
286 |
fi |
287 |
fi |
288 |
|
289 |
if ! use elibc_glibc; then #443030 |
290 |
echo '#define secure_getenv(x) NULL' >> config.h.in |
291 |
sed -i -e '/error.*secure_getenv/s:.*:#define secure_getenv(x) NULL:' src/shared/missing.h || die |
292 |
fi |
293 |
} |
294 |
|
295 |
src_configure() |
296 |
{ |
297 |
use keymap || export ac_cv_path_GPERF=true #452760 |
298 |
|
299 |
local econf_args |
300 |
|
301 |
econf_args=( |
302 |
ac_cv_search_cap_init= |
303 |
ac_cv_header_sys_capability_h=yes |
304 |
DBUS_CFLAGS=' ' |
305 |
DBUS_LIBS=' ' |
306 |
--bindir=/bin |
307 |
--docdir=/usr/share/doc/${PF} |
308 |
--libdir=/usr/$(get_libdir) |
309 |
--with-html-dir=/usr/share/doc/${PF}/html |
310 |
--with-rootprefix= |
311 |
--with-rootlibdir=/$(get_libdir) |
312 |
--disable-audit |
313 |
--disable-coredump |
314 |
--disable-hostnamed |
315 |
--disable-ima |
316 |
--disable-libcryptsetup |
317 |
--disable-localed |
318 |
--disable-logind |
319 |
--disable-myhostname |
320 |
--disable-nls |
321 |
--disable-pam |
322 |
--disable-quotacheck |
323 |
--disable-readahead |
324 |
--enable-split-usr |
325 |
--disable-tcpwrap |
326 |
--disable-timedated |
327 |
--disable-xz |
328 |
--disable-silent-rules |
329 |
$(use_enable acl) |
330 |
$(use_enable doc gtk-doc) |
331 |
$(use_enable gudev) |
332 |
$(use_enable keymap) |
333 |
$(use_enable kmod) |
334 |
$(use_enable selinux) |
335 |
$(use_enable static-libs static) |
336 |
) |
337 |
if use introspection; then |
338 |
econf_args+=( |
339 |
--enable-introspection=$(usex introspection) |
340 |
) |
341 |
fi |
342 |
econf "${econf_args[@]}" |
343 |
} |
344 |
|
345 |
src_compile() |
346 |
{ |
347 |
echo 'BUILT_SOURCES: $(BUILT_SOURCES)' > "${T}"/Makefile.extra |
348 |
emake -f Makefile -f "${T}"/Makefile.extra BUILT_SOURCES |
349 |
local targets=( |
350 |
systemd-udevd |
351 |
udevadm |
352 |
libudev.la |
353 |
libsystemd-daemon.la |
354 |
ata_id |
355 |
cdrom_id |
356 |
collect |
357 |
scsi_id |
358 |
v4l_id |
359 |
accelerometer |
360 |
mtd_probe |
361 |
man/sd_is_fifo.3 |
362 |
man/sd_notify.3 |
363 |
man/sd_listen_fds.3 |
364 |
man/sd-daemon.3 |
365 |
man/udev.7 |
366 |
man/udevadm.8 |
367 |
man/systemd-udevd.8 |
368 |
man/systemd-udevd.service.8 |
369 |
) |
370 |
use keymap && targets+=( keymap ) |
371 |
use gudev && targets+=( libgudev-1.0.la ) |
372 |
|
373 |
emake "${targets[@]}" |
374 |
if use doc |
375 |
then |
376 |
emake -C docs/libudev |
377 |
use gudev && emake -C docs/gudev |
378 |
fi |
379 |
} |
380 |
|
381 |
src_install() |
382 |
{ |
383 |
local lib_LTLIBRARIES="libsystemd-daemon.la libudev.la" \ |
384 |
pkgconfiglib_DATA="src/libsystemd-daemon/libsystemd-daemon.pc src/libudev/libudev.pc" |
385 |
|
386 |
local targets=( |
387 |
install-libLTLIBRARIES |
388 |
install-includeHEADERS |
389 |
install-libgudev_includeHEADERS |
390 |
install-binPROGRAMS |
391 |
install-rootlibexecPROGRAMS |
392 |
install-udevlibexecPROGRAMS |
393 |
install-dist_systemunitDATA |
394 |
install-dist_udevconfDATA |
395 |
install-dist_udevhomeSCRIPTS |
396 |
install-dist_udevkeymapDATA |
397 |
install-dist_udevkeymapforcerelDATA |
398 |
install-dist_udevrulesDATA |
399 |
install-girDATA |
400 |
install-man3 |
401 |
install-man7 |
402 |
install-man8 |
403 |
install-nodist_systemunitDATA |
404 |
install-pkgconfiglibDATA |
405 |
install-sharepkgconfigDATA |
406 |
install-typelibsDATA |
407 |
install-dist_docDATA |
408 |
udev-confdirs |
409 |
systemd-install-hook |
410 |
libudev-install-hook |
411 |
libsystemd-daemon-install-hook |
412 |
install-pkgincludeHEADERS |
413 |
) |
414 |
|
415 |
if use gudev |
416 |
then |
417 |
lib_LTLIBRARIES+=" libgudev-1.0.la" |
418 |
pkgconfiglib_DATA+=" src/gudev/gudev-1.0.pc" |
419 |
fi |
420 |
|
421 |
# add final values of variables: |
422 |
targets+=( |
423 |
rootlibexec_PROGRAMS=systemd-udevd |
424 |
bin_PROGRAMS=udevadm |
425 |
lib_LTLIBRARIES="${lib_LTLIBRARIES}" |
426 |
MANPAGES="man/sd-daemon.3 man/sd_notify.3 man/sd_listen_fds.3 \ |
427 |
man/sd_is_fifo.3 man/sd_booted.3 man/udev.7 man/udevadm.8 \ |
428 |
man/systemd-udevd.service.8" |
429 |
MANPAGES_ALIAS="man/sd_is_socket.3 man/sd_is_socket_unix.3 \ |
430 |
man/sd_is_socket_inet.3 man/sd_is_mq.3 man/sd_notifyf.3 \ |
431 |
man/SD_LISTEN_FDS_START.3 man/SD_EMERG.3 man/SD_ALERT.3 \ |
432 |
man/SD_CRIT.3 man/SD_ERR.3 man/SD_WARNING.3 man/SD_NOTICE.3 \ |
433 |
man/SD_INFO.3 man/SD_DEBUG.3 man/systemd-udevd.8" |
434 |
dist_systemunit_DATA="units/systemd-udevd-control.socket \ |
435 |
units/systemd-udevd-kernel.socket" |
436 |
nodist_systemunit_DATA="units/systemd-udevd.service \ |
437 |
units/systemd-udev-trigger.service \ |
438 |
units/systemd-udev-settle.service" |
439 |
pkgconfiglib_DATA="${pkgconfiglib_DATA}" |
440 |
systemunitdir="$(systemd_get_unitdir)" |
441 |
pkginclude_HEADERS="src/systemd/sd-daemon.h" |
442 |
) |
443 |
emake -j1 DESTDIR="${D}" "${targets[@]}" |
444 |
if use doc |
445 |
then |
446 |
emake -C docs/libudev DESTDIR="${D}" install |
447 |
use gudev && emake -C docs/gudev DESTDIR="${D}" install |
448 |
fi |
449 |
dodoc TODO |
450 |
|
451 |
prune_libtool_files --all |
452 |
rm -f "${D}"/lib/udev/rules.d/99-systemd.rules |
453 |
rm -rf "${D}"/usr/share/doc/${PF}/LICENSE.* |
454 |
|
455 |
# install gentoo-specific rules |
456 |
insinto /lib/udev/rules.d |
457 |
doins "${T}"/40-gentoo.rules |
458 |
|
459 |
# install udevadm symlink |
460 |
dosym ../bin/udevadm /sbin/udevadm |
461 |
|
462 |
# move udevd where it should be and remove unlogical /lib/systemd |
463 |
mv "${ED}"/lib/systemd/systemd-udevd "${ED}"/sbin/udevd || die |
464 |
rm -r "${ED}"/lib/systemd |
465 |
|
466 |
# install compability symlink for systemd and initramfs tools |
467 |
dosym /sbin/udevd "$(systemd_get_utildir)"/systemd-udevd |
468 |
find "${ED}/$(systemd_get_unitdir)" -name '*.service' -exec \ |
469 |
sed -i -e "/ExecStart/s:/lib/systemd:$(systemd_get_utildir):" {} + |
470 |
|
471 |
docinto gentoo |
472 |
dodoc "${FILESDIR}"/80-net-name-slot.rules |
473 |
docompress -x /usr/share/doc/${PF}/gentoo/80-net-name-slot.rules |
474 |
} |
475 |
|
476 |
pkg_preinst() |
477 |
{ |
478 |
local htmldir |
479 |
for htmldir in gudev libudev; do |
480 |
if [[ -d ${ROOT}usr/share/gtk-doc/html/${htmldir} ]] |
481 |
then |
482 |
rm -rf "${ROOT}"usr/share/gtk-doc/html/${htmldir} |
483 |
fi |
484 |
if [[ -d ${D}/usr/share/doc/${PF}/html/${htmldir} ]] |
485 |
then |
486 |
dosym ../../doc/${PF}/html/${htmldir} \ |
487 |
/usr/share/gtk-doc/html/${htmldir} |
488 |
fi |
489 |
done |
490 |
preserve_old_lib /{,usr/}$(get_libdir)/libudev$(get_libname 0) |
491 |
} |
492 |
|
493 |
# This function determines if a directory is a mount point. |
494 |
# It was lifted from dracut. |
495 |
ismounted() |
496 |
{ |
497 |
while read a m a; do |
498 |
[[ $m = $1 ]] && return 0 |
499 |
done < "${ROOT}"/proc/mounts |
500 |
return 1 |
501 |
} |
502 |
|
503 |
pkg_postinst() |
504 |
{ |
505 |
mkdir -p "${ROOT}"run |
506 |
|
507 |
net_rules="${ROOT}"etc/udev/rules.d/80-net-name-slot.rules |
508 |
copy_net_rules() { |
509 |
[[ -f ${net_rules} ]] || cp "${ROOT}"usr/share/doc/${PF}/gentoo/80-net-name-slot.rules "${net_rules}" |
510 |
} |
511 |
|
512 |
if [[ ${REPLACING_VERSIONS} ]] && [[ ${REPLACING_VERSIONS} < 197 ]]; then |
513 |
ewarn "Because this is a upgrade we disable the new predictable network interface" |
514 |
ewarn "name scheme by default." |
515 |
copy_net_rules |
516 |
fi |
517 |
|
518 |
if has_version sys-apps/biosdevname; then |
519 |
ewarn "Because sys-apps/biosdevname is installed we disable the new predictable" |
520 |
ewarn "network interface name scheme by default." |
521 |
copy_net_rules |
522 |
fi |
523 |
|
524 |
# "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766 |
525 |
# So try to remove it here (will only work if empty). |
526 |
rmdir "${ROOT}"dev/loop 2>/dev/null |
527 |
if [[ -d ${ROOT}dev/loop ]] |
528 |
then |
529 |
ewarn "Please make sure your remove /dev/loop," |
530 |
ewarn "else losetup may be confused when looking for unused devices." |
531 |
fi |
532 |
|
533 |
# people want reminders, I'll give them reminders. Odds are they will |
534 |
# just ignore them anyway... |
535 |
|
536 |
# 64-device-mapper.rules now gets installed by sys-fs/device-mapper |
537 |
# remove it if user don't has sys-fs/device-mapper installed, 27 Jun 2007 |
538 |
if [[ -f ${ROOT}etc/udev/rules.d/64-device-mapper.rules ]] && |
539 |
! has_version sys-fs/device-mapper |
540 |
then |
541 |
rm -f "${ROOT}"etc/udev/rules.d/64-device-mapper.rules |
542 |
einfo "Removed unneeded file 64-device-mapper.rules" |
543 |
fi |
544 |
|
545 |
if [[ ${REPLACING_VERSIONS} ]] && [[ ${REPLACING_VERSIONS} < 189 ]]; then |
546 |
ewarn |
547 |
ewarn "Upstream has removed the persistent-cd rules" |
548 |
ewarn "generator. If you need persistent names for these devices," |
549 |
ewarn "place udev rules for them in ${ROOT}etc/udev/rules.d." |
550 |
fi |
551 |
|
552 |
if ismounted /usr |
553 |
then |
554 |
ewarn |
555 |
ewarn "Your system has /usr on a separate partition. This means" |
556 |
ewarn "you will need to use an initramfs to pre-mount /usr before" |
557 |
ewarn "udev runs." |
558 |
ewarn |
559 |
ewarn "If this is not set up before your next reboot, udev may work;" |
560 |
ewarn "However, you also may experience failures which are very" |
561 |
ewarn "difficult to troubleshoot." |
562 |
ewarn |
563 |
ewarn "For a more detailed explanation, see the following URL:" |
564 |
ewarn "http://www.freedesktop.org/wiki/Software/systemd/separate-usr-is-broken" |
565 |
ewarn |
566 |
ewarn "For more information on setting up an initramfs, see the" |
567 |
ewarn "following URL:" |
568 |
ewarn "http://www.gentoo.org/doc/en/initramfs-guide.xml" |
569 |
fi |
570 |
|
571 |
if [ -n "${net_rules}" ]; then |
572 |
ewarn |
573 |
ewarn "udev-197 and newer introduces a new method of naming network" |
574 |
ewarn "interfaces. The new names are a very significant change, so" |
575 |
ewarn "they are disabled by default on live systems." |
576 |
ewarn "Please see the contents of ${net_rules} for more" |
577 |
ewarn "information on this feature." |
578 |
fi |
579 |
|
580 |
local fstab="${ROOT}"etc/fstab dev path fstype rest |
581 |
while read -r dev path fstype rest; do |
582 |
if [[ ${path} == /dev && ${fstype} != devtmpfs ]]; then |
583 |
ewarn "You need to edit your /dev line in ${fstab} to have devtmpfs" |
584 |
ewarn "filesystem. Otherwise udev won't be able to boot." |
585 |
ewarn "See, http://bugs.gentoo.org/453186" |
586 |
fi |
587 |
done < "${fstab}" |
588 |
|
589 |
if [[ -d ${ROOT}usr/lib/udev ]] |
590 |
then |
591 |
ewarn |
592 |
ewarn "Please re-emerge all packages on your system which install" |
593 |
ewarn "rules and helpers in /usr/lib/udev. They should now be in" |
594 |
ewarn "/lib/udev." |
595 |
ewarn |
596 |
ewarn "One way to do this is to run the following command:" |
597 |
ewarn "emerge -av1 \$(qfile -q -S -C /usr/lib/udev)" |
598 |
ewarn "Note that qfile can be found in app-portage/portage-utils" |
599 |
fi |
600 |
|
601 |
old_net_rules=${ROOT}etc/udev/rules.d/70-persistent-net.rules |
602 |
if [[ -f ${old_net_rules} ]]; then |
603 |
ewarn "You still have ${old_net_rules} in place from previous udev release." |
604 |
ewarn "Upstream has removed the possibility of renaming to existing" |
605 |
ewarn "network interfaces. For example, it's not possible to assign based" |
606 |
ewarn "on MAC address to existing interface eth0." |
607 |
ewarn "See http://bugs.gentoo.org/453494 for more information." |
608 |
ewarn "Rename your file to something else starting with 70- to silence" |
609 |
ewarn "this warning." |
610 |
fi |
611 |
|
612 |
ewarn |
613 |
ewarn "You need to restart udev as soon as possible to make the upgrade go" |
614 |
ewarn "into effect." |
615 |
ewarn "The method you use to do this depends on your init system." |
616 |
ewarn |
617 |
|
618 |
preserve_old_lib_notify /{,usr/}$(get_libdir)/libudev$(get_libname 0) |
619 |
|
620 |
elog |
621 |
elog "For more information on udev on Gentoo, writing udev rules, and" |
622 |
elog " fixing known issues visit:" |
623 |
elog " http://www.gentoo.org/doc/en/udev-guide.xml" |
624 |
|
625 |
use hwdb && udevadm hwdb --update |
626 |
} |