# # spec file for package samba # # 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 %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: 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.10 %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 2899 %define BRANCH %{version} Version: 3.6.10 Release: 0 %define ldapsmb_ver 1.34b License: GPL-3.0+ Url: http://www.samba.org/ Group: Productivity/Networking/Samba Provides: samba-gplv3 = %{version} Obsoletes: samba-gplv3 < %{version} %ifarch ppc64 Obsoletes: samba-64bit %endif Requires: samba-client >= %{version} %if 0%{?suse_version} > 1030 Recommends: cron Recommends: logrotate %endif Summary: A SMB/CIFS File, Print, and Authentication Server 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 PreReq: /usr/bin/getent PreReq: /usr/sbin/groupadd PreReq: coreutils PreReq: grep # 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 %description Samba is a suite of programs that allows SMB/CIFS clients to use the Unix file space, printers, and authentication subsystem. The package named samba contains all programs that are needed to act as a server. The binaries expect the configuration file to be found in /etc/samba/smb.conf For a more detailed description of Samba, check the samba-doc package or the Samba.org Web page at http://www.Samba.org/ Please check http://en.openSUSE.org/Samba for general information on Samba as part of SUSE Linux Enterprise or openSUSE products, links to binary packages of the most current Samba version, and a bug reporting how to. Source timestamp: %{SOURCE_TIMESTAMP} Branch: %{BRANCH} %package client License: GPL-3.0+ Summary: Samba Client Utilities Group: Productivity/Networking/Samba Provides: samba-gplv3-client = %{version} Provides: smbfs Obsoletes: samba-gplv3-client < %{version} Provides: samba-client-gplv2 = %{version} Obsoletes: samba-client-gplv2 < %{version} %ifarch ppc64 Obsoletes: samba-client-64bit %endif %if 0%{?suse_version} > 0 PreReq: %{?fillup_prereq} PreReq: %{?insserv_prereq} %endif PreReq: /sbin/chkconfig PreReq: /sbin/ldconfig PreReq: coreutils Requires: cifs-utils %description client Samba is a suite of programs that allows SMB/CIFS clients to use the Unix file space, printers, and authentication subsystem. The package named samba-client contains all programs that are needed to act as a Samba client. The binaries expect the configuration file to be found in /etc/samba/smb.conf For a more detailed description of Samba, check the samba-doc package or the Samba.org Web page at http://www.Samba.org/ Please check http://en.openSUSE.org/Samba for general information on Samba as part of SUSE Linux Enterprise or openSUSE products, links to binary packages of the most current Samba version, and a bug reporting how to. Source timestamp: %{SOURCE_TIMESTAMP} Branch: %{BRANCH} %if 0%{?suse_version} == 0 || 0%{?suse_version} > 1020 %package devel License: GPL-3.0+ Summary: Libraries and Header Files to Develop Programs with Samba Support Group: Development/Libraries/C and C++ Provides: samba-gplv3-devel = %{version} Obsoletes: samba-gplv3-devel < %{version} %ifarch ppc64 Obsoletes: samba-devel-64bit %endif %description devel This package contains the static libraries and header files needed to develop programs which make use of Samba. Source timestamp: %{SOURCE_TIMESTAMP} Branch: %{BRANCH} %endif %if 0%{?suse_version} && 0%{?suse_version} < 1001 || 0%{?suse_version} > 1110 %package doc 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} %if 0%{?suse_version} > 1110 BuildArch: noarch %endif %description doc This package contains all the Samba documentation as it is not part of the man pages. Source timestamp: %{SOURCE_TIMESTAMP} Branch: %{BRANCH} %endif %package krb-printing License: GPL-3.0+ Summary: Wrapper binary for kerberized printing Group: Productivity/Networking/Samba PreReq: coreutils Provides: samba-gplv3-krb-printing = %{version} Obsoletes: samba-gplv3-krb-printing < %{version} %if 0%{?suse_version} > 1000 PreReq: permissions %endif Requires: samba-client >= %{version} %description krb-printing A wrapper binary to run smbspool with the original calling UID. Source timestamp: %{SOURCE_TIMESTAMP} Branch: %{BRANCH} %if %{make_utils} %package utils Summary: debug tools Group: Productivity/Networking/Samba Provides: samba-gplv3-utils = %{version} Obsoletes: samba-gplv3-utils < %{version} %description utils Some of the debug-tools for developpers. Source timestamp: %{SOURCE_TIMESTAMP} Branch: %{BRANCH} %endif %package winbind License: GPL-3.0+ Summary: Winbind Daemon and Tool Group: Productivity/Networking/Samba Provides: samba-gplv3-winbind = %{version} Obsoletes: samba-gplv3-winbind < %{version} Provides: samba-client:/usr/sbin/winbindd %ifarch ppc64 Obsoletes: samba-winbind-64bit %endif Requires: samba-client >= %{version} %if 0%{?suse_version} Requires: pam-config %endif %if 0%{?suse_version} > 1030 Recommends: cron Recommends: logrotate Recommends: samba-krb-printing Recommends: /usr/sbin/nscd %endif %if 0%{?suse_version} > 0 PreReq: %{?insserv_prereq} %endif PreReq: /sbin/ldconfig PreReq: /usr/sbin/groupadd PreReq: coreutils %description winbind This is the winbind-daemon and the wbinfo-tool. Source timestamp: %{SOURCE_TIMESTAMP} Branch: %{BRANCH} %package -n %{libsmbclient_name} License: GPL-3.0+ %if 0%{?suse_version} > 1030 Provides: libsmbclient = %{version} Obsoletes: libsmbclient %endif %ifarch ppc64 Obsoletes: libsmbclient-64bit %endif Summary: Samba Client Library Group: System/Libraries PreReq: /sbin/ldconfig %description -n %{libsmbclient_name} This package includes the libsmbclient library. libsmbclient is provided by the libsmbclient0 package. This entry is required to allow a samba.spec file providing libsmbclient for SUSE version < 11.0 while versions > 10.0 will have libsmbclient0. Source timestamp: %{SOURCE_TIMESTAMP} Branch: %{BRANCH} %package -n libsmbclient-devel License: GPL-3.0+ Summary: Libraries and Header Files to Develop Programs with smbclient Support Group: Development/Libraries/C and C++ BuildRequires: %{pkgconfig_req} Requires: krb5-devel Requires: %{libsmbclient_name} = %{version} %description -n libsmbclient-devel This package contains the static libraries and header files needed to develop programs which make use of the smbclient programming interface. Source timestamp: %{SOURCE_TIMESTAMP} Branch: %{BRANCH} %package -n %{libnetapi_name} License: GPL-3.0+ Summary: Samba netapi Library Group: System/Libraries PreReq: /sbin/ldconfig %description -n %{libnetapi_name} This package includes the netapi library. Source timestamp: %{SOURCE_TIMESTAMP} Branch: %{BRANCH} %package -n libnetapi-devel License: GPL-3.0+ Summary: Libraries and Header Files to Develop Programs with netapi Support Group: Development/Libraries/C and C++ BuildRequires: %{pkgconfig_req} Requires: %{libnetapi_name} = %{version} %description -n libnetapi-devel This package contains the static libraries and header files needed to develop programs which make use of the netapi programming interface. Source timestamp: %{SOURCE_TIMESTAMP} Branch: %{BRANCH} %package -n %{libsmbsharemodes_name} License: GPL-3.0+ %if 0%{?suse_version} > 1030 Provides: libsmbsharemodes = %{version} Obsoletes: libsmbsharemodes %endif Summary: Samba smbsharemodes Library Group: System/Libraries PreReq: /sbin/ldconfig %description -n %{libsmbsharemodes_name} This package includes the smbsharemodes library. Source timestamp: %{SOURCE_TIMESTAMP} Branch: %{BRANCH} %package -n libsmbsharemodes-devel License: GPL-3.0+ Summary: Libraries and Header Files to Develop Programs with smbsharemodes Support Group: Development/Libraries/C and C++ BuildRequires: %{pkgconfig_req} Requires: %{libsmbsharemodes_name} = %{version} %description -n libsmbsharemodes-devel This package contains the static libraries and header files needed to develop programs which make use of the smbsharemodes programming interface. Source timestamp: %{SOURCE_TIMESTAMP} Branch: %{BRANCH} %package -n %{libwbclient_name} License: LGPL-3.0+ Summary: Samba libwbclient Library Group: System/Libraries PreReq: /sbin/ldconfig %description -n %{libwbclient_name} This package includes the wbclient library. Source timestamp: %{SOURCE_TIMESTAMP} Branch: %{BRANCH} %package -n libwbclient-devel License: LGPL-3.0+ Summary: Libraries and Header Files to Develop Programs with wbclient Support Group: Development/Libraries/C and C++ BuildRequires: %{pkgconfig_req} Requires: %{libwbclient_name} = %{version} %description -n libwbclient-devel This package contains the static libraries and header files needed to develop programs which make use of the wbclient programming interface. Source timestamp: %{SOURCE_TIMESTAMP} Branch: %{BRANCH} %if 0%{?suse_version} && 0%{?suse_version} < 1211 %package -n %{libtalloc_name} Version: %{libtalloc_ver} License: LGPL-3.0+ Summary: Samba talloc Library Group: System/Libraries PreReq: /sbin/ldconfig %description -n %{libtalloc_name} This package includes the talloc library. Source timestamp: %{SOURCE_TIMESTAMP} Branch: %{BRANCH} %package -n libtalloc-devel Version: %{libtalloc_ver} License: LGPL-3.0+ Summary: Libraries and Header Files to Develop Programs with talloc Support Group: Development/Libraries/C and C++ BuildRequires: %{pkgconfig_req} Requires: %{libtalloc_name} = %{libtalloc_ver} %description -n libtalloc-devel This package contains the static libraries and header files needed to develop programs which make use of the talloc programming interface. Source timestamp: %{SOURCE_TIMESTAMP} Branch: %{BRANCH} %package -n %{libtdb_name} Version: %{libtdb_ver} License: LGPL-3.0+ Summary: Samba tdb Library Group: System/Libraries PreReq: /sbin/ldconfig %description -n %{libtdb_name} This package includes the tdb library. Source timestamp: %{SOURCE_TIMESTAMP} Branch: %{BRANCH} %package -n libtdb-devel Version: %{libtdb_ver} License: LGPL-3.0+ Summary: Libraries and Header Files to Develop Programs with tdb Support Group: Development/Libraries/C and C++ #BuildRequires: %{pkgconfig_req} Requires: %{libtdb_name} = %{libtdb_ver} %description -n libtdb-devel This package contains the static libraries and header files needed to develop programs which make use of the tdb programming interface. Source timestamp: %{SOURCE_TIMESTAMP} Branch: %{BRANCH} %package -n %{libtevent_name} Version: %{libtevent_ver} License: LGPL-3.0+ Summary: Samba tevent Library Group: System/Libraries PreReq: /sbin/ldconfig %description -n %{libtevent_name} This package includes the tevent library. Source timestamp: %{SOURCE_TIMESTAMP} Branch: %{BRANCH} %package -n libtevent-devel Version: %{libtevent_ver} License: LGPL-3.0+ Summary: Libraries and Header Files to Develop Programs with tevent Support Group: Development/Libraries/C and C++ BuildRequires: %{pkgconfig_req} Requires: libtalloc-devel Requires: %{libtevent_name} = %{libtevent_ver} %description -n libtevent-devel This package contains the static libraries and header files needed to develop programs which make use of the tevent programming interface. Source timestamp: %{SOURCE_TIMESTAMP} Branch: %{BRANCH} %package -n %{libldb_name} Version: %{libldb_ver} License: LGPL-3.0+ Summary: Samba ldb Library Group: System/Libraries BuildRequires: popt-devel PreReq: /sbin/ldconfig %description -n %{libldb_name} This package includes the ldb library. Source timestamp: %{SOURCE_TIMESTAMP} Branch: %{BRANCH} %package -n libldb-devel Version: %{libldb_ver} License: LGPL-3.0+ Summary: Libraries and Header Files to Develop Programs with ldb Support Group: Development/Libraries/C and C++ BuildRequires: %{pkgconfig_req} Requires: %{libldb_name} = %{libldb_ver} Requires: libtalloc-devel %description -n libldb-devel This package contains the static libraries and header files needed to develop programs which make use of the tevent programming interface. Source timestamp: %{SOURCE_TIMESTAMP} Branch: %{BRANCH} %endif %if %{make_ldapsmb} %package -n ldapsmb Version: 1.34b Release: 0 License: GPL-2.0+ Summary: Tool to administer Samba's LDAP backend Group: Productivity/Networking/Samba Requires: perl-ldap %description -n ldapsmb This tool aims to simplify the administration of a Samba Domain Controller that uses the ldapsam passdb backend. Source timestamp: %{SOURCE_TIMESTAMP} Branch: %{BRANCH} %endif %prep %setup -n samba-%{samba_ver_full} -q # check if our library versions from the spec are still current %if 0%{?suse_version} > 1130 && 0%{?suse_version} < 1211 grep "^VERSION = '%{libldb_ver}'$" source4/lib/ldb/wscript || \ exit 1 grep "^VERSION = '%{libtalloc_ver}'$" lib/talloc/wscript || \ exit 1 grep "^VERSION = '%{libtdb_ver}'$" lib/tdb/wscript || \ exit 1 grep "^VERSION = '%{libtevent_ver}'$" lib/tevent/wscript || \ exit 1 %endif # 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} "${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 %build %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 make samba3-idl make %{build_make_smp_mflags} \ all bin/smbfilter %if %{make_ldapsmb} pushd ../ldapsmb-%{ldapsmb_ver} ./autogen.sh rm ldapsmb make %{build_make_smp_mflags} all doc popd %endif popd %if 0%{?suse_version} && 0%{?suse_version} < 1211 for lib_dir in tdb talloc; do pushd lib/${lib_dir} ./configure \ --disable-symbol-versions \ --prefix=%{_prefix} \ --libdir=%{_libdir} make popd done pushd lib/tevent TALLOC_LIBS=../../source3/bin/libtalloc.so.2 TALLOC_CFLAGS=-I../talloc/ ./configure \ --disable-symbol-versions \ --bundled-libraries=!talloc,ALL \ --prefix=%{_prefix} \ --localstatedir=%{LOCKDIR} \ --sysconfdir=%{CONFIGDIR} \ --libdir=%{_libdir} \ --mandir=%{_mandir} make popd pushd source4/lib/ldb TALLOC_LIBS=../../../source3/bin/libtalloc.so.2 TALLOC_CFLAGS=-I../../../lib/talloc/ \ TEVENT_LIBS=../../../lib/tevent/bin/default/lib/tevent/libtevent.so TEVENT_CFLAGS=-I../../../lib/tevent/ \ TDB_LIBS=../../../source3/bin/libtdb.so.1 TDB_CFLAGS=-I../../../lib/tdb/include \ ./configure \ --disable-symbol-versions \ --bundled-libraries=!popt \ --prefix=%{_prefix} \ --localstatedir=%{LOCKDIR} \ --sysconfdir=%{CONFIGDIR} \ --libdir=%{_libdir} \ --mandir=%{_mandir} \ --with-modulesdir=%{_libdir} make popd %endif %check %if 0%{?suse_version} && 0%{?suse_version} < 1211 for lib_dir in tdb talloc tevent; do pushd lib/${lib_dir} make test popd done %endif pushd source3 make test_shlibs make test_nss_modules make test_pam_modules popd pushd testsuite/libsmbclient/src make popd %install %if %{make_devel} export NO_BRP_STRIP_DEBUG="true" %endif install -d -m 0755 -p \ %{buildroot}/%{_sysconfdir}/{pam.d,xinetd.d,logrotate.d} \ %{buildroot}/%{_sysconfdir}/openldap/schema \ %{buildroot}/%{_sysconfdir}/sysconfig/%{NET_CFGDIR}/{if-{down,up}.d,scripts} \ %if 0%{?suse_version} && 0%{?suse_version} > 1020 %{buildroot}/%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services \ %endif %{buildroot}/%{_sysconfdir}/permissions.d \ %{buildroot}/%{_sysconfdir}/security \ %{buildroot}/%{_sysconfdir}/slp.reg.d \ %{buildroot}/%{CONFIGDIR} \ %{buildroot}/%{INITDIR} \ %{buildroot}/%{_lib}/security \ %{buildroot}/sbin \ %{buildroot}/%{_includedir} \ %{buildroot}/%{_libdir}/pkgconfig \ %{buildroot}/%{_libdir}/python/lib-dynload \ %{buildroot}/%{_libdir}/samba/{config,vfs,rpc,auth,charset,idmap} \ %{buildroot}/%{_datadir}/omc/svcinfo.d \ %{buildroot}/%{_datadir}/samba/{LDAP,templates} \ %{buildroot}/%{_localstatedir}/adm \ %{buildroot}/%{LOCKDIR}/{netlogon,drivers/{WIN40,W32X86,W32MIPS,W32ALPHA,W32PPC,IA64,x64},printing,profiles,winbindd_privileged} \ %{buildroot}/%{LOGDIR} \ %{buildroot}/%{PIDDIR} \ %{buildroot}/%{_var}/adm/fillup-templates \ %{buildroot}/%{_var}/run \ %{buildroot}/%{DOCDIR} \ %{buildroot}/%{DOCBOOKDIR} \ %{buildroot}/%{SWATDIR}/help \ %{buildroot}/%{_datadir}/susehelp/meta/Administration/System %if 0%{?suse_version} && 0%{?suse_version} < 1211 for lib_dir in tdb talloc tevent; do pushd lib/${lib_dir} make install \ DESTDIR=%{buildroot} popd done # libldb make -C source4/lib/ldb/ install \ DESTDIR=%{buildroot} \ CONFIGDIR=%{CONFIGDIR} # we prefer the s3 binaries of the tdbtools rm %{buildroot}/%{_bindir}/tdb{backup,dump,restore,tool} %endif make -C source3/ install \ DESTDIR=%{buildroot} \ CONFIGDIR=%{CONFIGDIR} %if 0%{?suse_version} && 0%{?suse_version} < 1211 # libtalloc #rm %{buildroot}/%{_libdir}/*talloc* make -C lib/talloc/ install \ DESTDIR=%{buildroot} \ CONFIGDIR=%{CONFIGDIR} install -m 0644 source3/pkgconfig/talloc.pc %{buildroot}/%{_libdir}/pkgconfig # libtevent make -C lib/talloc/ install \ DESTDIR=%{buildroot} \ CONFIGDIR=%{CONFIGDIR} rm -r %{buildroot}/%{python_sitearch} \ %{buildroot}/%{_libdir}/ldb/lib{t*,p*} \ %{buildroot}/%{_libdir}/tevent %endif for file in source3/pkgconfig/{netapi,smbclient,smbsharemodes,wbclient}.pc; do install -m 0644 "${file}" %{buildroot}/%{_libdir}/pkgconfig done # 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} for file in smb.conf lmhosts smbusers smbpasswd cifstab smbusers; do install -m 0644 "config/${file}" %{buildroot}/%{CONFIGDIR}/${file} done %if 0%{?suse_version} && 0%{?suse_version} < 1121 mv %{buildroot}/%{CONFIGDIR}/cifstab %{buildroot}/%{CONFIGDIR}/smbfstab %endif section_names=$( sed -ne 's/^\[\(.*\)\]$/\1/p' config/smb.conf) for section in $section_names; do ../source3/bin/testparm -s --section-name "${section}" config/smb.conf >"%{buildroot}/%{_datadir}/samba/templates/default-${section}" || : done for file in config/templates/*; do cp -a "${file}" "%{buildroot}/%{_datadir}/samba/templates/" done # start scripts scriptSuffix="" %if 0%{?suse_version} if test 0%{?suse_version} -lt 901; then scriptSuffix="-900" elif test 0%{?suse_version} -lt 1011; then scriptSuffix="-1010" elif test 0%{?suse_version} -lt 1111; then scriptSuffix="-1110" elif test 0%{?suse_version} -lt 1131; then scriptSuffix="-1130" fi %endif startScripts="smb nmb winbind %{cifs_init_script}" for script in ${startScripts}; do install -m 0755 "init/${script}${scriptSuffix}" \ "%{buildroot}/%{INITDIR}/${script}" ln -s "%{INITDIR}/${script}" "%{buildroot}/%{_sbindir}/rc${script}" done for script in ${startScripts}; do SERVICE_NAME=$( echo "${script}" | tr [:lower:] [:upper:]) sed \ -e "s#__SERVICE_NAME#${SERVICE_NAME}#g" \ -e "s#__SERVICE_SCRIPT_NAME#${script}#g" \ init/template.xml \ >"%{buildroot}/%{_datadir}/omc/svcinfo.d/${script}.xml" done install -m 0755 tools/nmbstatus %{buildroot}/%{_bindir}/nmbstatus pod2man tools/nmbstatus >%{buildroot}/%{_mandir}/man1/nmbstatus.1 install -m 0755 tools/update-apparmor-samba-profile \ %{buildroot}/%{_datadir}/samba/ # PDF generator install -p -m 0755 tools/smbprngenpdf %{buildroot}/%{_bindir}/smbprngenpdf touch %{buildroot}/var/run/%{cifs_init_script} install -m 0644 config/swat.xinetd %{buildroot}/%{_sysconfdir}/xinetd.d/swat install -m 0644 config/samba.reg %{buildroot}/%{_sysconfdir}/slp.reg.d/samba.reg install -m 0644 config/samba.pamd-common %{buildroot}/%{_sysconfdir}/pam.d/samba install -m 0644 config/dhcp.conf %{buildroot}/%{_var}/adm/fillup-templates/samba-client-dhcp.conf install -m 0644 config/sysconfig.dhcp-samba-client %{buildroot}/%{_var}/adm/fillup-templates/sysconfig.dhcp-samba-client for script in dhcpcd-hook-samba dhcpcd-hook-samba-functions samba-winbindd %{cifs_init_script}; do install -m 0755 "tools/${script}" "%{buildroot}/%{_sysconfdir}/sysconfig/%{NET_CFGDIR}/scripts/${script}" done # Create ghosts for the symlinks for script in 21-dhcpcd-hook-samba 21-%{cifs_init_script} 55-samba-winbindd; do touch %{buildroot}/%{_sysconfdir}/sysconfig/%{NET_CFGDIR}/if-{down,up}.d/${script} done # Install SuSEfirewall2 config files %if 0%{?suse_version} && 0%{?suse_version} > 1020 install -m 0644 config/sysconfig.firewall.netbios-server \ %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/netbios-server install -m 0644 config/sysconfig.firewall.samba-server \ %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/samba-server %endif %if 0%{?suse_version} && 0%{?suse_version} > 1100 install -m 0644 config/sysconfig.firewall.samba-client \ %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/samba-client %endif # Add logrotate settings for nmbd and smbd only on systems newer than 8.1. %if 0%{?suse_version} && 0%{?suse_version} < 811 LOGROTATE_FILES="samba-winbind" rm -f "${RPM_BUILD_DIR}/samba-%{samba_ver_full}/filelist-samba" touch "${RPM_BUILD_DIR}/samba-%{samba_ver_full}/filelist-samba" %else LOGROTATE_FILES="samba samba-winbind" %endif for file in ${LOGROTATE_FILES}; do install -m 0644 logrotate/${file} %{buildroot}/%{_sysconfdir}/logrotate.d/${file} rm -f "${RPM_BUILD_DIR}/samba-%{samba_ver_full}/filelist-${file}" touch "${RPM_BUILD_DIR}/samba-%{samba_ver_full}/filelist-${file}" echo "%config(noreplace) %{_sysconfdir}/logrotate.d/${file}" >>${RPM_BUILD_DIR}/samba-%{samba_ver_full}/filelist-${file} done install -m 0644 docu/README.vendor %{buildroot}/%{DOCDIR}/README.%{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 # libnss_wins.so install -m 0755 nsswitch/libnss_wins.so %{buildroot}/%{_lib}/libnss_wins.so.2 # winbind stuff install -m 0644 examples/pam_winbind/pam_winbind.conf %{buildroot}/%{_sysconfdir}/security/pam_winbind.conf install -m 0755 nsswitch/libnss_winbind.so %{buildroot}/%{_lib}/libnss_winbind.so.2 # smbfilter install -m 0755 source3/bin/smbfilter %{buildroot}/%{_bindir}/smbfilter # smbget install -m 0755 source3/bin/smbget %{buildroot}/%{_bindir}/smbget # install nsswitch-headers (for squid, etc. #FIXME) install -d -m 0755 \ %{buildroot}/%{_includedir}/samba/nsswitch \ %{buildroot}/%{_includedir}/samba/winbindd for file in winbind_client.h winbind_nss_config.h winbind_nss_linux.h; do install -m 0644 "nsswitch/${file}" %{buildroot}/%{_includedir}/samba/nsswitch/${file} done for file in winbindd.h winbindd_proto.h; do install -m 0644 "source3/winbindd/${file}" %{buildroot}/%{_includedir}/samba/winbindd/${file} done # install smbtorture and other test-programs %if %{make_utils} install -m 0755 source3/bin/debug2html %{buildroot}/%{_bindir}/debug2html install -m 0755 source3/bin/log2pcap %{buildroot}/%{_bindir}/log2pcap install -m 0755 source3/bin/smbtorture %{buildroot}/%{_bindir}/smbtorture install -m 0755 source3/bin/talloctort %{buildroot}/%{_bindir}/talloctort install -m 0755 source3/bin/msgtest %{buildroot}/%{_bindir}/msgtest install -m 0755 source3/bin/maketest %{buildroot}/%{_bindir}/maketest install -m 0755 source3/bin/locktest %{buildroot}/%{_bindir}/locktest install -m 0755 source3/bin/nsstest %{buildroot}/%{_bindir}/nsstest install -m 0755 source3/bin/vfstest %{buildroot}/%{_bindir}/vfstest %endif %if %{make_ldapsmb} install -m 0700 ldapsmb-%{ldapsmb_ver}/ldapsmb %{buildroot}/%{_sbindir}/ cp -a ldapsmb-%{ldapsmb_ver}/ldapsmb.5 %{buildroot}/%{_mandir}/man5 %endif # cups SMB support mkdir -p %{buildroot}/%{cups_lib_dir}/backend/ touch %{buildroot}/%{cups_lib_dir}/backend/smb # 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 # find pam_winbind language files %find_lang pam_winbind cat pam_winbind.lang >> ${RPM_BUILD_DIR}/samba-%{samba_ver_full}/filelist-samba-winbind %find_lang net for file in $( find %{buildroot}%{_libdir}/samba/vfs/ -mindepth 1 ); do echo "${file#%{buildroot}}" >>${RPM_BUILD_DIR}/samba-%{samba_ver_full}/filelist-samba done # copy the schema install -m 0644 examples/LDAP/samba.schema %{buildroot}/%{_sysconfdir}/openldap/schema/samba3.schema install -m 0644 examples/LDAP/samba-nds.schema %{buildroot}/%{_datadir}/samba/LDAP/samba-nds.schema # Clean up installed doc if we have a noarch doc package %if 0%{?suse_version} == 0 || 0%{?suse_version} > 1000 && 0%{?suse_version} < 1120 while read file; do rm -r "%{buildroot}/${file#%* }" done <"${RPM_BUILD_DIR}/samba-%{samba_ver_full}/filelist-samba-doc" for file in %{_datadir}/susehelp; do rm -r "%{buildroot}/${file}" done pushd "%{buildroot}/%{DOCDIR}" for file in $( find . -mindepth 1 -maxdepth 1);do test "${file}" = "./README.%{VENDOR}" && continue rm -r "${file}" done popd %endif # Hardlink duplicate files %if 0%{?suse_version} > 1110 %fdupes %{buildroot} %endif %pre getent group ntadmin >/dev/null || groupadd -g 71 -o -r ntadmin || : %preun %{?stop_on_removal:%{stop_on_removal smb nmb}} %postun %{?restart_on_update:%{restart_on_update nmb smb}} %{?insserv_cleanup:%{insserv_cleanup}} %pre client # non SUSE + 11.3 an newer, update, no cifstab, but smbfstab if [ ! 0%{?suse_version} -lt 1121 -a \ ${1:-0} -gt 1 -a \ ! -e /etc/samba/cifstab -a \ -f /etc/samba/smbfstab ]; then cp -a /etc/samba/smbfstab /var/adm/backup/etc_samba_smbfstab-move chkconfig -c smbfs && >/var/adm/backup/etc_samba_smbfs-enabled || : fi %preun client %{?stop_on_removal:%{stop_on_removal %cifs_init_script}} %post client /sbin/ldconfig if [ ${1:-0} -eq 1 ]; then # Only insserv cifs if we're not in update mode. %if 0%{?suse_version} > 0 && 0%{?suse_version} < 1131 %{?insserv_force_if_yast:%{insserv_force_if_yast %{cifs_init_script}}} %endif ln -fs %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/scripts/dhcpcd-hook-samba %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/if-down.d/21-dhcpcd-hook-samba ln -fs %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/scripts/dhcpcd-hook-samba %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/if-up.d/21-dhcpcd-hook-samba ln -fs %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/scripts/%{cifs_init_script} %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/if-down.d/21-%{cifs_init_script} ln -fs %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/scripts/%{cifs_init_script} %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/if-up.d/21-%{cifs_init_script} else for if_case in if-down.d if-up.d; do test -h %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/${if_case}/dhcpcd-hook-samba || \ continue rm -f %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/${if_case}/dhcpcd-hook-samba ln -fs %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/scripts/dhcpcd-hook-samba %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/${if_case}/21-dhcpcd-hook-samba test -h %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/${if_case}/%{cifs_init_script} || \ continue rm -f %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/${if_case}/%{cifs_init_script} ln -fs %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/scripts/%{cifs_init_script} %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/${if_case}/21-%{cifs_init_script} done fi if [ ${1:-0} -gt 1 -a -f /var/adm/backup/etc_samba_smbfstab-move ]; then test -f /etc/samba/cifstab && \ mv /etc/samba/cifstab /etc/samba/cifstab.rpmnew mv /var/adm/backup/etc_samba_smbfstab-move /etc/samba/cifstab if [ -f /var/adm/backup/etc_samba_smbfs-enabled ]; then chkconfig -a cifs >/dev/null rm /var/adm/backup/etc_samba_smbfs-enabled fi fi if ! test -e %{_bindir}/get_printing_ticket; then ln -fs %{_bindir}/smbspool %{cups_lib_dir}/backend/smb fi %{?fillup_only:%{fillup_only -nsd dhcp samba-client network}} %postun client /sbin/ldconfig %{?insserv_cleanup:%{insserv_cleanup}} %post -n %{libnetapi_name} -p /sbin/ldconfig %postun -n %{libnetapi_name} -p /sbin/ldconfig %post -n %{libwbclient_name} -p /sbin/ldconfig %postun -n %{libwbclient_name} -p /sbin/ldconfig %if 0%{?suse_version} && 0%{?suse_version} < 1211 %post -n %{libtalloc_name} -p /sbin/ldconfig %postun -n %{libtalloc_name} -p /sbin/ldconfig %post -n %{libtdb_name} -p /sbin/ldconfig %postun -n %{libtdb_name} -p /sbin/ldconfig %post -n %{libtevent_name} -p /sbin/ldconfig %postun -n %{libtevent_name} -p /sbin/ldconfig %post -n %{libldb_name} -p /sbin/ldconfig %postun -n %{libldb_name} -p /sbin/ldconfig %endif %if 0%{?suse_version} && 0%{?suse_version} < 1001 || 0%{?suse_version} > 1110 %pre doc # 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 %endif %post krb-printing if test ${1:-0} -eq 1 -a -d %{cups_lib_dir}/backend; then ln -fs %{_bindir}/get_printing_ticket %{cups_lib_dir}/backend/smb fi %if 0%{?suse_version} > 0 && 0%{?suse_version} < 1131 %{?run_permissions:%{run_permissions}} %endif %{?set_permissions:%{set_permissions}} %postun krb-printing if test ${1:-0} -eq 0 -a -e %{_bindir}/smbspool -a -d %{cups_lib_dir}/backend; then ln -fs %{_bindir}/smbspool %{cups_lib_dir}/backend/smb fi %if 0%{?suse_version} == 0 || 0%{?suse_version} > 1000 %verifyscript krb-printing %verify_permissions -e %{_bindir}/get_printing_ticket %endif %pre winbind # we need this group for squid (ntlmauth) # read access to /var/lib/samba/winbindd_privileged getent group winbind >/dev/null || groupadd -r winbind || : %post winbind /sbin/ldconfig if test ${1:-0} -eq 1; then ln -fs %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/scripts/samba-winbindd %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/if-down.d/55-samba-winbindd ln -fs %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/scripts/samba-winbindd %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/if-up.d/55-samba-winbindd else for if_case in if-down.d if-up.d; do test -h %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/${if_case}/samba-winbindd || \ continue rm -f %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/${if_case}/samba-winbindd ln -fs %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/scripts/samba-winbindd %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/${if_case}/55-samba-winbindd done fi %preun winbind %{?stop_on_removal:%{stop_on_removal winbind}} %postun winbind /sbin/ldconfig %if 0%{?suse_version} if [ $1 -eq 0 ]; then %{_sbindir}/pam-config --delete --winbind if [ -x %{_sbindir}/nscd ]; then %{_sbindir}/nscd -i passwd %{_sbindir}/nscd -i group fi fi %endif %{?restart_on_update:%{restart_on_update winbind}} %{?insserv_cleanup:%{insserv_cleanup}} %post -n %{libsmbclient_name} -p /sbin/ldconfig %postun -n %{libsmbclient_name} -p /sbin/ldconfig %post -n %{libsmbsharemodes_name} -p /sbin/ldconfig %postun -n %{libsmbsharemodes_name} -p /sbin/ldconfig %clean [ x"%{buildroot}" = x"/" ] && ( echo "your buildroot is /" && exit 0) || rm -rf "%{buildroot}" if [ -e ${RPM_SOURCE_DIR}/baselibs.conf -a 0%{?suse_version} -gt 0 -a 0%{?suse_version} -lt 1110 ]; then sed -i -e 's, supplements .*,,' ${RPM_SOURCE_DIR}/baselibs.conf fi %files -f filelist-samba %defattr(-,root,root) %attr(0754,root,root) %config %{INITDIR}/nmb %attr(0754,root,root) %config %{INITDIR}/smb %if 0%{?suse_version} && 0%{?suse_version} < 1111 %attr(0600,root,root) %config(noreplace) %{CONFIGDIR}/smbpasswd %else %ghost %{CONFIGDIR}/smbpasswd %endif %config(noreplace) %{CONFIGDIR}/smbusers %config %{_sysconfdir}/pam.d/samba %{_sysconfdir}/slp.reg.d %config(noreplace) %{_sysconfdir}/xinetd.d/swat %if 0%{?suse_version} && 0%{?suse_version} > 1020 %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/netbios-server %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/samba-server %endif /%{_lib}/security/pam_smbpass.so %dir %{_libdir}/samba %dir %{_libdir}/samba/vfs %{_libdir}/samba/auth %{_libdir}/samba/config %{_libdir}/samba/rpc %{_libdir}/samba/*.msg %attr(0775,root,ntadmin) %{LOCKDIR}/drivers %{LOCKDIR}/netlogon %attr(0770,root,users) %dir %{LOCKDIR}/profiles %dir %{SWATDIR} %dir %{SWATDIR}/help %{SWATDIR}/help/welcome-no-samba-doc.html %{SWATDIR}/images %{SWATDIR}/include %{SWATDIR}/lang %{_bindir}/smbstatus %{_sbindir}/nmbd %{_sbindir}/rcnmb %{_sbindir}/rcsmb %{_sbindir}/smbd %{_sbindir}/swat %{_bindir}/smbta-util %if 0%{?suse_version} && 0%{?suse_version} < 1100 %dir %{_datadir}/omc %dir %{_datadir}/omc/svcinfo.d %endif %attr(0644,root,root) %{_datadir}/omc/svcinfo.d/nmb.xml %attr(0644,root,root) %{_datadir}/omc/svcinfo.d/smb.xml %dir %{_datadir}/samba %{_datadir}/samba/update-apparmor-samba-profile %doc %{_mandir}/man1/smbstatus.1.* %doc %{_mandir}/man5/smbpasswd.5.* %doc %{_mandir}/man8/nmbd.8.* %doc %{_mandir}/man8/smbd.8.* %doc %{_mandir}/man8/swat.8.* %doc %{_mandir}/man8/vfs_aio_fork.8.* %doc %{_mandir}/man8/vfs_aio_pthread.8.* %doc %{_mandir}/man8/vfs_acl_tdb.8.* %doc %{_mandir}/man8/vfs_acl_xattr.8.* %doc %{_mandir}/man8/vfs_audit.8.* %doc %{_mandir}/man8/vfs_cacheprime.8.* %doc %{_mandir}/man8/vfs_cap.8.* %doc %{_mandir}/man8/vfs_catia.8.* %doc %{_mandir}/man8/vfs_commit.8.* %doc %{_mandir}/man8/vfs_crossrename.8.* %doc %{_mandir}/man8/vfs_default_quota.8.* %doc %{_mandir}/man8/vfs_dirsort.8.* %doc %{_mandir}/man8/vfs_scannedonly.8.* %doc %{_mandir}/man8/vfs_streams_depot.8.* %doc %{_mandir}/man8/vfs_extd_audit.8.* %doc %{_mandir}/man8/vfs_fake_perms.8.* %doc %{_mandir}/man8/vfs_fileid.8.* %doc %{_mandir}/man8/vfs_full_audit.8.* %doc %{_mandir}/man8/vfs_gpfs.8.* %doc %{_mandir}/man8/vfs_netatalk.8.* %doc %{_mandir}/man8/vfs_notify_fam.8.* %doc %{_mandir}/man8/vfs_prealloc.8.* %doc %{_mandir}/man8/vfs_preopen.8.* %doc %{_mandir}/man8/vfs_readahead.8.* %doc %{_mandir}/man8/vfs_readonly.8.* %doc %{_mandir}/man8/vfs_recycle.8.* %doc %{_mandir}/man8/vfs_shadow_copy.8.* %doc %{_mandir}/man8/vfs_shadow_copy2.8.* %doc %{_mandir}/man8/vfs_smb_traffic_analyzer.8.* %doc %{_mandir}/man8/vfs_streams_xattr.8.* %doc %{_mandir}/man8/vfs_time_audit.8.* %doc %{_mandir}/man8/vfs_xattr_tdb.8.* %doc %{_mandir}/man8/smbta-util.8.* %if 0%{?suse_version} && 0%{?suse_version} < 1021 %{_includedir}/samba %endif %if 0%{?suse_version} == 0 || 0%{?suse_version} > 1020 %files devel %defattr(-,root,root) %{_includedir}/samba %endif %files client -f net.lang %defattr(-,root,root) %attr(0754,root,root) %config %{INITDIR}/%{cifs_init_script} %dir %{CONFIGDIR} %config(noreplace) %{CONFIGDIR}/lmhosts %config(noreplace) %{CONFIGDIR}/smb.conf %attr(0600,root,root) %config(noreplace) %{CONFIGDIR}/%{cifs_init_script}tab %dir %{_sysconfdir}/openldap %dir %{_sysconfdir}/openldap/schema %attr(0444,root,root) %config %{_sysconfdir}/openldap/schema/samba3.schema %ghost %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/if-down.d/21-dhcpcd-hook-samba %ghost %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/if-up.d/21-dhcpcd-hook-samba %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/scripts/dhcpcd-hook-samba %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/scripts/dhcpcd-hook-samba-functions %ghost %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/if-down.d/21-%{cifs_init_script} %ghost %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/if-up.d/21-%{cifs_init_script} %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/scripts/%{cifs_init_script} %if 0%{?suse_version} && 0%{?suse_version} > 1100 %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/samba-client %endif %{_bindir}/eventlogadm %{_bindir}/findsmb %{_bindir}/net %{_bindir}/nmblookup %{_bindir}/nmbstatus %{_bindir}/pdbedit %{_bindir}/profiles %{_bindir}/rpcclient %{_bindir}/sharesec %{_bindir}/smbcacls %{_bindir}/smbclient %{_bindir}/smbcontrol %{_bindir}/smbcquotas %{_bindir}/smbfilter %{_bindir}/smbget %{_bindir}/smbpasswd %{_bindir}/smbprngenpdf %{_bindir}/smbspool %{_bindir}/smbtar %{_bindir}/smbtree %{_bindir}/testparm %if 0%{?suse_version} > 0 && 0%{?suse_version} < 1211 %{_bindir}/ldbadd %{_bindir}/ldbdel %{_bindir}/ldbedit %{_bindir}/ldbmodify %{_bindir}/ldbrename %{_bindir}/ldbsearch %{_bindir}/tdbbackup %{_bindir}/tdbdump %{_bindir}/tdbrestore %{_bindir}/tdbtool %endif %{_sbindir}/rc%{cifs_init_script} /%{_lib}/libnss_wins.so.2 %dir %{cups_lib_dir} %dir %{cups_lib_dir}/backend %ghost %{cups_lib_dir}/backend/smb %dir %{_libdir}/samba %{_libdir}/samba/charset %{_libdir}/samba/lowcase.dat %{_libdir}/samba/upcase.dat %{_libdir}/samba/valid.dat %doc %{_mandir}/man1/findsmb.1.* %doc %{_mandir}/man1/nmblookup.1.* %doc %{_mandir}/man1/nmbstatus.1.* %doc %{_mandir}/man1/profiles.1.* %doc %{_mandir}/man1/rpcclient.1.* %doc %{_mandir}/man1/sharesec.1.* %doc %{_mandir}/man1/smbcacls.1.* %doc %{_mandir}/man1/smbcontrol.1.* %doc %{_mandir}/man1/smbclient.1.* %doc %{_mandir}/man1/smbcquotas.1.* %doc %{_mandir}/man1/smbget.1.* %doc %{_mandir}/man1/smbtar.1.* %doc %{_mandir}/man1/smbtree.1.* %doc %{_mandir}/man1/testparm.1.* %doc %{_mandir}/man5/lmhosts.5.* %doc %{_mandir}/man5/smb.conf.5.* %doc %{_mandir}/man5/smbgetrc.5.* %doc %{_mandir}/man7/samba.7.* %doc %{_mandir}/man8/eventlogadm.8.* %doc %{_mandir}/man8/net.8.* %doc %{_mandir}/man8/pdbedit.8.* %doc %{_mandir}/man8/smbpasswd.8.* %doc %{_mandir}/man8/smbspool.8.* %doc %{_mandir}/man8/tdbbackup.8.* %doc %{_mandir}/man8/tdbdump.8.* %doc %{_mandir}/man8/tdbtool.8.* %if 0%{?suse_version} && 0%{?suse_version} < 1100 %dir %{_datadir}/omc %dir %{_datadir}/omc/svcinfo.d %endif %attr(0644,root,root) %{_datadir}/omc/svcinfo.d/%{cifs_init_script}.xml %dir %{_datadir}/samba %dir %{_datadir}/samba/LDAP %config %{_datadir}/samba/LDAP/samba-nds.schema %{_datadir}/samba/templates %dir %{DOCDIR} %doc %{DOCDIR}/README.%{VENDOR} %{_localstatedir}/adm/fillup-templates/samba-client-dhcp.conf %{_localstatedir}/adm/fillup-templates/sysconfig.dhcp-samba-client %ghost %{_localstatedir}/run/%{cifs_init_script} %dir %{LOCKDIR} %attr(0750,root,root) %dir %{LOGDIR} %ghost %dir %{PIDDIR} %files winbind -f filelist-samba-winbind %defattr(-,root,root) %config(noreplace) %{_sysconfdir}/security/pam_winbind.conf %attr(0754,root,root) %config %{INITDIR}/winbind %ghost %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/if-down.d/55-samba-winbindd %ghost %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/if-up.d/55-samba-winbindd %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/scripts/samba-winbindd %doc %{_mandir}/man1/ntlm_auth.1.* %doc %{_mandir}/man1/wbinfo.1.* %doc %{_mandir}/man5/pam_winbind.conf.5.* %doc %{_mandir}/man8/winbindd.8.* %{_bindir}/ntlm_auth %{_bindir}/wbinfo %{_sbindir}/rcwinbind %{_sbindir}/winbindd /%{_lib}/libnss_winbind.so.2 /%{_lib}/security/pam_winbind.so %{_libdir}/samba/idmap %{_libdir}/samba/nss_info %doc %{_mandir}/man7/winbind_krb5_locator.7.* %doc %{_mandir}/man8/idmap_ad.8.* %doc %{_mandir}/man8/idmap_adex.8.* %doc %{_mandir}/man8/idmap_autorid.8.* %doc %{_mandir}/man8/idmap_hash.8.* %doc %{_mandir}/man8/idmap_ldap.8.* %doc %{_mandir}/man8/idmap_nss.8.* %doc %{_mandir}/man8/idmap_rid.8.* %doc %{_mandir}/man8/idmap_tdb.8.* %doc %{_mandir}/man8/idmap_tdb2.8.* %doc %{_mandir}/man8/pam_winbind.8.* %if 0%{?suse_version} && 0%{?suse_version} < 1100 %dir %{_datadir}/omc %dir %{_datadir}/omc/svcinfo.d %endif %attr(0644,root,root) %{_datadir}/omc/svcinfo.d/winbind.xml %attr(0750,root,winbind) %dir %{LOCKDIR}/winbindd_privileged %if %{make_utils} %files utils %defattr(-,root,root) %{_bindir}/debug2html %{_bindir}/log2pcap %{_bindir}/locktest %{_bindir}/locktest2 %{_bindir}/masktest %{_bindir}/msgtest %{_bindir}/nsstest %{_bindir}/smbtorture %{_bindir}/talloctort %{_bindir}/vfstest %doc %{_mandir}/man1/log2pcap.1.* %doc %{_mandir}/man1/vfstest.1.* %endif %if 0%{?suse_version} && 0%{?suse_version} < 1001 || 0%{?suse_version} > 1110 %files doc -f filelist-samba-doc %defattr(-,root,root) %dir %{DOCDIR} %dir %{_datadir}/samba %dir %{SWATDIR} %dir %{SWATDIR}/help %doc %{_datadir}/susehelp %endif %files krb-printing %defattr(-,root,root) %if 0%{?suse_version} == 0 || 0%{?suse_version} > 1000 %verify(not mode) %attr(4750,root,lp) %{_bindir}/get_printing_ticket %else %attr(0750,root,lp) %{_bindir}/get_printing_ticket %endif %dir %{cups_lib_dir} %dir %{cups_lib_dir}/backend %ghost %{cups_lib_dir}/backend/smb %files -n %{libnetapi_name} %defattr(-,root,root) %{_libdir}/libnetapi.so.* %files -n libnetapi-devel %defattr(-,root,root) %{_includedir}/netapi.h %if %{link_static_libs} %attr(0644,root,root) %{_libdir}/libnetapi.a %endif %{_libdir}/libnetapi.so %{_libdir}/pkgconfig/netapi.pc %files -n %{libsmbclient_name} %defattr(-,root,root) %{_libdir}/libsmbclient.so.* %doc %{_mandir}/man7/libsmbclient.7.* %files -n libsmbclient-devel %defattr(-,root,root) %{_includedir}/libsmbclient.h %if %{link_static_libs} %attr(0644,root,root) %{_libdir}/libsmbclient.a %endif %{_libdir}/libsmbclient.so %{_libdir}/pkgconfig/smbclient.pc %files -n %{libsmbsharemodes_name} %defattr(-,root,root) %{_libdir}/libsmbsharemodes.so.* %files -n libsmbsharemodes-devel %defattr(-,root,root) %{_includedir}/smb_share_modes.h %if %{link_static_libs} %attr(0644,root,root) %{_libdir}/libsmbsharemodes.a %endif %{_libdir}/libsmbsharemodes.so %{_libdir}/pkgconfig/smbsharemodes.pc %if 0%{?suse_version} && 0%{?suse_version} < 1211 %files -n %{libtalloc_name} %defattr(-,root,root) %{_libdir}/libpytalloc-util.so.* %{_libdir}/libtalloc.so.* %files -n libtalloc-devel %defattr(-,root,root) %{_includedir}/pytalloc.h %{_includedir}/talloc.h %if %{link_static_libs} %attr(0644,root,root) %{_libdir}/libtalloc.a %endif %{_libdir}/libpytalloc-util.so %{_libdir}/libtalloc.so %{_libdir}/pkgconfig/pytalloc-util.pc %{_libdir}/pkgconfig/talloc.pc %files -n %{libtdb_name} %defattr(-,root,root) %{_libdir}/libtdb.so.* %files -n libtdb-devel %defattr(-,root,root) %{_includedir}/tdb.h %if %{link_static_libs} %attr(0644,root,root) %{_libdir}/libtdb.a %endif %{_libdir}/libtdb.so %{_libdir}/pkgconfig/tdb.pc %endif %files -n %{libwbclient_name} %defattr(-,root,root) %{_libdir}/libwbclient.so.* %files -n libwbclient-devel %defattr(-,root,root) %{_includedir}/wbclient.h %if %{link_static_libs} %endif %{_libdir}/libwbclient.so %{_libdir}/pkgconfig/wbclient.pc %if 0%{?suse_version} && 0%{?suse_version} < 1211 %files -n %{libtevent_name} %defattr(-,root,root) %{_libdir}/libtevent.so.* %files -n libtevent-devel %defattr(-,root,root) %{_includedir}/tevent.h %{_libdir}/libtevent.so %{_libdir}/pkgconfig/tevent.pc %files -n %{libldb_name} %defattr(-,root,root) %{_libdir}/libldb.so.* %dir %{_libdir}/ldb %{_libdir}/ldb/*.so %{_libdir}/libpyldb-util.so.* %files -n libldb-devel %defattr(-,root,root) %{_includedir}/ldb*.h %{_includedir}/pyldb.h %{_libdir}/libldb.so %{_libdir}/libpyldb-util.so %{_libdir}/pkgconfig/ldb.pc %{_libdir}/pkgconfig/pyldb-util.pc %endif %if %{make_ldapsmb} %files -n ldapsmb %defattr(-,root,root) %{_sbindir}/ldapsmb %{_mandir}/man5/ldapsmb.5.* %endif %changelog