update init spec file
[scm/bb/tizen.git] / proto-meta-Tizen_generic / specfile-initial / pam / packaging / pam.spec
1 %define _sbindir /sbin
2 %if ! 0%{?_base_libdir:1}
3 %define _base_libdir %{_libdir}
4 %endif
5 %define _moduledir  %{_base_libdir}/security
6 %define _secconfdir %{_sysconfdir}/security
7 %define _pamconfdir %{_sysconfdir}/pam.d
8
9 Name:           pam
10 Version:        1.1.6
11 Release:        0
12 License:        GPL-2.0+ or BSD-3-Clause
13 Summary:        A Security Tool that Provides Authentication for Applications
14 Url:            http://www.linux-pam.org/
15 Group:          Security/Access Control
16 Source0:        Linux-PAM-%{version}.tar.bz2
17 Source1:        system-auth
18 Source2:        other
19 Source1001:     pam.manifest
20
21 BuildRequires:  autoconf
22 BuildRequires:  automake
23 BuildRequires:  bison
24 BuildRequires:  db4-devel
25 BuildRequires:  flex
26 BuildRequires:  gcc
27 BuildRequires:  libtool
28 BuildRequires:  net-tools
29 BuildRequires:  zlib-devel
30 BuildRequires:  gettext-tools
31 BuildRequires:  smack-devel
32 Requires(post): /sbin/ldconfig
33 Requires(post): /usr/bin/install
34 Requires(postun): /sbin/ldconfig
35
36 %description
37 PAM (Pluggable Authentication Modules) is a system security tool that
38 allows system administrators to set authentication policy without
39 having to recompile programs that handle authentication.
40
41 %package -n pam-modules-extra
42 Summary:        Extra modules provided by PAM not used in the base system
43 Group:          Security/Access Control
44 Requires:       %{name} = %{version}
45
46 %description -n pam-modules-extra
47 PAM (Pluggable Authentication Modules) is a system security tool that
48 allows system administrators to set authentication policy without
49 having to recompile programs that handle authentication. This package
50 contains extra modules for use by programs that are not used in the
51 default Tizen install.
52
53 %package devel
54 Summary:        Files needed for developing PAM-aware applications and modules for PAM
55 Requires:       %{name} = %{version}
56
57 %description devel
58 PAM (Pluggable Authentication Modules) is a system security tool that
59 allows system administrators to set authentication policy without
60 having to recompile programs that handle authentication. This package
61 contains header files and static libraries used for building both
62 PAM-aware applications and modules for use with PAM.
63
64 %prep
65 %setup -q -n Linux-PAM-%{version}
66 cp %{SOURCE1001} .
67
68 %build
69 CFLAGS="-fPIC %{optflags} " ; export CFLAGS
70 %reconfigure \
71         --libdir=%{_base_libdir} \
72         --includedir=%{_includedir}/security \
73         --enable-isadir=../..%{_moduledir} \
74         --disable-audit \
75         --with-db-uniquename=_pam \
76         --with-libiconv-prefix=%{_prefix} \
77         --enable-read-both-confs 
78 %__make %{?_smp_flags} CFLAGS="$CFLAGS -lfl -lcrypt"
79
80 %install
81 %make_install
82
83 # RPM uses docs from source tree
84 rm -rf %{buildroot}%{_datadir}/doc/Linux-PAM
85 # Included in setup package
86 rm -f %{buildroot}%{_sysconfdir}/environment
87
88 for phase in auth acct passwd session ; do
89         ln -sf pam_unix.so %{buildroot}%{_moduledir}/pam_unix_${phase}.so
90 done
91
92 # Install default pam configuration files
93 install -d -m 0755 %{buildroot}%{_pamconfdir}
94 install -m 0644 %{SOURCE1} %{buildroot}%{_pamconfdir}/
95 install -m 0644 %{SOURCE2} %{buildroot}%{_pamconfdir}/
96
97 %find_lang Linux-PAM
98
99 %post
100 /sbin/ldconfig
101 if [ ! -a %{_localstatedir}/log/faillog ] ; then
102         install -m 600 /dev/null %{_localstatedir}/log/faillog
103 fi
104 if [ ! -a %{_localstatedir}/log/tallylog ] ; then
105         install -m 600 /dev/null %{_localstatedir}/log/tallylog
106 fi
107
108 %postun -p /sbin/ldconfig
109
110 %lang_package -f Linux-PAM
111
112 %files
113 %manifest %{name}.manifest
114 %license Copyright
115 %{_sbindir}/pam_tally
116 %{_sbindir}/pam_tally2
117 %attr(4755,root,root) %{_sbindir}/pam_timestamp_check
118 %attr(4755,root,root) %{_sbindir}/unix_chkpwd
119 %attr(0700,root,root) %{_sbindir}/unix_update
120 %attr(0755,root,root) %{_sbindir}/mkhomedir_helper
121 %config %{_sysconfdir}/security/limits.conf
122 %{_base_libdir}/libpam.so.*
123 %{_base_libdir}/libpam_misc.so.*
124 %{_base_libdir}/libpamc.so.*
125 %{_moduledir}/pam_deny.so
126 %{_moduledir}/pam_env.so
127 %{_moduledir}/pam_keyinit.so
128 %{_moduledir}/pam_limits.so
129 %{_moduledir}/pam_loginuid.so
130 %{_moduledir}/pam_namespace.so
131 %{_moduledir}/pam_nologin.so
132 %{_moduledir}/pam_permit.so
133 %{_moduledir}/pam_lastlog.so
134 %{_moduledir}/pam_rootok.so
135 %{_moduledir}/pam_securetty.so
136 %{_moduledir}/pam_succeed_if.so
137 %{_moduledir}/pam_unix.so
138 %{_moduledir}/pam_wheel.so
139 %{_moduledir}/pam_xauth.so
140 %{_moduledir}/pam_filter
141 %{_moduledir}/pam_mkhomedir.so
142 %dir %{_secconfdir}
143 %config(noreplace) %{_secconfdir}/access.conf
144 %config(noreplace) %{_secconfdir}/group.conf
145 %config(noreplace) %{_secconfdir}/namespace.conf
146 %attr(755,root,root) %config(noreplace) %{_secconfdir}/namespace.init
147 %config(noreplace) %{_secconfdir}/pam_env.conf
148 %config(noreplace) %{_secconfdir}/time.conf
149 %dir %{_pamconfdir}
150 %config %{_pamconfdir}/system-auth
151 %config %{_pamconfdir}/other
152
153 %files -n pam-modules-extra
154 %manifest %{name}.manifest
155 %{_moduledir}/pam_access.so
156 %{_moduledir}/pam_debug.so
157 %{_moduledir}/pam_echo.so
158 %{_moduledir}/pam_exec.so
159 %{_moduledir}/pam_faildelay.so
160 %{_moduledir}/pam_filter.so
161 %{_moduledir}/pam_ftp.so
162 %{_moduledir}/pam_group.so
163 %{_moduledir}/pam_issue.so
164 %{_moduledir}/pam_listfile.so
165 %{_moduledir}/pam_localuser.so
166 %{_moduledir}/pam_mail.so
167 %{_moduledir}/pam_motd.so
168 %{_moduledir}/pam_pwhistory.so
169 %{_moduledir}/pam_rhosts.so
170 %{_moduledir}/pam_shells.so
171 %{_moduledir}/pam_stress.so
172 %{_moduledir}/pam_tally.so
173 %{_moduledir}/pam_time.so
174 %{_moduledir}/pam_timestamp.so
175 %{_moduledir}/pam_umask.so
176 %{_moduledir}/pam_unix_acct.so
177 %{_moduledir}/pam_unix_auth.so
178 %{_moduledir}/pam_unix_passwd.so
179 %{_moduledir}/pam_unix_session.so
180 %{_moduledir}/pam_warn.so
181 %{_moduledir}/pam_smack.so
182
183 %files devel
184 %manifest %{name}.manifest
185 %{_includedir}/security/*
186 %{_base_libdir}/libpam.so
187 %{_base_libdir}/libpam_misc.so
188 %{_base_libdir}/libpamc.so
189 %{_moduledir}/pam_tally2.so
190
191 %docs_package