* merge fixes for SGML syntax errors (does no one ever regenerate the docs?)
[gd/samba-autobuild/.git] / packaging / Caldera / OpenLinux / samba3.spec.tmpl
1 %define Version         PVERSION
2 %define date            PRELEASE
3 %define Vendor          Caldera
4 %define Dist            OpenLinux
5 %define EtcSamba        /etc/samba.d
6
7 Name            : samba
8 Version         : %{Version}
9 Release         : %{date}
10 Group           : Server/Network
11
12 Summary      : Samba SMB client and server.
13
14 Copyright      : Andrew Tridgell, John H Terpstra; GPL Version 2
15 Packager      : Klaus Singvogel <klaus@caldera.de>
16 #Icon              : Caldera-daemon.gif
17 URL              : http://samba.org/samba
18
19 Requires        : libpam >= 0.66, SysVinit-scripts >= 1.04-6
20
21
22 BuildRoot       : /tmp/%{Name}-%{Version}
23
24 Source: ftp://ftp.samba.org/pub/samba/%{Name}-%{Version}.tar.gz
25
26
27 %Package doc
28 Group           : Server/Network
29
30 Summary      : Documentation on SAMBA.
31
32
33 %Package -n smbfs
34 Group           : System/Network
35
36 Summary         : Mount and unmount commands for SMB filesystems (smbfs).
37
38
39 %Package -n swat
40 Group           : Administration/Network
41 Requires       : setup >= 2.0-2, tcp_wrappers
42
43 Summary         : Samba Web Adminsitration Tool.
44
45 %Package -n libsmbclient
46 Group           : System/Network
47
48 Summary         : Samba Client Library.
49
50 %Description
51 Samba provides an SMB server which can be used to provide network
52 services to SMB (sometimes called "Lan Manager") clients, including
53 various versions of MS Windows, OS/2, and other Linux machines.
54
55 %Description -l de
56 Samba stellt einen SMB Server zur Verfügung, mit dem Netzwerkdienste für SMB
57 (auch "Lan Manager" genannt) Clients bereitgestellt werden können. Dies
58 schließt verschiedene Versionen von MS Windows, OS/2 und andere Linux
59 Maschinen ein.
60
61 %Description -l es
62 Samba dispone de un servidor SMB que puede utilizarse para proporcionar
63 servicios de red a clientes SMB (a veces conocido como "Lan Manager"),
64 incluyendo varias versiones de MS Windows, OS/2 y otras máquinas Linux.
65
66 %Description -l fr
67 Samba fournit un serveur SMB qui peut être utilisé pour fournir des services
68 de réseau aux clients SMB (parfois appelés "Lan Manager"), comportant
69 diverses versions de MS Windows, OS/2 et d'autres machines Linux.
70
71 %Description -l it
72 Samba fornisce un server SMB che può essere usato per fornire servizi
73 di rete a client SMB (talvolta chiamato "Lan Manager"), comprese varie
74 versioni di MS Windows, OS/2 e altre macchine Linux.
75
76 %Description -l pt
77 O Samba fornece um servidor de SMB que pode ser usado para fornecer serviços de
78 rede aos clientes de SMB (denominado por vezes como "Lan Manager"), incluindo
79 várias versões do Windows, OS/2 e outras máquinas Linux.
80
81 %Description doc
82 This package contains extensive SAMBA documentation, including a FAQ,
83 comprehensive usage documentation, and a number of examples.
84
85 %Description -l de doc
86 Dieses Paket enthält eine ausführliche SAMBA Dokumentation, inklusive
87 einer FAQ, umfassender Gebrauchsdokumentation und einer Reihe von
88 Beispielen.
89
90 %Description -l es doc
91 Este paquete contiene una extensa documentación sobre SAMBA, incluyendo
92 FAQ (Preguntas de Uso Frecuente), documentación sobre el uso y algunos
93 ejemplos.
94
95 %Description -l fr doc
96 Ce paquetage contient une documentation complète sur Samba, y compris
97 une FAQ détaillée de son utilisation et un certain nombre d'exemples.
98
99 %Description -l it doc
100 Questo pacchetto contiene la documentazione su SAMBA tra cui una FAQ
101 una esaustiva documentazione d'uso e un certo numero di esempi.
102
103 %Description -l pt doc
104 Este pacote contém alguma documentação extensa sobre o SAMBA, incluindo a FAQ,
105 alguma documentação compreensiva sobre a utilização e alguns exemplos.
106
107 %Description -n smbfs
108 This package includes the tools necessary to mount filesystems from
109 SMB servers.
110
111 %Description -l de -n smbfs
112 Dieses Paket enthält die nötigen Tools, um Dateisysteme von SMB-Servern
113 zu mounten.
114
115 %Description -l es -n smbfs
116 este paqeute incluye las herramientas necesarias para montar sistemas de
117 ficheros de servidores SMB.
118
119 %Description -l fr -n smbfs
120 Ce paquetage contient les outils nécessaires pour monter des systèmes
121 de fichiers sur des serveurs SMB.
122
123 %Description -l it -n smbfs
124 Questo pacchetto contiene gli strumenti necessari per montare filesystem
125 da server SMB.
126
127 %Description -l pt -n smbfs
128 Este pacote contém as ferramentas necessárias para montar sistema de
129 ficheiros de servidores SMB.
130
131 %Description -n swat
132 SWAT allows a Samba administrator to configure the complex smb.conf
133 file via a Web browser.  It also provides links to all the configurable
134 options in the smb.conf file allowing an administrator to easily look
135 up the effects of any change.
136
137 %Description -l de -n swat
138 Mit SWAT kann ein Samba-Administrator die komplexe smb.conf
139 Datei mit Hilfe eines Web-Browsers konfigurieren.  Es stellt auch Links zu
140 allen konfigurierbaren Optionen in der smb.conf Datei bereit, wodurch ein
141 Administrator die Auswirkungen einer Änderung leicht nachvollziehen kann.
142
143 %Description -l es -n swat
144 SWAT permite a un administrador de Samba configurar el complejo fichero
145 smb.conf mediante una navegador web. También proporciona enlaces a todas las
146 opciones configurables en el fichero smb.conf, permitiendo al administrador
147 comprobar fácilmente los efectos de cualquier cambio.
148
149 %Description -l fr -n swat
150 SWAT permet à un administrateur Samba de configurer le fichier smb.conf
151 complexe via un navigateur Web. Il fournit également des liens d'aide pour
152 toutes les options configurables dans le fichier smb.conf permettant à un
153 administrateur de consulter aisément les effets d'une modification.
154
155 %Description -l it -n swat
156 SWAT permette ad un amministratore Samba di configurare il complesso file
157 smb.conf attraverso un browser Web. SWAT ha anche dei link di aiuto per
158 tutte le opzioni di configurazione del file smb.conf.
159
160 %Description -l pt -n swat
161 O SWAT permite a um administrador de Samba configurar o complexo ficheiro
162 smb.conf através de uma interface Web. Fornece também referências para
163 todas as opções configuraveis no smb.conf, permitindo a um admnistrador
164 verificar rapidamente o efeite de qualquer alteração.
165
166 %Description -n libsmbclient
167 SMB Client Library allows for POSIX like SMB client calls providing developers
168 a clean and stable API for SMB client application development.
169
170
171 %Prep
172 %setup
173
174 for i in {cvs.,change-}log; do [ ! -f ../$i ] || mv ../$i source; done
175
176 mv swat/help/welcome.html docs
177 %{fixUP} -vT docs -e '
178   s:/usr/local/samba/bin/(smb(client|run)):/usr/bin/$1:g +
179   s:/usr/local/samba/bin/((s|n)mbd|swat):/usr/sbin/$1:g +
180   s:/usr/local/samba/var/locks:/var/lock/samba.d: +
181   s:/usr/local/samba/(var|lib)/log:/var/log/samba.d/smb: +
182   s:/usr/local/samba/swat:/usr/share/samba/swat:g +
183   s:/usr/local/samba/lib:%{EtcSamba}:g;
184 '
185 mv docs/welcome.html swat/help
186 for i in docs/*/smb.conf.5*; do
187   %{fixUP} -vT $i -e '
188     s:users\.map:smbusers:g +
189     s:SAMBA_INSTALL_DIRECTORY/lib:%{EtcSamba}: +
190     s:None \(set in compile\)\.:(see above).: +
191     s:/usr/local/:/usr/:g;
192   '
193 done
194 # End of DirtyHack(TM)
195
196
197 %Build
198 cd source
199 rm configure
200 autoconf
201
202 CFLAGS="$RPM_OPT_FLAGS" LDFLAGS="-s" ./configure \
203         --prefix=/usr \
204         --localstatedir=/var \
205         --libdir=/usr/lib/samba \
206         --sbindir=/usr/sbin \
207         --with-configdir='%{EtcSamba}' \
208         --with-privatedir='$(LIBDIR)' \
209         --with-lockdir=/var/lock/samba.d \
210         --with-swatdir=/usr/share/swat \
211         --with-smbmount \
212         --with-pam \
213         --with-tdbsam \
214         --with-ldapsam \
215         --with-krb5=/usr/athena \
216         --with-winbind \
217         --with-utmp \
218         --with-quotas \
219         --with-vfs \
220         --with-msdfs \
221         --with-profile \
222         --with-syslog \
223         --with-netatalk \
224         --with-smbwrapper \
225         --with-libsmbclient \
226         --with-acl-support \
227         --with-sambabook=/usr/share/swat/using_samba
228
229 make all nsswitch/libnss_wins.so nsswitch/libnss_winbind.so torture nsswitch/pam_winbind.so modules everything pam_smbpass
230 (cd tdb; make tdbdump tdbtest tdbtorture tdbtool)
231
232 %Install
233 %{mkDESTDIR}
234 VVS=packaging/%{Vendor}/%{Dist}
235
236 mkdir -p $DESTDIR/etc/{{rc.d/init,logrotate,pam}.d,sysconfig/daemons}
237 mkdir -p $DESTDIR%{EtcSamba}
238 mkdir -p $DESTDIR/etc/skel/Samba
239 mkdir -p $DESTDIR/home/samba
240 mkdir -p $DESTDIR/lib/security
241 mkdir -p $DESTDIR/%{LSBservedir}/{netlogon,profiles,Public}
242 mkdir -p $DESTDIR%{NKinetdir}
243 mkdir -p $DESTDIR/{sbin,bin,usr/{sbin,bin}}
244 mkdir -p $DESTDIR/%{SVIdir}
245 mkdir -p $DESTDIR/usr/{include,lib/samba/vfs}
246 mkdir -p $DESTDIR/usr/share/samba/codepages/src
247 mkdir -p $DESTDIR/usr/share/swat/using_samba/{gifs,figs}
248 mkdir -p $DESTDIR/var/{lo{ck,g}/samba.d,spool/samba}
249
250 make -C source DESTDIR=$RPM_BUILD_ROOT install-everything installclientlib 
251
252 strip $DESTDIR/usr/bin/smb{mount,mnt,umount}
253 # Add links for mount.smbfs
254 ( cd $DESTDIR/sbin; ln -s /usr/bin/smbmount mount.smbfs; \
255         ln -s /usr/bin/smbumount umount.smbfs )
256
257 # First install /usr/bin progs
258 for i in smbfilter debug2html
259 do
260         install -m 755 source/bin/$i $DESTDIR/usr/bin
261 done
262 # Next install /usr/sbin progs
263 for i in talloctort locktest locktest2 masktest msgtest smbtorture
264 do
265         install -m 755 source/bin/$i $DESTDIR/usr/sbin
266 done
267 for i in tdbdump tdbtest tdbtorture tdbtool
268 do
269         install -m 755 source/tdb/$i $DESTDIR/usr/sbin
270 done
271
272 # Install the nsswitch library extension file
273 cp -p source/nsswitch/libnss_wins.so $DESTDIR/lib
274 cp -p source/nsswitch/libnss_winbind.so $DESTDIR/lib
275 cp -p source/nsswitch/pam_winbind.so $DESTDIR/lib/security
276 cp -p source/bin/pam_smbpass.so $DESTDIR/lib/security
277 # Make link for wins resolver
278 ( cd $DESTDIR/lib; ln -s libnss_wins.so libnss_wins.so.2 )
279
280 # Add libsmbclient.a support stuff
281 install -m 755 source/bin/libsmbclient.a $DESTDIR/usr/lib
282
283 # Add smbwrapper support
284 install -m 755 source/bin/smbsh $DESTDIR/usr/bin
285 install -m 755 source/bin/smbwrapper.so $DESTDIR/usr/lib
286
287 # Ancilliary support files
288 cp -p $VVS/samba.init $DESTDIR/etc/rc.d/init.d/samba
289 ln -s /etc/rc.d/init.d/samba $DESTDIR/usr/sbin
290 cp -p $VVS/smb.conf.sample $DESTDIR%{EtcSamba}/smb.conf.sample
291 cp -p $VVS/smbusers $DESTDIR%{EtcSamba}
292 cp -p $VVS/findsmb $DESTDIR/usr/bin
293 cp -p $VVS/samba.daemon $DESTDIR/etc/sysconfig/daemons/samba
294 cp -p $VVS/samba.pam $DESTDIR/etc/pam.d/samba
295 cp -p $VVS/samba.logrotate $DESTDIR/etc/logrotate.d/samba
296
297 cat <<-'EoH' > $DESTDIR%{EtcSamba}/lmhosts
298         127.0.0.1 localhost
299 EoH
300
301 # lsb has new way of inetd configuration
302 cat <<EoI >$DESTDIR%{NKinetdir}/swat
303 swat    stream  tcp     nowait.400 root /usr/sbin/tcpd  swat
304 EoI
305
306 pushd $DESTDIR/usr/sbin
307 rm -f *.so
308 popd
309
310
311 DOCD="$DESTDIR/%{_defaultdocdir}/samba-%{Version}"; mkdir -p $DOCD
312 ln -sf ../Copyrights/GPL-2.0  $DOCD/COPYING
313 cp -p README Manifest Read-Manifest-Now WHATSNEW.txt Roadmap $DOCD
314 cp -a docs examples $DOCD
315
316 mv $DOCD/docs/htmldocs/wfw_slip.htm $DOCD/docs/wfw_slip.html
317
318 rm -rf $DOCD/docs/{htmldocs,manpages,yodldocs}
319 rm -rf $DOCD/examples/{svr4-startup,printing}
320 rm -rf $DOCD/CVS $DOCD/*/CVS $DOCD/*/*/CVS $DOCD/*/*/*/CVS
321
322 cp -p swat/README $DOCD/README.swat
323
324 # This is the O'Reily Samba Book - on-line
325 for i in docs/htmldocs/using_samba/*.html
326 do
327 install -m644 $i $DESTDIR/usr/share/swat/using_samba
328 done
329 for i in docs/htmldocs/using_samba/figs/*.gif
330 do
331 install -m644 $i $DESTDIR/usr/share/swat/using_samba/figs
332 done
333 for i in docs/htmldocs/using_samba/gifs/*.gif
334 do
335 install -m644 $i $DESTDIR/usr/share/swat/using_samba/gifs
336 done
337
338 %{fixUP} -vT $DOCD/examples -e 's:/usr/local/bin/:/usr/bin/:g;'
339 %{fixUP} -T $DESTDIR/%{SVIdir} -e 's:\@SVIdir\@:%{SVIdir}:'
340 %{fixUP} -vT $DOCD/examples -e 's:/usr/local/bin/:/usr/bin/:g;'
341 %{fixUP} -vT $DESTDIR/%{EtcSamba} -e 's:\@samba_home\@:%{LSBservedir}:'
342
343 %{fixManPages}
344 ( cd $DESTDIR/usr/share/man/lang; \
345         cp -a . $DESTDIR/usr/share/man/en; \
346         cd ..; \
347         rm -rf lang )
348
349 %{mkLists} -c samba
350 cat << 'EOF' | %{mkLists} -d samba
351 Samba                                   base
352 /lib/$                                  base
353 %{LSBservedir}                          config-IGNORED
354 ^/(etc|var|home|tmp)                    config-IGNORED
355 swat                                    swat
356 %{_defaultdocdir}/samba-[^/]+/$         base
357 %{_defaultdocdir}/samba-                doc
358 tmp                                     IGNORED
359 man                                     IGNORED
360 /src/$                                  IGNORED
361 /usr/private/$                          IGNORED
362 @default@
363 EOF
364 cat << 'EOF' | %{mkLists} -f -a samba
365 \.old$                                  IGNORED
366 Samba/README.txt                        base
367 ^/etc                                   config-IGNORED
368 %{_defaultdocdir}/samba-[^/]+/(COPYING|README$) base
369 libnss_*                                base
370 pam_*                                   base
371 vfs_*                                   base
372 pdb_*                                   base
373 smbsh                                   base
374 smbwrapper.so                           base
375 %{_defaultdocdir}/samba-[^/]+/(COPYING|README$) base
376 %{_defaultdocdir}/samba-                doc
377 smb(mount|mnt|umount)                   smbfs
378 mount.smbfs                             smbfs
379 swat                                    swat
380 libsmbclient                            libsmbclient
381 @default@
382 EOF
383
384
385 %Clean
386 %{rmDESTDIR}
387
388
389 %Post
390 /usr/lib/LSB/init-install %{Name}
391 ldconfig
392
393 %Post -n swat
394 %{NKinetdReload}
395 perl -pi -e '$s=1 if /^swat/;
396   print "swat:ALL EXCEPT 127.0.0.1\n" if eof && ! $s' /etc/hosts.deny
397
398
399 %PostUn
400 test "$1" = "0" || exit 0
401 /usr/lib/LSB/init-remove %{Name}
402 # We want to remove the browse.dat and wins.dat files so they can not
403 # interfer with a new version of samba!
404 rm -f /var/lock/samba/browse.dat
405 rm -f /var/lock/samba/{brlock,connections,locking,messages}.tdb
406 if [ -e /var/lock/samba.d/namelist.debug ]; then
407         rm -f /var/lock/samba.d/namelist.debug
408 fi
409 rm -f /var/lock/samba/unexpected.tdb
410 rm -f /var/lock/samba/{smbd,nmbd}.pid
411
412 # Note: We MUST keep:
413 #       winbindd_*, sshare_info*, printing*, ntdrivers*
414
415
416 %PostUn -n swat
417 #$no lsb: lisa --inetd disable swat $1
418 test "$1" = "0" || exit 0
419 %{SVIdir}/inet reload
420 [ -x /usr/sbin/swat ]||perl -ni -e '/^swat\s*\:/||print' /etc/hosts.deny
421
422
423 %Files -f files-samba-base
424 %defattr(-,root,root)
425 %config %attr(0755,root,root) %{SVIdir}/samba
426 %config %attr(644,root,root) /etc/sysconfig/daemons/samba
427 %config %attr(644,root,root) /etc/pam.d/samba
428 %config %attr(644,root,root) /etc/logrotate.d/samba
429 %config %attr(-,root,root) %{EtcSamba}
430 %dir %attr(755,root,root) /var/lock/samba.d
431 %dir %attr(755,root,root) /var/log/samba.d
432 %dir %attr(1777,root,root) /var/spool/samba
433 %dir %attr(755,root,root) %{LSBservedir}
434 %dir %attr(755,root,root) %{LSBservedir}/netlogon
435 %dir %attr(755,root,root) %{LSBservedir}/profiles
436 %dir %attr(755,root,root) %{LSBservedir}/Public
437
438 %Files doc -f files-samba-doc
439 %defattr(-,root,root)
440
441 %Files -n smbfs -f files-samba-smbfs
442 %defattr(-,root,root)
443
444
445 %Files -n swat  -f files-samba-swat
446 %defattr(-,root,root)
447 %config %attr(644,root,root) %{NKinetdir}/swat
448
449 %Files -n libsmbclient -f files-samba-libsmbclient
450 %defattr(-,root,root)
451
452 %ChangeLog
453 * Mon Mar 11 2002 John H Terpstra <jht@samba.org>
454 - Make this work
455