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: The Samba SMB server.
8 License: GNU GPL Version 2
9 Group: System Environment/Daemons
10 URL: http://www.samba.org/
12 Source: ftp://www.samba.org/pub/samba/%{name}-%{version}.tar.bz2
14 # Red Hat specific replacement-files
17 Source4: samba.sysconfig
25 # Don't depend on Net::LDAP
26 Source999: filter-requires-samba.sh
30 Requires: pam >= 0.64 %{auth} samba-common = %{version}
31 Requires: logrotate >= 3.4 initscripts >= 5.54-1
32 BuildRoot: %{_tmppath}/%{name}-%{version}-root
33 Prereq: /sbin/chkconfig /bin/mktemp /usr/bin/killall
34 Prereq: fileutils sed /etc/init.d
35 BuildRequires: pam-devel, readline-devel, ncurses-devel, fileutils, libacl-devel, openldap-devel, krb5-devel, cups-devel
38 # Working around perl dependency problem from docs
39 %define __perl_requires %{SOURCE999}
42 Samba is the protocol by which a lot of PC-related machines share
43 files, printers, and other information (such as lists of available
44 files and printers). The Windows NT, OS/2, and Linux operating systems
45 support this natively, and add-on packages can enable the same thing
46 for DOS, Windows, VMS, UNIX of all kinds, MVS, and more. This package
47 provides an SMB server that can be used to provide network services to
48 SMB (sometimes called "Lan Manager") clients. Samba uses NetBIOS over
49 TCP/IP (NetBT) protocols and does NOT need the NetBEUI (Microsoft Raw
50 NetBIOS frame) protocol.
53 Summary: Samba (SMB) client programs.
54 Group: Applications/System
55 Requires: samba-common = %{version}
59 The samba-client package provides some SMB clients to compliment the
60 built-in SMB filesystem in Linux. These clients allow access of SMB
61 shares and printing to SMB printers.
64 Summary: Files used by both Samba servers and clients.
65 Group: Applications/System
68 Samba-common provides files necessary for both the server and client
72 Summary: The Samba SMB server configuration program.
73 Group: Applications/System
74 Requires: samba = %{version} xinetd
77 The samba-swat package includes the new SWAT (Samba Web Administration
78 Tool), for remotely managing Samba's smb.conf file using your favorite
84 # copy Red Hat specific scripts
85 cp %{SOURCE5} packaging/Fedora/
86 cp %{SOURCE6} packaging/Fedora/
87 cp %{SOURCE7} packaging/Fedora/
88 cp %{SOURCE8} packaging/Fedora/winbind.init
94 RPM_OPT_FLAGS="$RPM_OPT_FLAGS -D_FILE_OFFSET_BITS=64"
97 libtoolize --copy --force # get it to recognize IA-64
100 EXTRA="-D_LARGEFILE64_SOURCE"
103 ## run autogen if missing the configure script
104 if [ ! -f "configure" ]; then
108 CFLAGS="$RPM_OPT_FLAGS" ./configure \
109 --prefix=%{_prefix} \
110 --localstatedir=/var \
112 --with-privatedir=%{_sysconfdir}/samba \
120 --with-sambabook=%{_datadir}/swat/using_samba \
121 --with-swatdir=%{_datadir}/swat \
122 --with-libsmbclient \
124 --with-shared-modules=idmap_rid \
128 make %{?_smp_mflags} all modules nsswitch/libnss_wins.so
130 ## build the cifs fs mount helper
131 gcc -o mount.cifs $RPM_OPT_FLAGS -Wall -D_GNU_SOURCE -D_LARGEFILE64_SOURCE client/mount.cifs.c
132 gcc -o umount.cifs $RPM_OPT_FLAGS -Wall -D_GNU_SOURCE -D_LARGEFILE64_SOURCE client/umount.cifs.c
136 rm -rf $RPM_BUILD_ROOT
138 mkdir -p $RPM_BUILD_ROOT/sbin
139 mkdir -p $RPM_BUILD_ROOT/usr/{sbin,bin}
140 mkdir -p $RPM_BUILD_ROOT/%{initdir}
141 mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/{pam.d,logrotate.d}
142 mkdir -p $RPM_BUILD_ROOT/var/{log,spool,lib}/samba
143 mkdir -p $RPM_BUILD_ROOT/%{_datadir}/swat/using_samba
144 mkdir -p $RPM_BUILD_ROOT/%{_datadir}/samba/codepages
148 make DESTDIR=$RPM_BUILD_ROOT \
153 # Install other stuff
154 install -m644 %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/samba/smb.conf
155 install -m644 %{SOURCE9} $RPM_BUILD_ROOT/etc/samba/smbusers
156 install -m755 %{SOURCE8} $RPM_BUILD_ROOT%{_bindir}
157 install -m644 %{SOURCE7} $RPM_BUILD_ROOT/etc/pam.d/samba
158 install -m644 %{SOURCE1} $RPM_BUILD_ROOT/etc/logrotate.d/samba
159 install -m755 source/script/mksmbpasswd.sh $RPM_BUILD_ROOT%{_bindir}
160 install -m755 source/mount.cifs $RPM_BUILD_ROOT/sbin/mount.cifs
161 install -m755 source/umount.cifs $RPM_BUILD_ROOT/sbin/umount.cifs
163 install -m755 %{SOURCE5} $RPM_BUILD_ROOT%{initdir}/smb
164 install -m755 %{SOURCE6} $RPM_BUILD_ROOT%{initdir}/winbind
165 ln -s ../..%{initdir}/smb $RPM_BUILD_ROOT%{_sbindir}/samba
166 ln -s ../..%{initdir}/winbind $RPM_BUILD_ROOT%{_sbindir}/winbind
168 ln -s ../usr/bin/smbmount $RPM_BUILD_ROOT/sbin/mount.smb
169 ## Samba's Makefile is breaking this currently. Remove it and set our own
170 /bin/rm -f $RPM_BUILD_ROOT/sbin/mount.smbfs
171 ln -s ../usr/bin/smbmount $RPM_BUILD_ROOT/sbin/mount.smbfs
173 echo 127.0.0.1 localhost > $RPM_BUILD_ROOT%{_sysconfdir}/samba/lmhosts
177 mkdir -p $RPM_BUILD_ROOT/%{_lib}/security
178 mv source/bin/pam_smbpass.so $RPM_BUILD_ROOT/%{_lib}/security/pam_smbpass.so
181 mkdir -p $RPM_BUILD_ROOT/%{_lib}/security
182 install -m 755 source/nsswitch/pam_winbind.so $RPM_BUILD_ROOT/%{_lib}/security/pam_winbind.so
183 install -m 755 source/nsswitch/libnss_winbind.so $RPM_BUILD_ROOT/%{_lib}/libnss_winbind.so
184 install -m 755 source/nsswitch/libnss_wins.so $RPM_BUILD_ROOT/%{_lib}/libnss_wins.so
185 ( cd $RPM_BUILD_ROOT/%{_lib};
186 ln -sf libnss_winbind.so libnss_winbind.so.2;
187 ln -sf libnss_wins.so libnss_wins.so.2 )
191 # make install puts libsmbclient.so in the wrong place on x86_64
192 rm -f $RPM_BUILD_ROOT/usr/lib || true
193 mkdir -p $RPM_BUILD_ROOT%{_libdir} $RPM_BUILD_ROOT%{_includedir}
194 install -m 755 source/bin/libsmbclient.so $RPM_BUILD_ROOT%{_libdir}/libsmbclient.so
195 install -m 755 source/bin/libsmbclient.a $RPM_BUILD_ROOT%{_libdir}/libsmbclient.a
196 install -m 644 source/include/libsmbclient.h $RPM_BUILD_ROOT%{_includedir}
197 rm -f $RPM_BUILD_ROOT%{_libdir}/samba/libsmbclient.*
199 # make install puts libmsrpc.so in the wrong place on x86_64
200 rm -f $RPM_BUILD_ROOT/usr/lib || true
201 mkdir -p $RPM_BUILD_ROOT%{_libdir} $RPM_BUILD_ROOT%{_includedir}
202 install -m 755 source/bin/libmsrpc.so $RPM_BUILD_ROOT%{_libdir}/libmsrpc.so
203 install -m 755 source/bin/libmsrpc.a $RPM_BUILD_ROOT%{_libdir}/libmsrpc.a
204 install -m 644 source/include/libmsrpc.h $RPM_BUILD_ROOT%{_includedir}
205 rm -f $RPM_BUILD_ROOT%{_libdir}/samba/libmsrpc.*
207 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/xinetd.d
208 install -m644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/xinetd.d/swat
210 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig
211 install -m644 %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/samba
214 ## Clean out man pages for tools not installed here
216 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/log2pcap.1*
217 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/smbsh.1*
218 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/vfstest.1*
221 rm -rf $RPM_BUILD_ROOT
224 /sbin/chkconfig --add smb
228 /sbin/chkconfig --del smb
229 rm -rf /var/log/samba/* /var/cache/samba/*
230 /sbin/service smb stop >/dev/null 2>&1
235 if [ "$1" -ge "1" ]; then
236 %{initdir}/smb condrestart >/dev/null 2>&1
241 # Add swat entry to /etc/services if not already there.
242 if [ ! "`grep ^\s**swat /etc/services`" ]; then
243 echo 'swat 901/tcp # Add swat service used via inetd' >> /etc/services
247 /sbin/chkconfig --add winbind
252 /sbin/chkconfig --del winbind
253 /sbin/service winbind stop >/dev/null 2>&1
257 %postun common -p /sbin/ldconfig
259 %triggerpostun -- samba < 1.9.18p7
261 /sbin/chkconfig --add smb
264 %triggerpostun -- samba < 2.0.5a-3
266 [ ! -d /var/lock/samba ] && mkdir -m 0755 /var/lock/samba
267 [ ! -d /var/spool/samba ] && mkdir -m 1777 /var/spool/samba
268 chmod 644 /etc/services
269 [ -f /etc/inetd.conf ] && chmod 644 /etc/inetd.conf
273 %defattr(-,root,root)
274 %doc README COPYING Manifest
275 %doc WHATSNEW.txt Roadmap
277 %doc examples/autofs examples/LDAP examples/libsmbclient examples/misc examples/printer-accounting
278 %doc examples/printing
280 %attr(755,root,root) /%{_lib}/security/pam_smbpass.so
285 %{_bindir}/mksmbpasswd.sh
286 %{_bindir}/smbcontrol
290 %config(noreplace) %{_sysconfdir}/sysconfig/samba
291 %config(noreplace) %{_sysconfdir}/samba/smbusers
292 %attr(755,root,root) %config %{initdir}/smb
293 %config(noreplace) %{_sysconfdir}/logrotate.d/samba
294 %config(noreplace) %{_sysconfdir}/pam.d/samba
295 %{_mandir}/man1/smbcontrol.1*
296 %{_mandir}/man1/smbstatus.1*
297 %{_mandir}/man5/smbpasswd.5*
298 %{_mandir}/man7/samba.7*
299 %{_mandir}/man8/nmbd.8*
300 %{_mandir}/man8/pdbedit.8*
301 %{_mandir}/man8/smbd.8*
302 %{_mandir}/man8/pam_winbind.8*
303 %{_mandir}/man8/tdbbackup.8*
304 %{_mandir}/man8/libsmbclient.8*
308 %attr(0700,root,root) %dir /var/log/samba
309 %attr(1777,root,root) %dir /var/spool/samba
312 %defattr(-,root,root)
313 %config(noreplace) %{_sysconfdir}/xinetd.d/swat
316 %{_mandir}/man8/swat.8*
317 %attr(755,root,root) %{_libdir}/samba/*.msg
320 %defattr(-,root,root)
325 %{_libdir}/samba/lowcase.dat
326 %{_libdir}/samba/upcase.dat
327 %{_libdir}/samba/valid.dat
335 %{_mandir}/man8/tdbdump.8*
336 %{_mandir}/man8/smbmnt.8*
337 %{_mandir}/man8/smbmount.8*
338 %{_mandir}/man8/smbumount.8*
339 %{_mandir}/man8/mount.cifs.8.*
340 %{_mandir}/man8/umount.cifs.8.*
341 %{_mandir}/man8/smbspool.8*
350 %{_mandir}/man1/smbget.1*
351 %{_mandir}/man5/smbgetrc.5*
352 %{_mandir}/man1/findsmb.1*
353 %{_mandir}/man1/nmblookup.1*
354 %{_mandir}/man1/rpcclient.1*
355 %{_mandir}/man1/smbcacls.1*
356 %{_mandir}/man1/smbclient.1*
357 %{_mandir}/man1/smbtar.1*
358 %{_mandir}/man1/smbtree.1*
359 %{_mandir}/man8/net.8*
360 #%{_mandir}/ja/man1/smbtar.1*
361 #%{_mandir}/ja/man1/smbclient.1*
362 #%{_mandir}/ja/man1/nmblookup.1*
365 %defattr(-,root,root)
366 /%{_lib}/libnss_wins.so*
367 /%{_lib}/libnss_winbind.so*
368 /%{_lib}/security/pam_winbind.so
369 %{_includedir}/libsmbclient.h
370 %{_libdir}/libsmbclient.a
371 %{_libdir}/libsmbclient.so
372 %{_includedir}/libmsrpc.h
373 %{_libdir}/libmsrpc.a
374 %{_libdir}/libmsrpc.so
375 %{_libdir}/samba/charset/CP*.so
376 %{_libdir}/samba/idmap/idmap*.so
377 %{_libdir}/samba/auth/script.so
383 %{_bindir}/eventlogadm
385 %{_bindir}/smbcquotas
387 %config(noreplace) %{_sysconfdir}/samba/smb.conf
388 %config(noreplace) %{_sysconfdir}/samba/lmhosts
389 %dir %{_datadir}/samba
390 %dir %{_datadir}/samba/codepages
391 %dir %{_sysconfdir}/samba
393 # %{_datadir}/samba/codepages/*
394 # %{_mandir}/man1/make_smbcodepage.1*
395 %{_mandir}/man1/ntlm_auth.1*
396 %{_mandir}/man1/profiles.1*
397 %{_mandir}/man1/smbcquotas.1*
398 %{_mandir}/man1/testparm.1*
399 %{_mandir}/man5/smb.conf.5*
400 %{_mandir}/man5/lmhosts.5*
401 %{_mandir}/man8/smbpasswd.8*
402 %{_mandir}/man1/wbinfo.1*
403 %{_mandir}/man8/winbindd.8*
406 * Fri Jan 16 2004 Gerald (Jerry) Carter <jerry@samba,org>
407 - Removed ChangeLog entries since they are kept in CVS