# # spec file for package samba-doc # # Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: samba-doc BuildRequires: cups-devel e2fsprogs-devel fam-devel libacl-devel pam-devel popt-devel python-devel readline-devel %if 0%{?suse_version} BuildRequires: cracklib-devel openldap2-devel %endif %if 0%{?suse_version} > 1030 BuildRequires: gdbm-devel pwdutils %endif %if 0%{?suse_version} > 930 BuildRequires: krb5-devel libiniparser-devel libnscd-devel %endif %if 0%{?suse_version} > 930 && 0%{?suse_version} < 1031 BuildRequires: dmapi-devel libnscd-devel libxml2-devel mysql-devel postgresql-devel xfsprogs-devel %endif %if 0%{?suse_version} > 830 && 0%{?suse_version} < 931 BuildRequires: heimdal-devel %endif %if 0%{?fedora_version} BuildRequires: cracklib-devel %endif %if 0%{?centos_version} || 0%{?fedora_version} || 0%{?rhel_version} || 0%{?mandriva_version} BuildRequires: krb5-devel openldap-devel %endif %if 0%{?suse_version} > 1000 BuildRequires: keyutils-devel %endif %if 0%{?fedora_version} || 0%{?rhel_version} > 500 BuildRequires: keyutils-libs-devel %endif %if 0%{?suse_version} > 1000 || 0%{?fedora_version} || 0%{?rhel_version} || 0%{?mandriva_version} BuildRequires: ctdb-devel %endif %if 0%{?suse_version} > 1110 BuildRequires: fdupes %endif %if 0%{?suse_version} > 1020 BuildRequires: pkg-config %else BuildRequires: pkgconfig %endif %define samba_ver 3.5.7 %define samba_ver_suffix %nil %define samba_ver_full %{samba_ver}%{samba_ver_suffix} %if 0%{?suse_version} && 0%{?suse_version} < 1111 %define guards_symbols pre_1111 %endif %if 0%{?suse_version} == 0 || 0%{?suse_version} > 1130 %define libldb_ver 0.9.7 %define libtalloc_ver 2.0.1 %define libtdb_ver 1.2.1 %define libtevent_ver 0.9.8 %else %define libldb_ver %{version} %define libtalloc_ver %{version} %define libtdb_ver %{version} %define libtevent_ver %{version} %endif Url: http://www.samba.org/ Version: 3.5.7 Release: 1 License: GPLv3+ Summary: Samba Documentation Group: Documentation/Other AutoReqProv: on Provides: samba-gplv3-doc = %{version}-%{release} Obsoletes: samba-gplv3-doc < %{version} Provides: samba-doc-gplv2 = %{version}-%{release} Obsoletes: samba-doc-gplv2 < %{version} PreReq: coreutils findutils 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 Source4: baselibs.conf # Choose some features / extra packages here ############################################ %define make_devel 0 %define use_ccache 0 %if 0%{?use_ccache} > 0 BuildRequires: ccache %endif # 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_utils 0 %define make_vscan 0 %define make_ldapsmb 1 %if 0%{?suse_version} > 1000 && 0%{?suse_version} < 1121 || 0%{?centos_version} > 500 || 0%{?fedora_version} > 7 || 0%{?rhel_version} > 500 %define make_cifsupcall 1 %else %define make_cifsupcall 0 %endif %if 0%{?suse_version} == 0 || 0%{?suse_version} > 1120 %define cifs_init_script cifs %else %define cifs_init_script smbfs %endif %if 0%{?suse_version} && 0%{?suse_version} < 1111 %define link_static_libs 1 %else %define link_static_libs 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 LOCKDIR %{_localstatedir}/lib/samba %define CONFIGDIR %{_sysconfdir}/samba %define INITDIR %{_sysconfdir}/init.d %define PIDDIR %{_localstatedir}/run/samba %if "%{_vendor}" == "suse" %define NET_CFGDIR network %else %define NET_CFGDIR network-scripts %endif %define idmap_modules idmap_ad,idmap_adex,idmap_hash,idmap_ldap,idmap_rid,idmap_tdb2 %define vfs_modules vfs_cacheprime,vfs_readahead %if 0%{?ul_version} >= 1 %define VENDOR UL %else %if "%{_vendor}" == "suse" || "%{_vendor}" == "redhat" %define VENDOR SUSE %else %define VENDOR %_vendor %endif %endif %if 0%{?suse_version} == 0 || 0%{?suse_version} > 1120 %define cups_lib_dir %{_prefix}/lib/cups %else %define cups_lib_dir %{_libdir}/cups %endif BuildRoot: %{_tmppath}/%{name}-%{version}-build %prep %if 0%{?suse_version} && 0%{?suse_version} < 1111 %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 %{guards_symbols} "${file}.new" && \ mv "${file}.new" "${file}" done %__install -m 0644 vendor-files/tools/get_printing_ticket.c source3/client/get_printing_ticket.c # Create and add vendor suffix test -f vendor-files/tools/package-data && \ . vendor-files/tools/package-data pushd source3 if test "%{_project}" != "openSUSE:Factory"; then vendor_tag_release=$( grep -m 1 ^Release: ${RPM_SOURCE_DIR}/samba.spec | \ while read tag release; do \ echo -n "${release:+${release}-}"; \ done) else vendor_tag_release="" fi vendor_tag=$( echo -n "${vendor_tag_release}"; \ echo -n "${SAMBA_PACKAGE_SVN_VERSION:+${SAMBA_PACKAGE_SVN_VERSION}-}"; \ test %{make_devel} -eq 1 && echo -n "devel-" || :) # Create product suffix test 0%{?centos_version} -gt 0 && product_version=%{?centos_version} test 0%{?fedora_version} -gt 0 && product_version=%{?fedora_version} test 0%{?mandriva_version} -gt 0 && product_version=%{?mandriva_version} test 0%{?rhel_version} -gt 0 && product_version=%{?rhel_version} test 0%{?suse_version} -gt 0 && product_version=%{?suse_version} major_version=$((${product_version}/100)) minor_version=$((${product_version}/10)) minor_version="${minor_version#$major_version}" product_version="${major_version}.${minor_version}" product_suffix="" if test "%{VENDOR}" != "UL"; then if test 0%{?sles_version} -gt 0; then product_suffix="-SLES%{sles_version}" elif test 0%{?suse_version} -gt 0; then product_suffix="-SL${product_version}" else product_suffix="-OBS" fi case "%{?suse_version}" in 1010|1110) product_suffix="-CODE${major_version}" ;; esac fi # Add the build architecture test "%{_build_arch}" != "" && \ product_suffix="${product_suffix}-%{_build_arch}" # 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 %endif %build samba-%{samba_ver_full} # samba-doc nowadays is part the main samba spec file %if 0%{?suse_version} && 0%{?suse_version} < 1111 %if 0%{?suse_version} && 0%{?suse_version} < 911 OPTIMIZATION="-O" %else # use the default optimization unset OPTIMIZATION %endif %if 0%{?suse_version} > 1110 export SUSE_ASNEEDED=0 %endif export CFLAGS="${RPM_OPT_FLAGS} -D_GNU_SOURCE ${OPTIMIZATION} -D_LARGEFILE64_SOURCE -DIDMAP_RID_SUPPORT_TRUSTED_DOMAINS" %if %{use_ccache} export CC="ccache gcc" %endif pushd source3 %{?suse_update_config:%{suse_update_config -f}} #ln -s m4/aclocal.m4 aclocal.m4 #autoreconf --force --install -I. -Im4 -I../lib/replace ./autogen.sh CONFIGURE_OPTIONS="\ --prefix=%{_prefix} \ --localstatedir=%{LOCKDIR} \ --sysconfdir=%{CONFIGDIR} \ --with-configdir=%{CONFIGDIR} \ --libdir=%{_libdir} \ --with-lockdir=%{LOCKDIR} \ --with-logfilebase=%{LOGDIR} \ --with-mandir=%{_mandir} \ --with-modulesdir=%{_libdir}/samba \ --with-rootsbindir=/sbin \ --enable-cups \ --enable-debug \ %if %{link_static_libs} --enable-static \ %else --disable-static \ %endif --with-acl-support \ --with-automount \ --with-dnsupdate \ --with-pam \ --with-pammodulesdir=%{_lib}/security \ --with-pam_smbpass \ --with-piddir=%{PIDDIR} \ --with-privatedir=%{CONFIGDIR} \ %if %{make_devel} --with-profiling-data \ %endif --with-quotas \ --with-swatdir=%{SWATDIR} \ --with-syslog \ --with-utmp \ --with-winbind \ --with-shared-modules=%{vfs_modules},%{idmap_modules} \ %if 0%{?suse_version} == 0 || 0%{?suse_version} > 1120 --without-cifsmount \ %else --with-cifsumount \ %endif %if %{make_cifsupcall} == 0 --without-cifsupcall \ %else --with-cifsupcall \ %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 %endif %install # samba-doc nowadays is part the main samba spec file %if 0%{?suse_version} && 0%{?suse_version} < 1111 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" %__install -d -m 0755 examples/scripts for i in $scripts; do %__install -m 0755 "source3/script/${i}" examples/scripts/${i} 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 %__install -p -m 0644 config/smb.conf.vendor ../examples/smb.conf.%{VENDOR} # SuSEhelp files %__install -m 0644 docu/Samba.desktop ${RPM_BUILD_ROOT}/%{_datadir}/susehelp/meta/Administration/System/Samba.desktop %__install -m 0644 docu/manpages.html ../docs/htmldocs/manpages.html popd for file in 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 source3/pam_smbpass/samples examples/pam_smbpass %__install -m 0644 source3/pam_smbpass/CHANGELOG examples/pam_smbpass/CHANGELOG %__install -m 0644 source3/pam_smbpass/INSTALL examples/pam_smbpass/INSTALL %__install -m 0644 source3/pam_smbpass/README examples/pam_smbpass/README %__install -m 0644 source3/pam_smbpass/TODO examples/pam_smbpass/TODO mv COPYING Manifest README 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} test -e "${RPM_BUILD_ROOT}/%{SWATDIR}/help/manpages" || \ ln -s "%{DOCDIR}/htmldocs/manpages" "${RPM_BUILD_ROOT}/%{SWATDIR}/help" # 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 %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}" # samba-doc nowadays is part the main samba spec file %if 0%{?suse_version} && 0%{?suse_version} < 1111 %files -f filelist-samba-doc %defattr(-,root,root) %dir %{DOCDIR} %dir %{_datadir}/samba %dir %{SWATDIR} %dir %{SWATDIR}/help %doc %{_datadir}/susehelp %endif %description This package contains all the Samba documentation as it is not part of the man pages. Authors: -------- The Samba Team Source Timestamp: 2504 Branch : 3.5.7 %changelog