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 \
28 file://fix_disabled_nls.patch \
29 file://define-HAVE_DBM.patch \
32 UCLIBC_PATCHES
= " file://pam-disable-nis-on-uclibc.patch \
33 file://disable_modules_uclibc.patch \
36 SRC_URI_append_linux
-uclibc
= $
{UCLIBC_PATCHES
}
37 SRC_URI_append_linux
-uclibceabi
= $
{UCLIBC_PATCHES
}
39 inherit autotools gettext
41 LEAD_SONAME
= "libpam.so.*"
43 # maintain the pam
default layout
44 EXTRA_OECONF
+= " --includedir=${includedir}/security"
46 PACKAGES_DYNAMIC
+= " libpam-meta pam-plugin-*"
48 python populate_packages_prepend
() {
51 pam_libdir
= bb.
data.expand
('$
{libdir
}/security'
, d
)
52 pam_libdirdebug
= bb.
data.expand
('$
{libdir
}/security
/.debug'
, d
)
53 pam_filterdir
= bb.
data.expand
('$
{libdir
}/security
/pam_filter'
, d
)
54 do_split_packages
(d
, pam_libdir
, '^pam
(.
*)\.so$'
, 'pam
-plugin
%s'
, 'PAM plugin
for %s'
, extra_depends
=''
)
55 do_split_packages
(d
, pam_libdir
, '^pam
(.
*)\.la$'
, 'pam
-plugin
%s
-dev'
, 'PAM plugin
for %s dev'
, extra_depends
=''
)
56 if os.path.exists
(pam_libdirdebug
):
57 do_split_packages
(d
, pam_libdirdebug
, '^pam
(.
*)\.so$'
, 'pam
-plugin
%s
-dbg'
, 'PAM plugin
for %s debugging symbols'
, extra_depends
=''
)
58 do_split_packages
(d
, pam_filterdir
, '^
(.
*)$'
, 'pam
-filter
-%s'
, 'PAM filter
for %s'
, extra_depends
=''
)
60 pn
= bb.
data.getVar
('PN'
, d
, 1)
61 metapkg
= pn
+ '
-meta'
62 bb.
data.setVar
('ALLOW_EMPTY_'
+ metapkg
, "1", d
)
63 bb.
data.setVar
('FILES_'
+ metapkg
, "", d
)
64 blacklist
= [ pn
+ '
-locale'
, pn
+ '
-dev'
, pn
+ '
-dbg'
, pn
+ '
-doc'
]
66 packages
= bb.
data.getVar
('PACKAGES'
, d
, 1).split
()
67 for pkg in packages
[1:]:
68 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'
):
69 metapkg_rdepends.append
(pkg
)
70 bb.
data.setVar
('RDEPENDS_'
+ metapkg
, ' '.join
(metapkg_rdepends
), d
)
71 bb.
data.setVar
('DESCRIPTION_'
+ metapkg
, pn
+ ' meta package'
, d
)
72 packages.append
(metapkg
)
73 bb.
data.setVar
('PACKAGES'
, ' '.join
(packages
), d
)
77 SRC_URI
[md5sum
] = "9cda791c827dfcd9f2888caf0a64cc4a"
78 SRC_URI
[sha256sum
] = "139b1abb0f1c402e443ad9083b5ff0512f4a5ae7bc806528e9d7eced13384ed7"