File samba-doc.spec of Package samba

#
# spec file for package samba-doc (Version 3.5.3)
#
# Copyright (c) 2010 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.3
%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
Url:            http://www.samba.org/
Version:        3.5.3
Release:        1
License:        GPLv3+
Summary:        Samba Documentation
Group:          Documentation/Other
AutoReqProv:    on
Provides:       samba3-doc = %{version}-%{release}
Obsoletes:      samba3-doc < %{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
%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} <patches/series); do
	if ! patch -s -E -p0 --no-backup-if-mismatch -i patches/$patch; then
		echo "*** Patch $patch failed ***"
		exit 1
	fi
done
# vendor-files (config, scripts, tools)
%setup -T -D -a 1 -n samba-%{samba_ver_full} -q
for file in docs/htmldocs/index.html vendor-files/docu/README.vendor; do
	sed -e "s/VENDOR/%{VENDOR}/g" "${file}" >"${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
# 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 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

%install
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

%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
%doc %{_datadir}/susehelp

%description
This package contains all the Samba documentation as it is not part of
the man pages.



Authors:
--------
    The Samba Team <samba@samba.org>

Source Timestamp: 2362
Branch      : trunk

%changelog