f57b2e59444aba6460acc4b5a37f1f461e7a97cf
[kai/samba.git] / examples / appliance / appliance.spec
1 Summary: Samba SMB client and server
2 Name: samba-appliance
3 Version: 0.2
4 Release: 1
5 Copyright: GNU GPL version 2
6 Group: Networking
7 Source: %{name}-%{version}-src.tar.gz
8 Packager: John H Terpstra [Samba-Team] <jht@samba.org>
9 Requires: pam >= 0.64
10 Prereq: chkconfig fileutils
11 BuildRoot: /var/tmp/samba
12 Provides: winbind
13
14 %define prefix /usr/local/samba
15
16 %define tng_build_dir $RPM_BUILD_DIR/%{name}-%{version}/tng
17 %define head_build_dir $RPM_BUILD_DIR/%{name}-%{version}/head
18
19 %description
20 Samba provides an SMB server which can be used to provide
21 network services to SMB (sometimes called "Lan Manager")
22 clients, including various versions of MS Windows, OS/2,
23 and other Linux machines. Samba also provides some SMB
24 clients, which complement the built-in SMB filesystem
25 in Linux. Samba uses NetBIOS over TCP/IP (NetBT) protocols
26 and does NOT need NetBEUI (Microsoft Raw NetBIOS frame)
27 protocol.
28
29 Samba-2 features an almost working NT Domain Control
30 capability and includes the new SWAT (Samba Web Administration
31 Tool) that allows samba's smb.conf file to be remotely managed
32 using your favourite web browser. For the time being this is
33 being enabled on TCP port 901 via inetd.
34
35 Please refer to the WHATSNEW.txt document for fixup information.
36 This binary release includes encrypted password support.
37 Please read the smb.conf file and ENCRYPTION.txt in the
38 docs directory for implementation details.
39
40 NOTE: Red Hat Linux 5.X Uses PAM which has integrated support
41 for Shadow passwords. Do NOT recompile with the SHADOW_PWD option
42 enabled. Red Hat Linux has built in support for quotas in PAM.
43
44 %changelog
45 * Mon Jun 5 2000 Tim Potter <tpot@samba.org>
46  - Modified to use prefix=/usr/local/samba everywhere
47
48 * Sat Nov 29 1999 Matthew Vanecek <mev0003@unt.edu>
49  - Added a Prefix and changed "/usr" to "%{prefix}"
50
51 * Sat Nov 11 1999 Tridge <tridge@linuxcare.com>
52  - changed from mount.smb to mount.smbfs
53
54 * Sat Oct 9 1999 Tridge <tridge@linuxcare.com>
55  - removed smbwrapper
56  - added smbmnt and smbmount
57
58 * Sun Apr 25 1999 John H Terpstra <jht@samba.org>
59  - added smbsh.1 man page
60
61 * Fri Mar 26 1999 Andrew Tridgell <tridge@samba.org>
62  - added --with-pam as pam is no longer used by default
63
64 * Sat Jan 27 1999 Jeremy Allison <jra@samba.org>
65  - Removed smbrun binary and tidied up some loose ends
66
67 * Sun Oct 25 1998 John H Terpstra <jht@samba.org>
68  - Added parameters to /config to ensure smb.conf, lmhosts, 
69         and smbusers never gets over-written.
70
71 * Sat Oct 24 1998 John H Terpstra <jht@samba.org>
72  - removed README.smbsh file from docs area
73
74 * Mon Oct 05 1998 John H Terpstra <jht@samba.org>
75  - Added rpcclient to binaries list
76  - Added smbwrapper stuff
77
78 * Fri Aug 21 1998 John H Terpstra <jht@samba.org>
79  - Updated for Samba version 2.0 building
80
81 * Tue Jul 07 1998 Erik Troan <ewt@redhat.com>
82   - updated postun triggerscript to check $0
83   - clear /etc/codepages from %preun instead of %postun
84
85 * Sat Jul 04 1998 John H Terpstra <jht@samba.org>
86  - fixed codepage preservation during update via -Uvh
87
88 * Mon Jun 08 1998 Erik Troan <ewt@redhat.com>
89   - made the %postun script a tad less agressive; no reason to remove
90     the logs or lock file 
91   - the %postun and %preun should only exectute if this is the final
92     removal
93   - migrated %triggerpostun from Red Hat's samba package to work around
94     packaging problems in some Red Hat samba releases
95
96 * Sun Apr 26 1998 John H Terpstra <jht@samba.org>
97  - Tidy up for early alpha releases
98  - added findsmb from SGI packaging
99
100 * Thu Apr 09 1998 John H Terpstra <jht@samba.org>
101  - Updated spec file
102  - Included new codepage.936
103
104 * Sat Mar 20 1998 John H Terpstra <jht@samba.org>
105  - Added swat facility
106
107 * Sat Jan 24 1998 John H Terpstra <jht@samba.org>
108  - Many optimisations (some suggested by Manoj Kasichainula <manojk@io.com>
109   - Use of chkconfig in place of individual symlinks to /etc/rc.d/init/smb
110   - Compounded make line
111   - Updated smb.init restart mechanism
112   - Use compound mkdir -p line instead of individual calls to mkdir
113   - Fixed smb.conf file path for log files
114   - Fixed smb.conf file path for incoming smb print spool directory
115   - Added a number of options to smb.conf file
116   - Added smbadduser command (missed from all previous RPMs) - Doooh!
117   - Added smbuser file and smb.conf file updates for username map
118
119 %prep
120 %setup
121
122 %build
123 make config
124 make
125
126 %install
127 rm -rf $RPM_BUILD_ROOT
128
129 # Install stuff for tng
130
131 mkdir -p $RPM_BUILD_ROOT%{prefix}/bin
132 mkdir -p $RPM_BUILD_ROOT/lib/security
133 cp %{tng_build_dir}/bin/samedit  $RPM_BUILD_ROOT%{prefix}/bin
134 cp %{tng_build_dir}/bin/winbindd $RPM_BUILD_ROOT%{prefix}/bin
135 cp %{tng_build_dir}/nsswitch/libnss_winbind.so $RPM_BUILD_ROOT/lib
136 cp %{tng_build_dir}/nsswitch/pam_winbind.so $RPM_BUILD_ROOT/lib/security
137
138 # Install stuff for head
139
140 mkdir -p $RPM_BUILD_ROOT%{prefix}/lib/codepages/src
141 mkdir -p $RPM_BUILD_ROOT/etc/{logrotate.d,pam.d}
142 mkdir -p $RPM_BUILD_ROOT/etc/rc.d/{init.d,rc0.d,rc1.d,rc2.d,rc3.d,rc5.d,rc6.d}
143 mkdir -p $RPM_BUILD_ROOT%{prefix}/bin
144 mkdir -p $RPM_BUILD_ROOT%{prefix}/share/swat/{images,help,include}
145 mkdir -p $RPM_BUILD_ROOT%{prefix}/man/{man1,man5,man7,man8}
146 mkdir -p $RPM_BUILD_ROOT%{prefix}/var/locks
147 mkdir -p $RPM_BUILD_ROOT%{prefix}/private
148
149 # Install standard binary files
150 for i in nmblookup smbclient smbspool smbpasswd smbstatus testparm testprns \
151       make_smbcodepage make_printerdef
152 do
153 install -m755 -s %{head_build_dir}/source/bin/$i $RPM_BUILD_ROOT%{prefix}/bin
154 done
155 for i in addtosmbpass mksmbpasswd.sh smbtar 
156 do
157 install -m755 %{head_build_dir}/source/script/$i $RPM_BUILD_ROOT%{prefix}/bin
158 done
159
160 # Install secure binary files
161 for i in smbd nmbd swat smbmount smbmnt smbumount
162 do
163 install -m755 -s %{head_build_dir}/source/bin/$i $RPM_BUILD_ROOT%{prefix}/bin
164 done
165
166 # we need a symlink for mount to recognise the smb filesystem type
167 #ln -sf %{prefix}/bin/smbmount $RPM_BUILD_ROOT%{prefix}/bin/mount.smbfs
168
169 # Install level 1 man pages
170 for i in smbclient.1 smbrun.1 smbstatus.1 smbtar.1 testparm.1 testprns.1 make_smbcodepage.1 nmblookup.1
171 do
172 install -m644 %{head_build_dir}/docs/manpages/$i $RPM_BUILD_ROOT%{prefix}/man/man1
173 done
174
175 # Install codepage source files
176 for i in 437 737 850 852 861 866 932 936 949 950
177 do
178 install -m644 %{head_build_dir}/source/codepages/codepage_def.$i $RPM_BUILD_ROOT%{prefix}/lib/codepages/src
179 done
180
181 # Install SWAT helper files
182 for i in %{head_build_dir}/swat/help/*.html %{head_build_dir}/docs/htmldocs/*.html
183 do
184 install -m644 $i $RPM_BUILD_ROOT%{prefix}/share/swat/help
185 done
186 for i in %{head_build_dir}/swat/images/*.gif
187 do
188 install -m644 $i $RPM_BUILD_ROOT%{prefix}/share/swat/images
189 done
190 for i in %{head_build_dir}/swat/include/*.html
191 do
192 install -m644 $i $RPM_BUILD_ROOT%{prefix}/share/swat/include
193 done
194
195 # Install the miscellany
196 install -m644 %{head_build_dir}/swat/README $RPM_BUILD_ROOT%{prefix}/share/swat
197 install -m644 %{head_build_dir}/docs/manpages/smb.conf.5 $RPM_BUILD_ROOT%{prefix}/man/man5
198 install -m644 %{head_build_dir}/docs/manpages/lmhosts.5 $RPM_BUILD_ROOT%{prefix}/man/man5
199 install -m644 %{head_build_dir}/docs/manpages/smbpasswd.5 $RPM_BUILD_ROOT%{prefix}/man/man5
200 install -m644 %{head_build_dir}/docs/manpages/samba.7 $RPM_BUILD_ROOT%{prefix}/man/man7
201 install -m644 %{head_build_dir}/docs/manpages/smbd.8 $RPM_BUILD_ROOT%{prefix}/man/man8
202 install -m644 %{head_build_dir}/docs/manpages/nmbd.8 $RPM_BUILD_ROOT%{prefix}/man/man8
203 install -m644 %{head_build_dir}/docs/manpages/swat.8 $RPM_BUILD_ROOT%{prefix}/man/man8
204 install -m644 %{head_build_dir}/docs/manpages/smbmnt.8 $RPM_BUILD_ROOT%{prefix}/man/man8
205 install -m644 %{head_build_dir}/docs/manpages/smbmount.8 $RPM_BUILD_ROOT%{prefix}/man/man8
206 install -m644 %{head_build_dir}/docs/manpages/smbpasswd.8 $RPM_BUILD_ROOT%{prefix}/man/man8
207 install -m644 %{head_build_dir}/docs/manpages/smbspool.8 $RPM_BUILD_ROOT%{prefix}/man/man8
208 install -m644 $RPM_BUILD_DIR/%{name}-%{version}/smb.conf-appliance $RPM_BUILD_ROOT%{prefix}/lib/smb.conf
209 install -m644 %{head_build_dir}/packaging/RedHat/smbusers $RPM_BUILD_ROOT/etc/smbusers
210 install -m755 %{head_build_dir}/packaging/RedHat/smbprint $RPM_BUILD_ROOT%{prefix}/bin
211 install -m755 %{head_build_dir}/packaging/RedHat/findsmb $RPM_BUILD_ROOT%{prefix}/bin
212 install -m755 %{head_build_dir}/packaging/RedHat/smbadduser $RPM_BUILD_ROOT%{prefix}/bin
213 install -m755 %{head_build_dir}/packaging/RedHat/smb.init $RPM_BUILD_ROOT/etc/rc.d/init.d/smb
214 install -m755 %{head_build_dir}/packaging/RedHat/smb.init $RPM_BUILD_ROOT%{prefix}/bin/samba
215 install -m644 %{head_build_dir}/packaging/RedHat/samba.pamd $RPM_BUILD_ROOT/etc/pam.d/samba
216 install -m644 %{head_build_dir}/packaging/RedHat/samba.log $RPM_BUILD_ROOT/etc/logrotate.d/samba
217 echo 127.0.0.1 localhost > $RPM_BUILD_ROOT/etc/lmhosts
218
219 %clean
220 rm -rf $RPM_BUILD_ROOT
221
222 %post
223 #/sbin/chkconfig --add smb
224
225 # Build codepage load files
226 for i in 437 737 850 852 861 866 932 936 949 950
227 do
228 %{prefix}/bin/make_smbcodepage c $i %{prefix}/lib/codepages/src/codepage_def.$i %{prefix}/lib/codepages/codepage.$i
229 done
230
231 # Add swat entry to /etc/services if not already there
232 if !( grep ^[:space:]*swat /etc/services > /dev/null ) then
233         echo 'swat              901/tcp                         # Add swat service used via inetd' >> /etc/services
234 fi
235
236 # Add swat entry to /etc/inetd.conf if needed
237 if !( grep ^[:space:]*swat /etc/inetd.conf > /dev/null ) then
238         echo 'swat      stream  tcp     nowait.400      root    %{prefix}/sbin/swat swat' >> /etc/inetd.conf
239 killall -1 inetd || :
240 fi
241
242 %preun
243 if [ $1 = 0 ] ; then
244     /sbin/chkconfig --del smb
245
246     for n in %{prefix}/lib/codepages/*; do
247         if [ $n != %{prefix}/lib/codepages/src ]; then
248             rm -rf $n
249         fi
250     done
251     # We want to remove the browse.dat and wins.dat files so they can not interfer with a new version of samba!
252     if [ -e %{prefix}/var/locks/browse.dat ]; then
253             rm -f %{prefix}/var/locks/browse.dat
254     fi
255     if [ -e %{prefix}/var/locks/wins.dat ]; then
256             rm -f %{prefix}/var/locks/wins.dat
257     fi
258 fi
259
260 %postun
261 # Only delete remnants of samba if this is the final deletion.
262 if [ $1 = 0 ] ; then
263     if [ -x /etc/pam.d/samba ]; then
264       rm -f /etc/pam.d/samba
265     fi
266     if [ -e /var/log/samba ]; then
267       rm -rf /var/log/samba
268    fi
269     if [ -e /var/lock/samba ]; then
270       rm -rf /var/lock/samba
271     fi
272
273     # Remove swat entries from /etc/inetd.conf and /etc/services
274     cd /etc
275     tmpfile=/etc/tmp.$$
276     sed -e '/^[:space:]*swat.*$/d' /etc/inetd.conf > $tmpfile
277     mv $tmpfile inetd.conf
278     sed -e '/^[:space:]*swat.*$/d' /etc/services > $tmpfile
279     mv $tmpfile services
280 fi
281
282 %triggerpostun -- samba < samba-2.0.0
283 if [ $0 != 0 ]; then
284     /sbin/chkconfig --add smb
285 fi
286
287
288 %files
289 %doc %{head_build_dir}/README %{head_build_dir}/COPYING 
290 %doc %{head_build_dir}/Manifest %{head_build_dir}/Read-Manifest-Now
291 %doc %{head_build_dir}/WHATSNEW.txt %{head_build_dir}/Roadmap
292 %doc %{head_build_dir}/docs
293 %doc %{head_build_dir}/swat/README
294 %doc %{head_build_dir}/examples
295 %attr(-,root,root) %{prefix}/bin/smbd
296 %attr(-,root,root) %{prefix}/bin/nmbd
297 %attr(-,root,root) %{prefix}/bin/swat
298 %attr(-,root,root) %{prefix}/bin/smbmnt
299 %attr(-,root,root) %{prefix}/bin/smbmount
300 %attr(-,root,root) %{prefix}/bin/smbumount
301 %attr(0750,root,root) %{prefix}/bin/samba
302 %attr(-,root,root) %{prefix}/bin/addtosmbpass
303 %attr(-,root,root) %{prefix}/bin/mksmbpasswd.sh
304 %attr(-,root,root) %{prefix}/bin/smbclient
305 %attr(-,root,root) %{prefix}/bin/smbspool
306 %attr(-,root,root) %{prefix}/bin/testparm
307 %attr(-,root,root) %{prefix}/bin/testprns
308 %attr(-,root,root) %{prefix}/bin/findsmb
309 %attr(-,root,root) %{prefix}/bin/smbstatus
310 %attr(-,root,root) %{prefix}/bin/nmblookup
311 %attr(-,root,root) %{prefix}/bin/make_smbcodepage
312 %attr(-,root,root) %{prefix}/bin/make_printerdef
313 %attr(-,root,root) %{prefix}/bin/smbpasswd
314 %attr(-,root,root) %{prefix}/bin/smbtar
315 %attr(-,root,root) %{prefix}/bin/smbprint
316 %attr(-,root,root) %{prefix}/bin/smbadduser
317 %attr(-,root,root) %{prefix}/share/swat/help/welcome.html
318 %attr(-,root,root) %{prefix}/share/swat/help/DOMAIN_MEMBER.html
319 %attr(-,root,root) %{prefix}/share/swat/help/NT_Security.html
320 %attr(-,root,root) %{prefix}/share/swat/help/lmhosts.5.html
321 %attr(-,root,root) %{prefix}/share/swat/help/make_smbcodepage.1.html
322 %attr(-,root,root) %{prefix}/share/swat/help/nmbd.8.html
323 %attr(-,root,root) %{prefix}/share/swat/help/nmblookup.1.html
324 %attr(-,root,root) %{prefix}/share/swat/help/samba.7.html
325 %attr(-,root,root) %{prefix}/share/swat/help/smb.conf.5.html
326 %attr(-,root,root) %{prefix}/share/swat/help/smbclient.1.html
327 %attr(-,root,root) %{prefix}/share/swat/help/smbspool.8.html
328 %attr(-,root,root) %{prefix}/share/swat/help/smbd.8.html
329 %attr(-,root,root) %{prefix}/share/swat/help/smbpasswd.5.html
330 %attr(-,root,root) %{prefix}/share/swat/help/smbpasswd.8.html
331 %attr(-,root,root) %{prefix}/share/swat/help/smbrun.1.html
332 %attr(-,root,root) %{prefix}/share/swat/help/smbstatus.1.html
333 %attr(-,root,root) %{prefix}/share/swat/help/smbtar.1.html
334 %attr(-,root,root) %{prefix}/share/swat/help/swat.8.html
335 %attr(-,root,root) %{prefix}/share/swat/help/testparm.1.html
336 %attr(-,root,root) %{prefix}/share/swat/help/testprns.1.html
337 %attr(-,root,root) %{prefix}/share/swat/images/globals.gif
338 %attr(-,root,root) %{prefix}/share/swat/images/home.gif
339 %attr(-,root,root) %{prefix}/share/swat/images/passwd.gif
340 %attr(-,root,root) %{prefix}/share/swat/images/printers.gif
341 %attr(-,root,root) %{prefix}/share/swat/images/shares.gif
342 %attr(-,root,root) %{prefix}/share/swat/images/samba.gif
343 %attr(-,root,root) %{prefix}/share/swat/images/status.gif
344 %attr(-,root,root) %{prefix}/share/swat/images/viewconfig.gif
345 %attr(-,root,root) %{prefix}/share/swat/include/header.html
346 %attr(-,root,root) %{prefix}/share/swat/include/footer.html
347 %attr(-,root,root) %config(noreplace) /etc/lmhosts
348 %attr(-,root,root) %config(noreplace) %{prefix}/lib/smb.conf
349 %attr(-,root,root) %config(noreplace) /etc/smbusers
350 %attr(-,root,root) /etc/rc.d/init.d/smb
351 %attr(-,root,root) /etc/logrotate.d/samba
352 %attr(-,root,root) /etc/pam.d/samba
353 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.437
354 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.737
355 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.850
356 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.852
357 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.861
358 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.866
359 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.932
360 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.936
361 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.949
362 %attr(-,root,root) %{prefix}/lib/codepages/src/codepage_def.950
363 %attr(-,root,root) %{prefix}/man/man1/smbstatus.1
364 %attr(-,root,root) %{prefix}/man/man1/smbclient.1
365 %attr(-,root,root) %{prefix}/man/man1/make_smbcodepage.1
366 %attr(-,root,root) %{prefix}/man/man1/smbrun.1
367 %attr(-,root,root) %{prefix}/man/man1/smbtar.1
368 %attr(-,root,root) %{prefix}/man/man1/testparm.1
369 %attr(-,root,root) %{prefix}/man/man1/testprns.1
370 %attr(-,root,root) %{prefix}/man/man1/nmblookup.1
371 %attr(-,root,root) %{prefix}/man/man5/smb.conf.5
372 %attr(-,root,root) %{prefix}/man/man5/lmhosts.5
373 %attr(-,root,root) %{prefix}/man/man5/smbpasswd.5
374 %attr(-,root,root) %{prefix}/man/man7/samba.7
375 %attr(-,root,root) %{prefix}/man/man8/smbd.8
376 %attr(-,root,root) %{prefix}/man/man8/nmbd.8
377 %attr(-,root,root) %{prefix}/man/man8/smbpasswd.8
378 %attr(-,root,root) %{prefix}/man/man8/swat.8
379 %attr(-,root,root) %{prefix}/man/man8/smbmnt.8
380 %attr(-,root,root) %{prefix}/man/man8/smbmount.8
381 %attr(-,root,root) %{prefix}/man/man8/smbspool.8
382 %attr(-,root,root) %dir %{prefix}/lib/codepages
383 %attr(-,root,root) %dir %{prefix}/lib/codepages/src
384 %attr(-,root,root) %dir %{prefix}/var/locks
385 %attr(-,root,root) %{prefix}/bin/winbindd
386 %attr(-,root,root) %{prefix}/bin/samedit
387 %attr(-,root,root) /lib/libnss_winbind.so
388 %attr(-,root,root) /lib/security/pam_winbind.so