# # 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/ # # 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: 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: 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} %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.16 %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 libldb_name libldb1 %define libnetapi_name libnetapi0 %define libwbclient_name libwbclient0 %define libtalloc_name libtalloc2 %define libtdb_name libtdb1 %define libtevent_name libtevent0 %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 %define SOURCE_TIMESTAMP 3028 %define BRANCH %{version} Version: 3.6.16 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 # 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 %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}/%{name}/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 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 # 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 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 \ --disable-static \ --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-syslog \ --with-utmp \ --with-winbind \ --with-shared-modules=%{vfs_modules},%{idmap_modules} \ %if %{make_devel} --enable-developer \ --enable-krb5developer \ %endif --disable-swat \ " 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}/%{_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} # 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 %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 %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