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 \
175 --without
-dnsupdate \
180 ## check for gcc 3.4 or later
181 CC_VERSION
=`$
{CC
} --version | head
-1 | awk '
{print $
3}'`
182 CC_MAJOR
=`
echo $
{CC_VERSION
} | cut
-d.
-f
1`
183 CC_MINOR
=`
echo $
{CC_VERSION
} | cut
-d.
-f
2`
184 if [ $
{CC_MAJOR
} -ge
3 ]; then
185 if [ $
{CC_MAJOR
} -gt
3 -o $
{CC_MINOR
} -ge
4 ]; then
191 make CFLAGS
="$RPM_OPT_FLAGS
-D_GNU_SOURCE"
%{?_smp_mflags} \
192 all modules pam_smbpass
194 ## build the cifs fs mount helper
196 gcc
-o mount.cifs $RPM_OPT_FLAGS
-D_GNU_SOURCE
-Wall
-D_GNU_SOURCE
-D_LARGEFILE64_SOURCE mount.cifs.c
197 gcc
-o umount.cifs $RPM_OPT_FLAGS
-D_GNU_SOURCE
-Wall
-D_GNU_SOURCE
-D_LARGEFILE64_SOURCE umount.cifs.c
200 # Remove some permission bits to avoid to many dependencies
202 find examples docs
-type f | xargs
-r chmod
-x
205 # Clean up in case there is trash left from a previous build
206 rm -rf $RPM_BUILD_ROOT
208 # Create the target build directory hierarchy
209 mkdir -p $RPM_BUILD_ROOT
%{_datadir}/swat/{help,include,using_samba/{figs,gifsa}}
210 mkdir -p $RPM_BUILD_ROOT
%{_includedir}
211 mkdir -p $RPM_BUILD_ROOT
%{_initrddir}
212 mkdir -p $RPM_BUILD_ROOT
{%{_libarchdir},%{_includedir}}
213 mkdir -p $RPM_BUILD_ROOT
%{_libarchdir}/samba/{auth,charset,idmap,vfs,pdb}
214 mkdir -p $RPM_BUILD_ROOT
/%{_libarch}/security
215 mkdir -p $RPM_BUILD_ROOT
%{_mandir}
216 mkdir -p $RPM_BUILD_ROOT
%{_prefix}/{bin,sbin}
217 mkdir -p $RPM_BUILD_ROOT
%{_prefix}/lib
218 mkdir -p $RPM_BUILD_ROOT
/sbin
219 mkdir -p $RPM_BUILD_ROOT
%{_sysconfdir}/{logrotate.d,pam.d,samba}
220 mkdir -p $RPM_BUILD_ROOT
%{_sysconfdir}/{pam.d,logrotate.d}
221 mkdir -p $RPM_BUILD_ROOT
%{_sysconfdir}/rc.d
/init.d
222 mkdir -p $RPM_BUILD_ROOT
%{_sysconfdir}/{samba,sysconfig}
223 mkdir -p $RPM_BUILD_ROOT
%{_sysconfdir}/xinetd.d
224 mkdir -p $RPM_BUILD_ROOT
/var
/lib
/samba
/winbindd_privileged
225 mkdir -p $RPM_BUILD_ROOT
/var
/{log
,run
/winbindd
,spool
}/samba
228 make DESTDIR
=$RPM_BUILD_ROOT \
233 cp
source/bin
/pam_smbpass.so $RPM_BUILD_ROOT
/%{_libarch}/security
/pam_smbpass.so
235 # NSS & PAM winbind support
236 install -m
755 source/bin
/pam_winbind.so $RPM_BUILD_ROOT
/%{_libarch}/security
/pam_winbind.so
237 install -m
755 source/nsswitch
/libnss_winbind.so $RPM_BUILD_ROOT
/%{_libarch}/libnss_winbind.so
238 #install -m 755 source/nsswitch/libnss_wins.so $RPM_BUILD_ROOT/%{_libarch}/libnss_wins.so
239 ( cd $RPM_BUILD_ROOT
/%{_libarch};
240 ln
-sf libnss_winbind.so libnss_winbind.so
.2 )
241 # ( cd $RPM_BUILD_ROOT/%{_libarch}; ln -sf libnss_wins.so libnss_wins.so.2 )
243 # make install puts libsmbclient.so in the wrong place on x86_64
244 rm -f $RPM_BUILD_ROOT
/usr
/lib
*/samba
/libsmbclient.so $RPM_BUILD_ROOT
/usr
/lib
*/samba
/libsmbclient.a || true
245 install -m
755 source/bin
/libsmbclient.so $RPM_BUILD_ROOT
%{_libarchdir}/libsmbclient.so
246 install -m
755 source/bin
/libsmbclient.a $RPM_BUILD_ROOT
%{_libarchdir}/libsmbclient.a
247 install -m
644 source/include
/libsmbclient.h $RPM_BUILD_ROOT
%{_includedir}
248 ln
-s
%{_libarchdir}/libsmbclient.so $RPM_BUILD_ROOT%{_libarchdir}/libsmbclient.so
.0
250 # make install puts libmsrpc.so in the wrong place on x86_64
251 #rm -f $RPM_BUILD_ROOT/usr/lib*/samba/libmsrpc.so $RPM_BUILD_ROOT/usr/lib*/samba/libmsrpc.a || true
252 #install -m 755 source/bin/libmsrpc.so $RPM_BUILD_ROOT%{_libarchdir}/libmsrpc.so
253 #install -m 755 source/bin/libmsrpc.a $RPM_BUILD_ROOT%{_libarchdir}/libmsrpc.a
254 #install -m 644 source/include/libmsrpc.h $RPM_BUILD_ROOT%{_includedir}
255 #rm -f $RPM_BUILD_ROOT%{_libarchdir}/samba/libmsrpc.*
256 #ln -s /%{_libarchdir}/libmsrpc.so $RPM_BUILD_ROOT%{_libarchdir}/libmsrpc.so.0
258 # make install puts libsmbsharemodes.so in the wrong place on x86_64
259 rm -f $RPM_BUILD_ROOT
/usr
/lib
*/samba
/libsmbsharemodes.so $RPM_BUILD_ROOT
/usr
/lib
*/samba
/libsmbsharemodes.a || true
260 install -m
755 source/bin
/libsmbsharemodes.so $RPM_BUILD_ROOT
%{_libarchdir}/libsmbsharemodes.so
261 install -m
755 source/bin
/libsmbsharemodes.a $RPM_BUILD_ROOT
%{_libarchdir}/libsmbsharemodes.a
262 install -m
644 source/include
/smb_share_modes.h $RPM_BUILD_ROOT
%{_includedir}
263 rm -f $RPM_BUILD_ROOT
%{_libarchdir}/samba
/libsmbsharemodes.
*
264 ln
-s
/%{_libarchdir}/libsmbsharemodes.so $RPM_BUILD_ROOT%{_libarchdir}/libsmbsharemodes.so
.0
266 # Install pam_smbpass.so
267 install -m755
source/bin
/pam_smbpass.so $RPM_BUILD_ROOT
/%{_libarch}/security
/pam_smbpass.so
269 # Put the shared libraries to their SONAME under /usr/lib{,64}
270 # and create the proper .so symlinks
273 rm -f $RPM_BUILD_ROOT
%{_libarchdir}/samba
/libwbclient.so
*
274 install -m
755 source/bin
/libwbclient.so
.0 \
275 $RPM_BUILD_ROOT
%{_libarchdir}/libwbclient.so
.0
276 ln
-s libwbclient.so
.0 $RPM_BUILD_ROOT
%{_libarchdir}/libwbclient.so
278 rm -f $RPM_BUILD_ROOT
%{_libarchdir}/samba
/libtalloc.so
*
279 install -m
755 source/bin
/libtalloc.so
.1 \
280 $RPM_BUILD_ROOT
%{_libarchdir}/libtalloc.so
.1
281 ln
-s libtalloc.so
.1 $RPM_BUILD_ROOT
%{_libarchdir}/libtalloc.so
283 rm -f $RPM_BUILD_ROOT
%{_libarchdir}/samba
/libtdb.so
*
284 install -m
755 source/bin
/libtdb.so
.1 \
285 $RPM_BUILD_ROOT
%{_libarchdir}/libtdb.so
.1
286 ln
-s libtdb.so
.1 $RPM_BUILD_ROOT
%{_libarchdir}/libtdb.so
288 rm -f $RPM_BUILD_ROOT
%{_libarchdir}/samba
/libnetapi.so
*
289 install -m
755 source/bin
/libnetapi.so
.0 \
290 $RPM_BUILD_ROOT
%{_libarchdir}/libnetapi.so
.0
291 ln
-s libnetapi.so
.0 $RPM_BUILD_ROOT
%{_libarchdir}/libnetapi.so
294 /bin
/rm -rf $RPM_BUILD_ROOT
/usr
/lib
*/samba
/security
296 # Install the miscellany
297 echo 127.0.0.1 localhost
> $RPM_BUILD_ROOT
%{_sysconfdir}/samba
/lmhosts
299 install -m644 setup
/samba.log $RPM_BUILD_ROOT
%{_sysconfdir}/logrotate.d
/samba
300 install -m644 setup
/swat $RPM_BUILD_ROOT
%{_sysconfdir}/xinetd.d
/swat
301 install -m644 setup
/samba.sysconfig $RPM_BUILD_ROOT
%{_sysconfdir}/sysconfig
/samba
302 install -m755 setup
/smb.init $RPM_BUILD_ROOT
%{initdir}/smb
303 install -m755 setup
/winbind.init $RPM_BUILD_ROOT
%{initdir}/winbind
304 install -m644 setup
/samba.pamd $RPM_BUILD_ROOT
%{_sysconfdir}/pam.d
/samba
305 install -m755 setup
/smbprint $RPM_BUILD_ROOT
%{_bindir}
306 install -m644 setup
/smbusers $RPM_BUILD_ROOT
%{_sysconfdir}/samba
/smbusers
307 install -m644 setup
/smb.conf $RPM_BUILD_ROOT
%{_sysconfdir}/samba
/smb.conf
308 install -m755
source/client
/mount.cifs $RPM_BUILD_ROOT
/sbin
/mount.cifs
309 install -m755
source/client
/umount.cifs $RPM_BUILD_ROOT
/sbin
/umount.cifs
310 install -m755
source/script
/mksmbpasswd.sh $RPM_BUILD_ROOT
%{_bindir}
312 /bin
/rm $RPM_BUILD_ROOT
%{_sbindir}/*mount.cifs
314 ln
-s ..
/..
%{initdir}/smb $RPM_BUILD_ROOT%{_sbindir}/samba
315 ln
-s ..
/..
%{initdir}/winbind $RPM_BUILD_ROOT%{_sbindir}/winbind
317 # Remove "*.old" files
318 find $RPM_BUILD_ROOT
-name "
*.old"
-exec rm -f
{} \
;
320 ## don't duplicate the docs. These are installed by/with SWAT
323 ( cd docs
; ln
-s
%{_prefix}/share
/swat
/help htmldocs
)
326 ## Clean out man pages for tools not installed here
328 rm -f $RPM_BUILD_ROOT
%{_mandir}/man1
/log2pcap
.1*
329 rm -f $RPM_BUILD_ROOT
%{_mandir}/man1
/smbsh
.1*
330 rm -f $RPM_BUILD_ROOT
%{_mandir}/man5
/vfstest
.1*
334 rm -rf $RPM_BUILD_ROOT
337 ## deal with an upgrade from a broken 3.0.21b RPM
338 if [ "$
1"
-eq "
2"
]; then
339 if [ -d
/var
/cache
/samba
]; then
340 for file
in `ls
/var
/cache
/samba
/*tdb`
; do
341 /bin
/cp
-up $file
/var
/lib
/samba
/`basename $file`
343 mkdir -p
/var
/lib
/samba
/eventlog
344 for file
in `ls
/var
/cache
/samba
/eventlog
/*tdb`
; do
345 /bin
/cp
-up $file
/var
/lib
/samba
/eventlog
/`basename $file`
347 /bin
/mv
/var
/cache
/samba
/var
/cache
/samba.moved
351 if [ "$
1"
-ge "
1"
]; then
352 /sbin
/service smb condrestart
>/dev
/null
2>&1 ||
:
357 /sbin
/service smb stop
>/dev
/null
2>&1 ||
:
358 /sbin
/chkconfig
--del smb
359 # rm -rf /var/log/samba/* /var/lib/samba/*
366 # Add swat entry to /etc/services if not already there.
367 if [ ! "`grep ^\s
**swat
/etc
/services`"
]; then
368 echo 'swat
901/tcp
# Add swat service used via inetd' >> /etc/services
374 if [ "$
1"
-ge "
1"
]; then
375 /sbin
/service winbind condrestart
>/dev
/null
2>&1 ||
:
380 /sbin
/service winbind stop
>/dev
/null
2>&1 ||
:
381 /sbin
/chkconfig
--del winbind
388 #######################################################################
390 #######################################################################
393 %defattr(-,root
,root
)
395 %config(noreplace
) %{_sysconfdir}/sysconfig
/samba
396 %config(noreplace
) %{_sysconfdir}/samba
/smbusers
397 %attr(755,root
,root
) %config %{initdir}/smb
398 %config(noreplace
) %{_sysconfdir}/logrotate.d
/samba
399 %config(noreplace
) %{_sysconfdir}/pam.d
/samba
401 %attr(0755,root
,root
) %dir /var
/log
/samba
402 %attr(0755,root
,root
) %dir /var
/lib
/samba
403 %attr(1777,root
,root
) %dir /var
/spool
/samba
410 %{_bindir}/mksmbpasswd.sh
411 %{_bindir}/smbcontrol
416 %{_bindir}/eventlogadm
418 %{_libarchdir}/samba
/idmap
/*.so
419 %{_libarchdir}/samba
/nss_info
/*.so
420 %{_libarchdir}/samba
/vfs
/*.so
421 %{_libarchdir}/samba
/auth
/*.so
423 %{_mandir}/man1
/smbcontrol
.1*
424 %{_mandir}/man1
/smbstatus
.1*
425 %{_mandir}/man1
/vfstest
.1*
426 %{_mandir}/man5
/smbpasswd
.5*
427 %{_mandir}/man7
/samba
.7*
428 %{_mandir}/man8
/nmbd
.8*
429 %{_mandir}/man8
/pdbedit
.8*
430 %{_mandir}/man8
/smbd
.8*
431 %{_mandir}/man8
/tdbbackup
.8*
432 %{_mandir}/man8
/tdbdump
.8*
433 %{_mandir}/man8
/tdbtool
.8*
434 %{_mandir}/man8
/eventlogadm
.8*
435 %{_mandir}/man8
/vfs_
*.8*
436 %{_mandir}/man8
/idmap_
*.8*
442 %defattr(-,root
,root
)
443 %doc README COPYING Manifest
444 %doc WHATSNEW.txt Roadmap
446 %doc examples
/autofs examples
/LDAP examples
/libsmbclient examples
/misc examples
/printer
-accounting
447 %doc examples
/printing
452 %defattr(-,root
,root
)
453 %config(noreplace
) %{_sysconfdir}/xinetd.d
/swat
454 %dir %{_datadir}/swat
457 %{_mandir}/man8
/swat
.8*
458 %attr(755,root
,root
) %{_libarchdir}/samba
/*.msg
463 %defattr(-,root
,root
)
478 %{_mandir}/man8
/mount.cifs
.8.
*
479 %{_mandir}/man8
/umount.cifs
.8.
*
480 %{_mandir}/man8
/smbspool
.8*
481 %{_mandir}/man1
/smbget
.1*
482 %{_mandir}/man5
/smbgetrc
.5*
483 %{_mandir}/man1
/findsmb
.1*
484 %{_mandir}/man1
/nmblookup
.1*
485 %{_mandir}/man1
/rpcclient
.1*
486 %{_mandir}/man1
/smbcacls
.1*
487 %{_mandir}/man1
/smbclient
.1*
488 %{_mandir}/man1
/smbtar
.1*
489 %{_mandir}/man1
/smbtree
.1*
494 %defattr(-,root
,root
)
495 %dir %{_sysconfdir}/samba
496 %dir %{_libarchdir}/samba
497 %dir %{_libarchdir}/samba
/charset
498 %config(noreplace
) %{_sysconfdir}/samba
/smb.conf
499 %config(noreplace
) %{_sysconfdir}/samba
/lmhosts
500 %attr(755,root
,root
) %config %{initdir}/winbind
502 #%attr(755,root,root) /%{_libarch}/libnss_wins.so*
503 %attr(755,root
,root
) /%{_libarch}/libnss_winbind.so
*
504 %attr(755,root
,root
) /%{_libarch}/security
/pam_winbind.so
505 %attr(755,root
,root
) /%{_libarch}/security
/pam_smbpass.so
507 %{_includedir}/libsmbclient.h
508 %{_libarchdir}/libsmbclient.
*
509 #%{_includedir}/libmsrpc.h
510 #%{_libarchdir}/libmsrpc.*
511 %{_includedir}/smb_share_modes.h
512 %{_libarchdir}/libsmbsharemodes.
*
514 %{_libarchdir}/samba
/*.dat
515 %{_libarchdir}/samba
/charset
/*.so
517 %{_includedir}/netapi.h
518 %{_includedir}/wbclient.h
519 %{_includedir}/talloc.h
521 %{_libarchdir}/libnetapi.so
*
522 %{_libarchdir}/libtalloc.so
*
523 %{_libarchdir}/libtdb.so
*
524 %{_libarchdir}/libwbclient.so
*
541 %{_bindir}/smbcquotas
543 %{_mandir}/man1
/ntlm_auth
.1*
544 %{_mandir}/man1
/profiles
.1*
545 %{_mandir}/man1
/smbcquotas
.1*
546 %{_mandir}/man1
/testparm
.1*
547 %{_mandir}/man5
/smb.conf
.5*
548 %{_mandir}/man5
/lmhosts
.5*
549 %{_mandir}/man8
/smbpasswd
.8*
550 %{_mandir}/man1
/wbinfo
.1*
551 %{_mandir}/man8
/winbindd
.8*
552 %{_mandir}/man8
/net
.8*
553 %{_mandir}/man7
/pam_winbind
.7*
554 %{_mandir}/man7
/libsmbclient
.7*
556 %ifarch i386 i486 i586 i686 ppc s390
558 %attr(755,root
,root
) /%{_libarch}/libnss_winbind.so
*
559 #%attr(755,root,root) /%{_libarch}/libnss_wins.so*
560 %attr(755,root
,root
) /%{_libarchdir}/libtalloc.so
*
561 %attr(755,root
,root
) /%{_libarchdir}/libtdb.so
*
562 %attr(755,root
,root
) /%{_libarch}/security
/pam_winbind.so
568 * Fri Jan
16 2004 Gerald
(Jerry
) Carter
<jerry@samba
,org
>
569 - Removed ChangeLog entries since they are kept
in CVS