# # spec file for package samba # # Copyright (c) 2011 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 BuildRequires: cups-devel e2fsprogs-devel fam-devel libacl-devel pam-devel popt-devel readline-devel %if 0%{?suse_version} BuildRequires: cracklib-devel openldap2-devel %endif %if 0%{?suse_version} > 1030 BuildRequires: gdbm-devel pwdutils %endif %if 0%{?suse_version} > 930 BuildRequires: krb5-devel libiniparser-devel libnscd-devel python-devel %endif %if 0%{?suse_version} > 930 && 0%{?suse_version} < 1031 BuildRequires: dmapi-devel libnscd-devel libxml2-devel mysql-devel postgresql-devel xfsprogs-devel %endif %if 0%{?suse_version} > 830 && 0%{?suse_version} < 931 BuildRequires: heimdal-devel %endif %if 0%{?fedora_version} BuildRequires: cracklib-devel %endif %if 0%{?centos_version} || 0%{?fedora_version} || 0%{?rhel_version} || 0%{?mandriva_version} BuildRequires: krb5-devel openldap-devel 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 %endif %if 0%{?suse_version} > 1110 BuildRequires: fdupes %endif %if 0%{?suse_version} > 1020 BuildRequires: pkg-config %else BuildRequires: pkgconfig %endif %define samba_ver 3.6.0 %define samba_ver_suffix rc3 %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 || 0%{?suse_version} > 1130 %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 %define libldb_ver %{version} %define libtalloc_ver %{version} %define libtdb_ver %{version} %define libtevent_ver %{version} %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 vscan_ver 0.3.6b %define ldapsmb_ver 1.34b License: GPLv3+ Group: Productivity/Networking/Samba Url: http://www.samba.org/ AutoReqProv: on Version: 3.6.0 Release: 1 Provides: samba-gplv3 = %{version}-%{release} Obsoletes: samba-gplv3 < %{version} %ifarch ppc64 Obsoletes: samba-64bit %endif Requires: samba-client >= %{version} %if 0%{?suse_version} > 1030 Recommends: cron logrotate %endif PreReq: coreutils grep /usr/sbin/groupadd /usr/bin/getent 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 Source10: http://prdownloads.sourceforge.net/openantivirus/samba-vscan-%{vscan_ver}.tar.bz2 Source11: http://www.hhrm.de/~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_vscan 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 # pre-11.2 doesn't know the python_* macros %define python_sitelib %py_sitedir %define python_sitearch %py_sitedir %else %define link_static_libs 0 %endif # Define some global directories ################################ %define DOCDIR %{_defaultdocdir}/samba %define DOCBOOKDIR %{_defaultdocdir}/%{name}/docbook %define SWATDIR %{_datadir}/samba/swat %define LOGDIR %{_localstatedir}/log/samba %define LOCKDIR %{_localstatedir}/lib/samba %define CONFIGDIR %{_sysconfdir}/samba %define INITDIR %{_sysconfdir}/init.d %define PIDDIR %{_localstatedir}/run/samba %if "%{_vendor}" == "suse" %define NET_CFGDIR network %else %define NET_CFGDIR network-scripts %endif %define idmap_modules idmap_ad,idmap_adex,idmap_hash,idmap_ldap,idmap_rid,idmap_tdb2 %define vfs_modules vfs_cacheprime,vfs_readahead %if 0%{?ul_version} >= 1 %define VENDOR UL %else %if "%{_vendor}" == "suse" || "%{_vendor}" == "redhat" %define VENDOR SUSE %else %define VENDOR %_vendor %endif %endif %if 0%{?suse_version} == 0 || 0%{?suse_version} > 1120 %define cups_lib_dir %{_prefix}/lib/cups %else %define cups_lib_dir %{_libdir}/cups %endif BuildRoot: %{_tmppath}/%{name}-%{version}-build %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. Authors: -------- The Samba Team Source Timestamp: 2574 Branch : trunk %package client License: GPLv3+ Summary: Samba Client Utilities Group: Productivity/Networking/Samba AutoReqProv: on Provides: smbfs samba-gplv3-client = %{version}-%{release} Obsoletes: samba-gplv3-client < %{version} Provides: samba-client-gplv2 = %{version}-%{release} Obsoletes: samba-client-gplv2 < %{version} %ifarch ppc64 Obsoletes: samba-client-64bit %endif PreReq: %{?insserv_prereq} %{?fillup_prereq} coreutils /sbin/chkconfig /sbin/ldconfig 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. Authors: -------- The Samba Team Source Timestamp: 2574 Branch : trunk %if 0%{?suse_version} == 0 || 0%{?suse_version} > 1020 %package devel License: GPLv3+ Summary: Libraries and Header Files to Develop Programs with Samba Support Group: Development/Libraries/C and C++ AutoReqProv: on Provides: samba-gplv3-devel = %{version}-%{release} 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. Authors: -------- The Samba Team Source Timestamp: 2574 Branch : trunk %endif %if 0%{?suse_version} && 0%{?suse_version} < 1001 || 0%{?suse_version} > 1110 %package doc License: GPLv3+ Summary: Samba Documentation Group: Documentation/Other AutoReqProv: on Provides: samba-gplv3-doc = %{version}-%{release} Obsoletes: samba-gplv3-doc < %{version} Provides: samba-doc-gplv2 = %{version}-%{release} Obsoletes: samba-doc-gplv2 < %{version} PreReq: coreutils findutils %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. Authors: -------- The Samba Team Source Timestamp: 2574 Branch : trunk %endif %package krb-printing License: GPLv3+ Summary: Wrapper binary for kerberized printing Group: Productivity/Networking/Samba AutoReqProv: on Provides: samba-gplv3-krb-printing = %{version}-%{release} Obsoletes: samba-gplv3-krb-printing < %{version} PreReq: coreutils %if 0%{?suse_version} > 1000 PreReq: /sbin/conf.d/SuSEconfig.permissions permissions %endif Requires: samba-client >= %{version} %description krb-printing A wrapper binary to run smbspool with the original calling UID. Authors: -------- Jeremy Allison Source Timestamp: 2574 Branch : trunk %if %{make_utils} %package utils Summary: debug tools Group: Productivity/Networking/Samba AutoReqProv: on Provides: samba-gplv3-utils = %{version}-%{release} Obsoletes: samba-gplv3-utils < %{version} %description utils Some of the debug-tools for developpers. Authors: -------- The Samba Team %endif %package winbind License: GPLv3+ Summary: Winbind Daemon and Tool Group: Productivity/Networking/Samba AutoReqProv: on Provides: samba-gplv3-winbind = %{version}-%{release} 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} > 1030 Recommends: cron logrotate samba-krb-printing %endif PreReq: coreutils /sbin/ldconfig %{?insserv_prereq} /usr/sbin/groupadd %description winbind This is the winbind-daemon and the wbinfo-tool. Authors: -------- The Samba Team Source Timestamp: 2574 Branch : trunk %if 0%{?suse_version} && 0%{?suse_version} < 1031 %package -n libsmbclient License: GPLv3+ %else %package -n libsmbclient0 License: GPLv3+ Provides: libsmbclient = %{version}-%{release} Obsoletes: libsmbclient %endif %ifarch ppc64 Obsoletes: libsmbclient-64bit %endif Summary: Samba Client Library Group: System/Libraries AutoReqProv: on PreReq: /sbin/ldconfig %if 0%{?suse_version} && 0%{?suse_version} < 1031 %description -n libsmbclient Source Timestamp: 2574 Branch : trunk %else %description -n libsmbclient0 %endif 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. Authors: -------- The Samba Team %package -n libsmbclient-devel License: GPLv3+ Summary: Libraries and Header Files to Develop Programs with smbclient Support Group: Development/Libraries/C and C++ AutoReqProv: on %if 0%{?suse_version} > 1020 BuildRequires: pkg-config %else BuildRequires: pkgconfig %endif %if 0%{?suse_version} && 0%{?suse_version} < 921 Requires: libsmbclient = %{version} heimdal-devel %else %if 0%{?suse_version} && 0%{?suse_version} < 1031 Requires: libsmbclient = %{version} krb5-devel %else Requires: libsmbclient0 = %{version} krb5-devel %endif %endif %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. Authors: -------- The Samba Team Source Timestamp: 2574 Branch : trunk %package -n libnetapi0 License: GPLv3+ Summary: Samba netapi Library Group: System/Libraries AutoReqProv: on PreReq: /sbin/ldconfig %description -n libnetapi0 This package includes the netapi library. Authors: -------- The Samba Team Source Timestamp: 2574 Branch : trunk %package -n libnetapi-devel License: GPLv3+ Summary: Libraries and Header Files to Develop Programs with netapi Support Group: Development/Libraries/C and C++ AutoReqProv: on %if 0%{?suse_version} > 1020 BuildRequires: pkg-config %else BuildRequires: pkgconfig %endif Requires: libnetapi0 = %{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. Authors: -------- The Samba Team Source Timestamp: 2574 Branch : trunk %if 0%{?suse_version} && 0%{?suse_version} < 1031 %package -n libsmbsharemodes License: GPLv3+ %else %package -n libsmbsharemodes0 License: GPLv3+ %endif Summary: Samba smbsharemodes Library Group: System/Libraries AutoReqProv: on PreReq: /sbin/ldconfig %if 0%{?suse_version} && 0%{?suse_version} < 1031 %description -n libsmbsharemodes Source Timestamp: 2574 Branch : trunk %else %description -n libsmbsharemodes0 %endif This package includes the smbsharemodes library. Authors: -------- The Samba Team %package -n libsmbsharemodes-devel License: GPLv3+ Summary: Libraries and Header Files to Develop Programs with smbsharemodes Support Group: Development/Libraries/C and C++ AutoReqProv: on %if 0%{?suse_version} > 1020 BuildRequires: pkg-config %else BuildRequires: pkgconfig %endif %if 0%{?suse_version} && 0%{?suse_version} < 1031 Requires: libsmbsharemodes = %{version} %else Requires: libsmbsharemodes0 = %{version} %endif %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. Authors: -------- The Samba Team Source Timestamp: 2574 Branch : trunk %package -n libwbclient0 License: GPLv3+ Summary: Samba libwbclient Library Group: System/Libraries AutoReqProv: on PreReq: /sbin/ldconfig %description -n libwbclient0 This package includes the wbclient library. Authors: -------- The Samba Team Source Timestamp: 2574 Branch : trunk %package -n libwbclient-devel License: GPLv3+ Summary: Libraries and Header Files to Develop Programs with wbclient Support Group: Development/Libraries/C and C++ AutoReqProv: on %if 0%{?suse_version} > 1020 BuildRequires: pkg-config %else BuildRequires: pkgconfig %endif Requires: libwbclient0 = %{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. Authors: -------- The Samba Team Source Timestamp: 2574 Branch : trunk %package -n libtalloc2 License: LGPLv3+ Summary: Samba talloc Library Group: System/Libraries AutoReqProv: on Version: %{libtalloc_ver} Release: 1 PreReq: /sbin/ldconfig %description -n libtalloc2 This package includes the talloc library. Authors: -------- The Samba Team Source Timestamp: 2574 Branch : trunk %package -n libtalloc-devel License: LGPLv3+ Summary: Libraries and Header Files to Develop Programs with talloc Support Group: Development/Libraries/C and C++ AutoReqProv: on Version: %{libtalloc_ver} Release: 1 %if 0%{?suse_version} > 1020 BuildRequires: pkg-config %else BuildRequires: pkgconfig %endif Requires: libtalloc2 = %{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. Authors: -------- The Samba Team Source Timestamp: 2574 Branch : trunk %package -n libtdb1 License: LGPLv3+ Summary: Samba tdb Library Group: System/Libraries AutoReqProv: on Version: %{libtdb_ver} Release: 1 PreReq: /sbin/ldconfig %description -n libtdb1 This package includes the tdb library. Authors: -------- The Samba Team Source Timestamp: 2574 Branch : trunk %package -n libtdb-devel License: LGPLv3+ Summary: Libraries and Header Files to Develop Programs with tdb Support Group: Development/Libraries/C and C++ AutoReqProv: on Version: %{libtdb_ver} Release: 1 #BuildRequires: pkg-config Requires: libtdb1 = %{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. Authors: -------- The Samba Team Source Timestamp: 2574 Branch : trunk %package -n libtevent0 License: LGPLv3+ Summary: Samba tevent Library Group: System/Libraries AutoReqProv: on Version: %{libtevent_ver} Release: 1 PreReq: /sbin/ldconfig %description -n libtevent0 This package includes the tevent library. Authors: -------- The Samba Team Source Timestamp: 2574 Branch : trunk %package -n libtevent-devel License: LGPLv3+ Summary: Libraries and Header Files to Develop Programs with tevent Support Group: Development/Libraries/C and C++ AutoReqProv: on Version: %{libtevent_ver} Release: 1 %if 0%{?suse_version} > 1020 BuildRequires: pkg-config %else BuildRequires: pkgconfig %endif Requires: libtalloc-devel libtevent0 = %{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. Authors: -------- The Samba Team Source Timestamp: 2574 Branch : trunk %package -n libldb1 License: LGPLv3+ Summary: Samba ldb Library Group: System/Libraries AutoReqProv: on Version: %{libldb_ver} Release: 1 PreReq: /sbin/ldconfig BuildRequires: popt-devel %description -n libldb1 This package includes the ldb library. Authors: -------- The Samba Team Source Timestamp: 2574 Branch : trunk %package -n libldb-devel License: LGPLv3+ Summary: Libraries and Header Files to Develop Programs with ldb Support Group: Development/Libraries/C and C++ AutoReqProv: on Version: %{libldb_ver} Release: 1 %if 0%{?suse_version} > 1020 BuildRequires: pkg-config %else BuildRequires: pkgconfig %endif Requires: libtalloc-devel libldb1 = %{libldb_ver} %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. Authors: -------- The Samba Team Source Timestamp: 2574 Branch : trunk %if %{make_ldapsmb} %package -n ldapsmb License: GPLv2+ Summary: Tool to administer Samba's LDAP backend Group: Productivity/Networking/Samba AutoReqProv: on Version: 1.34b Release: 303 Requires: perl-ldap %description -n ldapsmb This tool aims to simplify the administration of a Samba Domain Controller that uses the ldapsam passdb backend. Authors: -------- Guenther Deschner Source Timestamp: 2574 Branch : trunk %endif %if %{make_vscan} %package vscan License: GPLv2+ Summary: On-Access Virus Scanning with Samba Group: Productivity/Networking/Samba AutoReqProv: on Version: 0.3.6b Release: 268 Requires: samba = %{samba_ver} Url: http://www.openantivirus.org/ %description vscan samba-vscan provides on-access scanning of Samba shares with ClamAV, FRISK F-Prot, F-Secure AV, Kaspersky Anti-Virus, mks32, OAV ScannerDaemon, Sophos Sweep, Symantec AntiVirus Engine (via ICAP) and Trend Micro. Authors: -------- Rainer Link %endif %prep %setup -n samba-%{samba_ver_full} -q # check if our library versions from the spec are still current %if 0%{?suse_version} == 0 || 0%{?suse_version} > 1130 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="${RPM_OPT_FLAGS} -D_GNU_SOURCE ${OPTIMIZATION} -D_LARGEFILE64_SOURCE -DIDMAP_RID_SUPPORT_TRUSTED_DOMAINS" %if %{use_ccache} export CC="ccache gcc" %endif pushd source3 %{?suse_update_config:%{suse_update_config -f}} #ln -s m4/aclocal.m4 aclocal.m4 #autoreconf --force --install -I. -Im4 -I../lib/replace ./autogen.sh CONFIGURE_OPTIONS="\ --prefix=%{_prefix} \ --localstatedir=%{LOCKDIR} \ --sysconfdir=%{CONFIGDIR} \ --with-configdir=%{CONFIGDIR} \ --libdir=%{_libdir} \ --with-lockdir=%{LOCKDIR} \ --with-logfilebase=%{LOGDIR} \ --with-mandir=%{_mandir} \ --with-modulesdir=%{_libdir}/samba \ --with-rootsbindir=/sbin \ --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} %{build_make_smp_mflags} \ all bin/smbfilter %if %{make_vscan} pushd ../examples/VFS/samba-vscan-%{vscan_ver}/ %{?suse_update_config:%{suse_update_config -f}} autoreconf --force --install ./configure ${CONFIGURE_OPTIONS} ${CONFIGURE_OPTIONS_DEVEL} --with-samba-source=../../../source3/ %{__make} %{build_make_smp_mflags} popd %endif %if %{make_ldapsmb} pushd ../ldapsmb-%{ldapsmb_ver} ./autogen.sh rm ldapsmb %{__make} %{build_make_smp_mflags} all doc popd %endif popd 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 %check for lib_dir in tdb talloc tevent; do pushd lib/${lib_dir} %{__make} test popd done 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 \ ${RPM_BUILD_ROOT}/%{_sysconfdir}/{pam.d,xinetd.d,logrotate.d} \ ${RPM_BUILD_ROOT}/%{_sysconfdir}/openldap/schema \ ${RPM_BUILD_ROOT}/%{_sysconfdir}/sysconfig/%{NET_CFGDIR}/{if-{down,up}.d,scripts} \ %if 0%{?suse_version} && 0%{?suse_version} > 1020 ${RPM_BUILD_ROOT}/%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services \ %endif ${RPM_BUILD_ROOT}/%{_sysconfdir}/permissions.d \ ${RPM_BUILD_ROOT}/%{_sysconfdir}/security \ ${RPM_BUILD_ROOT}/%{_sysconfdir}/slp.reg.d \ ${RPM_BUILD_ROOT}/%{CONFIGDIR} \ ${RPM_BUILD_ROOT}/%{INITDIR} \ ${RPM_BUILD_ROOT}/%{_lib}/security \ ${RPM_BUILD_ROOT}/sbin \ ${RPM_BUILD_ROOT}/%{_includedir} \ ${RPM_BUILD_ROOT}/%{_libdir}/pkgconfig \ ${RPM_BUILD_ROOT}/%{_libdir}/python/lib-dynload \ ${RPM_BUILD_ROOT}/%{_libdir}/samba/{config,vfs,rpc,auth,charset,idmap} \ ${RPM_BUILD_ROOT}/%{_datadir}/omc/svcinfo.d \ ${RPM_BUILD_ROOT}/%{_datadir}/samba/{LDAP,templates} \ ${RPM_BUILD_ROOT}/%{_localstatedir}/adm \ ${RPM_BUILD_ROOT}/%{LOCKDIR}/{netlogon,drivers/{WIN40,W32X86,W32MIPS,W32ALPHA,W32PPC,IA64,x64},printing,profiles,winbindd_privileged} \ ${RPM_BUILD_ROOT}/%{LOGDIR} \ ${RPM_BUILD_ROOT}/%{PIDDIR} \ ${RPM_BUILD_ROOT}/%{_var}/adm/fillup-templates \ ${RPM_BUILD_ROOT}/%{_var}/lock/subsys \ ${RPM_BUILD_ROOT}/%{DOCDIR}-vscan \ ${RPM_BUILD_ROOT}/%{DOCDIR} \ ${RPM_BUILD_ROOT}/%{DOCBOOKDIR} \ ${RPM_BUILD_ROOT}/%{SWATDIR}/help \ ${RPM_BUILD_ROOT}/%{_datadir}/susehelp/meta/Administration/System for lib_dir in tdb talloc tevent; do pushd lib/${lib_dir} %{__make} install \ DESTDIR=${RPM_BUILD_ROOT} popd done # libldb %{__make} -C source4/lib/ldb/ install \ DESTDIR=${RPM_BUILD_ROOT} \ CONFIGDIR=%{CONFIGDIR} # we prefer the s3 binaries of the tdbtools rm ${RPM_BUILD_ROOT}/%{_bindir}/tdb{backup,dump,restore,tool} %{__make} -C source3/ install \ DESTDIR=${RPM_BUILD_ROOT} \ CONFIGDIR=%{CONFIGDIR} # libtalloc #rm ${RPM_BUILD_ROOT}/%{_libdir}/*talloc* %{__make} -C lib/talloc/ install \ DESTDIR=${RPM_BUILD_ROOT} \ CONFIGDIR=%{CONFIGDIR} # libtevent %{__make} -C lib/talloc/ install \ DESTDIR=${RPM_BUILD_ROOT} \ CONFIGDIR=%{CONFIGDIR} rm -r ${RPM_BUILD_ROOT}/%{python_sitearch} \ ${RPM_BUILD_ROOT}/%{_libdir}/ldb/lib{t*,p*} \ ${RPM_BUILD_ROOT}/%{_libdir}/tevent for file in source3/pkgconfig/*.pc; do %__install -m 0644 "${file}" ${RPM_BUILD_ROOT}/%{_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 echo "# Date: $( date -I)" >>config/smb.conf grep -v "\(^#\|^;\|^$\)" config/smb.conf.vendor >>config/smb.conf %__install -p -m 0644 config/smb.conf.vendor ../examples/smb.conf.%{VENDOR} for file in smb.conf lmhosts smbusers smbpasswd cifstab smbusers; do %__install -m 0644 "config/${file}" ${RPM_BUILD_ROOT}/%{CONFIGDIR}/${file} done %if 0%{?suse_version} < 1121 mv ${RPM_BUILD_ROOT}/%{CONFIGDIR}/cifstab ${RPM_BUILD_ROOT}/%{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 >"${RPM_BUILD_ROOT}/%{_datadir}/samba/templates/default-${section}" || : done for file in config/templates/*; do cp -a "${file}" "${RPM_BUILD_ROOT}/%{_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}" \ "${RPM_BUILD_ROOT}/%{INITDIR}/${script}" ln -s "%{INITDIR}/${script}" "${RPM_BUILD_ROOT}/%{_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 \ >"${RPM_BUILD_ROOT}/%{_datadir}/omc/svcinfo.d/${script}.xml" done %__install -m 0755 tools/nmbstatus ${RPM_BUILD_ROOT}/%{_bindir}/nmbstatus pod2man tools/nmbstatus >${RPM_BUILD_ROOT}/%{_mandir}/man1/nmbstatus.1 # PDF generator %__install -p -m 0755 tools/smbprngenpdf ${RPM_BUILD_ROOT}/%{_bindir}/smbprngenpdf touch ${RPM_BUILD_ROOT}/var/lock/subsys/%{cifs_init_script} %__install -m 0644 config/swat.xinetd ${RPM_BUILD_ROOT}/%{_sysconfdir}/xinetd.d/swat %__install -m 0644 config/samba.reg ${RPM_BUILD_ROOT}/%{_sysconfdir}/slp.reg.d/samba.reg %if 0%{?suse_version} && 0%{?suse_version} < 921 %__install -m 0644 config/samba.pamd ${RPM_BUILD_ROOT}/%{_sysconfdir}/pam.d/samba %else %__install -m 0644 config/samba.pamd-common ${RPM_BUILD_ROOT}/%{_sysconfdir}/pam.d/samba %endif %__install -m 0644 config/dhcp.conf ${RPM_BUILD_ROOT}/%{_var}/adm/fillup-templates/samba-client-dhcp.conf %__install -m 0644 config/sysconfig.dhcp-samba-client ${RPM_BUILD_ROOT}/%{_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}" "${RPM_BUILD_ROOT}/%{_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 ${RPM_BUILD_ROOT}/%{_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} ${RPM_BUILD_ROOT}/%{_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 ${RPM_BUILD_ROOT}/%{DOCDIR}/README.%{VENDOR} # SuSEhelp files %__install -m 0644 docu/Samba.desktop ${RPM_BUILD_ROOT}/%{_datadir}/susehelp/meta/Administration/System/Samba.desktop %__install -m 0644 docu/manpages.html ../docs/htmldocs/manpages.html popd # libnss_wins.so %__install -m 0755 nsswitch/libnss_wins.so ${RPM_BUILD_ROOT}/%{_lib}/libnss_wins.so.2 # winbind stuff %__install -m 0644 examples/pam_winbind/pam_winbind.conf ${RPM_BUILD_ROOT}/%{_sysconfdir}/security/pam_winbind.conf %__install -m 0755 nsswitch/libnss_winbind.so ${RPM_BUILD_ROOT}/%{_lib}/libnss_winbind.so.2 # smbfilter %__install -m 0755 source3/bin/smbfilter ${RPM_BUILD_ROOT}/%{_bindir}/smbfilter # smbget %__install -m 0755 source3/bin/smbget ${RPM_BUILD_ROOT}/%{_bindir}/smbget # install nsswitch-headers (for squid, etc. #FIXME) %__install -d -m 0755 \ ${RPM_BUILD_ROOT}/%{_includedir}/samba/nsswitch \ ${RPM_BUILD_ROOT}/%{_includedir}/samba/winbindd for file in winbind_client.h winbind_nss_config.h winbind_nss_linux.h; do %__install -m 0644 "nsswitch/${file}" ${RPM_BUILD_ROOT}/%{_includedir}/samba/nsswitch/${file} done for file in winbindd.h winbindd_proto.h; do %__install -m 0644 "source3/winbindd/${file}" ${RPM_BUILD_ROOT}/%{_includedir}/samba/winbindd/${file} done # install smbtorture and other test-programs %if %{make_utils} %__install -m 0755 source3/bin/debug2html ${RPM_BUILD_ROOT}/%{_bindir}/debug2html %__install -m 0755 source3/bin/log2pcap ${RPM_BUILD_ROOT}/%{_bindir}/log2pcap %__install -m 0755 source3/bin/smbtorture ${RPM_BUILD_ROOT}/%{_bindir}/smbtorture %__install -m 0755 source3/bin/talloctort ${RPM_BUILD_ROOT}/%{_bindir}/talloctort %__install -m 0755 source3/bin/msgtest ${RPM_BUILD_ROOT}/%{_bindir}/msgtest %__install -m 0755 source3/bin/maketest ${RPM_BUILD_ROOT}/%{_bindir}/maketest %__install -m 0755 source3/bin/locktest ${RPM_BUILD_ROOT}/%{_bindir}/locktest %__install -m 0755 source3/bin/nsstest ${RPM_BUILD_ROOT}/%{_bindir}/nsstest %__install -m 0755 source3/bin/vfstest ${RPM_BUILD_ROOT}/%{_bindir}/vfstest %endif %if %{make_vscan} # install VSCAN-vfs-modules %{__make} -C examples/VFS/samba-vscan-%{vscan_ver} install \ DESTDIR="${RPM_BUILD_ROOT}" \ MODULESDIR=%{_libdir}/samba %endif %if %{make_ldapsmb} install -m 0700 ldapsmb-%{ldapsmb_ver}/ldapsmb ${RPM_BUILD_ROOT}/%{_sbindir}/ cp -a ldapsmb-%{ldapsmb_ver}/ldapsmb.5 ${RPM_BUILD_ROOT}/%{_mandir}/man5 %endif # cups SMB support mkdir -p ${RPM_BUILD_ROOT}/%{cups_lib_dir}/backend/ touch ${RPM_BUILD_ROOT}/%{cups_lib_dir}/backend/smb # add docs %if %{make_vscan} mv examples/VFS/samba-vscan-%{vscan_ver} . %endif # pam_smbpass is missing cp -a source3/pam_smbpass/samples examples/pam_smbpass %__install -m 0644 source3/pam_smbpass/CHANGELOG examples/pam_smbpass/CHANGELOG %__install -m 0644 source3/pam_smbpass/INSTALL examples/pam_smbpass/INSTALL %__install -m 0644 source3/pam_smbpass/README examples/pam_smbpass/README %__install -m 0644 source3/pam_smbpass/TODO examples/pam_smbpass/TODO mv COPYING Manifest README Roadmap WHATSNEW.txt ${RPM_BUILD_ROOT}/%{DOCDIR}/ # this is empty rm -rf docs/yodldocs rm -rf docs/manpages cp -a docs/* ${RPM_BUILD_ROOT}/%{DOCDIR} rm -rf "${RPM_BUILD_ROOT}/%{DOCBOOKDIR}" cp -a examples/ ${RPM_BUILD_ROOT}/%{DOCDIR} test -e "${RPM_BUILD_ROOT}/%{SWATDIR}/help/manpages" || \ ln -s "%{DOCDIR}/htmldocs/manpages" "${RPM_BUILD_ROOT}/%{SWATDIR}/help" # Install HTML pages only in the samba-doc package pushd ${RPM_BUILD_ROOT}/%{SWATDIR}/help for file in $( find -mindepth 1 -maxdepth 1); do file="${file#./}" case "${file}" in welcome-no-samba-doc.html) case "%{name}" in samba*-doc) rm "${file}" ;; esac continue ;; welcome.html) ;; *) rm -r "${file}" ln -s "%{DOCDIR}/htmldocs/${file}" . ;; esac echo "%doc %{SWATDIR}/help/${file}" >>${RPM_BUILD_DIR}/samba-%{samba_ver_full}/filelist-samba-doc done popd # finally build filelist-samba-doc for file in $( find ${RPM_BUILD_ROOT}%{DOCDIR} -maxdepth 1); do # exclude %{DOCDIR}, README, and docbook case "${file#${RPM_BUILD_ROOT}}" in %{DOCDIR}|%{DOCDIR}/README.%{VENDOR}|%{DOCDIR}/docbook) continue ;; esac echo "%doc ${file#${RPM_BUILD_ROOT}}" >>"${RPM_BUILD_DIR}/samba-%{samba_ver_full}/filelist-samba-doc" done %if ! %{make_utils} # delete manpages if not packaged in utils-package rm -f \ ${RPM_BUILD_ROOT}/%{_mandir}/man1/log2pcap.1* \ ${RPM_BUILD_ROOT}/%{_mandir}/man1/vfstest.1* %endif # 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 # sort out vscan-modules from the main filelist for file in $( find ${RPM_BUILD_ROOT}%{_libdir}/samba/vfs/ -mindepth 1 ! -iname '*vscan*' ); do echo "${file#${RPM_BUILD_ROOT}}" >>${RPM_BUILD_DIR}/samba-%{samba_ver_full}/filelist-samba done # copy the schema %__install -m 0644 examples/LDAP/samba.schema ${RPM_BUILD_ROOT}/%{_sysconfdir}/openldap/schema/samba3.schema %__install -m 0644 examples/LDAP/samba-nds.schema ${RPM_BUILD_ROOT}/%{_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 "${RPM_BUILD_ROOT}/${file#%* }" done <"${RPM_BUILD_DIR}/samba-%{samba_ver_full}/filelist-samba-doc" for file in %{_datadir}/susehelp; do rm -r "${RPM_BUILD_ROOT}/${file}" done pushd "${RPM_BUILD_ROOT}/%{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 ${RPM_BUILD_ROOT} %endif %pre /usr/sbin/groupadd -g 71 -o -r ntadmin 2>/dev/null || : %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}} %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 libnetapi0 /sbin/ldconfig %postun -n libnetapi0 /sbin/ldconfig %post -n libtalloc2 /sbin/ldconfig %postun -n libtalloc2 /sbin/ldconfig %post -n libwbclient0 /sbin/ldconfig %postun -n libwbclient0 /sbin/ldconfig %post -n libtdb1 /sbin/ldconfig %postun -n libtdb1 /sbin/ldconfig %post -n libtevent0 /sbin/ldconfig %postun -n libtevent0 /sbin/ldconfig %post -n libldb1 /sbin/ldconfig %postun -n libldb1 /sbin/ldconfig %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 %{?run_permissions:%{run_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 %{_bindir}/getent group winbind >/dev/null || \ %{_sbindir}/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 %{?restart_on_update:%{restart_on_update nscd winbind}} %{?insserv_cleanup:%{insserv_cleanup}} %if 0%{?suse_version} && 0%{?suse_version} < 1031 %post -n libsmbclient %else %post -n libsmbclient0 %endif /sbin/ldconfig %if 0%{?suse_version} && 0%{?suse_version} < 1031 %postun -n libsmbclient %else %postun -n libsmbclient0 %endif /sbin/ldconfig %if 0%{?suse_version} && 0%{?suse_version} < 1031 %post -n libsmbsharemodes %else %post -n libsmbsharemodes0 %endif /sbin/ldconfig %if 0%{?suse_version} && 0%{?suse_version} < 1031 %postun -n libsmbsharemodes %else %postun -n libsmbsharemodes0 %endif /sbin/ldconfig %clean [ x"${RPM_BUILD_ROOT}" = x"/" ] && ( echo "your buildroot is /" && exit 0) || rm -rf "${RPM_BUILD_ROOT}" 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 %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_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}/ldbadd %{_bindir}/ldbdel %{_bindir}/ldbedit %{_bindir}/ldbmodify %{_bindir}/ldbrename %{_bindir}/ldbsearch %{_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}/tdbbackup %{_bindir}/tdbdump %{_bindir}/tdbrestore %{_bindir}/tdbtool %{_bindir}/testparm %{_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/ldbadd.1.* %doc %{_mandir}/man1/ldbdel.1.* %doc %{_mandir}/man1/ldbedit.1.* %doc %{_mandir}/man1/ldbmodify.1.* %doc %{_mandir}/man1/ldbrename.1.* %doc %{_mandir}/man1/ldbsearch.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} %{_var}/adm/fillup-templates/samba-client-dhcp.conf %{_var}/adm/fillup-templates/sysconfig.dhcp-samba-client %ghost %{_var}/lock/subsys/%{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 %if %{make_vscan} %files vscan %defattr(-,root,root) %{_libdir}/samba/vfs/vscan* %doc samba-vscan-%{vscan_ver}/{AUTHORS,COPYING,ChangeLog,FAQ,INSTALL,NEWS,README,TODO} %doc samba-vscan-%{vscan_ver}/*/vscan-*.conf %dir %{_libdir}/samba/vfs %endif %files -n libnetapi0 %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 %if 0%{?suse_version} && 0%{?suse_version} < 1031 %files -n libsmbclient %else %files -n libsmbclient0 %endif %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 %if 0%{?suse_version} && 0%{?suse_version} < 1031 %files -n libsmbsharemodes %else %files -n libsmbsharemodes0 %endif %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 %files -n libtalloc2 %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 libtdb1 %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 %files -n libwbclient0 %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 %files -n libtevent0 %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 libldb1 %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 %if %{make_ldapsmb} %files -n ldapsmb %defattr(-,root,root) %{_sbindir}/ldapsmb %{_mandir}/man5/ldapsmb.5.* %endif %changelog