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