701dd350734556633797cd6392e66397b1d0eabb
[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-sambabook=$(DESTDIR)/usr/share/swat/using_samba
248
249 # Temp disabled - add later - JHT
250 #       --with-pam_smbpass \
251 #       --with-nisplus-home \
252 #       --with-acl-support \
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 #cd block
265 #make
266
267 %Install
268 %{mkDESTDIR}
269 VVS=packaging/%{Vendor}/%{Dist}
270
271 mkdir -p $DESTDIR/etc/{{rc.d/init,logrotate,pam}.d,sysconfig/daemons}
272 mkdir -p $DESTDIR%{EtcSamba}/codepages/src
273 mkdir -p $DESTDIR/etc/skel/Samba
274 mkdir -p $DESTDIR/home/samba
275 mkdir -p $DESTDIR/lib/security
276 mkdir -p $DESTDIR/lib/samba
277 mkdir -p $DESTDIR/%{LSBservedir}/{netlogon,profiles,Public}
278 mkdir -p $DESTDIR%{NKinetdir}
279 mkdir -p $DESTDIR/{sbin,bin,usr/{sbin,bin}}
280 mkdir -p $DESTDIR/%{SVIdir}
281 mkdir -p $DESTDIR/usr/{include,lib}
282 mkdir -p $DESTDIR/usr/share/samba/codepages/src
283 mkdir -p $DESTDIR/usr/share/swat/using_samba/{gifs,figs}
284 mkdir -p $DESTDIR/var/{lo{ck,g}/samba.d,spool/samba}
285
286 make -C source install installclientlib 
287
288 strip $DESTDIR/usr/bin/smb{mount,mnt,umount}
289 # Add links for mount.smbfs
290 ( cd $DESTDIR/sbin; ln -s /usr/bin/smbmount mount.smbfs; \
291         ln -s /usr/bin/smbumount umount.smbfs )
292
293 # First install /usr/bin progs
294 for i in smbfilter make_printerdef debug2html
295 do
296         install -m 755 source/bin/$i $DESTDIR/usr/bin
297 done
298 # Next install /usr/sbin progs
299 for i in talloctort samsync locktest locktest2 masktest msgtest smbtorture
300 do
301         install -m 755 source/bin/$i $DESTDIR/usr/sbin
302 done
303 for i in tdbdump tdbtest tdbtorture tdbtool
304 do
305         install -m 755 source/tdb/$i $DESTDIR/usr/sbin
306 done
307 # Add VFS Modules
308 #for i in audit.so recycle.so block/block.so
309 #do
310 #       install -m755 $i $DESTDIR/lib/samba
311 #done
312
313 #mv $DESTDIR/usr/bin/{make,add,conv}* $DESTDIR/usr/sbin
314
315 #cp -p source/codepages/codepage_def.??? $DESTDIR%{EtcSamba}/codepages/src
316
317 # Install the nsswitch library extension file
318 cp -p source/nsswitch/libnss_wins.so $DESTDIR/lib
319 cp -p source/nsswitch/libnss_winbind.so $DESTDIR/lib
320 cp -p source/nsswitch/pam_winbind.so $DESTDIR/lib/security
321 # Make link for wins resolver
322 ( cd $DESTDIR/lib; ln -s libnss_wins.so libnss_wins.so.2 )
323
324 # Add libsmbclient.a support stuff
325 install -m 755 source/bin/libsmbclient.a $DESTDIR/usr/lib
326
327 cp -p $VVS/samba.init $DESTDIR/etc/rc.d/init.d/samba
328 ln -s /etc/rc.d/init.d/samba $DESTDIR/usr/sbin
329
330 cp -p $VVS/smb.conf.sample $DESTDIR%{EtcSamba}/smb.conf.sample
331 cp -p $VVS/smbusers $DESTDIR%{EtcSamba}
332 cp -p $VVS/findsmb $DESTDIR/usr/bin
333 cp -p $VVS/samba.daemon $DESTDIR/etc/sysconfig/daemons/samba
334 cp -p $VVS/samba.pam $DESTDIR/etc/pam.d/samba
335 cp -p $VVS/samba.logrotate $DESTDIR/etc/logrotate.d/samba
336
337 cat <<-'EoH' > $DESTDIR%{EtcSamba}/lmhosts
338         127.0.0.1 localhost
339 EoH
340
341 # lsb has new way of inetd configuration
342 cat <<EoI >$DESTDIR%{NKinetdir}/swat
343 swat    stream  tcp     nowait.400 root /usr/sbin/tcpd  swat
344 EoI
345
346 pushd $DESTDIR/usr/sbin
347 rm -f *.so
348 popd
349
350
351 DOCD="$DESTDIR/%{_defaultdocdir}/samba-%{Version}"; mkdir -p $DOCD
352 ln -sf ../Copyrights/GPL-2.0  $DOCD/COPYING
353 cp -p README Manifest Read-Manifest-Now WHATSNEW.txt Roadmap $DOCD
354 cp -a docs examples $DOCD
355
356 mv $DOCD/docs/htmldocs/wfw_slip.htm $DOCD/docs/wfw_slip.html
357
358 rm -rf $DOCD/docs/{htmldocs,manpages,yodldocs}
359 rm -rf $DOCD/examples/{svr4-startup,printing}
360 rm -rf $DOCD/CVS $DOCD/*/CVS $DOCD/*/*/CVS $DOCD/*/*/*/CVS
361
362 cp -p swat/README $DOCD/README.swat
363
364 # This is the O'Reily Samba Book - on-line
365 for i in docs/htmldocs/using_samba/*.html
366 do
367 install -m644 $i $DESTDIR/usr/share/swat/using_samba
368 done
369 for i in docs/htmldocs/using_samba/figs/*.gif
370 do
371 install -m644 $i $DESTDIR/usr/share/swat/using_samba/figs
372 done
373 for i in docs/htmldocs/using_samba/gifs/*.gif
374 do
375 install -m644 $i $DESTDIR/usr/share/swat/using_samba/gifs
376 done
377
378 %{fixUP} -vT $DOCD/examples -e 's:/usr/local/bin/:/usr/bin/:g;'
379 %{fixUP} -T $DESTDIR/%{SVIdir} -e 's:\@SVIdir\@:%{SVIdir}:'
380 %{fixUP} -vT $DOCD/examples -e 's:/usr/local/bin/:/usr/bin/:g;'
381 %{fixUP} -vT $DESTDIR/%{EtcSamba} -e 's:\@samba_home\@:%{LSBservedir}:'
382
383 %{fixManPages}
384 ( cd $DESTDIR/usr/share/man/lang; \
385         cp -a . $DESTDIR/usr/share/man/en; \
386         cd ..; \
387         rm -rf lang )
388
389 %{mkLists} -c samba
390 cat << 'EOF' | %{mkLists} -d samba
391 Samba                                   base
392 /lib/$                                  base
393 %{LSBservedir}                          config-IGNORED
394 ^/(etc|var|home|tmp)                    config-IGNORED
395 swat                                    swat
396 %{_defaultdocdir}/samba-[^/]+/$         base
397 %{_defaultdocdir}/samba-                doc
398 tmp                                     IGNORED
399 man                                     IGNORED
400 /src/$                                  IGNORED
401 /usr/private/$                          IGNORED
402 @default@
403 EOF
404 cat << 'EOF' | %{mkLists} -f -a samba
405 \.old$                                  IGNORED
406 Samba/README.txt                        base
407 ^/etc                                   config-IGNORED
408 %{_defaultdocdir}/samba-[^/]+/(COPYING|README$) base
409 libnss_*                                base
410 pam_*                                   base
411 %{_defaultdocdir}/samba-[^/]+/(COPYING|README$) base
412 %{_defaultdocdir}/samba-                doc
413 smb(mount|mnt|umount)                   smbfs
414 mount.smbfs                             smbfs
415 swat                                    swat
416 libsmbclient                            libsmbclient
417 @default@
418 EOF
419
420
421 %Clean
422 %{rmDESTDIR}
423
424
425 %Post
426 /usr/lib/LSB/init-install %{Name}
427
428 %Post -n swat
429 %{NKinetdReload}
430 perl -pi -e '$s=1 if /^swat/;
431   print "swat:ALL EXCEPT 127.0.0.1\n" if eof && ! $s' /etc/hosts.deny
432
433
434 %PostUn
435 test "$1" = "0" || exit 0
436 /usr/lib/LSB/init-remove %{Name}
437 # We want to remove the browse.dat and wins.dat files so they can not
438 # interfer with a new version of samba!
439 rm -f /var/lock/samba/browse.dat
440 rm -f /var/lock/samba/{brlock,connections,locking,messages}.tdb
441 if [ -e /var/lock/samba.d/namelist.debug ]; then
442         rm -f /var/lock/samba.d/namelist.debug
443 fi
444 rm -f /var/lock/samba/unexpected.tdb
445 rm -f /var/lock/samba/{smbd,nmbd}.pid
446
447 # Note: We MUST keep:
448 #       winbindd_*, sshare_info*, printing*, ntdrivers*
449
450
451 %PostUn -n swat
452 #$no lsb: lisa --inetd disable swat $1
453 test "$1" = "0" || exit 0
454 %{SVIdir}/inet reload
455 [ -x /usr/sbin/swat ]||perl -ni -e '/^swat\s*\:/||print' /etc/hosts.deny
456
457
458 %Files -f files-samba-base
459 %defattr(-,root,root)
460 %config %attr(0755,root,root) %{SVIdir}/samba
461 %config %attr(644,root,root) /etc/sysconfig/daemons/samba
462 %config %attr(644,root,root) /etc/pam.d/samba
463 %config %attr(644,root,root) /etc/logrotate.d/samba
464 %config %attr(-,root,root) %{EtcSamba}
465 %dir %attr(755,root,root) /var/lock/samba.d
466 %dir %attr(755,root,root) /var/log/samba.d
467 %dir %attr(1777,root,root) /var/spool/samba
468 %dir %attr(755,root,root) %{LSBservedir}
469 %dir %attr(755,root,root) %{LSBservedir}/netlogon
470 %dir %attr(755,root,root) %{LSBservedir}/profiles
471 %dir %attr(755,root,root) %{LSBservedir}/Public
472
473 %Files doc -f files-samba-doc
474 %defattr(-,root,root)
475
476 %Files -n smbfs -f files-samba-smbfs
477 %defattr(-,root,root)
478
479
480 %Files -n swat  -f files-samba-swat
481 %defattr(-,root,root)
482 %config %attr(644,root,root) %{NKinetdir}/swat
483
484 %Files -n libsmbclient -f files-samba-libsmbclient
485 %defattr(-,root,root)
486
487 %ChangeLog
488 * Mon Mar 11 2002 John H Terpstra <jht@samba.org>
489 - Make this work
490