Tizen 2.1 base
[external/shadow-utils.git] / packaging / shadow-utils.spec
1 Summary: Utilities for managing accounts and shadow password files
2 Name: shadow-utils
3 Version: 4.1.4.2
4 Release: 7
5 URL: http://pkg-shadow.alioth.debian.org/
6 License: BSD and GPLv2+
7 Group: System/Base
8
9 Source0: http://pkg-shadow.alioth.debian.org/releases/shadow-%{version}.tar.gz
10 Source1: login.defs
11 Source2: securetty
12 Source3: useradd.default
13 Source1001:     %{name}.manifest
14
15 Patch0: 008_login_log_failure_in_FTMP
16 Patch1: 008_su_get_PAM_username
17 Patch2: 008_su_no_sanitize_env
18 Patch3: 401_cppw_src.dpatch
19 Patch4: 402_cppw_selinux
20 Patch5: 428_grpck_add_prune_option
21 Patch6: 429_login_FAILLOG_ENAB
22 Patch7: 463_login_delay_obeys_to_PAM
23 Patch8: 483_su_fakelogin_wrong_arg0
24 Patch9: 501_commonio_group_shadow
25 Patch10: 506_relaxed_usernames
26 Patch11: 508_nologin_in_usr_sbin
27 Patch12: 523_su_arguments_are_concatenated
28 Patch13: 523_su_arguments_are_no_more_concatenated_by_default
29 Patch14: 542_useradd-O_option
30 Patch15: shadow-4.1.4.2-redhat.patch
31 Patch16: shadow-4.1.4.1-goodname.patch
32 Patch17: shadow-4.1.4.2-leak.patch
33 Patch18: shadow-4.1.4.2-fixes.patch
34 Patch19: shadow-4.1.4.2-rounds_prefix.patch
35
36 Requires: setup
37
38 %description
39 The shadow package includes the necessary programs for
40 converting UNIX password files to the shadow password format, plus
41 programs for managing user and group accounts. The pwconv command
42 converts passwords to the shadow password format. The pwunconv command
43 unconverts shadow passwords and generates an npasswd file (a standard
44 UNIX password file). The pwck command checks the integrity of password
45 and shadow files. The lastlog command prints out the last login times
46 for all users. The useradd, userdel, and usermod commands are used for
47 managing user accounts. The groupadd, groupdel, and groupmod commands
48 are used for managing group accounts.
49
50 %prep
51 %setup -q
52
53 %patch0 -p1 -b .008_login_log_failure_in_FTMP
54 %patch1 -p1 -b .008_su_get_PAM_username
55 %patch2 -p1 -b .008_su_no_sanitize_env
56 %patch3 -p1 -b .401_cppw_src.dpatch
57 %patch4 -p1 -b .402_cppw_selinux
58 %patch5 -p1 -b .428_grpck_add_prune_option
59 %patch6 -p1 -b .429_login_FAILLOG_ENAB
60 %patch7 -p1 -b .463_login_delay_obeys_to_PAM
61 %patch8 -p1 -b .483_su_fakelogin_wrong_arg0
62 %patch9 -p1 -b .501_commonio_group_shadow
63 %patch10 -p1 -b .506_relaxed_usernames
64 %patch11 -p1 -b .508_nologin_in_usr_sbin
65 %patch12 -p1 -b .523_su_arguments_are_concatenated
66 %patch13 -p1 -b .523_su_arguments_are_no_more_concatenated_by_default
67 %patch14 -p1 -b .542_useradd-O_option
68 %patch15 -p1 -b .redhat
69 %patch16 -p1 -b .goodname
70 %patch17 -p1 -b .leak
71 %patch18 -p1 -b .fixes
72 %patch19 -p1 -b .rounds_prefix
73
74 %build
75 cp %{SOURCE1001} .
76 %configure --without-libcrack --without-audit --mandir=/usr/share/man --without-libpam --without-selinux --enable-shadowgrp --disable-man --disable-account-tools-setuid --with-group-name-max-length=32 --disable-nls
77
78 make
79
80 %install
81 make install DESTDIR=%{buildroot}
82 install -d %{buildroot}/%{_sysconfdir}/default
83 install -c -m 444 %SOURCE1 %{buildroot}/%{_sysconfdir}/
84 install -c -m 444 %SOURCE2 %{buildroot}/%{_sysconfdir}/
85 install -c -m 644 %SOURCE3 %{buildroot}/%{_sysconfdir}/default/useradd
86 install -d %{buildroot}/sbin
87
88 chmod u+s %{buildroot}/%{_bindir}/su
89 chmod u+s %{buildroot}/%{_bindir}/newgrp
90 chmod u+s %{buildroot}/%{_bindir}/chfn
91 chmod u+s %{buildroot}/%{_bindir}/chsh
92 chmod u+s %{buildroot}/%{_bindir}/gpasswd
93 chmod u+s %{buildroot}/%{_bindir}/passwd
94 chmod g+s %{buildroot}/%{_bindir}/chage
95 chmod g+s %{buildroot}/%{_bindir}/expiry
96
97 install -d %{buildroot}/bin
98 mv %{buildroot}/%{_bindir}/su %{buildroot}/bin/
99 mv %{buildroot}/%{_bindir}/login %{buildroot}/bin/
100
101 # remove not needed files
102 rm %{buildroot}/%{_sbindir}/logoutd
103 rm %{buildroot}/%{_bindir}/groups
104 rm %{buildroot}/%{_sysconfdir}/login.access
105 rm %{buildroot}/%{_sysconfdir}/limits
106 rm %{buildroot}/%{_sysconfdir}/securetty
107 rm %{buildroot}/%{_bindir}/chfn
108 rm %{buildroot}/%{_bindir}/chsh
109 rm %{buildroot}/%{_bindir}/expiry
110 rm %{buildroot}/%{_sbindir}/chgpasswd
111
112 %remove_docs
113
114 mkdir -p $RPM_BUILD_ROOT%{_datadir}/license
115 for keyword in LICENSE COPYING COPYRIGHT;
116 do
117         for file in `find %{_builddir} -name $keyword`;
118         do
119                 cat $file >> $RPM_BUILD_ROOT%{_datadir}/license/%{name};
120                 echo "";
121         done;
122 done
123
124 %files
125 %manifest %{name}.manifest
126 %{_datadir}/license/%{name}
127 %dir %{_sysconfdir}/default
128 %attr(0600,root,root)   %config(noreplace) %{_sysconfdir}/default/useradd
129 %attr(0644,root,root)   %config(noreplace) %{_sysconfdir}/login.defs
130 /bin/login
131 /bin/su
132 %{_bindir}/chage
133 %{_bindir}/faillog
134 %{_bindir}/gpasswd
135 %{_bindir}/lastlog
136 %{_bindir}/newgrp
137 %{_bindir}/passwd
138 %{_bindir}/sg
139 %{_sbindir}/chpasswd
140 %{_sbindir}/groupadd
141 %{_sbindir}/groupdel
142 %{_sbindir}/groupmems
143 %{_sbindir}/groupmod
144 %{_sbindir}/grpck
145 %{_sbindir}/grpconv
146 %{_sbindir}/grpunconv
147 %{_sbindir}/newusers
148 %{_sbindir}/nologin
149 %{_sbindir}/pwck
150 %{_sbindir}/pwconv
151 %{_sbindir}/pwunconv
152 %{_sbindir}/useradd
153 %{_sbindir}/userdel
154 %{_sbindir}/usermod
155 %{_sbindir}/vigr
156 %{_sbindir}/vipw