# # spec file for package samba-doc (Version 3.0.28a) # # Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: samba-doc BuildRequires: ccache cracklib-devel cups-devel e2fsprogs-devel gdbm-devel krb5-devel libacl-devel libiniparser-devel libnscd-devel openldap2-devel pam-devel popt-devel pwdutils python-devel readline-devel %define samba_ver 3.0.28a %define samba_ver_suffix %nil %define samba_ver_full %{samba_ver}%{samba_ver_suffix} License: GPL v2 or later Url: http://www.samba.org/ Version: 3.0.28a Release: 4 Summary: Samba Documentation Group: Documentation/Other AutoReqProv: on Provides: samba3-doc = %{version}-%{release} Obsoletes: samba3-doc < %{version} PreReq: /bin/rm /usr/bin/find /usr/bin/xargs BuildArch: noarch Source: http://samba.org/samba/ftp/samba-%{version}%{samba_ver_suffix}.tar.bz2 Source1: vendor-files.tar.bz2 Source2: patches.tar.bz2 Source3: build-source-timestamp # Choose some features / extra packages here ############################################ %define make_devel 0 %define use_ccache 0 # requires: docbook-utils docbook-xsl-stylesheets docbook_4 freetype2 ghostscript-fonts-std ghostscript-library ghostscript-x11 libxslt sgml-skel te_etex te_latex te_pdf tetex xmlcharent %define make_doc 0 %define make_python 1 %define make_utils 0 %define make_vscan 1 %define make_ldapsmb 1 %if %{suse_version} < 1021 # requires: libxml2 libxml2-devel mysql-devel mysql-shared %define make_pdb 1 %else %define make_pdb 0 %endif # Define some global directories ################################ %define DOCDIR %{_defaultdocdir}/samba %define DOCBOOKDIR %{_defaultdocdir}/%{name}/docbook %define SWATDIR %{_datadir}/samba/swat %define LOGDIR %{_localstatedir}/log/samba %define LIBDIR %{_libdir}/samba %define LOCKDIR %{_localstatedir}/lib/samba %define CONFIGDIR %{_sysconfdir}/samba %define INITDIR %{_sysconfdir}/init.d %define PIDDIR %{_localstatedir}/run/samba %define idmap_modules idmap_ad,idmap_ldap,idmap_rid %if %ul_version >= 1 %define VENDOR UL %else %if "%{_vendor}" == "suse" %define VENDOR SUSE %else %define VENDOR %_vendor %endif %endif BuildRoot: %{_tmppath}/%{name}-%{version}-build %prep %setup -n samba-%{samba_ver_full} -q # patches %setup -T -D -a 2 -n samba-%{samba_ver_full} -q for patch in $( patches/tools/guards "${file}.new" && \ mv "${file}.new" "${file}" done cp -p vendor-files/tools/get_printing_ticket.c source/client/ # Create and add vendor suffix test -f vendor-files/tools/package-data && \ . vendor-files/tools/package-data pushd source vendor_tag=$( grep ^Release: ${RPM_SOURCE_DIR}/samba.spec | \ head -n 1 | \ while read tag release; do \ echo -n "${release:+${release}-}"; \ done; \ echo -n "${SAMBA_PACKAGE_SVN_VERSION:+${SAMBA_PACKAGE_SVN_VERSION}-}"; \ test %{make_devel} -eq 1 && echo -n "devel-" || :) # Create product suffix major_version=$((%{suse_version}/100)) minor_version=$((%{suse_version}/10)) minor_version="${minor_version#$major_version}" product_version="${major_version}.${minor_version}" product_suffix="" if test "%{VENDOR}" != "UL"; then if test "%{sles_version}" -gt 0; then product_suffix="-SLES%{sles_version}" else product_suffix="-SL${product_version}" fi case "%{suse_version}" in 1010) product_suffix="-CODE${major_version}" ;; esac fi # Set SAMBA_VERSION_VENDOR_SUFFIX in the VERSION file mv VERSION VERSION.orig sed -e s/^SAMBA_VERSION_VENDOR_SUFFIX=$/SAMBA_VERSION_VENDOR_SUFFIX=\"${vendor_tag}%{VENDOR}${product_suffix}\"/ VERSION.orig >VERSION %build samba-%{samba_ver_full} %if %{suse_version} < 911 OPTIMIZATION="-O" %else # use the default optimization unset OPTIMIZATION %endif export CFLAGS="${RPM_OPT_FLAGS} -D_GNU_SOURCE ${OPTIMIZATION} -D_LARGEFILE64_SOURCE -DIDMAP_RID_SUPPORT_TRUSTED_DOMAINS" %if %{make_devel} # debugging symbols export CFLAGS="${CFLAGS} -g" %endif %if %{use_ccache} export CC="ccache gcc" %endif cd source %{?suse_update_config:%{suse_update_config -f}} autoreconf --force --install -Ilib/replace CONFIGURE_OPTIONS="\ --prefix=%{_prefix} \ --localstatedir=%{LOCKDIR} \ --sysconfdir=%{CONFIGDIR} \ --with-configdir=%{CONFIGDIR} \ --with-libdir=%{LIBDIR} \ --with-lockdir=%{LOCKDIR} \ --with-logfilebase=%{LOGDIR} \ --with-mandir=%{_mandir} \ --with-rootsbindir=/sbin \ --enable-cups \ --with-acl-support \ --with-automount \ --with-dnsupdate \ --with-msdfs \ --with-pam \ --with-pammodulesdir=%{_lib}/security \ --with-pam_smbpass \ --with-piddir=%{PIDDIR} \ --with-privatedir=%{CONFIGDIR} \ %if %{make_devel} --with-profiling-data \ %endif --with-quotas \ %if %{suse_version} < 1011 --with-smbmount \ %endif --with-swatdir=%{SWATDIR} \ --with-syslog \ --with-tdbsam \ --with-utmp \ --with-vfs \ --with-winbind \ --with-shared-modules=%{idmap_modules} \ %if %{make_python} --with-python \ %endif %if %{make_devel} --enable-developer \ --enable-krb5developer \ %endif " # make sure we have a chance to find krb5-config for dir in /usr/lib/mit/bin /usr/lib/heimdal; do test -d "${dir}" && export PATH="${PATH}:${dir}" done unset CONFIGURE_OPTIONS_DEVEL %if %{make_devel} CONFIGURE_OPTIONS_DEVEL="--enable-debug --enable-developer" %endif ./configure ${CONFIGURE_OPTIONS} ${CONFIGURE_OPTIONS_DEVEL} ./script/mkversion.sh %install [ x"${RPM_BUILD_ROOT}" = x"/" ] && ( echo "your buildroot is /" && exit 0) || rm -rf "${RPM_BUILD_ROOT}" mkdir -p \ ${RPM_BUILD_ROOT}/%{DOCDIR} \ ${RPM_BUILD_ROOT}/%{DOCBOOKDIR} \ ${RPM_BUILD_ROOT}/%{SWATDIR}/help \ ${RPM_BUILD_ROOT}/%{_datadir}/susehelp/meta/Administration/System # utility scripts scripts="creategroup mksmbpasswd.sh" mkdir -p examples/scripts for i in $scripts; do cp -p "source/script/${i}" examples/scripts done # configuration files pushd vendor-files echo "# smb.conf is the main Samba configuration file. You find a full commented" >config/smb.conf echo "# version at %{DOCDIR}/examples/smb.conf.%{VENDOR} if the" >>config/smb.conf echo "# samba-doc package is installed." >>config/smb.conf echo "# Date: $( date -I)" >>config/smb.conf grep -v "\(^#\|^;\|^$\)" config/smb.conf.vendor >>config/smb.conf cp -p config/smb.conf.vendor ../examples/smb.conf.%{VENDOR} # SuSEhelp files cp -p docu/Samba.desktop ${RPM_BUILD_ROOT}/%{_datadir}/susehelp/meta/Administration/System cp -p docu/manpages.html ../docs/htmldocs popd for file in manpages Samba3-ByExample Samba3-Developers-Guide Samba3-HOWTO; do touch "${RPM_BUILD_ROOT}/%{SWATDIR}/help/${file}" done cp -a swat/help/welcome.html "${RPM_BUILD_ROOT}/%{SWATDIR}/help" # pam_smbpass is missing cp -a source/pam_smbpass/samples examples/pam_smbpass cp -p source/pam_smbpass/{CHANGELOG,INSTALL,README,TODO} examples/pam_smbpass/ mv COPYING Manifest README Read-Manifest-Now Roadmap WHATSNEW.txt ${RPM_BUILD_ROOT}/%{DOCDIR}/ # this is empty rm -rf docs/yodldocs rm -rf docs/manpages cp -a docs/* ${RPM_BUILD_ROOT}/%{DOCDIR} rm -rf "${RPM_BUILD_ROOT}/%{DOCBOOKDIR}" cp -a examples/ ${RPM_BUILD_ROOT}/%{DOCDIR} rm -rf "${RPM_BUILD_ROOT}/%{SWATDIR}/using_samba" ln -s "%{DOCDIR}/htmldocs/using_samba" "${RPM_BUILD_ROOT}/%{SWATDIR}" # Install HTML pages only in the samba-doc package pushd ${RPM_BUILD_ROOT}/%{SWATDIR}/help for file in $( find -mindepth 1 -maxdepth 1); do file="${file#./}" case "${file}" in welcome-no-samba-doc.html) case "%{name}" in samba*-doc) rm "${file}" ;; esac continue ;; welcome.html) ;; *) rm -r "${file}" ln -s "%{DOCDIR}/htmldocs/${file}" . ;; esac echo "%doc %{SWATDIR}/help/${file}" >>${RPM_BUILD_DIR}/samba-%{samba_ver_full}/filelist-samba-doc done popd # finally build filelist-samba-doc for file in $( find ${RPM_BUILD_ROOT}%{DOCDIR} -maxdepth 1); do # exclude %{DOCDIR}, README, and docbook case "${file#${RPM_BUILD_ROOT}}" in %{DOCDIR}|%{DOCDIR}/README.%{VENDOR}|%{DOCDIR}/docbook) continue ;; esac echo "%doc ${file#${RPM_BUILD_ROOT}}" >>"${RPM_BUILD_DIR}/samba-%{samba_ver_full}/filelist-samba-doc" done %if ! %{make_utils} # delete manpages if not packaged in utils-package rm -f \ ${RPM_BUILD_ROOT}/%{_mandir}/man1/log2pcap.1* \ ${RPM_BUILD_ROOT}/%{_mandir}/man1/vfstest.1* %endif %pre # Remove all directories and files from usr/share/samba/swat/help expect welcome-*.html if [ -d usr/share/samba/swat/help ]; then find usr/share/samba/swat/help -mindepth 1 -maxdepth 1 -type d -print0 | \ xargs -0 rm -rf for file in $( find usr/share/samba/swat/help -maxdepth 1 -type f); do case "${file}" in usr/share/samba/swat/help/welcome*.html) continue ;; *) rm -f "${file}" ;; esac done fi %clean [ x"${RPM_BUILD_ROOT}" = x"/" ] && ( echo "your buildroot is /" && exit 0) || rm -rf "${RPM_BUILD_ROOT}" %files -f filelist-samba-doc %defattr(-,root,root) %dir %{DOCDIR} %dir %{_datadir}/samba %dir %{SWATDIR} %dir %{SWATDIR}/help %{SWATDIR}/using_samba %doc %{_datadir}/susehelp %description This package contains all the Samba documentation as it is not part of the man pages. Please check http://en.openSUSE.org/Samba for general information on Samba as part of SUSE Linux Enterprise or openSUSE products, links to binary packages of the most current Samba version, and a bug reporting how to. Authors: -------- The Samba Team Source Timestamp: 1673 Branch : 3.0.28a %changelog * Thu Jan 24 2008 lmuelle@suse.de - Remove NoSource tags from samba-doc spec file; [#351370]. * Fri Jun 16 2006 schwab@suse.de - Fix syntax error in configure script. * Wed Feb 08 2006 aj@suse.de - Remove openafs requirement. * Wed Jan 25 2006 mls@suse.de - converted neededforbuild to BuildRequires * Thu Nov 17 2005 lmuelle@suse.de - Create a separate Samba documentation package to build it as noarch.