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() { |