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://define-HAVE_DBM.patch \
31 UCLIBC_PATCHES
= " file://Linux-PAM-1.1.0-uclibc.patch \
32 file://disable_modules_uclibc.patch \
33 file://pam-no-innetgr.patch \
36 SRC_URI_append_libc
-uclibc
= $
{UCLIBC_PATCHES
}
38 inherit autotools gettext
40 LEAD_SONAME
= "libpam.so.*"
42 # maintain the pam
default layout
43 EXTRA_OECONF
+= " --includedir=${includedir}/security"
45 PACKAGES_DYNAMIC
+= " libpam-meta pam-plugin-*"
47 python populate_packages_prepend
() {
50 pam_libdir
= bb.
data.expand
('$
{libdir
}/security'
, d
)
51 pam_libdirdebug
= bb.
data.expand
('$
{libdir
}/security
/.debug'
, d
)
52 pam_filterdir
= bb.
data.expand
('$
{libdir
}/security
/pam_filter'
, d
)
53 do_split_packages
(d
, pam_libdir
, '^pam
(.
*)\.so$'
, 'pam
-plugin
%s'
, 'PAM plugin
for %s'
, extra_depends
=''
)
54 do_split_packages
(d
, pam_libdir
, '^pam
(.
*)\.la$'
, 'pam
-plugin
%s
-dev'
, 'PAM plugin
for %s dev'
, extra_depends
=''
)
55 if os.path.exists
(pam_libdirdebug
):
56 do_split_packages
(d
, pam_libdirdebug
, '^pam
(.
*)\.so$'
, 'pam
-plugin
%s
-dbg'
, 'PAM plugin
for %s debugging symbols'
, extra_depends
=''
)
57 do_split_packages
(d
, pam_filterdir
, '^
(.
*)$'
, 'pam
-filter
-%s'
, 'PAM filter
for %s'
, extra_depends
=''
)
59 pn
= bb.
data.getVar
('PN'
, d
, 1)
60 metapkg
= pn
+ '
-meta'
61 bb.
data.setVar
('ALLOW_EMPTY_'
+ metapkg
, "1", d
)
62 bb.
data.setVar
('FILES_'
+ metapkg
, "", d
)
63 blacklist
= [ pn
+ '
-locale'
, pn
+ '
-dev'
, pn
+ '
-dbg'
, pn
+ '
-doc'
]
65 packages
= bb.
data.getVar
('PACKAGES'
, d
, 1).split
()
66 for pkg in packages
[1:]:
67 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'
):
68 metapkg_rdepends.append
(pkg
)
69 bb.
data.setVar
('RDEPENDS_'
+ metapkg
, ' '.join
(metapkg_rdepends
), d
)
70 bb.
data.setVar
('DESCRIPTION_'
+ metapkg
, pn
+ ' meta package'
, d
)
71 packages.append
(metapkg
)
72 bb.
data.setVar
('PACKAGES'
, ' '.join
(packages
), d
)
74 SRC_URI
[md5sum
] = "9b3d952b173d5b9836cbc7e8de108bee"
75 SRC_URI
[sha256sum
] = "608d3eb9d7a5e1a7505fff62e6a583fdb6e52dc05bf54dc9661c5f395b1fb904"