⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 samba.spec

📁 samba-3.0.22.tar.gz 编译smb服务器的源码
💻 SPEC
字号:
%define initdir %{_sysconfdir}/rc.d/init.d%define auth %(test -f /etc/pam.d/system-auth && echo /etc/pam.d/system-auth || echo)Summary: Samba SMB client and serverVendor: Samba TeamPackager: Samba Team <samba@samba.org>Name:         sambaVersion:      3.0.22Release:      1License: GNU GPL version 2Group: System Environment/DaemonsURL: http://www.samba.org/Source: samba-%{version}.tar.bz2# Don't depend on Net::LDAPSource998: filter-requires-samba.shSource999: setup.tar.bz2Prereq: /sbin/chkconfig /bin/mktemp /usr/bin/killallPrereq: fileutils sed /etc/init.dRequires: pam >= 0.64 %{auth} Requires: samba-common = %{version}-%{release}Requires: logrotate >= 3.4 initscripts >= 5.54-1Provides: samba = %{version}Prefix: /usrBuildRoot: %{_tmppath}/%{name}-%{version}-rootBuildRequires: pam-devel, readline-devel, ncurses-devel, fileutils, libacl-devel, openldap-devel, krb5-devel, cups-devel# Working around perl dependency problem from docs%define __perl_requires %{SOURCE998}%descriptionSamba is the protocol by which a lot of PC-related machines sharefiles, printers, and other information (such as lists of availablefiles and printers). The Windows NT, OS/2, and Linux operating systemssupport this natively, and add-on packages can enable the same thingfor DOS, Windows, VMS, UNIX of all kinds, MVS, and more. This packageprovides an SMB server that can be used to provide network services toSMB (sometimes called "Lan Manager") clients. Samba uses NetBIOS overTCP/IP (NetBT) protocols and does NOT need the NetBEUI (Microsoft RawNetBIOS frame) protocol.#######################################################################%package clientSummary: Samba (SMB) client programs.Group: Applications/SystemRequires: samba-common = %{version}-%{release}Obsoletes: smbfsProvides: samba-client = %{version}-%{release}%description clientThe samba-client package provides some SMB clients to compliment thebuilt-in SMB filesystem in Linux. These clients allow access of SMBshares and printing to SMB printers.#######################################################################%package commonSummary: Files used by both Samba servers and clients.Group: Applications/SystemProvides: samba-common = %{version}-%{release}%description commonSamba-common provides files necessary for both the server and clientpackages of Samba.#######################################################################%package swatSummary: The Samba SMB server configuration program.Group: Applications/SystemRequires: samba = %{version} xinetdProvides: samba-swat = %{version}-%{release}%description swatThe samba-swat package includes the new SWAT (Samba Web AdministrationTool), for remotely managing Samba's smb.conf file using your favoriteWeb browser.#######################################################################%package docSummary:      Samba DocumentationGroup:        Documentation/OtherProvides:     samba-doc = %{version}-%{release}Prereq:       /usr/bin/find /bin/rm /usr/bin/xargs%description docThe samba-doc package includes the HTML versions of the Samba manpagesutilized by SWAT as well as the HTML and PDF version of "Using Samba","Samba By Example", and "The Official Samba HOWTO and Reference Guide".#######################################################################%prep%setup -q# setup the vendor files (init scripts, etc...)%setup -T -D -a 999 -n samba-%{version} -q%build/bin/cp setup/filter-requires-samba.sh %{SOURCE998}cd source%ifarch i386 sparcRPM_OPT_FLAGS="$RPM_OPT_FLAGS -D_FILE_OFFSET_BITS=64"%endif%ifarch ia64libtoolize --copy --force     # get it to recognize IA-64autoheaderautoconfEXTRA="-D_LARGEFILE64_SOURCE"%endif## always run autogen.sh./autogen.shCFLAGS="$RPM_OPT_FLAGS $EXTRA -D_GNU_SOURCE" ./configure \	--prefix=%{_prefix} \	--localstatedir=/var \        --with-configdir=%{_sysconfdir}/samba \        --with-libdir=%{_libdir}/samba \        --with-lockdir=/var/lib/samba \        --with-logfilebase=/var/log/samba \        --with-mandir=%{_mandir} \        --with-piddir=/var/run \	--with-privatedir=%{_sysconfdir}/samba \        --with-sambabook=%{_datadir}/swat/using_samba \        --with-swatdir=%{_datadir}/swat \	--enable-cups \        --with-acl-support \	--with-ads \        --with-automount \        --with-fhs \	--with-pam_smbpass \	--with-libsmbclient \	--with-libsmbsharemodes \        --without-smbwrapper \	--with-pam \	--with-quotas \	--with-shared-modules=idmap_rid,idmap_ad \	--with-smbmount \	--with-syslog \	--with-utmp make showlayoutmake CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE"  proto ## check for gcc 3.4 or laterCC_VERSION=`${CC} --version | head -1 | awk '{print $3}'`CC_MAJOR=`echo ${CC_VERSION} | cut -d. -f 1`CC_MINOR=`echo ${CC_VERSION} | cut -d. -f 2`if [ ${CC_MAJOR} -ge 3 ]; then        if [ ${CC_MAJOR} -gt 3 -o ${CC_MINOR} -ge 4 ]; then                make pch        fifimake CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE" %{?_smp_mflags} \	all modules pam_smbpass## build the cifs fs mount helpercd clientgcc  -o mount.cifs $RPM_OPT_FLAGS  -D_GNU_SOURCE -Wall -D_GNU_SOURCE -D_LARGEFILE64_SOURCE mount.cifs.cgcc  -o umount.cifs $RPM_OPT_FLAGS  -D_GNU_SOURCE -Wall -D_GNU_SOURCE -D_LARGEFILE64_SOURCE umount.cifs.ccd ..# Remove some permission bits to avoid to many dependenciescd ..find examples docs -type f | xargs -r chmod -x%install# Clean up in case there is trash left from a previous buildrm -rf $RPM_BUILD_ROOT# Create the target build directory hierarchymkdir -p $RPM_BUILD_ROOT%{_datadir}/swat/{help,include,using_samba/{figs,gifsa}}mkdir -p $RPM_BUILD_ROOT%{_datadir}/swat/using_sambamkdir -p $RPM_BUILD_ROOT%{_includedir}mkdir -p $RPM_BUILD_ROOT%{_initrddir}mkdir -p $RPM_BUILD_ROOT{%{_libdir},%{_includedir}}mkdir -p $RPM_BUILD_ROOT%{_libdir}/samba/{auth,charset,idmap,vfs,pdb}mkdir -p $RPM_BUILD_ROOT/%{_lib}/securitymkdir -p $RPM_BUILD_ROOT%{_mandir}mkdir -p $RPM_BUILD_ROOT%{_prefix}/{bin,sbin}mkdir -p $RPM_BUILD_ROOT%{_prefix}/libmkdir -p $RPM_BUILD_ROOT/sbinmkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/{logrotate.d,pam.d,samba}mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/{pam.d,logrotate.d}mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.dmkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/{samba,sysconfig}mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/xinetd.dmkdir -p $RPM_BUILD_ROOT/var/lib/samba/winbindd_privilegedmkdir -p $RPM_BUILD_ROOT/var/{log,run/winbindd,spool}/sambacd sourcemake DESTDIR=$RPM_BUILD_ROOT \        installcd ..# pam_smbpasscp source/bin/pam_smbpass.so $RPM_BUILD_ROOT/%{_lib}/security/pam_smbpass.so# NSS & PAM winbind supportinstall -m 755 source/nsswitch/pam_winbind.so $RPM_BUILD_ROOT/%{_lib}/security/pam_winbind.soinstall -m 755 source/nsswitch/libnss_winbind.so $RPM_BUILD_ROOT/%{_lib}/libnss_winbind.soinstall -m 755 source/nsswitch/libnss_wins.so $RPM_BUILD_ROOT/%{_lib}/libnss_wins.so( cd $RPM_BUILD_ROOT/%{_lib};  ln -sf libnss_winbind.so  libnss_winbind.so.2;  ln -sf libnss_wins.so  libnss_wins.so.2 )# make install puts libsmbclient.so in the wrong place on x86_64rm -f $RPM_BUILD_ROOT/usr/lib*/samba/libsmbclient.so $RPM_BUILD_ROOT/usr/lib*/samba/libsmbclient.a || trueinstall -m 755 source/bin/libsmbclient.so $RPM_BUILD_ROOT%{_libdir}/libsmbclient.soinstall -m 755 source/bin/libsmbclient.a $RPM_BUILD_ROOT%{_libdir}/libsmbclient.ainstall -m 644 source/include/libsmbclient.h $RPM_BUILD_ROOT%{_includedir}ln -s %{_libdir}/libsmbclient.so $RPM_BUILD_ROOT%{_libdir}/libsmbclient.so.0#if [ %{_libdir} == /usr/lib64 ];then#	ln -s %{_libdir}/libsmbclient.so $RPM_BUILD_ROOT/usr/lib/libsmbclient.so.0#	ln -s %{_libdir}/libsmbclient.so $RPM_BUILD_ROOT/usr/lib/libsmbclient.so#fi# make install puts libmsrpc.so in the wrong place on x86_64rm -f $RPM_BUILD_ROOT/usr/lib*/samba/libmsrpc.so $RPM_BUILD_ROOT/usr/lib*/samba/libmsrpc.a || trueinstall -m 755 source/bin/libmsrpc.so $RPM_BUILD_ROOT%{_libdir}/libmsrpc.soinstall -m 755 source/bin/libmsrpc.a $RPM_BUILD_ROOT%{_libdir}/libmsrpc.ainstall -m 644 source/include/libmsrpc.h $RPM_BUILD_ROOT%{_includedir}rm -f $RPM_BUILD_ROOT%{_libdir}/samba/libmsrpc.*ln -s /%{_libdir}/libmsrpc.so $RPM_BUILD_ROOT%{_libdir}/libmsrpc.so.0#if [ %{_libdir} == /usr/lib64 ];then#	ln -s %{_libdir}/libmsrpc.so $RPM_BUILD_ROOT/usr/lib/libmsrpc.so.0#	ln -s %{_libdir}/libmsrpc.so $RPM_BUILD_ROOT/usr/lib/libmsrpc.so#fi# Install pam_smbpass.soinstall -m755 source/bin/pam_smbpass.so $RPM_BUILD_ROOT/%{_lib}/security/pam_smbpass.so# we need a symlink for mount to recognise the smb and smbfs filesystem typesln -sf %{_prefix}/sbin/smbmount $RPM_BUILD_ROOT/sbin/mount.smbfsln -sf %{_prefix}/sbin/smbmount $RPM_BUILD_ROOT/sbin/mount.smb# Install the miscellanyecho 127.0.0.1 localhost > $RPM_BUILD_ROOT%{_sysconfdir}/samba/lmhostsinstall -m644 setup/samba.log $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/sambainstall -m644 setup/swat $RPM_BUILD_ROOT%{_sysconfdir}/xinetd.d/swatinstall -m644 setup/samba.sysconfig $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/sambainstall -m755 setup/smb.init $RPM_BUILD_ROOT%{initdir}/smbinstall -m755 setup/winbind.init $RPM_BUILD_ROOT%{initdir}/winbindinstall -m644 setup/samba.pamd $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/sambainstall -m755 setup/smbprint $RPM_BUILD_ROOT%{_bindir}install -m644 setup/smbusers $RPM_BUILD_ROOT%{_sysconfdir}/samba/smbusersinstall -m644 setup/smb.conf $RPM_BUILD_ROOT%{_sysconfdir}/samba/smb.confinstall -m755 source/client/mount.cifs $RPM_BUILD_ROOT/sbin/mount.cifsinstall -m755 source/client/umount.cifs $RPM_BUILD_ROOT/sbin/umount.cifsinstall -m755 source/script/mksmbpasswd.sh $RPM_BUILD_ROOT%{_bindir}ln -s ../..%{initdir}/smb  $RPM_BUILD_ROOT%{_sbindir}/sambaln -s ../..%{initdir}/winbind  $RPM_BUILD_ROOT%{_sbindir}/winbind# Remove "*.old" filesfind $RPM_BUILD_ROOT -name "*.old" -exec rm -f {} \;## don't duplicate the docs.  These are installed by/with SWATrm -rf docs/htmldocsrm -rf docs/manpages( cd docs; ln -s %{_prefix}/share/swat/help htmldocs )#### Clean out man pages for tools not installed here##rm -f $RPM_BUILD_ROOT%{_mandir}/man1/log2pcap.1*rm -f $RPM_BUILD_ROOT%{_mandir}/man1/smbsh.1*rm -f $RPM_BUILD_ROOT%{_mandir}/man5/vfstest.1*%cleanrm -rf $RPM_BUILD_ROOT%post## deal with an upgrade from a broken 3.0.21b RPMif [ "$1" -eq "2" ]; then	if [ -d /var/cache/samba ]; then		for file in `ls /var/cache/samba/*tdb`; do			/bin/cp -up $file /var/lib/samba/`basename $file`		done		mkdir -p /var/lib/samba/eventlog		for file in `ls /var/cache/samba/eventlog/*tdb`; do			/bin/cp -up $file /var/lib/samba/eventlog/`basename $file`		done		/bin/mv /var/cache/samba /var/cache/samba.moved        fifi%preunif [ $1 = 0 ] ; then    /sbin/chkconfig --del smb    /sbin/chkconfig --del winbind    # rm -rf /var/log/samba/* /var/lib/samba/*    /sbin/service smb stop >/dev/null 2>&1fiexit 0%postunif [ "$1" -ge "1" ]; then	%{initdir}/smb restart >/dev/null 2>&1fi	%post swat# Add swat entry to /etc/services if not already there.if [ ! "`grep ^\s**swat /etc/services`" ]; then        echo 'swat        901/tcp     # Add swat service used via inetd' >> /etc/servicesfi%post common/sbin/ldconfig%postun common /sbin/ldconfig######################################################################### Files section                                                     #########################################################################%files%defattr(-,root,root)%config(noreplace) %{_sysconfdir}/sysconfig/samba%config(noreplace) %{_sysconfdir}/samba/smbusers%attr(755,root,root) %config %{initdir}/smb%attr(755,root,root) %config %{initdir}/winbind%config(noreplace) %{_sysconfdir}/logrotate.d/samba%config(noreplace) %{_sysconfdir}/pam.d/samba%attr(0755,root,root) %dir /var/log/samba%attr(0755,root,root) %dir /var/lib/samba%attr(1777,root,root) %dir /var/spool/samba%{_sbindir}/samba%{_sbindir}/winbind%{_sbindir}/smbd%{_sbindir}/nmbd%{_sbindir}/winbindd%attr(755,root,root) /%{_lib}/libnss_wins.so*%attr(755,root,root) /%{_lib}/libnss_winbind.so*%attr(755,root,root) /%{_lib}/security/pam_winbind.so%attr(755,root,root) /%{_lib}/security/pam_smbpass.so%{_bindir}/mksmbpasswd.sh%{_bindir}/smbcontrol%{_bindir}/smbstatus%{_bindir}/tdbbackup%{_bindir}/tdbtool%{_bindir}/tdbdump%{_bindir}/wbinfo%{_bindir}/ntlm_auth%{_bindir}/pdbedit%{_bindir}/eventlogadm%{_libdir}/samba/idmap/*.so%{_libdir}/samba/vfs/*.so%{_libdir}/samba/auth/*.so%{_mandir}/man1/smbcontrol.1*%{_mandir}/man1/smbstatus.1*%{_mandir}/man1/vfstest.1*%{_mandir}/man5/smbpasswd.5*%{_mandir}/man7/samba.7*%{_mandir}/man8/nmbd.8*%{_mandir}/man8/pdbedit.8*%{_mandir}/man8/smbd.8*%{_mandir}/man7/pam_winbind.7*%{_mandir}/man8/tdbbackup.8*%{_mandir}/man8/tdbdump.8*%{_mandir}/man8/winbindd.8*%{_mandir}/man1/ntlm_auth.1*%{_mandir}/man1/wbinfo.1*##########%files doc%defattr(-,root,root)%doc README COPYING Manifest %doc WHATSNEW.txt Roadmap%doc docs%doc examples/autofs examples/LDAP examples/libsmbclient examples/misc examples/printer-accounting%doc examples/printing%doc %{_datadir}/swat/help##########%files swat%defattr(-,root,root)%config(noreplace) %{_sysconfdir}/xinetd.d/swat%dir %{_datadir}/swat%{_datadir}/swat/include%{_datadir}/swat/images%{_datadir}/swat/lang%{_sbindir}/swat%{_mandir}/man8/swat.8*##########%files client%defattr(-,root,root)/sbin/mount.smb/sbin/mount.smbfs/sbin/mount.cifs/sbin/umount.cifs%{_bindir}/rpcclient%{_bindir}/smbcacls%{_bindir}/smbmount%{_bindir}/smbmnt%{_bindir}/smbumount%{_bindir}/findsmb%{_bindir}/smbcquotas%{_bindir}/nmblookup%{_bindir}/smbget%{_bindir}/smbclient%{_bindir}/smbprint%{_bindir}/smbspool%{_bindir}/smbtar%{_bindir}/net%{_bindir}/smbtree%{_mandir}/man8/smbmnt.8*%{_mandir}/man8/smbmount.8*%{_mandir}/man8/smbumount.8*%{_mandir}/man8/mount.cifs.8.*%{_mandir}/man8/umount.cifs.8.*%{_mandir}/man8/smbspool.8*%{_mandir}/man1/smbget.1*%{_mandir}/man5/smbgetrc.5*%{_mandir}/man1/findsmb.1*%{_mandir}/man1/nmblookup.1*%{_mandir}/man1/rpcclient.1*%{_mandir}/man1/smbcacls.1*%{_mandir}/man1/smbclient.1*%{_mandir}/man1/smbtar.1*%{_mandir}/man1/smbtree.1*%{_mandir}/man8/net.8*%{_mandir}/man1/smbcquotas.1*##########%files common%defattr(-,root,root)%dir %{_sysconfdir}/samba%config(noreplace) %{_sysconfdir}/samba/smb.conf%config(noreplace) %{_sysconfdir}/samba/lmhosts%{_includedir}/libsmbclient.h%{_libdir}/libsmbclient.a%{_libdir}/libsmbclient.so*%{_includedir}/libmsrpc.h%{_libdir}/libmsrpc.a%{_libdir}/libmsrpc.so*%{_libdir}/samba/*.dat%{_libdir}/samba/*.msg%{_libdir}/samba/charset/*.so%{_bindir}/testparm%{_bindir}/smbpasswd%{_bindir}/profiles%{_mandir}/man1/profiles.1*%{_mandir}/man1/testparm.1*%{_mandir}/man5/smb.conf.5*%{_mandir}/man5/lmhosts.5*%{_mandir}/man8/smbpasswd.8*%{_mandir}/man7/libsmbclient.7*%changelog* Fri Jan 16 2004 Gerald (Jerry) Carter <jerry@samba,org>- Removed ChangeLog entries since they are kept in CVS

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -