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
135 rm -rf $RPM_BUILD_ROOT
137 mkdir -p $RPM_BUILD_ROOT/sbin
138 mkdir -p $RPM_BUILD_ROOT/usr/{sbin,bin}
139 mkdir -p $RPM_BUILD_ROOT/%{initdir}
140 mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/{pam.d,logrotate.d}
141 mkdir -p $RPM_BUILD_ROOT/var/{log,spool,lib}/samba
142 mkdir -p $RPM_BUILD_ROOT/%{_datadir}/swat/using_samba
143 mkdir -p $RPM_BUILD_ROOT/%{_datadir}/samba/codepages
147 make DESTDIR=$RPM_BUILD_ROOT \
152 # Install other stuff
153 install -m644 %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/samba/smb.conf
154 install -m644 %{SOURCE9} $RPM_BUILD_ROOT/etc/samba/smbusers
155 install -m755 %{SOURCE8} $RPM_BUILD_ROOT%{_bindir}
156 install -m644 %{SOURCE7} $RPM_BUILD_ROOT/etc/pam.d/samba
157 install -m644 %{SOURCE1} $RPM_BUILD_ROOT/etc/logrotate.d/samba
158 install -m755 source/script/mksmbpasswd.sh $RPM_BUILD_ROOT%{_bindir}
159 install -m755 source/client/mount.cifs $RPM_BUILD_ROOT/sbin/mount.cifs
161 install -m755 %{SOURCE5} $RPM_BUILD_ROOT%{initdir}/smb
162 install -m755 %{SOURCE6} $RPM_BUILD_ROOT%{initdir}/winbind
163 ln -s ../..%{initdir}/smb $RPM_BUILD_ROOT%{_sbindir}/samba
164 ln -s ../..%{initdir}/winbind $RPM_BUILD_ROOT%{_sbindir}/winbind
166 ln -s ../usr/bin/smbmount $RPM_BUILD_ROOT/sbin/mount.smb
167 ## Samba's Makefile is breaking this currently. Remove it and set our own
168 /bin/rm -f $RPM_BUILD_ROOT/sbin/mount.smbfs
169 ln -s ../usr/bin/smbmount $RPM_BUILD_ROOT/sbin/mount.smbfs
171 echo 127.0.0.1 localhost > $RPM_BUILD_ROOT%{_sysconfdir}/samba/lmhosts
175 mkdir -p $RPM_BUILD_ROOT/%{_lib}/security
176 mv source/bin/pam_smbpass.so $RPM_BUILD_ROOT/%{_lib}/security/pam_smbpass.so
179 mkdir -p $RPM_BUILD_ROOT/%{_lib}/security
180 install -m 755 source/nsswitch/pam_winbind.so $RPM_BUILD_ROOT/%{_lib}/security/pam_winbind.so
181 install -m 755 source/nsswitch/libnss_winbind.so $RPM_BUILD_ROOT/%{_lib}/libnss_winbind.so
182 install -m 755 source/nsswitch/libnss_wins.so $RPM_BUILD_ROOT/%{_lib}/libnss_wins.so
183 ( cd $RPM_BUILD_ROOT/%{_lib};
184 ln -sf libnss_winbind.so libnss_winbind.so.2;
185 ln -sf libnss_wins.so libnss_wins.so.2 )
189 # make install puts libsmbclient.so in the wrong place on x86_64
190 rm -f $RPM_BUILD_ROOT/usr/lib || true
191 mkdir -p $RPM_BUILD_ROOT%{_libdir} $RPM_BUILD_ROOT%{_includedir}
192 install -m 755 source/bin/libsmbclient.so $RPM_BUILD_ROOT%{_libdir}/libsmbclient.so
193 install -m 755 source/bin/libsmbclient.a $RPM_BUILD_ROOT%{_libdir}/libsmbclient.a
194 install -m 644 source/include/libsmbclient.h $RPM_BUILD_ROOT%{_includedir}
195 rm -f $RPM_BUILD_ROOT%{_libdir}/samba/libsmbclient.*
197 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/xinetd.d
198 install -m644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/xinetd.d/swat
200 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig
201 install -m644 %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/samba
204 ## Clean out man pages for tools not installed here
206 rm -f $RPM_BUILD_ROOT/%{_mandir}/man1/editreg.1*
207 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/log2pcap.1*
208 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/smbsh.1*
209 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/smbget.1*
210 rm -f $RPM_BUILD_ROOT%{_mandir}/man5/smbgetrc.5*
211 rm -f $RPM_BUILD_ROOT/%{_mandir}/man1/testprns.1*
214 rm -rf $RPM_BUILD_ROOT
217 /sbin/chkconfig --add smb
221 /sbin/chkconfig --del smb
222 rm -rf /var/log/samba/* /var/cache/samba/*
223 /sbin/service smb stop >/dev/null 2>&1
228 if [ "$1" -ge "1" ]; then
229 %{initdir}/smb condrestart >/dev/null 2>&1
234 # Add swat entry to /etc/services if not already there.
235 if [ ! "`grep ^\s**swat /etc/services`" ]; then
236 echo 'swat 901/tcp # Add swat service used via inetd' >> /etc/services
240 /sbin/chkconfig --add winbind
245 /sbin/chkconfig --del winbind
246 /sbin/service winbind stop >/dev/null 2>&1
250 %postun common -p /sbin/ldconfig
252 %triggerpostun -- samba < 1.9.18p7
254 /sbin/chkconfig --add smb
257 %triggerpostun -- samba < 2.0.5a-3
259 [ ! -d /var/lock/samba ] && mkdir -m 0755 /var/lock/samba
260 [ ! -d /var/spool/samba ] && mkdir -m 1777 /var/spool/samba
261 chmod 644 /etc/services
262 [ -f /etc/inetd.conf ] && chmod 644 /etc/inetd.conf
266 %defattr(-,root,root)
267 %doc README COPYING Manifest
268 %doc WHATSNEW.txt Roadmap
270 %doc examples/autofs examples/LDAP examples/libsmbclient examples/misc examples/printer-accounting
271 %doc examples/printing
273 %attr(755,root,root) /%{_lib}/security/pam_smbpass.so
278 %{_bindir}/mksmbpasswd.sh
279 %{_bindir}/smbcontrol
283 %config(noreplace) %{_sysconfdir}/sysconfig/samba
284 %config(noreplace) %{_sysconfdir}/samba/smbusers
285 %attr(755,root,root) %config %{initdir}/smb
286 %config(noreplace) %{_sysconfdir}/logrotate.d/samba
287 %config(noreplace) %{_sysconfdir}/pam.d/samba
288 %{_mandir}/man1/smbcontrol.1*
289 %{_mandir}/man1/smbstatus.1*
290 %{_mandir}/man5/smbpasswd.5*
291 %{_mandir}/man7/samba.7*
292 %{_mandir}/man8/nmbd.8*
293 %{_mandir}/man8/pdbedit.8*
294 %{_mandir}/man8/smbd.8*
295 %{_mandir}/man8/pam_winbind.8*
296 %{_mandir}/man8/tdbbackup.8*
297 %{_mandir}/man8/libsmbclient.8*
301 %attr(0700,root,root) %dir /var/log/samba
302 %attr(1777,root,root) %dir /var/spool/samba
305 %defattr(-,root,root)
306 %config(noreplace) %{_sysconfdir}/xinetd.d/swat
309 %{_mandir}/man8/swat.8*
310 %attr(755,root,root) %{_libdir}/samba/*.msg
313 %defattr(-,root,root)
317 %{_libdir}/samba/lowcase.dat
318 %{_libdir}/samba/upcase.dat
319 %{_libdir}/samba/valid.dat
327 %{_mandir}/man8/tdbdump.8*
328 %{_mandir}/man8/smbmnt.8*
329 %{_mandir}/man8/smbmount.8*
330 %{_mandir}/man8/smbumount.8*
331 %{_mandir}/man8/smbspool.8*
339 %{_mandir}/man1/findsmb.1*
340 %{_mandir}/man1/nmblookup.1*
341 %{_mandir}/man1/rpcclient.1*
342 %{_mandir}/man1/smbcacls.1*
343 %{_mandir}/man1/smbclient.1*
344 %{_mandir}/man1/smbtar.1*
345 %{_mandir}/man1/smbtree.1*
346 %{_mandir}/man8/net.8*
347 #%{_mandir}/ja/man1/smbtar.1*
348 #%{_mandir}/ja/man1/smbclient.1*
349 #%{_mandir}/ja/man1/nmblookup.1*
352 %defattr(-,root,root)
353 /%{_lib}/libnss_wins.so*
354 /%{_lib}/libnss_winbind.so*
355 /%{_lib}/security/pam_winbind.so
356 %{_libdir}/libsmbclient.a
357 %{_libdir}/libsmbclient.so
358 %{_libdir}/samba/charset/CP*.so
359 %{_libdir}/samba/idmap/idmap*.so
360 %{_includedir}/libsmbclient.h
363 # %{_bindir}/make_printerdef
369 %{_bindir}/smbcquotas
372 %config(noreplace) %{_sysconfdir}/samba/smb.conf
373 %config(noreplace) %{_sysconfdir}/samba/lmhosts
374 %dir %{_datadir}/samba
375 %dir %{_datadir}/samba/codepages
376 %dir %{_sysconfdir}/samba
378 # %{_datadir}/samba/codepages/*
379 # %{_mandir}/man1/make_smbcodepage.1*
380 %{_mandir}/man1/ntlm_auth.1*
381 %{_mandir}/man1/profiles.1*
382 %{_mandir}/man1/smbcquotas.1*
383 %{_mandir}/man1/testparm.1*
384 %{_mandir}/man5/smb.conf.5*
385 %{_mandir}/man5/lmhosts.5*
386 %{_mandir}/man8/smbpasswd.8*
387 %{_mandir}/man1/wbinfo.1*
388 %{_mandir}/man8/winbindd.8*
389 %{_mandir}/man1/vfstest.1*
392 * Fri Jan 16 2004 Gerald (Jerry) Carter <jerry@samba,org>
393 - Removed ChangeLog entries since they are kept in CVS