blob: 14dab423f83996f577c42e32953526e66d8a4f92 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
# PAM authentication library for Linux - Linux-PAM
#
# NOTE: this is a library with plug-in modules, at present all
# the modules are built and installed into the main libpam
# ipkg. This causes lots of problems (e.g. it is not possible
# to build on uClibC) so *do not* rely on this behaviour -
# assume the modules will be moved to individual ipks (like
# the kernel modules.)
#
DESCRIPTION = "\
PAM authentication library for Linux. \
Linux-PAM (Pluggable Authentication Modules for Linux) is a \
library that enables the local system administrator to choose \
how individual applications authenticate users. For an \
overview of the Linux-PAM library see the Linux-PAM System \
Administrators' Guide."
HOMEPAGE = "http://www.kernel.org/pub/linux/libs/pam"
SECTION = "libs"
PRIORITY = "optional"
LICENSE = "GPLv2"
PR = "r1"
# The project is actually called Linux-PAM but that gives
# a bad OE package name because of the upper case characters
pn = "Linux-PAM"
p = "${pn}-${PV}"
S = "${WORKDIR}/${p}"
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/libs/pam/pre/library/${p}.tar.bz2"
# the patches are necessary to get the autoreconf and cross build
# to work correctly
SRC_URI += " file://libpam-config.patch;patch=1"
# The Makefile uses 'FAKEROOT' not DESTDIR.
SRC_URI += " file://libpam-make.patch;patch=1"
inherit autotools
# EXTRA_OECONF += " --enable-static-libpam"
# Disable building of the documentation - it requires too many different
# programs installed on the build system and is a waste of time. This
# leaves the man documentation in the build.
EXTRA_OECONF += "ac_cv_prog_HAVE_SGML2TXT=no"
EXTRA_OECONF += "ac_cv_prog_HAVE_SGML2HTML=no"
EXTRA_OECONF += "ac_cv_prog_HAVE_SGML2LATEX=no"
EXTRA_OECONF += "ac_cv_prog_HAVE_PS2PDF=no"
EXTRA_OECONF += "ac_cv_prog_HAVE_SGML2PS=no"
LEAD_SONAME = "libpam.so.*"
# This is crude - the modules maybe should each have independent ipks
FILES_${PN} += "/usr/lib/security/pam_*.so /usr/lib/security/pam_filter/*"
do_stage() {
autotools_stage_includes
for lib in libpam libpamc libpam_misc
do
oe_libinstall -so -C "$lib" "$lib" ${STAGING_LIBDIR}
done
}
# An attempt to build on uclibc will fail, causing annoyance,
# so force the package to be skipped here (this will cause a
# 'nothing provides' error)
#NOTE: this can be fixed, but it means hacking the modules so
# that those which use YP don't get built on uClibC, this looks
# like a big patch...
python () {
os = bb.data.getVar("TARGET_OS", d, 1)
if os == "linux-uclibc":
raise bb.parse.SkipPackage("Some PAM modules require rpcsvc/yp.h, uClibC does not provide this")
}
|