3437a3c974
causses superfluous rebuilds of packages depending on samba; (bnc#781601). OBS-URL: https://build.opensuse.org/package/show/network:samba:STABLE/samba?expand=0&rev=256
469 lines
15 KiB
RPMSpec
469 lines
15 KiB
RPMSpec
#
|
|
# spec file for package samba-doc
|
|
#
|
|
# Copyright (c) 2012 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
|
|
%if 0%{?suse_version} == 0 || 0%{?suse_version} > 1140
|
|
BuildRequires: autoconf
|
|
%endif
|
|
BuildRequires: gcc
|
|
BuildRequires: make
|
|
BuildRequires: patch
|
|
BuildRequires: cups-devel
|
|
BuildRequires: e2fsprogs-devel
|
|
BuildRequires: fam-devel
|
|
BuildRequires: libacl-devel
|
|
%if 0%{?centos_version} > 599 ||0%{?fedora_version} > 11 || 0%{?mandriva_version} > 2009 || 0%{?rhel_version} > 599 || 0%{?suse_version} > 1100
|
|
BuildRequires: libuuid-devel
|
|
%endif
|
|
BuildRequires: pam-devel
|
|
BuildRequires: popt-devel
|
|
BuildRequires: readline-devel
|
|
%if 0%{?suse_version}
|
|
BuildRequires: cracklib-devel
|
|
BuildRequires: openldap2-devel
|
|
%endif
|
|
%if 0%{?suse_version} > 1030
|
|
BuildRequires: gdbm-devel
|
|
BuildRequires: pwdutils
|
|
%endif
|
|
%if 0%{?suse_version} > 930
|
|
BuildRequires: krb5-devel
|
|
BuildRequires: libiniparser-devel
|
|
BuildRequires: libnscd-devel
|
|
BuildRequires: python-devel
|
|
%endif
|
|
%if 0%{?suse_version} > 930 && 0%{?suse_version} < 1031
|
|
BuildRequires: dmapi-devel
|
|
BuildRequires: libnscd-devel
|
|
BuildRequires: libxml2-devel
|
|
BuildRequires: mysql-devel
|
|
BuildRequires: postgresql-devel
|
|
BuildRequires: 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
|
|
BuildRequires: openldap-devel
|
|
BuildRequires: python-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 > 1.0.105
|
|
%endif
|
|
%if 0%{?suse_version} > 1110
|
|
BuildRequires: fdupes
|
|
%endif
|
|
%if 0%{?suse_version} > 1020
|
|
BuildRequires: pkg-config
|
|
%else
|
|
BuildRequires: pkgconfig
|
|
%endif
|
|
%if 0%{?suse_version} == 0 || 0%{?suse_version} > 1210
|
|
BuildRequires: libldb-devel
|
|
#!BuildIgnore: libtalloc
|
|
BuildRequires: libtalloc-devel
|
|
#!BuildIgnore: libtdb
|
|
BuildRequires: libtdb-devel
|
|
BuildRequires: libtevent-devel
|
|
%endif
|
|
%define samba_ver 3.6.8
|
|
%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} > 1130 && 0%{?suse_version} < 1211
|
|
%define libldb_ver 1.0.2
|
|
%define libtalloc_ver 2.0.5
|
|
%define libtdb_ver 1.2.9
|
|
%define libtevent_ver 0.9.11
|
|
%else
|
|
%if 0%{?suse_version} > 0 && 0%{?suse_version} < 1131
|
|
%define libldb_ver %{version}
|
|
%define libtalloc_ver %{version}
|
|
%define libtdb_ver %{version}
|
|
%define libtevent_ver %{version}
|
|
%endif
|
|
%endif
|
|
%if 0%{?suse_version} == 0 || 0%{?suse_version} > 1140
|
|
%define build_make_smp_mflags %{?_smp_mflags}
|
|
%else
|
|
%define build_make_smp_mflags %{?jobs:-j%jobs}
|
|
%endif
|
|
Version: 3.6.8
|
|
Release: 1
|
|
%define ldapsmb_ver 1.34b
|
|
Url: http://www.samba.org/
|
|
License: GPL-3.0+
|
|
Summary: Samba Documentation
|
|
Group: Documentation/Other
|
|
PreReq: coreutils
|
|
PreReq: findutils
|
|
Provides: samba-gplv3-doc = %{version}
|
|
Obsoletes: samba-gplv3-doc < %{version}
|
|
Provides: samba-doc-gplv2 = %{version}
|
|
Obsoletes: samba-doc-gplv2 < %{version}
|
|
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
|
|
Source11: http://www.samba.org/~gd/ldapsmb/ldapsmb-%{ldapsmb_ver}.tar.bz2
|
|
# 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_ldapsmb 1
|
|
%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
|
|
%if 0%{?suse_version} && 0%{?suse_version} < 1111
|
|
# pre-11.2 doesn't know the python_* macros
|
|
%define python_sitelib %py_sitedir
|
|
%define python_sitearch %py_sitedir
|
|
%else (%if 0%{?centos_version} && 0%{?centos_version} < 600) || (0%{rhel_version} && 0%{rhel_version} < 600)
|
|
# CentOS and RHEL pre-6 don't know them either
|
|
%define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; import sys; sys.stdout.write(get_python_lib())")
|
|
%define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; import sys; sys.stdout.write(get_python_lib(1))")
|
|
%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
|
|
# samba-doc nowadays is part the main samba spec file
|
|
%if 0%{?suse_version} && 0%{?suse_version} < 1111
|
|
%setup -n samba-%{samba_ver_full} -q
|
|
# ldapsmb
|
|
%if %{make_ldapsmb}
|
|
%setup -T -D -a 11 -n samba-%{samba_ver_full} -q
|
|
%endif
|
|
# 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
|
|
install -m 0644 -p vendor-files/docu/rfc3454.txt source4/heimdal/lib/wind/
|
|
# 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="%{optflags} -D_GNU_SOURCE ${OPTIMIZATION} -D_LARGEFILE64_SOURCE -DIDMAP_RID_SUPPORT_TRUSTED_DOMAINS"
|
|
%if %{use_ccache}
|
|
export CC="ccache gcc"
|
|
%endif
|
|
pushd source3
|
|
%if 0%{?suse_version} && 0%{?suse_version} < 1141
|
|
%{?suse_update_config:%{suse_update_config -f}}
|
|
%endif
|
|
# Ensure all idl is recompiled, in case we are carrying pidl changes locally.
|
|
rm -f librpc/gen_ndr/*.[cho] ../librpc/gen_ndr/*.[cho]
|
|
%if 0%{?centos_version} > 599 || 0%{?fedora_version} > 11 && 0%{?fedora_version} < 15 || 0%{?mandriva_version} > 2009 || 0%{?rhel_version} > 599 || 0%{?suse_version} > 0
|
|
./autogen.sh
|
|
%endif
|
|
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 \
|
|
--with-nmbdsocketdir=%{LOCKDIR} \
|
|
--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 %{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 \
|
|
%{buildroot}/%{DOCDIR} \
|
|
%{buildroot}/%{DOCBOOKDIR} \
|
|
%{buildroot}/%{SWATDIR}/help \
|
|
%{buildroot}/%{_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
|
|
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 %{buildroot}/%{_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 %{buildroot}/%{DOCDIR}/
|
|
# this is empty
|
|
rm -rf docs/yodldocs
|
|
rm -rf docs/manpages
|
|
cp -a docs/* %{buildroot}/%{DOCDIR}
|
|
rm -rf "%{buildroot}/%{DOCBOOKDIR}"
|
|
rm -f examples/VFS/*~
|
|
cp -a examples/ %{buildroot}/%{DOCDIR}
|
|
test -e "%{buildroot}/%{SWATDIR}/help/manpages" || \
|
|
ln -s "%{DOCDIR}/htmldocs/manpages" "%{buildroot}/%{SWATDIR}/help"
|
|
# Install HTML pages only in the samba-doc package
|
|
pushd %{buildroot}/%{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 %{buildroot}%{DOCDIR} -maxdepth 1); do
|
|
# exclude %{DOCDIR}, README, and docbook
|
|
case "${file#%{buildroot}}" in
|
|
%{DOCDIR}|%{DOCDIR}/README.%{VENDOR}|%{DOCDIR}/docbook) continue ;;
|
|
esac
|
|
echo "%doc ${file#%{buildroot}}" >>"${RPM_BUILD_DIR}/samba-%{samba_ver_full}/filelist-samba-doc"
|
|
done
|
|
%if ! %{make_utils}
|
|
# delete manpages if not packaged in utils-package
|
|
rm -f \
|
|
%{buildroot}/%{_mandir}/man1/log2pcap.1* \
|
|
%{buildroot}/%{_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.
|
|
|
|
|
|
Source Timestamp: 2843
|
|
Branch : 3.6.8
|
|
|
|
%changelog
|