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 --libdir
=%{_libarchdir} \
151 --with
-modulesdir
=%{_libarchdir}/samba \
152 --with
-lockdir
=/var
/lib
/samba \
153 --with
-logfilebase
=/var
/log
/samba \
154 --with
-mandir
=%{_mandir} \
155 --with
-piddir
=/var
/run \
156 --with
-privatedir
=%{_sysconfdir}/samba \
157 --with
-sambabook
=%{_datadir}/swat
/using_samba \
158 --with
-swatdir
=%{_datadir}/swat \
165 --with
-libsmbclient \
166 --with
-libsmbsharemodes \
167 --without
-smbwrapper \
170 --with
-shared
-modules
=idmap_rid
,idmap_ad
,idmap_tdb2 \
173 --with
-cluster
-support \
174 --with
-ctdb
=/usr
/include \
176 --without
-dnsupdate \
181 ## check for gcc 3.4 or later
182 CC_VERSION
=`$
{CC
} --version | head
-1 | awk '
{print $
3}'`
183 CC_MAJOR
=`
echo $
{CC_VERSION
} | cut
-d.
-f
1`
184 CC_MINOR
=`
echo $
{CC_VERSION
} | cut
-d.
-f
2`
185 if [ $
{CC_MAJOR
} -ge
3 ]; then
186 if [ $
{CC_MAJOR
} -gt
3 -o $
{CC_MINOR
} -ge
4 ]; then
192 make CFLAGS
="$RPM_OPT_FLAGS
-D_GNU_SOURCE"
%{?_smp_mflags} \
193 all modules pam_smbpass
195 ## build the cifs fs mount helper
197 gcc
-o mount.cifs $RPM_OPT_FLAGS
-D_GNU_SOURCE
-Wall
-D_GNU_SOURCE
-D_LARGEFILE64_SOURCE mount.cifs.c
198 gcc
-o umount.cifs $RPM_OPT_FLAGS
-D_GNU_SOURCE
-Wall
-D_GNU_SOURCE
-D_LARGEFILE64_SOURCE umount.cifs.c
201 # Remove some permission bits to avoid to many dependencies
203 find examples docs
-type f | xargs
-r chmod
-x
206 # Clean up in case there is trash left from a previous build
207 rm -rf $RPM_BUILD_ROOT
209 # Create the target build directory hierarchy
210 mkdir -p $RPM_BUILD_ROOT
%{_datadir}/swat/{help,include,using_samba/{figs,gifsa}}
211 mkdir -p $RPM_BUILD_ROOT
%{_includedir}
212 mkdir -p $RPM_BUILD_ROOT
%{_initrddir}
213 mkdir -p $RPM_BUILD_ROOT
{%{_libarchdir},%{_includedir}}
214 mkdir -p $RPM_BUILD_ROOT
%{_libarchdir}/samba/{auth,charset,idmap,vfs,pdb}
215 mkdir -p $RPM_BUILD_ROOT
/%{_libarch}/security
216 mkdir -p $RPM_BUILD_ROOT
%{_mandir}
217 mkdir -p $RPM_BUILD_ROOT
%{_prefix}/{bin,sbin}
218 mkdir -p $RPM_BUILD_ROOT
%{_prefix}/lib
219 mkdir -p $RPM_BUILD_ROOT
/sbin
220 mkdir -p $RPM_BUILD_ROOT
%{_sysconfdir}/{logrotate.d,pam.d,samba}
221 mkdir -p $RPM_BUILD_ROOT
%{_sysconfdir}/{pam.d,logrotate.d}
222 mkdir -p $RPM_BUILD_ROOT
%{_sysconfdir}/rc.d
/init.d
223 mkdir -p $RPM_BUILD_ROOT
%{_sysconfdir}/{samba,sysconfig}
224 mkdir -p $RPM_BUILD_ROOT
%{_sysconfdir}/xinetd.d
225 mkdir -p $RPM_BUILD_ROOT
/var
/lib
/samba
/winbindd_privileged
226 mkdir -p $RPM_BUILD_ROOT
/var
/{log
,run
/winbindd
,spool
}/samba
229 make DESTDIR
=$RPM_BUILD_ROOT \
233 # NSS & PAM winbind support
234 install -m
755 source/bin
/pam_winbind.so $RPM_BUILD_ROOT
/%{_libarch}/security
/pam_winbind.so
235 install -m
755 source/nsswitch
/libnss_winbind.so $RPM_BUILD_ROOT
/%{_libarch}/libnss_winbind.so
.2
236 ( cd $RPM_BUILD_ROOT
/%{_libarch};
237 ln
-sf libnss_winbind.so
.2 libnss_winbind.so
)
239 # do not install libnss_wins.so in order to reduce dependencies
240 # (we do not need it for the samba-ctdb scenario)
242 #install -m 755 source/nsswitch/libnss_wins.so $RPM_BUILD_ROOT/%{_libarch}/libnss_wins.so
243 # ( cd $RPM_BUILD_ROOT/%{_libarch}; ln -sf libnss_wins.so libnss_wins.so.2 )
245 # Install pam_smbpass.so
246 install -m755
source/bin
/pam_smbpass.so $RPM_BUILD_ROOT
/%{_libarch}/security
/pam_smbpass.so
249 /bin
/rm -rf $RPM_BUILD_ROOT
/usr
/lib
*/samba
/security
251 # Install the miscellany
252 echo 127.0.0.1 localhost
> $RPM_BUILD_ROOT
%{_sysconfdir}/samba
/lmhosts
254 install -m644 setup
/samba.log $RPM_BUILD_ROOT
%{_sysconfdir}/logrotate.d
/samba
255 install -m644 setup
/swat $RPM_BUILD_ROOT
%{_sysconfdir}/xinetd.d
/swat
256 install -m644 setup
/samba.sysconfig $RPM_BUILD_ROOT
%{_sysconfdir}/sysconfig
/samba
257 install -m755 setup
/smb.init $RPM_BUILD_ROOT
%{initdir}/smb
258 install -m755 setup
/winbind.init $RPM_BUILD_ROOT
%{initdir}/winbind
259 install -m644 setup
/samba.pamd $RPM_BUILD_ROOT
%{_sysconfdir}/pam.d
/samba
260 install -m755 setup
/smbprint $RPM_BUILD_ROOT
%{_bindir}
261 install -m644 setup
/smbusers $RPM_BUILD_ROOT
%{_sysconfdir}/samba
/smbusers
262 install -m644 setup
/smb.conf $RPM_BUILD_ROOT
%{_sysconfdir}/samba
/smb.conf
263 install -m755
source/client
/mount.cifs $RPM_BUILD_ROOT
/sbin
/mount.cifs
264 install -m755
source/client
/umount.cifs $RPM_BUILD_ROOT
/sbin
/umount.cifs
265 install -m755
source/script
/mksmbpasswd.sh $RPM_BUILD_ROOT
%{_bindir}
267 /bin
/rm $RPM_BUILD_ROOT
%{_sbindir}/*mount.cifs
269 ln
-s ..
/..
%{initdir}/smb $RPM_BUILD_ROOT%{_sbindir}/samba
270 ln
-s ..
/..
%{initdir}/winbind $RPM_BUILD_ROOT%{_sbindir}/winbind
272 # Remove "*.old" files
273 find $RPM_BUILD_ROOT
-name "
*.old"
-exec rm -f
{} \
;
275 ## don't duplicate the docs. These are installed by/with SWAT
278 ( cd docs
; ln
-s
%{_prefix}/share
/swat
/help htmldocs
)
281 ## Clean out man pages for tools not installed here
283 rm -f $RPM_BUILD_ROOT
%{_mandir}/man1
/log2pcap
.1*
284 rm -f $RPM_BUILD_ROOT
%{_mandir}/man1
/smbsh
.1*
285 rm -f $RPM_BUILD_ROOT
%{_mandir}/man5
/vfstest
.1*
289 rm -rf $RPM_BUILD_ROOT
292 ## deal with an upgrade from a broken 3.0.21b RPM
293 if [ "$
1"
-eq "
2"
]; then
294 if [ -d
/var
/cache
/samba
]; then
295 for file
in `ls
/var
/cache
/samba
/*tdb`
; do
296 /bin
/cp
-up $file
/var
/lib
/samba
/`basename $file`
298 mkdir -p
/var
/lib
/samba
/eventlog
299 for file
in `ls
/var
/cache
/samba
/eventlog
/*tdb`
; do
300 /bin
/cp
-up $file
/var
/lib
/samba
/eventlog
/`basename $file`
302 /bin
/mv
/var
/cache
/samba
/var
/cache
/samba.moved
306 if [ "$
1"
-ge "
1"
]; then
307 /sbin
/service smb condrestart
>/dev
/null
2>&1 ||
:
312 /sbin
/service smb stop
>/dev
/null
2>&1 ||
:
313 /sbin
/chkconfig
--del smb
314 # rm -rf /var/log/samba/* /var/lib/samba/*
321 # Add swat entry to /etc/services if not already there.
322 if [ ! "`grep ^\s
**swat
/etc
/services`"
]; then
323 echo 'swat
901/tcp
# Add swat service used via inetd' >> /etc/services
329 if [ "$
1"
-ge "
1"
]; then
330 /sbin
/service winbind condrestart
>/dev
/null
2>&1 ||
:
335 /sbin
/service winbind stop
>/dev
/null
2>&1 ||
:
336 /sbin
/chkconfig
--del winbind
343 #######################################################################
345 #######################################################################
348 %defattr(-,root
,root
)
350 %config(noreplace
) %{_sysconfdir}/sysconfig
/samba
351 %config(noreplace
) %{_sysconfdir}/samba
/smbusers
352 %attr(755,root
,root
) %config %{initdir}/smb
353 %config(noreplace
) %{_sysconfdir}/logrotate.d
/samba
354 %config(noreplace
) %{_sysconfdir}/pam.d
/samba
356 %attr(0755,root
,root
) %dir /var
/log
/samba
357 %attr(0755,root
,root
) %dir /var
/lib
/samba
358 %attr(1777,root
,root
) %dir /var
/spool
/samba
365 %{_bindir}/mksmbpasswd.sh
366 %{_bindir}/smbcontrol
371 %{_bindir}/eventlogadm
373 %{_libarchdir}/samba
/idmap
/*.so
374 %{_libarchdir}/samba
/nss_info
/*.so
375 %{_libarchdir}/samba
/vfs
/*.so
376 %{_libarchdir}/samba
/auth
/*.so
378 %{_mandir}/man1
/smbcontrol
.1*
379 %{_mandir}/man1
/smbstatus
.1*
380 %{_mandir}/man1
/vfstest
.1*
381 %{_mandir}/man5
/smbpasswd
.5*
382 %{_mandir}/man7
/samba
.7*
383 %{_mandir}/man8
/nmbd
.8*
384 %{_mandir}/man8
/pdbedit
.8*
385 %{_mandir}/man8
/smbd
.8*
386 %{_mandir}/man8
/tdbbackup
.8*
387 %{_mandir}/man8
/tdbdump
.8*
388 %{_mandir}/man8
/tdbtool
.8*
389 %{_mandir}/man8
/eventlogadm
.8*
390 %{_mandir}/man8
/vfs_
*.8*
391 %{_mandir}/man8
/idmap_
*.8*
397 %defattr(-,root
,root
)
398 %doc README COPYING Manifest
399 %doc WHATSNEW.txt Roadmap
401 %doc examples
/autofs examples
/LDAP examples
/libsmbclient examples
/misc examples
/printer
-accounting
402 %doc examples
/printing
407 %defattr(-,root
,root
)
408 %config(noreplace
) %{_sysconfdir}/xinetd.d
/swat
409 %dir %{_datadir}/swat
412 %{_mandir}/man8
/swat
.8*
413 %attr(755,root
,root
) %{_libarchdir}/samba
/*.msg
418 %defattr(-,root
,root
)
433 %{_mandir}/man8
/mount.cifs
.8.
*
434 %{_mandir}/man8
/umount.cifs
.8.
*
435 %{_mandir}/man8
/smbspool
.8*
436 %{_mandir}/man1
/smbget
.1*
437 %{_mandir}/man5
/smbgetrc
.5*
438 %{_mandir}/man1
/findsmb
.1*
439 %{_mandir}/man1
/nmblookup
.1*
440 %{_mandir}/man1
/rpcclient
.1*
441 %{_mandir}/man1
/smbcacls
.1*
442 %{_mandir}/man1
/smbclient
.1*
443 %{_mandir}/man1
/smbtar
.1*
444 %{_mandir}/man1
/smbtree
.1*
449 %defattr(-,root
,root
)
450 %dir %{_sysconfdir}/samba
451 %dir %{_libarchdir}/samba
452 %dir %{_libarchdir}/samba
/charset
453 %config(noreplace
) %{_sysconfdir}/samba
/smb.conf
454 %config(noreplace
) %{_sysconfdir}/samba
/lmhosts
455 %attr(755,root
,root
) %config %{initdir}/winbind
457 #%attr(755,root,root) /%{_libarch}/libnss_wins.so*
458 %attr(755,root
,root
) /%{_libarch}/libnss_winbind.so
*
459 %attr(755,root
,root
) /%{_libarch}/security
/pam_winbind.so
460 %attr(755,root
,root
) /%{_libarch}/security
/pam_smbpass.so
462 %{_includedir}/libsmbclient.h
463 %{_libarchdir}/libsmbclient.
*
464 #%{_includedir}/libmsrpc.h
465 #%{_libarchdir}/libmsrpc.*
466 %{_includedir}/smb_share_modes.h
467 %{_libarchdir}/libsmbsharemodes.
*
469 %{_libarchdir}/samba
/*.dat
470 %{_libarchdir}/samba
/charset
/*.so
472 %{_includedir}/netapi.h
473 %{_includedir}/wbclient.h
474 %{_includedir}/talloc.h
476 %{_libarchdir}/libnetapi.so
*
477 %{_libarchdir}/libtalloc.so
*
478 %{_libarchdir}/libtdb.so
*
479 %{_libarchdir}/libwbclient.so
*
496 %{_bindir}/smbcquotas
498 %{_mandir}/man1
/ntlm_auth
.1*
499 %{_mandir}/man1
/profiles
.1*
500 %{_mandir}/man1
/smbcquotas
.1*
501 %{_mandir}/man1
/testparm
.1*
502 %{_mandir}/man5
/smb.conf
.5*
503 %{_mandir}/man5
/lmhosts
.5*
504 %{_mandir}/man8
/smbpasswd
.8*
505 %{_mandir}/man1
/wbinfo
.1*
506 %{_mandir}/man8
/winbindd
.8*
507 %{_mandir}/man8
/net
.8*
508 %{_mandir}/man7
/pam_winbind
.7*
509 %{_mandir}/man7
/libsmbclient
.7*
510 %{_mandir}/man1
/ldbadd
.1*
511 %{_mandir}/man1
/ldbdel
.1*
512 %{_mandir}/man1
/ldbedit
.1*
513 %{_mandir}/man1
/ldbmodify
.1*
514 %{_mandir}/man1
/ldbsearch
.1*
515 %{_mandir}/man8
/cifs.upcall
.8*
517 %ifarch i386 i486 i586 i686 ppc s390
519 %attr(755,root
,root
) /%{_libarch}/libnss_winbind.so
*
520 #%attr(755,root,root) /%{_libarch}/libnss_wins.so*
521 %attr(755,root
,root
) /%{_libarchdir}/libtalloc.so
*
522 %attr(755,root
,root
) /%{_libarchdir}/libtdb.so
*
523 %attr(755,root
,root
) /%{_libarch}/security
/pam_winbind.so
529 * Fri Jan
16 2004 Gerald
(Jerry
) Carter
<jerry@samba
,org
>
530 - Removed ChangeLog entries since they are kept
in CVS