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