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 debug2html
132 rm -rf $RPM_BUILD_ROOT
134 mkdir -p $RPM_BUILD_ROOT/sbin
135 mkdir -p $RPM_BUILD_ROOT/usr/{sbin,bin}
136 mkdir -p $RPM_BUILD_ROOT/%{initdir}
137 mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/{pam.d,logrotate.d}
138 mkdir -p $RPM_BUILD_ROOT/var/{log,spool,lib}/samba
139 mkdir -p $RPM_BUILD_ROOT/%{_datadir}/swat/using_samba
140 mkdir -p $RPM_BUILD_ROOT/%{_datadir}/samba/codepages
144 make DESTDIR=$RPM_BUILD_ROOT \
149 # Install other stuff
150 install -m644 %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/samba/smb.conf
151 install -m644 %{SOURCE9} $RPM_BUILD_ROOT/etc/samba/smbusers
152 install -m755 %{SOURCE8} $RPM_BUILD_ROOT%{_bindir}
153 install -m644 %{SOURCE7} $RPM_BUILD_ROOT/etc/pam.d/samba
154 install -m644 %{SOURCE1} $RPM_BUILD_ROOT/etc/logrotate.d/samba
155 install -m755 source/script/mksmbpasswd.sh $RPM_BUILD_ROOT%{_bindir}
157 install -m755 %{SOURCE5} $RPM_BUILD_ROOT%{initdir}/smb
158 install -m755 %{SOURCE6} $RPM_BUILD_ROOT%{initdir}/winbind
159 ln -s ../..%{initdir}/smb $RPM_BUILD_ROOT%{_sbindir}/samba
160 ln -s ../..%{initdir}/winbind $RPM_BUILD_ROOT%{_sbindir}/winbind
162 ln -s ../usr/bin/smbmount $RPM_BUILD_ROOT/sbin/mount.smb
163 ## Samba's Makefile is breaking this currently. Remove it and set our own
164 /bin/rm -f $RPM_BUILD_ROOT/sbin/mount.smbfs
165 ln -s ../usr/bin/smbmount $RPM_BUILD_ROOT/sbin/mount.smbfs
167 echo 127.0.0.1 localhost > $RPM_BUILD_ROOT%{_sysconfdir}/samba/lmhosts
171 mkdir -p $RPM_BUILD_ROOT/%{_lib}/security
172 mv source/bin/pam_smbpass.so $RPM_BUILD_ROOT/%{_lib}/security/pam_smbpass.so
175 mkdir -p $RPM_BUILD_ROOT/%{_lib}/security
176 install -m 755 source/nsswitch/pam_winbind.so $RPM_BUILD_ROOT/%{_lib}/security/pam_winbind.so
177 install -m 755 source/nsswitch/libnss_winbind.so $RPM_BUILD_ROOT/%{_lib}/libnss_winbind.so
178 install -m 755 source/nsswitch/libnss_wins.so $RPM_BUILD_ROOT/%{_lib}/libnss_wins.so
179 ( cd $RPM_BUILD_ROOT/%{_lib};
180 ln -sf libnss_winbind.so libnss_winbind.so.2;
181 ln -sf libnss_wins.so libnss_wins.so.2 )
185 # make install puts libsmbclient.so in the wrong place on x86_64
186 rm -f $RPM_BUILD_ROOT/usr/lib || true
187 mkdir -p $RPM_BUILD_ROOT%{_libdir} $RPM_BUILD_ROOT%{_includedir}
188 install -m 755 source/bin/libsmbclient.so $RPM_BUILD_ROOT%{_libdir}/libsmbclient.so
189 install -m 755 source/bin/libsmbclient.a $RPM_BUILD_ROOT%{_libdir}/libsmbclient.a
190 install -m 644 source/include/libsmbclient.h $RPM_BUILD_ROOT%{_includedir}
191 rm -f $RPM_BUILD_ROOT%{_libdir}/samba/libsmbclient.*
193 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/xinetd.d
194 install -m644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/xinetd.d/swat
196 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig
197 install -m644 %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/samba
200 ## Clean out man pages for tools not installed here
202 rm -f $RPM_BUILD_ROOT/%{_mandir}/man1/editreg.1*
203 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/log2pcap.1*
204 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/smbsh.1*
205 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/smbget.1*
206 rm -f $RPM_BUILD_ROOT%{_mandir}/man5/smbgetrc.5*
207 rm -f $RPM_BUILD_ROOT/%{_mandir}/man8/mount.cifs.8*
208 rm -f $RPM_BUILD_ROOT/%{_mandir}/man8/umount.cifs.8*
209 rm -f $RPM_BUILD_ROOT/%{_mandir}/man1/testprns.1*
212 rm -rf $RPM_BUILD_ROOT
215 /sbin/chkconfig --add smb
219 /sbin/chkconfig --del smb
220 rm -rf /var/log/samba/* /var/cache/samba/*
221 /sbin/service smb stop >/dev/null 2>&1
226 if [ "$1" -ge "1" ]; then
227 %{initdir}/smb condrestart >/dev/null 2>&1
232 # Add swat entry to /etc/services if not already there.
233 if [ ! "`grep ^\s**swat /etc/services`" ]; then
234 echo 'swat 901/tcp # Add swat service used via inetd' >> /etc/services
238 /sbin/chkconfig --add winbind
243 /sbin/chkconfig --del winbind
244 /sbin/service winbind stop >/dev/null 2>&1
248 %postun common -p /sbin/ldconfig
250 %triggerpostun -- samba < 1.9.18p7
252 /sbin/chkconfig --add smb
255 %triggerpostun -- samba < 2.0.5a-3
257 [ ! -d /var/lock/samba ] && mkdir -m 0755 /var/lock/samba
258 [ ! -d /var/spool/samba ] && mkdir -m 1777 /var/spool/samba
259 chmod 644 /etc/services
260 [ -f /etc/inetd.conf ] && chmod 644 /etc/inetd.conf
264 %defattr(-,root,root)
265 %doc README COPYING Manifest
266 %doc WHATSNEW.txt Roadmap
268 %doc examples/autofs examples/LDAP examples/libsmbclient examples/misc examples/printer-accounting
269 %doc examples/printing
271 %attr(755,root,root) /%{_lib}/security/pam_smbpass.so
276 %{_bindir}/mksmbpasswd.sh
277 %{_bindir}/smbcontrol
281 %config(noreplace) %{_sysconfdir}/sysconfig/samba
282 %config(noreplace) %{_sysconfdir}/samba/smbusers
283 %attr(755,root,root) %config %{initdir}/smb
284 %config(noreplace) %{_sysconfdir}/logrotate.d/samba
285 %config(noreplace) %{_sysconfdir}/pam.d/samba
286 %{_mandir}/man1/smbcontrol.1*
287 %{_mandir}/man1/smbstatus.1*
288 %{_mandir}/man5/smbpasswd.5*
289 %{_mandir}/man7/samba.7*
290 %{_mandir}/man8/nmbd.8*
291 %{_mandir}/man8/pdbedit.8*
292 %{_mandir}/man8/smbd.8*
293 %{_mandir}/man8/pam_winbind.8*
294 %{_mandir}/man8/tdbbackup.8*
295 %{_mandir}/man8/libsmbclient.8*
299 %attr(0700,root,root) %dir /var/log/samba
300 %attr(1777,root,root) %dir /var/spool/samba
303 %defattr(-,root,root)
304 %config(noreplace) %{_sysconfdir}/xinetd.d/swat
307 %{_mandir}/man8/swat.8*
308 %attr(755,root,root) %{_libdir}/samba/*.msg
311 %defattr(-,root,root)
314 %{_libdir}/samba/lowcase.dat
315 %{_libdir}/samba/upcase.dat
316 %{_libdir}/samba/valid.dat
324 %{_mandir}/man8/tdbdump.8*
325 %{_mandir}/man8/smbmnt.8*
326 %{_mandir}/man8/smbmount.8*
327 %{_mandir}/man8/smbumount.8*
328 %{_mandir}/man8/smbspool.8*
336 %{_mandir}/man1/findsmb.1*
337 %{_mandir}/man1/nmblookup.1*
338 %{_mandir}/man1/rpcclient.1*
339 %{_mandir}/man1/smbcacls.1*
340 %{_mandir}/man1/smbclient.1*
341 %{_mandir}/man1/smbtar.1*
342 %{_mandir}/man1/smbtree.1*
343 %{_mandir}/man8/net.8*
344 #%{_mandir}/ja/man1/smbtar.1*
345 #%{_mandir}/ja/man1/smbclient.1*
346 #%{_mandir}/ja/man1/nmblookup.1*
349 %defattr(-,root,root)
350 /%{_lib}/libnss_wins.so*
351 /%{_lib}/libnss_winbind.so*
352 /%{_lib}/security/pam_winbind.so
353 %{_libdir}/libsmbclient.a
354 %{_libdir}/libsmbclient.so
355 %{_libdir}/samba/charset/CP*.so
356 %{_libdir}/samba/idmap/idmap*.so
357 %{_includedir}/libsmbclient.h
360 # %{_bindir}/make_printerdef
366 %{_bindir}/smbcquotas
369 %config(noreplace) %{_sysconfdir}/samba/smb.conf
370 %config(noreplace) %{_sysconfdir}/samba/lmhosts
371 %dir %{_datadir}/samba
372 %dir %{_datadir}/samba/codepages
373 %dir %{_sysconfdir}/samba
375 # %{_datadir}/samba/codepages/*
376 # %{_mandir}/man1/make_smbcodepage.1*
377 %{_mandir}/man1/ntlm_auth.1*
378 %{_mandir}/man1/profiles.1*
379 %{_mandir}/man1/smbcquotas.1*
380 %{_mandir}/man1/testparm.1*
381 %{_mandir}/man5/smb.conf.5*
382 %{_mandir}/man5/lmhosts.5*
383 %{_mandir}/man8/smbpasswd.8*
384 %{_mandir}/man1/wbinfo.1*
385 %{_mandir}/man8/winbindd.8*
386 %{_mandir}/man1/vfstest.1*
389 * Fri Jan 16 2004 Gerald (Jerry) Carter <jerry@samba,org>
390 - Removed ChangeLog entries since they are kept in CVS