1 %define initdir
%{_sysconfdir}/rc.d
/init.d
2 %define auth %
(test -f
/etc
/pam.d
/system
-auth
&& echo /etc
/pam.d
/system
-auth ||
echo)
4 Summary: Samba SMB client and server
6 Packager: Samba Team
<samba@samba.org
>
11 License: GNU GPL version
3
12 Group: System Environment
/Daemons
13 URL: http
://www.samba.org
/
15 Source: samba
-%{version}.tar.bz2
17 # Don't depend on Net::LDAP
18 Source997
: docs.tar.bz2
19 Source998
: filter
-requires
-samba.sh
20 Source999
: setup.tar.bz2
22 Prereq
: /sbin
/chkconfig
/bin
/mktemp
/usr
/bin
/killall
23 Prereq
: fileutils sed
/etc
/init.d
25 Requires: pam
>= 0.64 %{auth}
26 Requires: samba
-common
= %{version}-%{release}
27 Requires: logrotate
>= 3.4 initscripts
>= 5.54-1
28 Provides: samba
= %{version}
31 BuildRoot: %{_tmppath}/%{name}-%{version}-root
32 BuildRequires
: pam
-devel
, readline
-devel
, fileutils
, libacl
-devel
, openldap
-devel
, krb5
-devel
, cups
-devel
, ctdb
34 # Working around perl dependency problem from docs
35 %define __perl_requires
%{SOURCE998}
37 # rpm screws up the arch lib dir when using --target on RHEL5
38 %ifarch i386 i486 i586 i686 ppc s390
41 %define _libarch
%_lib
44 %define _libarchdir
/usr
/%{_libarch}
48 Samba is the protocol by which a lot of PC
-related machines share
49 files
, printers
, and other information
(such as lists of available
50 files and printers
). The Windows NT
, OS
/2, and Linux operating systems
51 support this natively
, and add
-on packages can
enable the same thing
52 for DOS
, Windows
, VMS
, UNIX of all kinds
, MVS
, and more. This package
53 provides an SMB server that can be used to provide network services to
54 SMB
(sometimes called "Lan Manager"
) clients. Samba uses NetBIOS over
55 TCP
/IP
(NetBT
) protocols and does NOT need the NetBEUI
(Microsoft Raw
56 NetBIOS frame
) protocol.
59 ######################################################################
61 Summary: Samba
(SMB
) client programs.
62 Group: Applications
/System
63 Requires: samba
-common
= %{version}-%{release}
65 Provides: samba
-client
= %{version}-%{release}
68 The samba
-client package provides some SMB clients to compliment the
69 built
-in SMB filesystem
in Linux. These clients allow access of SMB
70 shares and printing to SMB printers.
73 #######################################################################
75 Summary: Files used by both Samba servers and clients.
76 Group: Applications
/System
77 Provides: samba
-common
= %{version}-%{release}
80 Samba
-common provides files necessary
for both the server and client
84 #######################################################################
86 Summary: The Samba SMB server configuration program.
87 Group: Applications
/System
88 Requires: samba
= %{version} xinetd
89 Provides: samba
-swat
= %{version}-%{release}
92 The samba
-swat package includes the new SWAT
(Samba Web Administration
93 Tool
), for remotely managing Samba's smb.conf file using your favorite
96 %ifarch i386 i486 i586 i686 ppc s390
97 %package winbind
-32bit
98 Summary: Samba winbind compatibility package
for 32bit apps on
64bit archs
99 Group: Applications
/System
101 %description winbind
-32bit
102 Compatibility package
for 32 bit apps on
64 bit architecures
106 #######################################################################
108 Summary: Samba Documentation
109 Group: Documentation
/Other
110 Provides: samba
-doc
= %{version}-%{release}
111 Prereq
: /usr
/bin
/find
/bin
/rm /usr
/bin
/xargs
114 The samba
-doc package includes the HTML versions of the Samba manpages
115 utilized by SWAT as well as the HTML and PDF version of "Using Samba"
,
116 "Samba By Example"
, and "The Official Samba HOWTO and Reference Guide".
119 #######################################################################
124 # setup the vendor files (init scripts, etc...)
125 %setup -T
-D
-a
999 -n samba
-%{version} -q
126 %setup -T
-D
-a
997 -n samba
-%{version} -q
130 /bin
/cp setup
/filter
-requires
-samba.sh
%{SOURCE998}
133 # RPM_OPT_FLAGS="$RPM_OPT_FLAGS -D_FILE_OFFSET_BITS=64"
136 # ccache -h 2>&1 > /dev/null
137 #if [ $? -eq 0 ]; then
143 ## always run autogen.sh
146 CFLAGS
="$RPM_OPT_FLAGS $EXTRA
-D_GNU_SOURCE" .
/configure \
147 --prefix
=%{_prefix} \
148 --localstatedir
=/var \
149 --with
-configdir
=%{_sysconfdir}/samba \
150 --with
-libdir
=%{_libarchdir}/samba \
151 --with
-lockdir
=/var
/lib
/samba \
152 --with
-logfilebase
=/var
/log
/samba \
153 --with
-mandir
=%{_mandir} \
154 --with
-piddir
=/var
/run \
155 --with
-privatedir
=%{_sysconfdir}/samba \
156 --with
-sambabook
=%{_datadir}/swat
/using_samba \
157 --with
-swatdir
=%{_datadir}/swat \
164 --with
-libsmbclient \
165 --with
-libsmbsharemodes \
166 --without
-smbwrapper \
169 --with
-shared
-modules
=idmap_rid
,idmap_ad
,idmap_tdb2 \
172 --with
-cluster
-support \
173 --with
-ctdb
=/usr
/include \
180 make CFLAGS
="$RPM_OPT_FLAGS
-D_GNU_SOURCE" proto
182 ## check for gcc 3.4 or later
183 CC_VERSION
=`$
{CC
} --version | head
-1 | awk '
{print $
3}'`
184 CC_MAJOR
=`
echo $
{CC_VERSION
} | cut
-d.
-f
1`
185 CC_MINOR
=`
echo $
{CC_VERSION
} | cut
-d.
-f
2`
186 if [ $
{CC_MAJOR
} -ge
3 ]; then
187 if [ $
{CC_MAJOR
} -gt
3 -o $
{CC_MINOR
} -ge
4 ]; then
193 make CFLAGS
="$RPM_OPT_FLAGS
-D_GNU_SOURCE"
%{?_smp_mflags} \
194 all modules pam_smbpass
196 ## build the cifs fs mount helper
198 gcc
-o mount.cifs $RPM_OPT_FLAGS
-D_GNU_SOURCE
-Wall
-D_GNU_SOURCE
-D_LARGEFILE64_SOURCE mount.cifs.c
199 gcc
-o umount.cifs $RPM_OPT_FLAGS
-D_GNU_SOURCE
-Wall
-D_GNU_SOURCE
-D_LARGEFILE64_SOURCE umount.cifs.c
202 # Remove some permission bits to avoid to many dependencies
204 find examples docs
-type f | xargs
-r chmod
-x
207 # Clean up in case there is trash left from a previous build
208 rm -rf $RPM_BUILD_ROOT
210 # Create the target build directory hierarchy
211 mkdir -p $RPM_BUILD_ROOT
%{_datadir}/swat/{help,include,using_samba/{figs,gifsa}}
212 mkdir -p $RPM_BUILD_ROOT
%{_includedir}
213 mkdir -p $RPM_BUILD_ROOT
%{_initrddir}
214 mkdir -p $RPM_BUILD_ROOT
{%{_libarchdir},%{_includedir}}
215 mkdir -p $RPM_BUILD_ROOT
%{_libarchdir}/samba/{auth,charset,idmap,vfs,pdb}
216 mkdir -p $RPM_BUILD_ROOT
/%{_libarch}/security
217 mkdir -p $RPM_BUILD_ROOT
%{_mandir}
218 mkdir -p $RPM_BUILD_ROOT
%{_prefix}/{bin,sbin}
219 mkdir -p $RPM_BUILD_ROOT
%{_prefix}/lib
220 mkdir -p $RPM_BUILD_ROOT
/sbin
221 mkdir -p $RPM_BUILD_ROOT
%{_sysconfdir}/{logrotate.d,pam.d,samba}
222 mkdir -p $RPM_BUILD_ROOT
%{_sysconfdir}/{pam.d,logrotate.d}
223 mkdir -p $RPM_BUILD_ROOT
%{_sysconfdir}/rc.d
/init.d
224 mkdir -p $RPM_BUILD_ROOT
%{_sysconfdir}/{samba,sysconfig}
225 mkdir -p $RPM_BUILD_ROOT
%{_sysconfdir}/xinetd.d
226 mkdir -p $RPM_BUILD_ROOT
/var
/lib
/samba
/winbindd_privileged
227 mkdir -p $RPM_BUILD_ROOT
/var
/{log
,run
/winbindd
,spool
}/samba
230 make DESTDIR
=$RPM_BUILD_ROOT \
235 cp
source/bin
/pam_smbpass.so $RPM_BUILD_ROOT
/%{_libarch}/security
/pam_smbpass.so
237 # NSS & PAM winbind support
238 install -m
755 source/bin
/pam_winbind.so $RPM_BUILD_ROOT
/%{_libarch}/security
/pam_winbind.so
239 install -m
755 source/nsswitch
/libnss_winbind.so $RPM_BUILD_ROOT
/%{_libarch}/libnss_winbind.so
240 #install -m 755 source/nsswitch/libnss_wins.so $RPM_BUILD_ROOT/%{_libarch}/libnss_wins.so
241 ( cd $RPM_BUILD_ROOT
/%{_libarch};
242 ln
-sf libnss_winbind.so libnss_winbind.so
.2 )
243 # ( cd $RPM_BUILD_ROOT/%{_libarch}; ln -sf libnss_wins.so libnss_wins.so.2 )
245 # make install puts libsmbclient.so in the wrong place on x86_64
246 rm -f $RPM_BUILD_ROOT
/usr
/lib
*/samba
/libsmbclient.so $RPM_BUILD_ROOT
/usr
/lib
*/samba
/libsmbclient.a || true
247 install -m
755 source/bin
/libsmbclient.so $RPM_BUILD_ROOT
%{_libarchdir}/libsmbclient.so
248 install -m
755 source/bin
/libsmbclient.a $RPM_BUILD_ROOT
%{_libarchdir}/libsmbclient.a
249 install -m
644 source/include
/libsmbclient.h $RPM_BUILD_ROOT
%{_includedir}
250 ln
-s
%{_libarchdir}/libsmbclient.so $RPM_BUILD_ROOT%{_libarchdir}/libsmbclient.so
.0
252 # make install puts libmsrpc.so in the wrong place on x86_64
253 #rm -f $RPM_BUILD_ROOT/usr/lib*/samba/libmsrpc.so $RPM_BUILD_ROOT/usr/lib*/samba/libmsrpc.a || true
254 #install -m 755 source/bin/libmsrpc.so $RPM_BUILD_ROOT%{_libarchdir}/libmsrpc.so
255 #install -m 755 source/bin/libmsrpc.a $RPM_BUILD_ROOT%{_libarchdir}/libmsrpc.a
256 #install -m 644 source/include/libmsrpc.h $RPM_BUILD_ROOT%{_includedir}
257 #rm -f $RPM_BUILD_ROOT%{_libarchdir}/samba/libmsrpc.*
258 #ln -s /%{_libarchdir}/libmsrpc.so $RPM_BUILD_ROOT%{_libarchdir}/libmsrpc.so.0
260 # make install puts libsmbsharemodes.so in the wrong place on x86_64
261 rm -f $RPM_BUILD_ROOT
/usr
/lib
*/samba
/libsmbsharemodes.so $RPM_BUILD_ROOT
/usr
/lib
*/samba
/libsmbsharemodes.a || true
262 install -m
755 source/bin
/libsmbsharemodes.so $RPM_BUILD_ROOT
%{_libarchdir}/libsmbsharemodes.so
263 install -m
755 source/bin
/libsmbsharemodes.a $RPM_BUILD_ROOT
%{_libarchdir}/libsmbsharemodes.a
264 install -m
644 source/include
/smb_share_modes.h $RPM_BUILD_ROOT
%{_includedir}
265 rm -f $RPM_BUILD_ROOT
%{_libarchdir}/samba
/libsmbsharemodes.
*
266 ln
-s
/%{_libarchdir}/libsmbsharemodes.so $RPM_BUILD_ROOT%{_libarchdir}/libsmbsharemodes.so
.0
268 # Install pam_smbpass.so
269 install -m755
source/bin
/pam_smbpass.so $RPM_BUILD_ROOT
/%{_libarch}/security
/pam_smbpass.so
271 # Put the shared libraries to their SONAME under /usr/lib{,64}
272 # and create the proper .so symlinks
275 rm -f $RPM_BUILD_ROOT
%{_libarchdir}/samba
/libwbclient.so
*
276 install -m
755 source/bin
/libwbclient.so \
277 $RPM_BUILD_ROOT
%{_libarchdir}/libwbclient.so
.0
278 ln
-s libwbclient.so
.0 $RPM_BUILD_ROOT
%{_libarchdir}/libwbclient.so
280 rm -f $RPM_BUILD_ROOT
%{_libarchdir}/samba
/libtalloc.so
*
281 install -m
755 source/bin
/libtalloc.so \
282 $RPM_BUILD_ROOT
%{_libarchdir}/libtalloc.so
.1
283 ln
-s libtalloc.so
.1 $RPM_BUILD_ROOT
%{_libarchdir}/libtalloc.so
285 rm -f $RPM_BUILD_ROOT
%{_libarchdir}/samba
/libtdb.so
*
286 install -m
755 source/bin
/libtdb.so \
287 $RPM_BUILD_ROOT
%{_libarchdir}/libtdb.so
.1
288 ln
-s libtdb.so
.1 $RPM_BUILD_ROOT
%{_libarchdir}/libtdb.so
290 rm -f $RPM_BUILD_ROOT
%{_libarchdir}/samba
/libnetapi.so
*
291 install -m
755 source/bin
/libnetapi.so \
292 $RPM_BUILD_ROOT
%{_libarchdir}/libnetapi.so
.0
293 ln
-s libnetapi.so
.0 $RPM_BUILD_ROOT
%{_libarchdir}/libnetapi.so
296 /bin
/rm -rf $RPM_BUILD_ROOT
/usr
/lib
*/samba
/security
298 # Install the miscellany
299 echo 127.0.0.1 localhost
> $RPM_BUILD_ROOT
%{_sysconfdir}/samba
/lmhosts
301 install -m644 setup
/samba.log $RPM_BUILD_ROOT
%{_sysconfdir}/logrotate.d
/samba
302 install -m644 setup
/swat $RPM_BUILD_ROOT
%{_sysconfdir}/xinetd.d
/swat
303 install -m644 setup
/samba.sysconfig $RPM_BUILD_ROOT
%{_sysconfdir}/sysconfig
/samba
304 install -m755 setup
/smb.init $RPM_BUILD_ROOT
%{initdir}/smb
305 install -m755 setup
/winbind.init $RPM_BUILD_ROOT
%{initdir}/winbind
306 install -m644 setup
/samba.pamd $RPM_BUILD_ROOT
%{_sysconfdir}/pam.d
/samba
307 install -m755 setup
/smbprint $RPM_BUILD_ROOT
%{_bindir}
308 install -m644 setup
/smbusers $RPM_BUILD_ROOT
%{_sysconfdir}/samba
/smbusers
309 install -m644 setup
/smb.conf $RPM_BUILD_ROOT
%{_sysconfdir}/samba
/smb.conf
310 install -m755
source/client
/mount.cifs $RPM_BUILD_ROOT
/sbin
/mount.cifs
311 install -m755
source/client
/umount.cifs $RPM_BUILD_ROOT
/sbin
/umount.cifs
312 install -m755
source/script
/mksmbpasswd.sh $RPM_BUILD_ROOT
%{_bindir}
314 /bin
/rm $RPM_BUILD_ROOT
%{_sbindir}/*mount.cifs
316 ln
-s ..
/..
%{initdir}/smb $RPM_BUILD_ROOT%{_sbindir}/samba
317 ln
-s ..
/..
%{initdir}/winbind $RPM_BUILD_ROOT%{_sbindir}/winbind
319 # Remove "*.old" files
320 find $RPM_BUILD_ROOT
-name "
*.old"
-exec rm -f
{} \
;
322 ## don't duplicate the docs. These are installed by/with SWAT
325 ( cd docs
; ln
-s
%{_prefix}/share
/swat
/help htmldocs
)
328 ## Clean out man pages for tools not installed here
330 rm -f $RPM_BUILD_ROOT
%{_mandir}/man1
/log2pcap
.1*
331 rm -f $RPM_BUILD_ROOT
%{_mandir}/man1
/smbsh
.1*
332 rm -f $RPM_BUILD_ROOT
%{_mandir}/man5
/vfstest
.1*
336 rm -rf $RPM_BUILD_ROOT
339 ## deal with an upgrade from a broken 3.0.21b RPM
340 if [ "$
1"
-eq "
2"
]; then
341 if [ -d
/var
/cache
/samba
]; then
342 for file
in `ls
/var
/cache
/samba
/*tdb`
; do
343 /bin
/cp
-up $file
/var
/lib
/samba
/`basename $file`
345 mkdir -p
/var
/lib
/samba
/eventlog
346 for file
in `ls
/var
/cache
/samba
/eventlog
/*tdb`
; do
347 /bin
/cp
-up $file
/var
/lib
/samba
/eventlog
/`basename $file`
349 /bin
/mv
/var
/cache
/samba
/var
/cache
/samba.moved
353 if [ "$
1"
-ge "
1"
]; then
354 /sbin
/service smb condrestart
>/dev
/null
2>&1 ||
:
359 /sbin
/service smb stop
>/dev
/null
2>&1 ||
:
360 /sbin
/chkconfig
--del smb
361 # rm -rf /var/log/samba/* /var/lib/samba/*
368 # Add swat entry to /etc/services if not already there.
369 if [ ! "`grep ^\s
**swat
/etc
/services`"
]; then
370 echo 'swat
901/tcp
# Add swat service used via inetd' >> /etc/services
376 if [ "$
1"
-ge "
1"
]; then
377 /sbin
/service winbind condrestart
>/dev
/null
2>&1 ||
:
382 /sbin
/service winbind stop
>/dev
/null
2>&1 ||
:
383 /sbin
/chkconfig
--del winbind
390 #######################################################################
392 #######################################################################
395 %defattr(-,root
,root
)
397 %config(noreplace
) %{_sysconfdir}/sysconfig
/samba
398 %config(noreplace
) %{_sysconfdir}/samba
/smbusers
399 %attr(755,root
,root
) %config %{initdir}/smb
400 %config(noreplace
) %{_sysconfdir}/logrotate.d
/samba
401 %config(noreplace
) %{_sysconfdir}/pam.d
/samba
403 %attr(0755,root
,root
) %dir /var
/log
/samba
404 %attr(0755,root
,root
) %dir /var
/lib
/samba
405 %attr(1777,root
,root
) %dir /var
/spool
/samba
412 %{_bindir}/mksmbpasswd.sh
413 %{_bindir}/smbcontrol
418 %{_bindir}/eventlogadm
420 %{_libarchdir}/samba
/idmap
/*.so
421 %{_libarchdir}/samba
/nss_info
/*.so
422 %{_libarchdir}/samba
/vfs
/*.so
423 %{_libarchdir}/samba
/auth
/*.so
425 %{_mandir}/man1
/smbcontrol
.1*
426 %{_mandir}/man1
/smbstatus
.1*
427 %{_mandir}/man1
/vfstest
.1*
428 %{_mandir}/man5
/smbpasswd
.5*
429 %{_mandir}/man7
/samba
.7*
430 %{_mandir}/man8
/nmbd
.8*
431 %{_mandir}/man8
/pdbedit
.8*
432 %{_mandir}/man8
/smbd
.8*
433 %{_mandir}/man8
/tdbbackup
.8*
434 %{_mandir}/man8
/tdbdump
.8*
435 %{_mandir}/man8
/tdbtool
.8*
436 %{_mandir}/man8
/eventlogadm
.8*
437 %{_mandir}/man8
/vfs_
*.8*
438 %{_mandir}/man8
/idmap_
*.8*
444 %defattr(-,root
,root
)
445 %doc README COPYING Manifest
446 %doc WHATSNEW.txt Roadmap
448 %doc examples
/autofs examples
/LDAP examples
/libsmbclient examples
/misc examples
/printer
-accounting
449 %doc examples
/printing
454 %defattr(-,root
,root
)
455 %config(noreplace
) %{_sysconfdir}/xinetd.d
/swat
456 %dir %{_datadir}/swat
459 %{_mandir}/man8
/swat
.8*
460 %attr(755,root
,root
) %{_libarchdir}/samba
/*.msg
465 %defattr(-,root
,root
)
480 %{_mandir}/man8
/mount.cifs
.8.
*
481 %{_mandir}/man8
/umount.cifs
.8.
*
482 %{_mandir}/man8
/smbspool
.8*
483 %{_mandir}/man1
/smbget
.1*
484 %{_mandir}/man5
/smbgetrc
.5*
485 %{_mandir}/man1
/findsmb
.1*
486 %{_mandir}/man1
/nmblookup
.1*
487 %{_mandir}/man1
/rpcclient
.1*
488 %{_mandir}/man1
/smbcacls
.1*
489 %{_mandir}/man1
/smbclient
.1*
490 %{_mandir}/man1
/smbtar
.1*
491 %{_mandir}/man1
/smbtree
.1*
496 %defattr(-,root
,root
)
497 %dir %{_sysconfdir}/samba
498 %dir %{_libarchdir}/samba
499 %dir %{_libarchdir}/samba
/charset
500 %config(noreplace
) %{_sysconfdir}/samba
/smb.conf
501 %config(noreplace
) %{_sysconfdir}/samba
/lmhosts
502 %attr(755,root
,root
) %config %{initdir}/winbind
504 #%attr(755,root,root) /%{_libarch}/libnss_wins.so*
505 %attr(755,root
,root
) /%{_libarch}/libnss_winbind.so
*
506 %attr(755,root
,root
) /%{_libarch}/security
/pam_winbind.so
507 %attr(755,root
,root
) /%{_libarch}/security
/pam_smbpass.so
509 %{_includedir}/libsmbclient.h
510 %{_libarchdir}/libsmbclient.
*
511 #%{_includedir}/libmsrpc.h
512 #%{_libarchdir}/libmsrpc.*
513 %{_includedir}/smb_share_modes.h
514 %{_libarchdir}/libsmbsharemodes.
*
516 %{_libarchdir}/samba
/*.dat
517 %{_libarchdir}/samba
/charset
/*.so
519 %{_includedir}/netapi.h
520 %{_includedir}/wbclient.h
521 %{_includedir}/talloc.h
523 %{_libarchdir}/libnetapi.so
*
524 %{_libarchdir}/libtalloc.so
*
525 %{_libarchdir}/libtdb.so
*
526 %{_libarchdir}/libwbclient.so
*
543 %{_bindir}/smbcquotas
545 %{_mandir}/man1
/ntlm_auth
.1*
546 %{_mandir}/man1
/profiles
.1*
547 %{_mandir}/man1
/smbcquotas
.1*
548 %{_mandir}/man1
/testparm
.1*
549 %{_mandir}/man5
/smb.conf
.5*
550 %{_mandir}/man5
/lmhosts
.5*
551 %{_mandir}/man8
/smbpasswd
.8*
552 %{_mandir}/man1
/wbinfo
.1*
553 %{_mandir}/man8
/winbindd
.8*
554 %{_mandir}/man8
/net
.8*
555 %{_mandir}/man7
/pam_winbind
.7*
556 %{_mandir}/man7
/libsmbclient
.7*
558 %ifarch i386 i486 i586 i686 ppc s390
560 %attr(755,root
,root
) /%{_libarch}/libnss_winbind.so
*
561 #%attr(755,root,root) /%{_libarch}/libnss_wins.so*
562 %attr(755,root
,root
) /%{_libarchdir}/libtalloc.so
*
563 %attr(755,root
,root
) /%{_libarchdir}/libtdb.so
*
564 %attr(755,root
,root
) /%{_libarch}/security
/pam_winbind.so
570 * Fri Jan
16 2004 Gerald
(Jerry
) Carter
<jerry@samba
,org
>
571 - Removed ChangeLog entries since they are kept
in CVS