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