2 PAM authentication library for Linux. \
3 Linux-PAM (Pluggable Authentication Modules for Linux) is a \
4 library that enables the local system administrator to choose \
5 how individual applications authenticate users. For an \
6 overview of the Linux-PAM library see the Linux-PAM System \
7 Administrators' Guide."
8 HOMEPAGE
= "http://kernel.org/pub/linux/libs/pam"
13 DEPENDS
= "flex flex-native"
15 # PAM is
not a lot of use without configuration files
and the plugins
16 RRECOMMENDS_$
{PN
} = "libpam-meta libpam-base-files"
20 # The project is actually called Linux
-PAM but that gives
21 # a bad OE package name because of the
upper case characters
26 SRC_URI
= "${KERNELORG_MIRROR}/pub/linux/libs/pam/library/${p}.tar.bz2 \
27 file://pam-nodocs.patch "
29 SRC_URI_append_libc
-uclibc
= " file://pam-disable-nis-on-uclibc.patch"
33 LEAD_SONAME
= "libpam.so.*"
35 # maintain the pam
default layout
36 EXTRA_OECONF
+= " --includedir=${includedir}/security"
38 EXTRA_OECONF_linux
-uclibc
+= "--disable-nls"
39 EXTRA_OECONF_linux
-uclibceabi
+= "--disable-nls"
41 PACKAGES_DYNAMIC
+= " libpam-meta pam-plugin-*"
43 python populate_packages_prepend
() {
46 pam_libdir
= bb.
data.expand
('$
{libdir
}/security'
, d
)
47 pam_libdirdebug
= bb.
data.expand
('$
{libdir
}/security
/.debug'
, d
)
48 pam_filterdir
= bb.
data.expand
('$
{libdir
}/security
/pam_filter'
, d
)
49 do_split_packages
(d
, pam_libdir
, '^pam
(.
*)\.so$'
, 'pam
-plugin
%s'
, 'PAM plugin
for %s'
, extra_depends
=''
)
50 do_split_packages
(d
, pam_libdir
, '^pam
(.
*)\.la$'
, 'pam
-plugin
%s
-dev'
, 'PAM plugin
for %s dev'
, extra_depends
=''
)
51 if os.path.exists
(pam_libdirdebug
):
52 do_split_packages
(d
, pam_libdirdebug
, '^pam
(.
*)\.so$'
, 'pam
-plugin
%s
-dbg'
, 'PAM plugin
for %s debugging symbols'
, extra_depends
=''
)
53 do_split_packages
(d
, pam_filterdir
, '^
(.
*)$'
, 'pam
-filter
-%s'
, 'PAM filter
for %s'
, extra_depends
=''
)
55 pn
= bb.
data.getVar
('PN'
, d
, 1)
56 metapkg
= pn
+ '
-meta'
57 bb.
data.setVar
('ALLOW_EMPTY_'
+ metapkg
, "1", d
)
58 bb.
data.setVar
('FILES_'
+ metapkg
, "", d
)
59 blacklist
= [ pn
+ '
-locale'
, pn
+ '
-dev'
, pn
+ '
-dbg'
, pn
+ '
-doc'
]
61 packages
= bb.
data.getVar
('PACKAGES'
, d
, 1).split
()
62 for pkg in packages
[1:]:
63 if not pkg in blacklist
and not pkg in metapkg_rdepends
and not pkg.endswith
('
-dev'
) and not pkg.count
('locale'
) and pkg.count
('plugin'
):
64 metapkg_rdepends.append
(pkg
)
65 bb.
data.setVar
('RDEPENDS_'
+ metapkg
, ' '.join
(metapkg_rdepends
), d
)
66 bb.
data.setVar
('DESCRIPTION_'
+ metapkg
, pn
+ ' meta package'
, d
)
67 packages.append
(metapkg
)
68 bb.
data.setVar
('PACKAGES'
, ' '.join
(packages
), d
)
71 SRC_URI
[md5sum
] = "fc5e35645b75befae28c88b711b28ffb"
72 SRC_URI
[sha256sum
] = "42d06febf4717dd43eb557027d1b00a484c22589793438778ed69449a073a3b8"