Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 461940 | Differences between
and this patch

Collapse All | Expand All

(-)udev-9999.ebuild (-51 / +105 lines)
Lines 11-17 Link Here
11
	KV_min=2.6.32
11
	KV_min=2.6.32
12
fi
12
fi
13
13
14
inherit autotools eutils linux-info multilib toolchain-funcs versionator
14
inherit autotools eutils linux-info multilib pam toolchain-funcs versionator
15
15
16
if [[ ${PV} = 9999* ]]; then
16
if [[ ${PV} = 9999* ]]; then
17
	EGIT_REPO_URI="git://anongit.freedesktop.org/systemd/systemd"
17
	EGIT_REPO_URI="git://anongit.freedesktop.org/systemd/systemd"
Lines 32-45 Link Here
32
32
33
LICENSE="LGPL-2.1 MIT GPL-2"
33
LICENSE="LGPL-2.1 MIT GPL-2"
34
SLOT="0"
34
SLOT="0"
35
IUSE="acl doc +firmware-loader gudev hwdb introspection keymap +kmod +openrc selinux static-libs"
35
IUSE="acl audit doc +firmware-loader gudev hwdb introspection logind keymap +kmod +openrc pam selinux static-libs"
36
36
37
RESTRICT="test"
37
RESTRICT="test"
38
38
39
COMMON_DEPEND=">=sys-apps/util-linux-2.20
39
COMMON_DEPEND=">=sys-apps/util-linux-2.20
40
	acl? ( sys-apps/acl )
41
	gudev? ( >=dev-libs/glib-2 )
40
	gudev? ( >=dev-libs/glib-2 )
42
	introspection? ( >=dev-libs/gobject-introspection-1.31.1 )
41
	introspection? ( >=dev-libs/gobject-introspection-1.31.1 )
42
	logind? (
43
		sys-apps/dbus
44
		sys-auth/polkit
45
		sys-libs/libcap
46
		acl? ( sys-apps/acl )
47
		audit? ( >=sys-process/audit-2 )
48
		pam? ( virtual/pam )
49
		)
43
	kmod? ( >=sys-apps/kmod-13 )
50
	kmod? ( >=sys-apps/kmod-13 )
44
	selinux? ( >=sys-libs/libselinux-2.1.9 )
51
	selinux? ( >=sys-libs/libselinux-2.1.9 )
45
	!<sys-libs/glibc-2.11
52
	!<sys-libs/glibc-2.11
Lines 53-59 Link Here
53
	virtual/pkgconfig
60
	virtual/pkgconfig
54
	!<sys-kernel/linux-headers-${KV_min}
61
	!<sys-kernel/linux-headers-${KV_min}
55
	doc? ( >=dev-util/gtk-doc-1.18 )
62
	doc? ( >=dev-util/gtk-doc-1.18 )
56
	keymap? ( dev-util/gperf )"
63
	keymap? ( dev-util/gperf )
64
	logind? ( dev-util/gperf )"
57
65
58
if [[ ${PV} = 9999* ]]; then
66
if [[ ${PV} = 9999* ]]; then
59
	DEPEND="${DEPEND}
67
	DEPEND="${DEPEND}
