SHA256
1
0
forked from pool/samba
samba/samba-doc.spec
Lars Müller bd912ad374 - BuildRequire perl ExtUtils::MakeMaker and Parse::Yapp.
- BuildRequire libxslt, libxslt1, or libxslt-tools depending on SUSE version.
- Require perl-base on SUSE systems only.

- Adjust group setting of the test-devel subpackage.
- Require perl-base from the pidl subpackage.

- Remove libdir/samba/ldb after install if we're building Samba without
  Active Directory Domain Controller support.

- Remove unused ccache switch from the spec file.

- BuildRequire docbook-xsl-stylesheets and libxslt-tools to build the
  man pages and add them to the package again.

- Build from the package from the top level directory; (bnc#794744).
- BuildRequire pytalloc-devel, python-tdb, and python-tevent.
- Also use out of tree builds of talloc, tdb, tevent, and ldb for pre-12.1
  SUSE systems.
- Update to 4.0.7.
  + Fix a core dump with invalid lock order while opening/editing
    or copying MS files; (bso#9794).
  + Fix crash bug from search of mail=; (bso#9967).
  + s3-rpc_server: Ensure we are root when starting and using gensec;
    (bso#9465).
  + Add support for MX queries; (bso#9485).
  + dns: Delete dnsNode objects when they are empty; (bso#9559).
  + dns: Support larger queries when asking forwarder; (bso#9632).
  + s3:lib/server_mutex: Open mutex.tdb with CLEAR_IF_FIRST; (bso#9805).
  + Use of wrong RFC2307 primary group field; (bso#9880).

  + Check for system libtevent; (bso#9881).
  + is_printer_published GUID retrieval; (bso#9900).
  + Doc fixes for 4.0; (bso#9906).
  + Build fixes for 4.0 found during autoconf or debian packaging work;
    (bso#9907).
  + build: Add missing new line to replaced python shebang line; (bso#9909).
  + PIE builds not supported; (bso#9910).
  + s4:winbind: Don't leak libnet_context into the main event context;
    (bso#9929).
  + Fix a bug of drvupgrade of smbcontrol; (bso#9941).
  + Check for netbios aliases in ad_get_referrals; (bso#9947).
  + Fix tevent_poll on 32-bit machines (Coverity ID 989236); (bso#9953).
  + docs: Avoid mentioning a possibly misleading option; (bso#9964).
  + Fix build with system Heimdal of samba4kgetcred; (bso#9968).
- Update to 4.0.6.
  + Fix crash during Win8 sync; (bso#9822).
  + Fix segfault when loging in with wrong password from w2k8r2; (bso#9834).
  + Fix the username map optimization; (bso#9139).
  + Add support for PFC_FLAG_OBJECT_UUID when parsing packets; (bso#9382).
  + SMB2 server doesn't support recvfile; (bso#9412).
  + Fix the build of vfs_notify_fam; (bso#9545).
  + Fix adding case sensitive spn; (bso#9699).
  + Properly handle oplock breaks in compound requests; (bso#9722).
  + Properly handle oplock breaks in compound requests; (bso#9722).
  + Cache name_to_sid/sid_to_name correctly; (bso#9766).
  + Fix 'net ads join' when called via stdin; (bso#9767).
  + Fix segfault for "artificial" conn_structs in vfs_fake_perms; (bso#9775).
  + vfs_dirsort uses non-stackable calls, dirfd(), malloc instead of talloc and
    doesn't cope with directories being modified whilst reading; (bso#9777).
  + Fix panic when running 'smbtorture smb.base'; (bso#9782).
  + Use specified python for runtime installation of Samba; (bso#9785).
  + Change '--with-dmapi' to 'default=auto' to match the autoconf build;
    (bso#9803).
  + wafsamba: Display the default value in help for SAMBA3_ADD_OPTION;
    (bso#9804).
  + wbinfo: Fix segfault in wbinfo_pam_logon; (bso#9807).
  + Package new dbwrap_tool man page; (bso#9809).
  + Old DOS SMB CTEMP request uses a non-VFS function to access
    the filesystem; (bso#9811).
  + Fix 'map untrusted to domain' with NTLMv2; (bso#9817).
  + SMB signing and the async echo responder don't work together; (bso#9824).
  + Fix panic in nt_printer_publish_ads; (bso#9830).
  + talloc use after free in winbind4; (bso#9832).
  + Function called in unix_convert() path can overwrite errno; (bso#9833).
  + Fix NULL pointer dereference in Winbind; (bso#9854).
  + Fix making LIBNDR_PREG_OBJ; (bso#9868).

OBS-URL: https://build.opensuse.org/package/show/network:samba:STABLE/samba?expand=0&rev=325
2013-07-17 18:47:19 +00:00

393 lines
13 KiB
RPMSpec

#
# spec file for package samba-doc
#
# Copyright (c) 2013 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/
#
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: cyrus-sasl-devel
BuildRequires: e2fsprogs-devel
BuildRequires: fam-devel
BuildRequires: libacl-devel
BuildRequires: libattr-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: perl(ExtUtils::MakeMaker)
BuildRequires: perl(Parse::Yapp)
BuildRequires: popt-devel
BuildRequires: readline-devel
%if 0%{?suse_version}
BuildRequires: cracklib-devel
BuildRequires: openldap2-devel
BuildRequires: libopenssl-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: libxml2-devel
BuildRequires: mysql-devel
BuildRequires: postgresql-devel
BuildRequires: xfsprogs-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
%define pkgconfig_req pkg-config
%else
%define pkgconfig_req pkgconfig
%endif
BuildRequires: %{pkgconfig_req}
BuildRequires: libldb-devel
#!BuildIgnore: libtalloc
BuildRequires: libtalloc-devel
BuildRequires: pytalloc-devel
#!BuildIgnore: libtdb
BuildRequires: libtdb-devel
BuildRequires: python-tdb
BuildRequires: libtevent-devel
BuildRequires: python-tevent
# to generate the man pages
BuildRequires: docbook-xsl-stylesheets
%if 0%{?suse_version} > 0 && 0%{?suse_version} < 1141
BuildRequires: libxslt
%endif
%if 0%{?suse_version} > 1140 && 0%{?suse_version} < 1211
BuildRequires: libxslt1
%endif
%if 0%{?suse_version} > 1210
BuildRequires: libxslt-tools
%endif
%define samba_ver 4.0.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%{?suse_version} < 1031
%define libsmbclient_name libsmbclient
%define libsmbsharemodes_name libsmbsharemodes
%else
%define libsmbclient_name libsmbclient0
%define libsmbsharemodes_name libsmbsharemodes0
%endif
%define libnetapi_name libnetapi0
%define libwbclient_name libwbclient0
%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
%define SOURCE_TIMESTAMP 3048
%define BRANCH %{version}
%global with_mitkrb5 1
%global with_dc 0
%global with_get_printing_ticket 0
Version: 4.0.7
Release: 0
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.gz
Source1: vendor-files.tar.bz2
Source2: patches.tar.bz2
Source4: baselibs.conf
Source100: samba-client-rpmlintrc
# Choose some features / extra packages here
############################################
%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
# 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}/samba/docbook
%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 auth_modules auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4
%define idmap_modules idmap_ad,idmap_adex,idmap_hash,idmap_ldap,idmap_rid,idmap_tdb2
%define pdb_modules pdb_tdbsam,pdb_ldap,pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4
%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
# 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
%if %with_get_printing_ticket
install -m 0644 vendor-files/tools/get_printing_ticket.c source3/client/get_printing_ticket.c
%endif
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
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}-}" )
# 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="-SLE_%{sles_version}"
elif test 0%{?suse_version} -gt 0; then
product_suffix="-oS${product_version}"
else
product_suffix="-OBS"
fi
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 0%{?suse_version} && 0%{?suse_version} < 1141
%{?suse_update_config:%{suse_update_config -f}}
%endif
CONFIGURE_OPTIONS="\
--prefix=%{_prefix} \
--localstatedir=%{_localstatedir} \
--sysconfdir=%{CONFIGDIR} \
--with-configdir=%{CONFIGDIR} \
--libdir=%{_libdir} \
--with-lockdir=%{LOCKDIR} \
--with-logfilebase=%{LOGDIR} \
--mandir=%{_mandir} \
--with-modulesdir=%{_libdir}/samba \
--enable-cups \
--enable-debug \
--enable-fhs \
--with-acl-support \
--with-automount \
--with-ads \
--with-dnsupdate \
--with-pam \
--with-pammodulesdir=%{_lib}/security \
--with-pam_smbpass \
--with-piddir=%{PIDDIR} \
--with-privatedir=%{CONFIGDIR} \
--with-quotas \
--with-syslog \
--with-utmp \
--with-winbind \
--with-shared-modules=%{auth_modules},%{vfs_modules},%{pdb_modules},%{idmap_modules} \
--without-swat \
%if %with_mitkrb5
--with-system-mitkrb5 \
%endif
%if ! %with_dc
--without-ad-dc \
%endif
--bundled-libraries=!heimdal,!popt,!zlib,\
!ldb,!pyldb,\
!talloc,!pytalloc,!pytalloc-util,\
!tdb,!pytdb,\
!tevent,!pytevent \
"
./configure ${CONFIGURE_OPTIONS}
%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}/%{_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 -d -m 0755 -p ../docs/htmldocs
install -m 0644 docu/manpages.html ../docs/htmldocs/manpages.html
popd
# 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 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}
# 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
%endif
%pre
%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}
%doc %{_datadir}/susehelp
%endif
%description
This package contains all the Samba documentation as it is not part of
the man pages.
Source Timestamp: %{SOURCE_TIMESTAMP}
Branch: %{BRANCH}
%changelog