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
46 Samba is the protocol by which a lot of PC
-related machines share
47 files
, printers
, and other information
(such as lists of available
48 files and printers
). The Windows NT
, OS
/2, and Linux operating systems
49 support this natively
, and add
-on packages can
enable the same thing
50 for DOS
, Windows
, VMS
, UNIX of all kinds
, MVS
, and more. This package
51 provides an SMB server that can be used to provide network services to
52 SMB
(sometimes called "Lan Manager"
) clients. Samba uses NetBIOS over
53 TCP
/IP
(NetBT
) protocols and does NOT need the NetBEUI
(Microsoft Raw
54 NetBIOS frame
) protocol.
57 ######################################################################
59 Summary: Samba
(SMB
) client programs.
60 Group: Applications
/System
61 Requires: samba
-common
= %{version}-%{release}
63 Provides: samba
-client
= %{version}-%{release}
66 The samba
-client package provides some SMB clients to compliment the
67 built
-in SMB filesystem
in Linux. These clients allow access of SMB
68 shares and printing to SMB printers.
71 #######################################################################
73 Summary: Files used by both Samba servers and clients.
74 Group: Applications
/System
75 Provides: samba
-common
= %{version}-%{release}
78 Samba
-common provides files necessary
for both the server and client
82 #######################################################################
84 Summary: The Samba SMB server configuration program.
85 Group: Applications
/System
86 Requires: samba
= %{version} xinetd
87 Provides: samba
-swat
= %{version}-%{release}
90 The samba
-swat package includes the new SWAT
(Samba Web Administration
91 Tool
), for remotely managing Samba's smb.conf file using your favorite
94 %ifarch i386 i486 i586 i686 ppc s390
95 %package winbind
-32bit
96 Summary: Samba winbind compatibility package
for 32bit apps on
64bit archs
97 Group: Applications
/System
99 %description winbind
-32bit
100 Compatibility package
for 32 bit apps on
64 bit architecures
104 #######################################################################
106 Summary: Samba Documentation
107 Group: Documentation
/Other
108 Provides: samba
-doc
= %{version}-%{release}
109 Prereq
: /usr
/bin
/find
/bin
/rm /usr
/bin
/xargs
112 The samba
-doc package includes the HTML versions of the Samba manpages
113 utilized by SWAT as well as the HTML and PDF version of "Using Samba"
,
114 "Samba By Example"
, and "The Official Samba HOWTO and Reference Guide".
117 #######################################################################
122 # setup the vendor files (init scripts, etc...)
123 %setup -T
-D
-a
999 -n samba
-%{version} -q
124 %setup -T
-D
-a
997 -n samba
-%{version} -q
128 /bin
/cp setup
/filter
-requires
-samba.sh
%{SOURCE998}
131 # RPM_OPT_FLAGS="$RPM_OPT_FLAGS -D_FILE_OFFSET_BITS=64"
134 # ccache -h 2>&1 > /dev/null
135 #if [ $? -eq 0 ]; then
141 ## always run autogen.sh
144 CFLAGS
="$RPM_OPT_FLAGS $EXTRA
-D_GNU_SOURCE" .
/configure \
145 --prefix
=%{_prefix} \
146 --localstatedir
=/var \
147 --with
-configdir
=%{_sysconfdir}/samba \
148 --with
-libdir
=%{_libdir}/samba \
149 --with
-lockdir
=/var
/lib
/samba \
150 --with
-logfilebase
=/var
/log
/samba \
151 --with
-mandir
=%{_mandir} \
152 --with
-piddir
=/var
/run \
153 --with
-privatedir
=%{_sysconfdir}/samba \
154 --with
-sambabook
=%{_datadir}/swat
/using_samba \
155 --with
-swatdir
=%{_datadir}/swat \
162 --with
-libsmbclient \
163 --with
-libsmbsharemodes \
164 --without
-smbwrapper \
167 --with
-shared
-modules
=idmap_rid
,idmap_ad
,idmap_tdb2 \
170 --with
-cluster
-support \
171 --with
-ctdb
=/usr
/include \
178 make CFLAGS
="$RPM_OPT_FLAGS
-D_GNU_SOURCE" proto
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
{%{_libdir},%{_includedir}}
213 mkdir -p $RPM_BUILD_ROOT
%{_libdir}/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 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
%{_libdir}/libsmbclient.so
246 install -m
755 source/bin
/libsmbclient.a $RPM_BUILD_ROOT
%{_libdir}/libsmbclient.a
247 install -m
644 source/include
/libsmbclient.h $RPM_BUILD_ROOT
%{_includedir}
248 ln
-s
%{_libdir}/libsmbclient.so $RPM_BUILD_ROOT%{_libdir}/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%{_libdir}/libmsrpc.so
253 #install -m 755 source/bin/libmsrpc.a $RPM_BUILD_ROOT%{_libdir}/libmsrpc.a
254 #install -m 644 source/include/libmsrpc.h $RPM_BUILD_ROOT%{_includedir}
255 #rm -f $RPM_BUILD_ROOT%{_libdir}/samba/libmsrpc.*
256 #ln -s /%{_libdir}/libmsrpc.so $RPM_BUILD_ROOT%{_libdir}/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
%{_libdir}/libsmbsharemodes.so
261 install -m
755 source/bin
/libsmbsharemodes.a $RPM_BUILD_ROOT
%{_libdir}/libsmbsharemodes.a
262 install -m
644 source/include
/smb_share_modes.h $RPM_BUILD_ROOT
%{_includedir}
263 rm -f $RPM_BUILD_ROOT
%{_libdir}/samba
/libsmbsharemodes.
*
264 ln
-s
/%{_libdir}/libsmbsharemodes.so $RPM_BUILD_ROOT%{_libdir}/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
%{_libdir}/samba
/libwbclient.so
*
274 install -m
755 source/bin
/libwbclient.so \
275 $RPM_BUILD_ROOT
%{_libdir}/libwbclient.so
.0
276 ln
-s libwbclient.so
.0 $RPM_BUILD_ROOT
%{_libdir}/libwbclient.so
278 rm -f $RPM_BUILD_ROOT
%{_libdir}/samba
/libtalloc.so
*
279 install -m
755 source/bin
/libtalloc.so \
280 $RPM_BUILD_ROOT
%{_libdir}/libtalloc.so
.1
281 ln
-s libtalloc.so
.1 $RPM_BUILD_ROOT
%{_libdir}/libtalloc.so
283 rm -f $RPM_BUILD_ROOT
%{_libdir}/samba
/libtdb.so
*
284 install -m
755 source/bin
/libtdb.so \
285 $RPM_BUILD_ROOT
%{_libdir}/libtdb.so
.1
286 ln
-s libtdb.so
.1 $RPM_BUILD_ROOT
%{_libdir}/libtdb.so
288 rm -f $RPM_BUILD_ROOT
%{_libdir}/samba
/libnetapi.so
*
289 install -m
755 source/bin
/libnetapi.so \
290 $RPM_BUILD_ROOT
%{_libdir}/libnetapi.so
.0
291 ln
-s libnetapi.so
.0 $RPM_BUILD_ROOT
%{_libdir}/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 %{_libdir}/samba
/idmap
/*.so
419 %{_libdir}/samba
/nss_info
/*.so
420 %{_libdir}/samba
/vfs
/*.so
421 %{_libdir}/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
) %{_libdir}/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 %{_libdir}/samba
497 %dir %{_libdir}/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 %{_libdir}/libsmbclient.
*
509 #%{_includedir}/libmsrpc.h
510 #%{_libdir}/libmsrpc.*
511 %{_includedir}/smb_share_modes.h
512 %{_libdir}/libsmbsharemodes.
*
514 %{_libdir}/samba
/*.dat
515 %{_libdir}/samba
/charset
/*.so
517 %{_includedir}/netapi.h
518 %{_includedir}/wbclient.h
519 %{_includedir}/talloc.h
521 %{_libdir}/libnetapi.so
*
522 %{_libdir}/libtalloc.so
*
523 %{_libdir}/libtdb.so
*
524 %{_libdir}/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
) /%{_libarch}/security
/pam_winbind.so
566 * Fri Jan
16 2004 Gerald
(Jerry
) Carter
<jerry@samba
,org
>
567 - Removed ChangeLog entries since they are kept
in CVS