Lines 77-83 Link Here
77
85
78
S=${WORKDIR}/systemd-${PV}
86
S=${WORKDIR}/systemd-${PV}
79
87
80
#QA_MULTILIB_PATHS="lib/systemd/systemd-udevd"
88
#QA_MULTILIB_PATHS="lib/systemd/.*"
81
89
82
udev_check_KV() {
90
udev_check_KV() {
83
	if kernel_is lt ${KV_min//./ }; then
91
	if kernel_is lt ${KV_min//./ }; then
Lines 101-106 Link Here
101
109
102
pkg_setup() {
110
pkg_setup() {
103
	CONFIG_CHECK="~BLK_DEV_BSG ~DEVTMPFS ~!IDE ~INOTIFY_USER ~!SYSFS_DEPRECATED ~!SYSFS_DEPRECATED_V2 ~SIGNALFD ~EPOLL"
111
	CONFIG_CHECK="~BLK_DEV_BSG ~DEVTMPFS ~!IDE ~INOTIFY_USER ~!SYSFS_DEPRECATED ~!SYSFS_DEPRECATED_V2 ~SIGNALFD ~EPOLL"
112
	# check me from console login using pam module -> required just like for pam_ck_connector.so.?
113
	# use logind && CONFIG_CHECK++=" ~AUDITSYSCALL"
104
114
105
	linux-info_pkg_setup
115
	linux-info_pkg_setup
106
116
Lines 193-250 Link Here
193
203
194
src_configure() {
204
src_configure() {
195
	tc-export CC #463846
205
	tc-export CC #463846
196
	use keymap || export ac_cv_prog_ac_ct_GPERF=true #452760
206
	use keymap || { use logind || export ac_cv_prog_ac_ct_GPERF=true; } #452760
197
207
198
	local econf_args
208
	local econf_args
199
209
200
	econf_args=(
210
	econf_args=(
201
		ac_cv_search_cap_init=
211
		--libdir="/usr/$(get_libdir)"
202
		ac_cv_header_sys_capability_h=yes
203
		DBUS_CFLAGS=' '
204
		DBUS_LIBS=' '
205
		--bindir=/bin
206
		--docdir=/usr/share/doc/${PF}
212
		--docdir=/usr/share/doc/${PF}
207
		--libdir=/usr/$(get_libdir)
213
		$(use_enable static-libs static)
208
		--with-html-dir=/usr/share/doc/${PF}/html
209
		--with-rootprefix=
210
		--with-rootlibdir=/$(get_libdir)
211
		--with-bashcompletiondir=/usr/share/bash-completion
212
		--without-python
213
		--disable-audit
214
		--disable-coredump
215
		--disable-hostnamed
216
		--disable-ima
217
		--disable-libcryptsetup
218
		--disable-localed
219
		--disable-logind
220
		--disable-myhostname
221
		--disable-nls
214
		--disable-nls
215
		$(use_enable doc gtk-doc)
216
		$(use_enable kmod)
217
		--disable-ima
218
		$(use_enable selinux)
219
		--disable-xz
220
		--disable-tcpwrap
222
		--disable-pam
221
		--disable-pam
223
		--disable-quotacheck
222
		--disable-acl
223
		--disable-audit
224
		--disable-libcryptsetup
224
		--disable-readahead
225
		--disable-readahead
225
		--enable-split-usr
226
		--disable-quotacheck
226
		--disable-tcpwrap
227
		--disable-logind
228
		--disable-hostnamed
227
		--disable-timedated
229
		--disable-timedated
228
		--disable-xz
230
		--disable-localed
231
		--disable-coredump
229
		--disable-polkit
232
		--disable-polkit
230
		$(use_enable acl)
233
		--disable-myhostname
231
		$(use_enable doc gtk-doc)
232
		$(use_enable gudev)
234
		$(use_enable gudev)
233
		$(use_enable keymap)
235
		$(use_enable keymap)
234
		$(use_enable kmod)
236
		--enable-split-usr
235
		$(use_enable selinux)
237
		--with-html-dir=/usr/share/doc/${PF}/html
236
		$(use_enable static-libs static)
238
		--without-python
239
		--with-bashcompletiondir=/usr/share/bash-completion
240
		--with-rootprefix=
241
		--with-rootlibdir=/$(get_libdir)
237
	)
242
	)
238
	if use introspection; then
243
244
	if use logind; then
239
		econf_args+=(
245
		econf_args+=(
240
			--enable-introspection=$(usex introspection)
246
			--enable-logind
247
			--enable-polkit
248
			$(use_enable acl)
249
			$(use_enable audit)
241
		)
250
		)
242
	fi
251
		if use pam; then
243
	if use firmware-loader; then
252
			econf_args+=(
253
				--enable-pam
254
				--with-pamlibdir="$(getpam_mod_dir)"
255
			)
256
		fi
257
	else
244
		econf_args+=(
258
		econf_args+=(
245
			--with-firmware-path="/lib/firmware/updates:/lib/firmware"
259
			ac_cv_search_cap_init=
260
			ac_cv_header_sys_capability_h=yes
261
			DBUS_CFLAGS=' '
262
			DBUS_LIBS=' '
246
		)
263
		)
247
	fi
264
	fi
265
266
	use firmware-loader && econf_args+=( -with-firmware-path="/lib/firmware/updates:/lib/firmware" )
267
	use introspection && econf_args+=( --enable-introspection=$(usex introspection) )
268
248
	econf "${econf_args[@]}"
269
	econf "${econf_args[@]}"
249
}
270
}
250
271
Lines 252-258 Link Here
252
	echo 'BUILT_SOURCES: $(BUILT_SOURCES)' > "${T}"/Makefile.extra
273
	echo 'BUILT_SOURCES: $(BUILT_SOURCES)' > "${T}"/Makefile.extra
253
	emake -f Makefile -f "${T}"/Makefile.extra BUILT_SOURCES
274
	emake -f Makefile -f "${T}"/Makefile.extra BUILT_SOURCES
254
	local targets=(
275
	local targets=(
255
		libudev.la
256
		systemd-udevd
276
		systemd-udevd
257
		udevadm
277
		udevadm
258
		ata_id
278
		ata_id
Lines 267-275 Link Here
267
		man/systemd-udevd.service.8
287
		man/systemd-udevd.service.8
268
	)
288
	)
269
	use keymap && targets+=( keymap )
289
	use keymap && targets+=( keymap )
290
	if use logind; then
291
		logind_targets=(
292
			libsystemd-daemon.la
293
			libsystemd-login.la
294
			systemd-logind
295
			systemd-user-sessions
296
			loginctl
297
		)
298
		use pam && logind_targets+=( pam_systemd.la )
299
	fi
270
	use gudev && targets+=( libgudev-1.0.la )
300
	use gudev && targets+=( libgudev-1.0.la )
271
301
302
	# Build libudev.la and dependencies before the helpers (parallel error)
303
	emake libudev.la
272
	emake "${targets[@]}"
304
	emake "${targets[@]}"
305
	emake -j1 "${logind_targets}"
273
	if use doc; then
306
	if use doc; then
274
		emake -C docs/libudev
307
		emake -C docs/libudev
275
		use gudev && emake -C docs/gudev
308
		use gudev && emake -C docs/gudev
Lines 277-290 Link Here
277
}
310
}
278
311
279
src_install() {
312
src_install() {
280
	local lib_LTLIBRARIES="libudev.la" \
313
	local lib_LTLIBRARIES=libudev.la \
281
		pkgconfiglib_DATA="src/libudev/libudev.pc"
314
		pkgconfiglib_DATA=src/libudev/libudev.pc \
315
		dist_bashcompletion_DATA=shell-completion/bash/udevadm \
316
		rootbin_PROGRAMS=udevadm \
317
		rootlibexec_PROGRAMS=systemd-udevd
282
318
283
	local targets=(
319
	local targets=(
284
		install-libLTLIBRARIES
320
		install-libLTLIBRARIES
285
		install-includeHEADERS
321
		install-includeHEADERS
286
		install-libgudev_includeHEADERS
322
		install-libgudev_includeHEADERS
287
		install-binPROGRAMS
323
		install-rootbinPROGRAMS
288
		install-rootlibexecPROGRAMS
324
		install-rootlibexecPROGRAMS
289
		install-udevlibexecPROGRAMS
325
		install-udevlibexecPROGRAMS
290
		install-dist_udevconfDATA
326
		install-dist_udevconfDATA
Lines 302-318 Link Here
302
		libudev-install-hook
338
		libudev-install-hook
303
		install-directories-hook
339
		install-directories-hook
304
		install-dist_bashcompletionDATA
340
		install-dist_bashcompletionDATA
341
		install-dist_pkgsysconfDATA
342
		install-pamlibLTLIBRARIES
343
		install-pkgincludeHEADERS
305
	)
344
	)
306
345
346
	# add final values of variables:
307
	if use gudev; then
347
	if use gudev; then
308
		lib_LTLIBRARIES+=" libgudev-1.0.la"
348
		lib_LTLIBRARIES+=" libgudev-1.0.la"
309
		pkgconfiglib_DATA+=" src/gudev/gudev-1.0.pc"
349
		pkgconfiglib_DATA+=" src/gudev/gudev-1.0.pc"
310
	fi
350
	fi
311
351
312
	# add final values of variables:
352
	if use logind; then
353
		dist_bashcompletion_DATA+=" shell-completion/bash/loginctl"
354
		lib_LTLIBRARIES+=" libsystemd-login.la libsystemd-daemon.la"
355
		rootlibexec_PROGRAMS+=" systemd-logind systemd-user-sessions"
356
		rootbin_PROGRAMS+=" loginctl"
357
		pkgconfiglib_DATA+=" src/login/libsystemd-login.pc"
358
		dist_pkgsysconf_DATA+=" src/login/logind.conf"
359
		pkgconfiglib_DATA+=" src/libsystemd-daemon/libsystemd-daemon.pc"
360
		use pam && pamlib_LTLIBRARIES+=" pam_systemd.la"
361
		pkginclude_HEADERS+=" src/systemd/sd-daemon.h"
362
		targets+=( libsystemd-daemon-install-hook )
363
	fi
364
313
	targets+=(
365
	targets+=(
314
		rootlibexec_PROGRAMS=systemd-udevd
366
		pkginclude_HEADERS="${pkginclude_HEADERS}"
315
		bin_PROGRAMS=udevadm
367
		dist_pkgsysconf_DATA="${dist_pkgsysconf_DATA}"
368
		rootlibexec_PROGRAMS="${rootlibexec_PROGRAMS}"
369
		rootbin_PROGRAMS="${rootbin_PROGRAMS}"
316
		lib_LTLIBRARIES="${lib_LTLIBRARIES}"
370
		lib_LTLIBRARIES="${lib_LTLIBRARIES}"
317
		MANPAGES="man/udev.7 man/udevadm.8 \
371
		MANPAGES="man/udev.7 man/udevadm.8 \
318
				man/systemd-udevd.service.8"
372
				man/systemd-udevd.service.8"
Lines 320-327 Link Here
320
		pkgconfiglib_DATA="${pkgconfiglib_DATA}"
374
		pkgconfiglib_DATA="${pkgconfiglib_DATA}"
321
		INSTALL_DIRS='$(sysconfdir)/udev/rules.d \
375
		INSTALL_DIRS='$(sysconfdir)/udev/rules.d \
322
				$(sysconfdir)/udev/hwdb.d'
376
				$(sysconfdir)/udev/hwdb.d'
323
		dist_bashcompletion_DATA="shell-completion/bash/udevadm"
377
		dist_bashcompletion_DATA="${dist_bashcompletion_DATA}"
324
	)
378
	)
379
325
	emake -j1 DESTDIR="${D}" "${targets[@]}"
380
	emake -j1 DESTDIR="${D}" "${targets[@]}"
326
	if use doc; then
381
	if use doc; then
327
		emake -C docs/libudev DESTDIR="${D}" install
382
		emake -C docs/libudev DESTDIR="${D}" install
Lines 334-344 Link Here
334
		"${D}"/lib/udev/rules.d/99-systemd.rules \
389
		"${D}"/lib/udev/rules.d/99-systemd.rules \
335
		"${D}"/usr/share/doc/${PF}/LICENSE.*
390
		"${D}"/usr/share/doc/${PF}/LICENSE.*
336
391
337
	# see src_prepare() for content of these files
338
	insinto /lib/udev/rules.d
392
	insinto /lib/udev/rules.d
339
	doins "${T}"/40-gentoo.rules
393
	doins "${T}"/40-gentoo.rules
340
	doman "${T}"/udevd.8
394
341
	doman "${T}"/systemd-udevd.8
395
	doman "${T}"/*.8
342
396
343
	# install udevadm compatibility symlink
397
	# install udevadm compatibility symlink
344
	dosym {../bin,sbin}/udevadm
398
	dosym {../bin,sbin}/udevadm
Lines 346-352 Link Here
346
	# install udevd to /sbin and remove empty and redudant directory
400
	# install udevd to /sbin and remove empty and redudant directory
347
	# /lib/systemd because systemd is installed to /usr wrt #462750
401
	# /lib/systemd because systemd is installed to /usr wrt #462750
348
	mv "${D}"/{lib/systemd/systemd-,sbin/}udevd || die
402
	mv "${D}"/{lib/systemd/systemd-,sbin/}udevd || die
349
	rm -r "${D}"/lib/systemd
403
	use logind || rm -r "${D}"/lib/systemd
350
}
404
}
351
405
352
pkg_preinst() {
406
pkg_preinst() {

Return to bug 461940