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

📄 samba2.spec

📁 samba-3.0.22.tar.gz 编译smb服务器的源码
💻 SPEC
📖 第 1 页 / 共 5 页
字号:
Group: System/ServersRequires: %{name}-server = %{version}Provides: %{name}-vscan%description vscan-openavA vfs-module for samba to implement on-access scanning using theOpenAntivirus antivirus software (which must be installed to use this).%endif%if %build_sophos%package vscan-sophosSummary: On-access virus scanning for samba using SophosGroup: System/ServersRequires: %{name}-server = %{version}Provides: %{name}-vscan%description vscan-sophosA vfs-module for samba to implement on-access scanning using theSophos antivirus software (which must be installed to use this).%endif%if %build_symantec%package vscan-symantecSummary: On-access virus scanning for samba using SymantecGroup: System/ServersRequires: %{name}-server = %{version}Provides: %{name}-vscanAutoreq: 0%description vscan-symantecA vfs-module for samba to implement on-access scanning using theSymantec antivirus software (which must be installed to use this).%endif%if %build_trend%package vscan-trendSummary: On-access virus scanning for samba using TrendGroup: System/ServersRequires: %{name}-server = %{version}Provides: %{name}-vscan%description vscan-trendA vfs-module for samba to implement on-access scanning using theTrend antivirus software (which must be installed to use this).%endif%prep# Allow users to query build options with --with options:#%define opt_status(%1)	%(echo %{1})%if %{?_with_options:1}%{!?_with_options:0}%define opt_status(%{1})	%(if [ %{1} -eq 1 ];then echo enabled;else echo disabled;fi)#exit 1%{error: }%{error:Build options available are:}%{error:--with[out] system   Build as the system samba package [or as samba3]}%{error:--with[out] acl      Build with support for file ACLs          - %opt_status %build_acl}%{error:--with[out] winbind  Build with Winbind support                - %opt_status %build_winbind}%{error:--with[out] wins     Build with WINS name resolution support   - %opt_status %build_wins}%{error:--with[out] ldap     Build with legacy (samba2) LDAP support   - %opt_status %build_ldap}%{error:--with[out] ads      Build with Active Directory support       - %opt_status %build_ads}%{error:--with[out] scanners Enable on-access virus scanners           - %opt_status %build_scanners}%{error: }%else%{error: }%{error: This rpm has build options available, use --with options to see them}%{error: }%endif%if %{?_with_options:1}%{!?_with_options:0} && %build_scanners#{error:--with scanners enables the following:%{?build_clamav:clamav,}%{?build_icap:icap,}%{?build_fprot:fprot,}%{?build_mks:mks,}%{?build_openav:openav,}%{?build_sophos:sophos,}%{?build_symantec:symantec,}%{?build_trend:trend}}%{error:--with scanners enables the following: clamav,icap,fprot,fsav,mks,nai,openav,sophos,trend}%{error: }%{error:To enable others (requires development libraries for the scanner):}%{error:--with symantec           Enable on-access scanning with Symantec        - %opt_status %build_symantec}%{error: }%endif%if %{?_with_options:1}%{!?_with_options:0}clearexit 1%endif%if %build_non_defaultRPM_EXTRA_OPTIONS="\%{?_with_system: --with system}\%{?_without_system: --without system}\%{?_with_acl: --with acl}\%{?_without_acl: --without acl}\%{?_with_winbind: --with winbind}\%{?_without_winbind: --without winbind}\%{?_with_wins: --with wins}\%{?_without_wins: --without wins}\%{?_with_ldap: --with ldap}\%{?_without_ldap: --without ldap}\%{?_with_ads: --with ads}\%{?_without_ads: --without ads}\%{?_with_scanners: --with scanners}\%{?_without_scanners: --without scanners}\"echo "Building a non-default rpm with the following command-line arguments:"echo "$RPM_EXTRA_OPTIONS"echo "This rpm was built with non-default options, thus, to build ">%{SOURCE7}echo "an identical rpm, you need to supply the following options">>%{SOURCE7}echo "at build time: $RPM_EXTRA_OPTIONS">>%{SOURCE7}echo -e "\n%{name}-%{version}-%{release}\n">>%{SOURCE7}%elseecho "This rpm was built with default options">%{SOURCE7}echo -e "\n%{name}-%{version}-%{release}\n">>%{SOURCE7}%endif%if %build_vscan%setup -q -a 8 -n %{pkg_name}-%{source_ver}%else%setup -q -n %{pkg_name}-%{source_ver}%endif#%patch111 -p1%patch1 -p1 -b .smbw%patch4 -p1 -b .sbin%patch5 -p1# Version specific patches: current version%if !%have_pversionecho "Applying patches for current version: %{ver}"#%patch7 -p1 -b .lib64%patch9 -p1 -b .unixext#%patch10 -p1 -b .rpcclient-libs%patch11 -p1 -b .mdk%else# Version specific patches: upcoming versionecho "Applying patches for new versions: %{pversion}"%patch8 -p1 -b .libsmbdir%endif# Limbo patches%if %have_pversion && %have_preecho "Appling patches which should only be applied to prereleases"%endif# Fix quota compilation in glibc>2.3%if %mdkversion >= 910 && %mdkversion < 1000#grep "<linux/quota.h>" source/smbd/quotas.c >/dev/null && \perl -pi -e 's@<linux/quota.h>@<sys/quota.h>@' source/smbd/quotas.c%endifcp %{SOURCE7} .# Make a copy of examples so that we have a clean one for doc:cp -a examples examples.bin%if %build_vscancp -a %{vscandir} %{vfsdir}#fix stupid directory names:#mv %{vfsdir}/%{vscandir}/openantivirus %{vfsdir}/%{vscandir}/oav# Inline replacement of config dirfor av in clamav fprotd fsav icap kavp mksd mcdaemon oav sophos symantec trend do	[ -e %{vfsdir}/%{vscandir}/*/vscan-$av.h ] && perl -pi -e \	's,^#define PARAMCONF "/etc/samba,#define PARAMCONF "/etc/%{name},' \	%{vfsdir}/%{vscandir}/*/vscan-$av.hdone#Inline edit vscan header:perl -pi -e 's/^# define SAMBA_VERSION_MAJOR 2/# define SAMBA_VERSION_MAJOR 3/g;s/# define SAMBA_VERSION_MINOR 2/# define SAMBA_VERSION_MINOR 0/g' %{vfsdir}/%{vscandir}/include/vscan-global.h%endif# Edit some files when not building system samba:%if !%build_systemperl -pi -e 's/%{pkg_name}/%{name}/g' source/auth/pampass.c%endif#remove cvs internal files from docs:find docs examples -name '.cvsignore' -exec rm -f {} \;#make better doc trees:chmod -R a+rX examples docs *Manifest* README  Roadmap COPYINGmkdir -p clean-docs/samba-doccp -a examples docs clean-docs/samba-docmv -f clean-docs/samba-doc/examples/libsmbclient clean-docs/rm -Rf clean-docs/samba-doc/docs/{docbook,manpages,htmldocs,using_samba}ln -s %{_datadir}/swat%{samba_major}/using_samba/ clean-docs/samba-doc/docs/using_sambaln -sf %{_datadir}/swat%{samba_major}/help/ clean-docs/samba-doc/docs/htmldocs%build#%serverbuild(cd sourceCFLAGS=`echo "$RPM_OPT_FLAGS"|sed -e 's/-g//g'`%if %gcc331CFLAGS=`echo "$CFLAGS"|sed -e 's/-O2/-O/g'`%endif./autogen.sh# Don't use --with-fhs now, since it overrides libdir, it sets configdir, # lockdir,piddir logfilebase,privatedir and swatdir%configure      --prefix=%{_prefix} \                --sysconfdir=%{_sysconfdir}/%{name} \                --localstatedir=/var \                --with-libdir=%{_libdir}/%{name} \                --with-privatedir=%{_sysconfdir}/%{name} \		--with-lockdir=/var/cache/%{name} \		--with-piddir=/var/run \                --with-swatdir=%{_datadir}/swat%{samba_major} \                --with-configdir=%{_sysconfdir}/%{name} \		--with-logfilebase=/var/log/%{name} \%if !%build_ads		--with-ads=no	\%endif                --with-automount \                --with-smbmount \                --with-pam \                --with-pam_smbpass \%if %build_ldap		--with-ldapsam \%endif		--with-tdbsam \                --with-syslog \                --with-quotas \                --with-utmp \		--with-manpages-langs=en \%if %build_acl		--with-acl-support      \%endif		--disable-mysqltest \		--with-expsam=%build_expsam \		--program-suffix=%{samba_major} #		--with-shared-modules=pdb_ldap,idmap_ldap \#		--with-manpages-langs=en,ja,pl	\#_if !%build_system#                --with-smbwrapper \#_endif		#		--with-nisplussam \#                --with-fhs \#Fix the make file so we don't create debug information on 9.2%if %mdkversion == 920perl -pi -e 's/-g //g' Makefile%endifperl -pi -e 's|-Wl,-rpath,%{_libdir}||g;s|-Wl,-rpath -Wl,%{_libdir}||g' Makefilemake proto_exists%make all libsmbclient smbfilter wins modules %{?_with_test: torture debug3html bin/log2pcap} bin/editreg bin/smbget client/mount.cifs)# Build mkntpasswd in examples/LDAP/ for smbldaptoolsmake -C examples.bin/LDAP/smbldap-tools/mkntpwd%if %build_vscanecho -e "\n\nBuild antivirus VFS modules\n\n"pushd %{vfsdir}/%{vscandir}%configure#sed -i -e 's,openantivirus,oav,g' Makefilesed -i -e 's,^\(.*clamd socket name.*=\).*,\1 /var/lib/clamav/clamd.socket,g' clamav/vscan-clamav.confmakepopd%endif# Build antivirus vfs objects%if %build_symantececho "Building Symantec"make -C %{vfsdir}/%{vscandir} symantec%endif%installrm -rf $RPM_BUILD_ROOTmkdir -p $RPM_BUILD_ROOT#Ensure all docs are readablechmod a+r docs -R# Any entries here mean samba makefile is *really* broken:mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/%{name}mkdir -p $RPM_BUILD_ROOT/%{_datadir}mkdir -p $RPM_BUILD_ROOT%{_libdir}/%{name}/vfs(cd sourcemake DESTDIR=$RPM_BUILD_ROOT LIBDIR=%{_libdir}/%{name} MANDIR=%{_mandir} install installclientlib installmodules)install -m755 source/bin/{editreg,smbget} %{buildroot}/%{_bindir}#need to staymkdir -p $RPM_BUILD_ROOT/{sbin,bin}mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/{logrotate.d,pam.d,xinetd.d}mkdir -p $RPM_BUILD_ROOT/%{_initrddir}mkdir -p $RPM_BUILD_ROOT/var/cache/%{name}mkdir -p $RPM_BUILD_ROOT/var/log/%{name}mkdir -p $RPM_BUILD_ROOT/var/run/%{name}mkdir -p $RPM_BUILD_ROOT/var/spool/%{name}mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/%{name}/{netlogon,profiles,printers}mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/%{name}/printers/{W32X86,WIN40,W32ALPHA,W32MIPS,W32PPC}mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/%{name}/codepages/srcmkdir -p $RPM_BUILD_ROOT/%{_lib}/securitymkdir -p $RPM_BUILD_ROOT%{_libdir}mkdir -p $RPM_BUILD_ROOT%{_libdir}/%{name}/vfsmkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}/scripts#smbwrapper and pam_winbind not handled by make, pam_smbpass.so doesn't build#install -m 755 source/bin/smbwrapper.so $RPM_BUILD_ROOT%{_libdir}/smbwrapper%{samba_major}.soinstall -m 755 source/bin/pam_smbpass.so $RPM_BUILD_ROOT/%{_lib}/security/pam_smbpass%{samba_major}.soinstall -m 755 source/nsswitch/pam_winbind.so $RPM_BUILD_ROOT/%{_lib}/security/pam_winbind.soinstall -m755 source/bin/libsmbclient.a $RPM_BUILD_ROOT%{_libdir}/libsmbclient.apushd $RPM_BUILD_ROOT/%{_libdir}[ -f libsmbclient.so ] && mv -f libsmbclient.so libsmbclient.so.%{libsmbmajor}ln -sf libsmbclient.so.%{libsmbmajor} libsmbclient.sopopd# smbsh forgotten#install -m 755 source/bin/smbsh $RPM_BUILD_ROOT%{_bindir}/%if %build_vscan%makeinstall_std -C %{vfsdir}/%{vscandir}install -m 644 %{vfsdir}/%{vscandir}/*/vscan-*.conf %{buildroot}/%{_sysconfdir}/%{name}%endif	#libnss_* not handled by make:# Install the nsswitch library extension filefor i in wins winbind; do  install -m755 source/nsswitch/libnss_${i}.so $RPM_BUILD_ROOT/%{_lib}/libnss_${i}.sodone# Make link for wins and winbind resolvers( cd $RPM_BUILD_ROOT/%{_lib}; ln -s libnss_wins.so libnss_wins.so.2; ln -s libnss_winbind.so libnss_winbind.so.2)%if %{?_with_test:1}%{!?_with_test:0}for i in {%{testbin}};do  install -m755 source/bin/${i} $RPM_BUILD_ROOT/%{_bindir}/${i}%{samba_major}done%endif# Install other stuff#        install -m644 examples/VFS/recycle/recycle.conf $RPM_BUILD_ROOT%{_sysconfdir}/samba/        install -m644 packaging/Mandrake/smbusers $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/smbusers        install -m755 packaging/Mandrake/smbprint $RPM_BUILD_ROOT/%{_bindir}        #install -m755 packaging/RedHat/smbadduser $RPM_BUILD_ROOT/usr/bin        install -m755 packaging/Mandrake/findsmb $RPM_BUILD_ROOT/%{_bindir}        install -m755 packaging/Mandrake/smb.init $RPM_BUILD_ROOT/%{_initrddir}/smb%{samba_major}        install -m755 packaging/Mandrake/smb.init $RPM_BUILD_ROOT/%{_sbindir}/%{name}	install -m755 packaging/Mandrake/winbind.init $RPM_BUILD_ROOT/%{_initrddir}/winbind#	install -m755 packaging/Mandrake/wrepld.init $RPM_BUILD_ROOT/%{_initrddir}/wrepld%{samba_major}	install -m755 packaging/Mandrake/winbind.init $RPM_BUILD_ROOT/%{_sbindir}/winbind        install -m644 packaging/Mandrake/samba.pamd $RPM_BUILD_ROOT/%{_sysconfdir}/pam.d/%{name}	install -m644 packaging/Mandrake/system-auth-winbind.pamd $RPM_BUILD_ROOT/%{_sysconfdir}/pam.d/system-auth-winbind#        install -m644 %{SOURCE1} $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d/%{name}#	install -m644 packaging/Mandrake/samba-slapd-include.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/samba-slapd.include# Install smbldap-tools scripts:for i in examples/LDAP/smbldap-tools/*.pl; do	install -m 750 $i $RPM_BUILD_ROOT/%{_datadir}/%{name}/scripts/	ln -s %{_datadir}/%{name}/scripts/`basename $i` $RPM_BUILD_ROOT/%{_bindir}/`basename $i|sed -e 's/\.pl//g'`%{samba_major}doneinstall -m 750 examples/LDAP/smbldap-tools/smbldap_tools.pm $RPM_BUILD_ROOT/%{_datadir}/%{name}/scripts/# The conf file	install -m 640 examples/LDAP/smbldap-tools/smbldap_conf.pm $RPM_BUILD_ROOT/%{_sysconfdir}/%{name}#Fix the smbldap-tools when not system samba:%if !%build_systemperl -pi -e 's/^(use|package)(\s+)smbldap_(\w+);$/${1}${2}smbldap_${3}%{samba_major};/g' \%{buildroot}/%{_sysconfdir}/%{name}/smbldap_conf.pm \%{buildroot}/%{_datadir}/%{name}/scripts/smbldap*.p?perl -pi -e 's,/usr/local/sbin/mkntpwd,/usr/sbin/mkntpwd%{samba_major},g;s,553,421,g' %{buildroot}/%{_sysconfdir}/%{name}/smbldap_conf.pmperl -pi -e 's,\$smbldap_conf::SID,\$smbldap_conf3::SID,g' %{buildroot}/%{_datadir}/%{name}/scripts/smbldap*.p?%endifperl -pi -e 's,/usr/local/sbin/smbldap-passwd.pl,%{_datadir}/%{name}/scripts/smbldap-passwd.pl,g' %{buildroot}/%{_datadir}/%{name}/scripts/smbldap-useradd.pl # Link both smbldap*.pm into vendor-perl (any better ideas?)mkdir -p %{buildroot}/%{perl_vendorlib}ln -s %{_sysconfdir}/%{name}/smbldap_conf.pm $RPM_BUILD_ROOT/%{perl_vendorlib}/smbldap_conf%{samba_major}.pmln -s %{_datadir}/%{name}/scripts/smbldap_tools.pm $RPM_BUILD_ROOT/%{perl_vendorlib}/smbldap_tools%{samba_major}.pm#mkntpwdinstall -m750 examples.bin/LDAP/smbldap-tools/mkntpwd/mkntpwd %{buildroot}/%{_sbindir}/mkntpwd%{samba_major}# Samba smbpasswd migration script:install -m755 examples/LDAP/convertSambaAccount $RPM_BUILD_ROOT/%{_datadir}/%{name}/scripts/# make a conf file for winbind from the default one:	cat packaging/Mandrake/smb.conf|sed -e  's/^;  winbind/  winbind/g;s/^;  obey pam/  obey pam/g; s/^;   printer admin = @"D/   printer admin = @"D/g;s/^;   password server = \*/   password server = \*/g;s/^;  template/  template/g; s/^   security = user/   security = domain/g' > packaging/Mandrake/smb-winbind.conf        install -m644 packaging/Mandrake/smb-winbind.conf $RPM_BUILD_ROOT/%{_sysconfdir}/%{name}/smb-winbind.conf# Some inline fixes for smb.conf for non-winbind useinstall -m644 packaging/Mandrake/smb.conf $RPM_BUILD_ROOT/%{_sysconfdir}/%{name}/smb.confcat packaging/Mandrake/smb.conf | \sed -e 's/^;   printer admin = @adm/   printer admin = @adm/g' >$RPM_BUILD_ROOT/%{_sysconfdir}/%{name}/smb.conf%if %build_cupspcperl -pi -e 's/printcap name = lpstat/printcap name = cups/g' $RPM_BUILD_ROOT/%{_sysconfdir}/%{name}/smb.confperl -pi -e 's/printcap name = lpstat/printcap name = cups/g' $RPM_BUILD_ROOT/%{_sysconfdir}/%{name}/smb-winbind.conf%endif#%if !%build_system# Fix script paths in smb.conf#perl -pi -e 's,%{_datadir}/samba,%{_datadir}/%{name},g' %{buildroot}/%{_sysconfdir}/%{name}/smb*.conf#%endif

⌨️ 快捷键说明

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