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

📄 samba2.spec

📁 samba-3.0.22.tar.gz 编译smb服务器的源码
💻 SPEC
📖 第 1 页 / 共 5 页
字号:
#install mount.cifsinstall -m755 source/client/mount.cifs %{buildroot}/bin/mount.cifs%{samba_major}        echo 127.0.0.1 localhost > $RPM_BUILD_ROOT/%{_sysconfdir}/%{name}/lmhosts# Link smbspool to CUPS (does not require installed CUPS)        mkdir -p $RPM_BUILD_ROOT/%{_libdir}/cups/backend        ln -s %{_bindir}/smbspool%{alternative_major} $RPM_BUILD_ROOT/%{_libdir}/cups/backend/smb%{alternative_major}# xinetd support        mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/xinetd.d        install -m644 %{SOURCE3} $RPM_BUILD_ROOT/%{_sysconfdir}/xinetd.d/swat%{samba_major}# menu supportmkdir -p $RPM_BUILD_ROOT%{_menudir}cat > $RPM_BUILD_ROOT%{_menudir}/%{name}-swat << EOF?package(%{name}-swat):\command="gnome-moz-remote http://localhost:901/" \needs="gnome" \icon="swat%{samba_major}.png" \section="Configuration/Networking" \title="Samba Configuration (SWAT)" \longtitle="The Swat Samba Administration Tool"?package(%{name}-swat):\command="sh -c '\$BROWSER http://localhost:901/'" \ needs="x11" \icon="swat%{samba_major}.png" \section="Configuration/Networking" \title="Samba Configuration (SWAT)" \longtitle="The Swat Samba Administration Tool"EOFmkdir -p $RPM_BUILD_ROOT%{_liconsdir} $RPM_BUILD_ROOT%{_iconsdir} $RPM_BUILD_ROOT%{_miconsdir}bzcat %{SOURCE4} > $RPM_BUILD_ROOT%{_liconsdir}/swat%{samba_major}.pngbzcat %{SOURCE5} > $RPM_BUILD_ROOT%{_iconsdir}/swat%{samba_major}.pngbzcat %{SOURCE6} > $RPM_BUILD_ROOT%{_miconsdir}/swat%{samba_major}.pngbzcat %{SOURCE10}> $RPM_BUILD_ROOT%{_datadir}/%{name}/scripts/print-pdfbzcat %{SOURCE11}> $RPM_BUILD_ROOT%{_datadir}/%{name}/scripts/smb-migrate# Fix configs when not building system samba:#Client binaries will have suffixes while we use alternatives, even# if we are system samba%if !%build_system || %build_alternativesfor OLD in %{buildroot}/%{_bindir}/{%{clientbin}} %{buildroot}/bin/%{client_bin} %{buildroot}/%{_libdir}/cups/backend/smbdo    NEW=`echo ${OLD}%{alternative_major}`    [ -e $OLD ] && mv -f $OLD $NEWdonefor OLD in %{buildroot}/%{_mandir}/man?/{%{clientbin}}* %{buildroot}/%{_mandir}/man?/%{client_bin}*do    if [ -e $OLD ]    then        BASE=`perl -e '$_="'${OLD}'"; m,(%buildroot)(.*?)(\.[0-9]),;print "$1$2\n";'`        EXT=`echo $OLD|sed -e 's,'${BASE}',,g'`        NEW=`echo ${BASE}%{alternative_major}${EXT}`        mv $OLD $NEW    fidone		%endifrm -f %{buildroot}/sbin/mount.smbfs# Link smbmount to /sbin/mount.smb and /sbin/mount.smbfs#I don't think it's possible for make to do this ...(cd $RPM_BUILD_ROOT/sbin        ln -s ..%{_bindir}/smbmount%{alternative_major} mount.smb%{alternative_major}        ln -s ..%{_bindir}/smbmount%{alternative_major} mount.smbfs%{alternative_major})# Server/common binaries are versioned only if not system samba:%if !%build_systemfor OLD in %{buildroot}/%{_bindir}/{%{commonbin}} %{buildroot}/%{_bindir}/{%{serverbin}} %{buildroot}/%{_sbindir}/{%{serversbin},swat}do    NEW=`echo ${OLD}%{alternative_major}`    mv $OLD $NEW -f ||:done# And the man pages too:for OLD in %{buildroot}/%{_mandir}/man?/{%{commonbin},%{serverbin},%{serversbin},swat,{%testbin},smb.conf,lmhosts}*do    if [ -e $OLD ]    then        BASE=`perl -e '$_="'${OLD}'"; m,(%buildroot)(.*?)(\.[0-9]),;print "$1$2\n";'`#        BASE=`perl -e '$name="'${OLD}'"; print "",($name =~ /(.*?)\.[0-9]/), "\n";'`	EXT=`echo $OLD|sed -e 's,'${BASE}',,g'`	NEW=`echo ${BASE}%{samba_major}${EXT}`	mv $OLD $NEW    fidone		# Replace paths in config files and init scripts:for i in smb ;do	perl -pi -e 's,/subsys/'$i',/subsys/'$i'%{samba_major},g' $RPM_BUILD_ROOT/%{_initrddir}/${i}%{samba_major}donefor i in %{_sysconfdir}/%{name}/smb.conf %{_initrddir}/smb%{samba_major} %{_sbindir}/%{name} %{_initrddir}/winbind /%{_sysconfdir}/logrotate.d/%{name} /%{_sysconfdir}/xinetd.d/swat%{samba_major} %{_initrddir}/wrepld%{samba_major}; do	perl -pi -e 's,/%{pkg_name},/%{name},g; s,smbd,%{_sbindir}/smbd%{samba_major},g; s,nmbd,%{_sbindir}/nmbd%{samba_major},g; s,/usr/sbin/swat,%{_sbindir}/swat%{samba_major},g;s,wrepld,%{_sbindir}/wrepld%{samba_major},g' $RPM_BUILD_ROOT/$i;done# Fix xinetd file for swat:perl -pi -e 's,/usr/sbin,%{_sbindir},g' $RPM_BUILD_ROOT/%{_sysconfdir}/xinetd.d/swat%{samba_major}%endif#Clean up unpackaged files:for i in %{_bindir}/pam_smbpass.so %{_bindir}/smbwrapper.so;dorm -f %{buildroot}/$idone# (sb) make a smb.conf.clean we can use for the merge, since an existing# smb.conf won't get overwrittencp $RPM_BUILD_ROOT/%{_sysconfdir}/%{name}/smb.conf $RPM_BUILD_ROOT/%{_datadir}/%{name}/smb.conf.clean# (sb) leave a README.mdk.conf to explain what has been donecat << EOF > $RPM_BUILD_ROOT/%{_datadir}/%{name}/README.mdk.confIn order to facilitate upgrading an existing samba install, and mergingprevious configuration data with any new syntax used by samba3, a mergescript has attempted to combine your local configuration data with thenew conf file format.  The merged data is in smb.conf, with comments like	# *** merged from original smb.conf: ***near the additional entries.  Any local shares should have been appended tosmb.conf.  A log of what took place should be in: 	/var/log/samba/smb-migrate.logA clean samba3 smb.conf is in /usr/share/samba, named smb.conf.clean.Your original conf should be /etc/samba/smb.conf.tomerge.The actual merge script is /usr/share/samba/scripts/smb-migrate.Questions/issues: sbenedict@mandrakesoft.comEOF%cleanrm -rf $RPM_BUILD_ROOT%post server%_post_service smb%{samba_major}#%_post_service wrepld%{samba_major}# Add a unix group for samba machine accountsgroupadd -frg 421 machines# Migrate tdb's from /var/lock/samba (taken from official samba spec file):for i in /var/lock/samba/*.tdbdoif [ -f $i ]; then	newname=`echo $i | sed -e's|var\/lock\/samba|var\/cache\/samba|'`	echo "Moving $i to $newname"	mv $i $newnamefidone%post common# Basic migration script for pre-2.2.1 users,# since smb config moved from /etc to %{_sysconfdir}/samba# Let's create a proper %{_sysconfdir}/samba/smbpasswd file[ -f %{_sysconfdir}/%{name}/smbpasswd ] || {	echo "Creating password file for samba..."	touch %{_sysconfdir}/%{name}/smbpasswd}# And this too, in case we don't have smbd to create it for us[ -f /var/cache/%{name}/unexpected.tdb ] || {	touch /var/cache/%{name}/unexpected.tdb}# Let's define the proper paths for config filesperl -pi -e 's/(\/etc\/)(smb)/\1%{name}\/\2/' %{_sysconfdir}/%{name}/smb.conf# Fix the logrotate.d file from smb and nmb to smbd and nmbdif [ -f %{_sysconfdir}/logrotate.d/samba ]; then        perl -pi -e 's/smb /smbd /' %{_sysconfdir}/logrotate.d/samba        perl -pi -e 's/nmb /nmbd /' %{_sysconfdir}/logrotate.d/sambafi# And not loose our machine account SID[ -f %{_sysconfdir}/MACHINE.SID ] && mv -f %{_sysconfdir}/MACHINE.SID %{_sysconfdir}/%{name}/ ||:%triggerpostun common -- samba-common < 3.0.1-3mdk# (sb) merge any existing smb.conf with new syntax fileif [ $1 = 2 ]; then	# (sb) save existing smb.conf for merge	echo "Upgrade: copy smb.conf to smb.conf.tomerge for merging..."	cp -f %{_sysconfdir}/%{name}/smb.conf %{_sysconfdir}/%{name}/smb.conf.tomerge	echo "Upgrade: merging previous smb.conf..."	if [ -f %{_datadir}/%{name}/smb.conf.clean ]; then		cp %{_datadir}/%{name}/smb.conf.clean %{_sysconfdir}/%{name}/smb.conf		cp %{_datadir}/%{name}/README.mdk.conf %{_sysconfdir}/%{name}/		%{_datadir}/%{name}/scripts/smb-migrate commit	fifi%postun commonif [ -f %{_sysconfdir}/%{name}/README.mdk.conf ];then rm -f %{_sysconfdir}/%{name}/README.mdk.conf;fi%if %build_winbind%post winbindif [ $1 = 1 ]; then    /sbin/chkconfig winbind on    cp -af %{_sysconfdir}/nsswitch.conf %{_sysconfdir}/nsswitch.conf.rpmsave    cp -af %{_sysconfdir}/nsswitch.conf %{_sysconfdir}/nsswitch.conf.rpmtemp    for i in passwd group;do        grep ^$i %{_sysconfdir}/nsswitch.conf |grep -v 'winbind' >/dev/null        if [ $? = 0 ];then            echo "Adding a winbind entry to the $i section of %{_sysconfdir}/nsswitch.conf"            awk '/^'$i'/ {print $0 " winbind"};!/^'$i'/ {print}' %{_sysconfdir}/nsswitch.conf.rpmtemp >%{_sysconfdir}/nsswitch.conf;	    cp -af %{_sysconfdir}/nsswitch.conf %{_sysconfdir}/nsswitch.conf.rpmtemp        else            echo "$i entry found in %{_sysconfdir}/nsswitch.conf"        fi    done    if [ -f %{_sysconfdir}/nsswitch.conf.rpmtemp ];then rm -f %{_sysconfdir}/nsswitch.conf.rpmtemp;fifi%preun winbindif [ $1 = 0 ]; then	echo "Removing winbind entries from %{_sysconfdir}/nsswitch.conf"	perl -pi -e 's/ winbind//' %{_sysconfdir}/nsswitch.conf	/sbin/chkconfig winbind resetfi%endif %build_winbind%if %build_wins%post -n nss_wins%{samba_major}if [ $1 = 1 ]; then    cp -af %{_sysconfdir}/nsswitch.conf %{_sysconfdir}/nsswitch.conf.rpmsave    grep '^hosts' %{_sysconfdir}/nsswitch.conf |grep -v 'wins' >/dev/null    if [ $? = 0 ];then        echo "Adding a wins entry to the hosts section of %{_sysconfdir}/nsswitch.conf"        awk '/^hosts/ {print $0 " wins"};!/^hosts/ {print}' %{_sysconfdir}/nsswitch.conf.rpmsave >%{_sysconfdir}/nsswitch.conf;    else        echo "wins entry found in %{_sysconfdir}/nsswitch.conf"    fi#    else#        echo "Upgrade, leaving nsswitch.conf intact"fi%preun -n nss_wins%{samba_major}if [ $1 = 0 ]; then	echo "Removing wins entry from %{_sysconfdir}/nsswitch.conf"	perl -pi -e 's/ wins//' %{_sysconfdir}/nsswitch.conf#else#	echo "Leaving %{_sysconfdir}/nsswitch.conf intact"fi%endif %build_wins%preun server%_preun_service smb%{samba_major}#%_preun_service wrepld%{samba_major}if [ $1 = 0 ] ; then#    /sbin/chkconfig --level 35 smb reset# Let's not loose /var/cache/samba    if [ -d /var/cache/%{name} ]; then      mv -f /var/cache/%{name} /var/cache/%{name}.BAK    fifi%post swatif [ -f /var/lock/subsys/xinetd ]; then        service xinetd reload >/dev/null 2>&1 || :fi%update_menus%postun swat# Remove swat entry from xinetdif [ $1 = 0 -a -f %{_sysconfdir}/xinetd.conf ] ; thenrm -f %{_sysconfdir}/xinetd.d/swat%{samba_major}	service xinetd reload &>/dev/null || :fiif [ "$1" = "0" -a -x /usr/bin/update-menus ]; then /usr/bin/update-menus || true ; fi%clean_menus%if %build_system%post -n %{libname} -p /sbin/ldconfig%postun -n %{libname} -p /sbin/ldconfig%endif%if %build_alternatives%post clientupdate-alternatives --install %{_bindir}/smbclient smbclient \%{_bindir}/smbclient%{alternative_major} 10 \$(for i in {/bin/mount.cifs,/sbin/{%{client_sbin}},%{_bindir}/{%{clientbin}}};doj=`basename $i`[ "$j" = "smbclient" ] || \echo -n " --slave ${i} ${j} ${i}%{alternative_major}";done) \--slave %{_libdir}/cups/backend/smb cups_smb %{_libdir}/cups/backend/smb%{alternative_major} || \update-alternatives --auto smbclient%preun client[ $1 = 0 ] && update-alternatives --remove smbclient %{_bindir}/smbclient%{alternative_major} ||:%endif%if %build_alternatives%triggerpostun client -- samba-client, samba2-client[ ! -e %{_bindir}/smbclient ] && update-alternatives --auto smbclient || :%endif%files server%defattr(-,root,root)%(for i in %{_sbindir}/{%{serversbin}}%{samba_major};do echo $i;done)%(for i in %{_bindir}/{%{serverbin}}%{samba_major};do echo $i;done)%attr(755,root,root) /%{_lib}/security/pam_smbpass*%dir %{_libdir}/%{name}/vfs%{_libdir}/%{name}/vfs/*.so%if %build_vscan%exclude %{_libdir}/%{name}/vfs/vscan*.so%endif%dir %{_libdir}/%{name}/pdb%attr(-,root,root) %config(noreplace) %{_sysconfdir}/%{name}/smbusers%attr(-,root,root) %config(noreplace) %{_initrddir}/smb%{samba_major}#%attr(-,root,root) %config(noreplace) %{_initrddir}/wrepld%{samba_major}%attr(-,root,root) %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}%attr(-,root,root) %config(noreplace) %{_sysconfdir}/pam.d/%{name}#%attr(-,root,root) %config(noreplace) %{_sysconfdir}/%{name}/samba-slapd.include%(for i in %{_mandir}/man?/{%{serverbin},%{serversbin}}%{samba_major}\.[0-9]*;do echo $i|grep -v mkntpwd;done)%attr(775,root,adm) %dir %{_localstatedir}/%{name}/netlogon%attr(755,root,root) %dir %{_localstatedir}/%{name}/profiles%attr(755,root,root) %dir %{_localstatedir}/%{name}/printers%attr(2775,root,adm) %dir %{_localstatedir}/%{name}/printers/*%attr(1777,root,root) %dir /var/spool/%{name}%dir %{_datadir}/%{name}%dir %{_datadir}/%{name}/scripts%attr(0755,root,root) %{_datadir}/%{name}/scripts/print-pdf%attr(0750,root,adm) %{_datadir}/%{name}/scripts/smbldap*.pl%attr(0750,root,adm) %{_bindir}/smbldap*%attr(0640,root,adm) %config(noreplace) %{_sysconfdir}/%{name}/smbldap_conf.pm%attr(0644,root,root) %{_datadir}/%{name}/scripts/smbldap_tools.pm%{perl_vendorlib}/*.pm#%attr(0700,root,root) %{_datadir}/%{name}/scripts/*port_smbpasswd.pl%attr(0755,root,root) %{_datadir}/%{name}/scripts/convertSambaAccount%files doc%defattr(-,root,root)%doc README COPYING Manifest Read-Manifest-Now%doc WHATSNEW.txt Roadmap%doc README.%{name}-mandrake-rpm%doc clean-docs/samba-doc/docs%doc clean-docs/samba-doc/examples%attr(-,root,root) %{_datadir}/swat%{samba_major}/using_samba/%files swat%defattr(-,root,root)%config(noreplace) %{_sysconfdir}/xinetd.d/swat%{samba_major}#%attr(-,root,root) /sbin/*%{_sbindir}/swat%{samba_major}%{_menudir}/%{name}-swat%{_miconsdir}/*.png%{_liconsdir}/*.png%{_iconsdir}/*.png%attr(-,root,root) %{_datadir}/swat%{samba_major}/help/%attr(-,root,root) %{_datadir}/swat%{samba_major}/images/%attr(-,root,root) %{_datadir}/swat%{samba_major}/include/%lang(ja) %{_datadir}/swat%{samba_major}/lang/ja%lang(tr) %{_datadir}/swat%{samba_major}/lang/tr%{_mandir}/man8/swat*.8*%lang(de) %{_libdir}/%{name}/de.msg%lang(en) %{_libdir}/%{name}/en.msg%lang(fr) %{_libdir}/%{name}/fr.msg%lang(it) %{_libdir}/%{name}/it.msg%lang(ja) %{_libdir}/%{name}/ja.msg%lang(nl) %{_libdir}/%{name}/nl.msg%lang(pl) %{_libdir}/%{name}/pl.msg%lang(tr) %{_libdir}/%{name}/tr.msg#%doc swat/README%files client%defattr(-,root,root)%(for i in %{_bindir}/{%{clientbin}}%{alternative_major};do echo $i;done)%(for i in %{_mandir}/man?/{%{clientbin}}%{alternative_major}.?.*;do echo $i|grep -v smbprint;done)#xclude %{_mandir}/man?/smbget*%{_mandir}/man5/smbgetrc%{alternative_major}.5*%ifnarch alpha%(for i in /sbin/{%{client_sbin}}%{alternative_major};do echo $i;done)%attr(4755,root,root) /bin/mount.cifs%{alternative_major}%attr(755,root,root) %{_bindir}/smbmount%{alternative_major}

⌨️ 快捷键说明

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