Update according to the actual Q1 tizen common release
[scm/bb/meta-tizen.git] / meta-tizen-common-base / recipes-extended / pam / pam.inc
1 DESCRIPTION = "A Security Tool that Provides Authentication for Applications"
2 HOMEPAGE = "http://www.linux-pam.org/"
3 SECTION = "Security/Access Control"
4 LICENSE = "GPL-2.0+ or BSD-3-Clause"
5 PV = "1.1.6"
6
7 SRC_URI = ""
8
9 S = "${WORKDIR}/git"
10
11 inherit manifest autotools-brokensep
12
13 BBCLASSEXTEND = ""
14 PROVIDES = ""
15
16 #PROVIDES by pam-modules-extra
17 PROVIDES += "pam-modules-extra"
18
19
20 #PROVIDES by pam-docs
21 PROVIDES += "pam-docs "
22
23
24 #PROVIDES by pam
25
26
27 #PROVIDES by pam-dev
28 PROVIDES += "pam-dev"
29
30
31 RDEPENDS = ""
32 #RDEPENDS of pam-modules-extra (${PN}-modules-extra)
33 RDEPENDS_${PN}-modules-extra += "pam"
34
35 #RDEPENDS of pam (${PN})
36 RDEPENDS_${PN} += "coreutils"
37 RDEPENDS_${PN} += "glibc"
38 RDEPENDS_${PN} += "flex"
39
40 #RDEPENDS of pam-dev (${PN}-dev)
41 RDEPENDS_${PN}-dev += "pam"
42
43
44 DEPENDS = ""
45 #DEPENDS of pam
46 DEPENDS += "flex"
47 #Replace "DEPENDS" on gettext by "inherit gettext"
48 inherit gettext
49 DEPENDS += "zlib"
50 DEPENDS += "db"
51 DEPENDS_append_class-native = " automake-native"
52 DEPENDS_append_class-target = " automake-native"
53 DEPENDS += "smack"
54 DEPENDS_append_class-native = " libtool"
55 DEPENDS_append_class-target = " libtool-cross"
56 DEPENDS_append_class-target = " flex"
57 DEPENDS += "net-tools"
58 DEPENDS_append_class-native = " bison-native"
59 DEPENDS_append_class-target = " bison-native"
60 DEPENDS_append_class-native = " autoconf-native"
61 DEPENDS_append_class-target = " autoconf-native"
62
63 do_prep() {
64  cd ${S}
65  chmod -Rf a+rX,u+w,g-w,o-w ${S}
66  #setup -q -n Linux-PAM-1.1.6
67  cp ${S}/packaging/pam.manifest .
68  
69  
70 }
71 do_patch_append() {
72     bb.build.exec_func('do_prep', d)
73 }
74
75 do_configure() {
76 }
77
78 do_compile() {
79  cd ${S}
80   LANG=C
81   export LANG
82   unset DISPLAY
83   LD_AS_NEEDED=1; export LD_AS_NEEDED ;
84   
85   CFLAGS="-fPIC $CFLAGS " ; export CFLAGS
86   
87   autotools_do_configure
88   oe_runmake  CFLAGS="$CFLAGS -lfl -lcrypt"
89   
90   
91   
92 }
93 EXTRA_OECONF += " --libdir=${base_libdir} --includedir=${prefix}/include/security --enable-isadir=../..${base_libdir}/security --disable-audit --with-db-uniquename=_pam --with-libiconv-prefix=${prefix} --enable-read-both-confs "
94
95 do_install() {
96  export RPM_BUILD_ROOT=${D}
97  cd ${S}
98  LANG=C
99  export LANG
100  unset DISPLAY
101  rm -rf ${D}
102  mkdir -p ${D}
103  
104  
105    oe_runmake \
106          DESTDIR=${D} \
107          INSTALL_ROOT=${D} \
108          BINDIR=${prefix}/bin \
109    install  
110    rm -f ${D}${infodir}/dir 
111    find ${D} -regex ".*\.la$" | xargs rm -f -- 
112    find ${D} -regex ".*\.a$" | xargs rm -f --
113  
114  # RPM uses docs from source tree
115  rm -rf ${D}${prefix}/share/doc/Linux-PAM
116  # Included in setup package
117  rm -f ${D}${sysconfdir}/environment
118  
119  for phase in auth acct passwd session ; do
120         ln -sf pam_unix.so ${D}${base_libdir}/security/pam_unix_${phase}.so
121  done
122  
123  # Install default pam configuration files
124  install -d -m 0755 ${D}${sysconfdir}/pam.d
125  install -m 0644 ${S}/packaging/system-auth ${D}${sysconfdir}/pam.d/
126  install -m 0644 ${S}/packaging/other ${D}${sysconfdir}/pam.d/
127  
128  #find_lang Linux-PAM
129  
130  
131 }
132
133 pkg_postinst_${PN}() {
134     #!/bin/sh -e
135
136     [ "x$D" == "x" ] && ldconfig
137     if [ ! -a ${localstatedir}/log/faillog ] ; then
138         install -m 600 /dev/null ${localstatedir}/log/faillog
139     fi
140     if [ ! -a ${localstatedir}/log/tallylog ] ; then
141         install -m 600 /dev/null ${localstatedir}/log/tallylog
142     fi
143
144 }
145
146 pkg_postrm_${PN}() {
147     #!/bin/sh -e
148
149     [ "x$D" == "x" ] && ldconfig
150 }
151
152 PACKAGES = "${PN}-dbg ${PN}-doc ${PN}-locale"
153 PACKAGES += " pam-modules-extra "
154 PACKAGES += " pam-dev "
155 PACKAGES += " pam "
156 PACKAGES += " pam-docs "
157
158 pam-modules-extra_files = ""
159 pam-modules-extra_files += "${base_libdir}/security/pam_access.so"
160 pam-modules-extra_files += "${base_libdir}/security/pam_debug.so"
161 pam-modules-extra_files += "${base_libdir}/security/pam_echo.so"
162 pam-modules-extra_files += "${base_libdir}/security/pam_exec.so"
163 pam-modules-extra_files += "${base_libdir}/security/pam_faildelay.so"
164 pam-modules-extra_files += "${base_libdir}/security/pam_filter.so"
165 pam-modules-extra_files += "${base_libdir}/security/pam_ftp.so"
166 pam-modules-extra_files += "${base_libdir}/security/pam_group.so"
167 pam-modules-extra_files += "${base_libdir}/security/pam_issue.so"
168 pam-modules-extra_files += "${base_libdir}/security/pam_listfile.so"
169 pam-modules-extra_files += "${base_libdir}/security/pam_localuser.so"
170 pam-modules-extra_files += "${base_libdir}/security/pam_mail.so"
171 pam-modules-extra_files += "${base_libdir}/security/pam_motd.so"
172 pam-modules-extra_files += "${base_libdir}/security/pam_pwhistory.so"
173 pam-modules-extra_files += "${base_libdir}/security/pam_rhosts.so"
174 pam-modules-extra_files += "${base_libdir}/security/pam_shells.so"
175 pam-modules-extra_files += "${base_libdir}/security/pam_stress.so"
176 pam-modules-extra_files += "${base_libdir}/security/pam_tally.so"
177 pam-modules-extra_files += "${base_libdir}/security/pam_time.so"
178 pam-modules-extra_files += "${base_libdir}/security/pam_timestamp.so"
179 pam-modules-extra_files += "${base_libdir}/security/pam_umask.so"
180 pam-modules-extra_files += "${base_libdir}/security/pam_unix_acct.so"
181 pam-modules-extra_files += "${base_libdir}/security/pam_unix_auth.so"
182 pam-modules-extra_files += "${base_libdir}/security/pam_unix_passwd.so"
183 pam-modules-extra_files += "${base_libdir}/security/pam_unix_session.so"
184 pam-modules-extra_files += "${base_libdir}/security/pam_warn.so"
185 pam-modules-extra_files += "${base_libdir}/security/pam_smack.so"
186 MANIFESTFILES_${PN}-modules-extra = "pam.manifest"
187
188 pam-dev_files = ""
189 pam-dev_files += "${prefix}/include/security/*"
190 pam-dev_files += "${base_libdir}/libpam.so"
191 pam-dev_files += "${base_libdir}/libpam_misc.so"
192 pam-dev_files += "${base_libdir}/libpamc.so"
193 pam-dev_files += "${base_libdir}/security/pam_tally2.so"
194 MANIFESTFILES_${PN}-dev = "pam.manifest"
195
196 pam_files = ""
197 pam_files += "/sbin/pam_tally"
198 pam_files += "/sbin/pam_tally2"
199 pam_files += "/sbin/pam_timestamp_check"
200 pam_files += "/sbin/unix_chkpwd"
201 pam_files += "/sbin/unix_update"
202 pam_files += "/sbin/mkhomedir_helper"
203 pam_files += "${sysconfdir}/security/limits.conf"
204 pam_files += "${base_libdir}/libpam.so.*"
205 pam_files += "${base_libdir}/libpam_misc.so.*"
206 pam_files += "${base_libdir}/libpamc.so.*"
207 pam_files += "${base_libdir}/security/pam_deny.so"
208 pam_files += "${base_libdir}/security/pam_env.so"
209 pam_files += "${base_libdir}/security/pam_keyinit.so"
210 pam_files += "${base_libdir}/security/pam_limits.so"
211 pam_files += "${base_libdir}/security/pam_loginuid.so"
212 pam_files += "${base_libdir}/security/pam_namespace.so"
213 pam_files += "${base_libdir}/security/pam_nologin.so"
214 pam_files += "${base_libdir}/security/pam_permit.so"
215 pam_files += "${base_libdir}/security/pam_lastlog.so"
216 pam_files += "${base_libdir}/security/pam_rootok.so"
217 pam_files += "${base_libdir}/security/pam_securetty.so"
218 pam_files += "${base_libdir}/security/pam_succeed_if.so"
219 pam_files += "${base_libdir}/security/pam_unix.so"
220 pam_files += "${base_libdir}/security/pam_wheel.so"
221 pam_files += "${base_libdir}/security/pam_xauth.so"
222 pam_files += "${base_libdir}/security/pam_filter"
223 pam_files += "${base_libdir}/security/pam_mkhomedir.so"
224 pam_files += "${sysconfdir}/security"
225 pam_files += "${sysconfdir}/security/access.conf"
226 pam_files += "${sysconfdir}/security/group.conf"
227 pam_files += "${sysconfdir}/security/namespace.conf"
228 pam_files += "${sysconfdir}/security/namespace.init"
229 pam_files += "${sysconfdir}/security/pam_env.conf"
230 pam_files += "${sysconfdir}/security/time.conf"
231 pam_files += "${sysconfdir}/pam.d"
232 pam_files += "${sysconfdir}/pam.d/system-auth"
233 pam_files += "${sysconfdir}/pam.d/other"
234 CONFFILES_${PN} = ""
235 CONFFILES_${PN} += "${sysconfdir}/security/limits.conf"
236 CONFFILES_${PN} += "${sysconfdir}/pam.d/system-auth"
237 CONFFILES_${PN} += "${sysconfdir}/pam.d/other"
238 MANIFESTFILES_${PN} = "pam.manifest"
239 DIRFILES_${PN} = ""
240 DIRFILES_${PN} += "${sysconfdir}/security"
241 DIRFILES_${PN} += "${sysconfdir}/pam.d"
242
243 pam-docs_files = ""
244
245 FILES_${PN}-modules-extra = "${pam-modules-extra_files}"
246 FILES_${PN}-dev = "${pam-dev_files}"
247 FILES_${PN} = "${pam_files}"
248 FILES_${PN}-docs = "${pam-docs_files}"
249
250 PKG_pam-modules-extra= "pam-modules-extra"
251 PKG_pam-dev= "pam-dev"
252 PKG_pam= "pam"
253 PKG_pam-docs= "pam-docs"
254
255 require pam-extraconf.inc
256