diff --git a/patches.tar.bz2 b/patches.tar.bz2 index 86f3ed5..0482a60 100644 --- a/patches.tar.bz2 +++ b/patches.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:457eefb7ac9b42718fe0c5f0f81ba691ec09108610e89c088788eaa85c2c183c -size 13401 +oid sha256:046b2db55008be2580c901a6cbb737ec33eb262329b043d55c7f4df24ef747b1 +size 13363 diff --git a/samba.changes b/samba.changes index 1371c13..7a8fa9e 100644 --- a/samba.changes +++ b/samba.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Sun Feb 14 18:41:34 UTC 2016 - lmuelle@suse.com + +- Enable clustering (CTDB) support; (bsc#966271). + ------------------------------------------------------------------- Fri Feb 12 17:41:03 UTC 2016 - lmuelle@suse.com diff --git a/samba.spec b/samba.spec index 27000a5..30c7617 100644 --- a/samba.spec +++ b/samba.spec @@ -18,6 +18,10 @@ %{!?_tmpfilesdir:%global _tmpfilesdir /usr/lib/tmpfiles.d} +%if 0%{?suse_version} > 1140 && 0%{?suse_version} != 1315 +%define build_ctdb_pmda 1 +%endif + Name: samba BuildRequires: cups-devel BuildRequires: cyrus-sasl-devel @@ -83,9 +87,6 @@ BuildRequires: keyutils-devel %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 @@ -119,6 +120,9 @@ BuildRequires: libavahi-devel BuildRequires: systemd BuildRequires: systemd-devel %endif +%if 0%{?build_ctdb_pmda} +BuildRequires: libpcp-devel +%endif %define samba_ver 4.3.4 %define samba_ver_suffix %nil %if "%{samba_ver_suffix}" == "" @@ -141,7 +145,7 @@ BuildRequires: systemd-devel %else %define build_make_smp_mflags %{?jobs:-j%jobs} %endif -%define SOURCE_TIMESTAMP 3583 +%define SOURCE_TIMESTAMP 3584 %define BRANCH %{version} %global with_mitkrb5 1 %global with_dc 0 @@ -441,6 +445,65 @@ Source Timestamp: %{SOURCE_TIMESTAMP} Branch: %{BRANCH} +%package -n ctdb +Summary: Clustered TDB +License: GPL-3.0+ +Group: System/Daemons +%if 0%{?suse_version} +Requires(pre): %{?fillup_prereq} +%if 0%{?suse_version} > 1220 +BuildRequires: systemd-rpm-macros +# bnc886095: The CTDB resource agent could be split out into a separate rpm, +# with corresponding ctdb and tdb-tools requirements. Until then, just add the +# tdb-tools requirement to ctdb. +Requires: tdb-tools +%else +Requires(pre): %{insserv_prereq} +%endif +%else +Requires(pre): /sbin/chkconfig +%endif +Requires(pre): coreutils +Requires(pre): /bin/mktemp +Requires(pre): /usr/bin/killall +Requires(pre): sed + +%description -n ctdb +ctdb is the clustered database used by Samba + +Source Timestamp: %{SOURCE_TIMESTAMP} +Branch: %{BRANCH} + + +%package -n ctdb-devel +Summary: Libraries and Header Files to Develop Programs with ctdb support +Group: Development/Libraries/C and C++ + +%description -n ctdb-devel +This package contains the static libraries and header files needed to +develop programs which make use of ctdb. + + +%if 0%{?build_ctdb_pmda} +%package -n ctdb-pcp-pmda +Summary: Performance Co-Pilot (PCP) monitoring agent +Group: System/Monitoring + +%description -n ctdb-pcp-pmda +The CTDB Performance Co-Pilot (PCP) monitoring agent allows remote PCP +clients to view and capture detailed real-time performance metrics for +one or more cluster nodes. +%endif + + +%package -n ctdb-tests +Summary: CTDB clustered database test suite +Group: Development/Tools + +%description -n ctdb-tests +Test suite for clustered database (CTDB). + + %package -n libdcerpc-atsvc0 Summary: DCE/RPC AT scheduler service library License: GPL-3.0+ @@ -1151,7 +1214,11 @@ CONFIGURE_OPTIONS="\ --disable-rpath \ --disable-rpath-install \ --enable-debug \ +%if 0%{?build_ctdb_pmda} + --enable-pmda \ +%endif --enable-fhs \ + --with-cluster-support \ --with-pam \ --with-pammodulesdir=%{_lib}/security \ --with-piddir=%{PIDDIR} \ @@ -1167,7 +1234,7 @@ CONFIGURE_OPTIONS="\ %if ! %with_dc --without-ad-dc \ %endif - --bundled-libraries=NONE,${bundled_libraries_extra} \ + --bundled-libraries=NONE,socket_wrapper,${bundled_libraries_extra} \ " ./configure ${CONFIGURE_OPTIONS} make %{build_make_smp_mflags} \ @@ -1202,11 +1269,13 @@ install -d -m 0755 -p \ %{buildroot}/%{_datadir}/omc/svcinfo.d \ %{buildroot}/%{_datadir}/samba/{LDAP,templates} \ %{buildroot}/%{_localstatedir}/adm \ + %{buildroot}/%{_localstatedir}/lib/ctdb/persistent \ %{buildroot}/%{LOCKDIR}/{drivers/{WIN40,W32X86,W32MIPS,W32ALPHA,W32PPC,IA64,x64},netlogon,lock/msg.lock,printing,private/msg.sock,profiles,winbindd_privileged} \ %{buildroot}/%{LOGDIR} \ %{buildroot}/%{PIDDIR} \ %{buildroot}/%{_var}/adm/fillup-templates \ %{buildroot}/%{_var}/cache/krb5rcache \ + %{buildroot}/%{_var}/log/ctdb \ %{buildroot}/%{_var}/run \ %{buildroot}/%{DOCDIR} \ %{buildroot}/%{DOCBOOKDIR} \ @@ -1223,6 +1292,29 @@ rm \ %{buildroot}/%{_libdir}/samba/ldb/ldbsamba_extensions.so \ %endif +# CTDB +%if 0%{?suse_version} +install -m 0644 vendor-files/config/sysconfig.ctdb %{buildroot}/%{_var}/adm/fillup-templates +%else +install -m 0644 ctdb/config/ctdb.sysconfig ${RPM_BUILD_ROOT}/%{_sysconfdir}/sysconfig/ctdb +%endif +%if 0%{?suse_version} > 1220 +install -m 0755 ctdb/config/ctdb.service %{buildroot}%{_unitdir}/ctdb.service +ln -s service %{buildroot}/%{_sbindir}/rcctdb +# create tmpfile conf +install -d -m 0755 %{buildroot}/%{_tmpfilesdir} +echo "d /run/ctdbd 0755 root root" >%{buildroot}/%{_tmpfilesdir}/ctdb.conf +%else +install -m 0755 ctdb/config/ctdb.init ${RPM_BUILD_ROOT}/%{INITDIR}/ctdb +ln -s %{_sysconfdir}/init.d/ctdb %{buildroot}/%{_sbindir}/rcctdb +%endif +mkdir %{buildroot}/%{_defaultdocdir}/ctdb +for file in README COPYING NEWS doc/examples doc/*.html doc/readonlyrecords.txt doc/recovery-process.txt ; do + cp -a ctdb/${file} %{buildroot}/%{_defaultdocdir}/ctdb +done +# sudo can be used by statd-callout, but is not needed +rm ${RPM_BUILD_ROOT}/%{_sysconfdir}/sudoers.d/ctdb + # utility scripts scripts="creategroup mksmbpasswd.sh" install -d -m 0755 examples/scripts @@ -1275,8 +1367,7 @@ for srv_name in nmb smb winbind; do ln -s service %{buildroot}/%{_sbindir}/rc${srv_name} done install -m 0644 systemd/sysconfig.* %{buildroot}%_var/adm/fillup-templates -install -d -m 0755 %{buildroot}%{_prefix}/lib/tmpfiles.d -install -m 0644 -p ../packaging/systemd/samba.conf.tmp %{buildroot}%{_prefix}/lib/tmpfiles.d/samba.conf +install -m 0644 -p ../packaging/systemd/samba.conf.tmp %{buildroot}/%{_tmpfilesdir}/samba.conf %else for script in ${startScripts}; do install -m 0755 "init/${script}${scriptSuffix}" \ @@ -1611,6 +1702,47 @@ fi %{?insserv_cleanup:%{insserv_cleanup}} %endif +%pre -n ctdb +%if 0%{?suse_version} > 1220 +%service_add_pre ctdb.service +%endif + +%preun -n ctdb +%if 0%{?suse_version} > 1220 +%service_del_preun ctdb.service +%endif +%if 0%{?suse_version} == 0 +if [ $1 = 0 ] ; then + test -x /sbin/chkconfig && /sbin/chkconfig --del ctdb +fi +%endif +exit 0 + +%post -n ctdb +%if 0%{?suse_version} +%if 0%{?suse_version} > 1220 +%{fillup_only} +%service_add_post ctdb.service +%{_bindir}/systemd-tmpfiles --create %{_tmpfilesdir}/ctdb.conf || : +%else +%{fillup_and_insserv} +%endif +%endif + +%postun -n ctdb +%if 0%{?suse_version} +%if 0%{?suse_version} > 1220 +%service_del_postun ctdb.service +%else +%{insserv_cleanup} +%endif +%else +if [ "$1" -ge "1" ]; then + %{INITDIR}/ctdb restart >/dev/null +fi +%endif +exit 0 + %post -n %{libsmbclient_name} -p /sbin/ldconfig %postun -n %{libsmbclient_name} -p /sbin/ldconfig @@ -2090,6 +2222,151 @@ fi %doc %{_datadir}/susehelp %endif +%files -n ctdb +%defattr(-,root,root) +%dir %{_sysconfdir}/ctdb +%if 0%{?suse_version} +%{_var}/adm/fillup-templates/sysconfig.ctdb +%else +%{_sysconfdir}/sysconfig/ctdb +%endif +%{_sysconfdir}/ctdb/notify.sh +%{_sysconfdir}/ctdb/ctdb-crash-cleanup.sh +%{_sysconfdir}/ctdb/debug-hung-script.sh +%{_sysconfdir}/ctdb/debug_locks.sh +%{_sysconfdir}/ctdb/functions +%{_sysconfdir}/ctdb/gcore_trace.sh +%{_sysconfdir}/ctdb/nfs-linux-kernel-callout +%{_sysconfdir}/ctdb/statd-callout +%if 0%{?suse_version} > 1220 +%attr(644,root,root) %{_unitdir}/ctdb.service +%dir %{_tmpfilesdir} +%{_tmpfilesdir}/ctdb.conf +%ghost %dir /run/ctdbd +%else +%attr(755,root,root) %{INITDIR}/ctdb +%endif +%dir %{_sysconfdir}/ctdb/events.d +%config %{_sysconfdir}/ctdb/events.d/00.ctdb +%config %{_sysconfdir}/ctdb/events.d/01.reclock +%config %{_sysconfdir}/ctdb/events.d/10.external +%config %{_sysconfdir}/ctdb/events.d/10.interface +%config %{_sysconfdir}/ctdb/events.d/11.natgw +%config %{_sysconfdir}/ctdb/events.d/11.routing +%config %{_sysconfdir}/ctdb/events.d/13.per_ip_routing +%config %{_sysconfdir}/ctdb/events.d/20.multipathd +%config %{_sysconfdir}/ctdb/events.d/31.clamd +%config %{_sysconfdir}/ctdb/events.d/40.vsftpd +%config %{_sysconfdir}/ctdb/events.d/41.httpd +%config %{_sysconfdir}/ctdb/events.d/50.samba +%config %{_sysconfdir}/ctdb/events.d/60.nfs +%config %{_sysconfdir}/ctdb/events.d/62.cnfs +%config %{_sysconfdir}/ctdb/events.d/70.iscsi +%config %{_sysconfdir}/ctdb/events.d/91.lvs +%config %{_sysconfdir}/ctdb/events.d/40.fs_use +%config %{_sysconfdir}/ctdb/events.d/49.winbind +%config %{_sysconfdir}/ctdb/events.d/99.timeout +%{_sysconfdir}/ctdb/events.d/README +%dir %{_sysconfdir}/ctdb/nfs-checks.d +%config %{_sysconfdir}/ctdb/nfs-checks.d/00.portmapper.check +%config %{_sysconfdir}/ctdb/nfs-checks.d/10.status.check +%config %{_sysconfdir}/ctdb/nfs-checks.d/20.nfs.check +%config %{_sysconfdir}/ctdb/nfs-checks.d/30.nlockmgr.check +%config %{_sysconfdir}/ctdb/nfs-checks.d/40.mountd.check +%config %{_sysconfdir}/ctdb/nfs-checks.d/50.rquotad.check +%{_sysconfdir}/ctdb/nfs-checks.d/README +%dir %{_sysconfdir}/ctdb/notify.d +%{_sysconfdir}/ctdb/notify.d/README +%{_sbindir}/ctdbd +%{_sbindir}/ctdbd_wrapper +%{_sbindir}/rcctdb +%{_bindir}/ctdb +%{_bindir}/smnotify +%{_bindir}/ctdb_diagnostics +%{_bindir}/ctdb_event_helper +%{_bindir}/ctdb_run_cluster_tests +%{_bindir}/ctdb_run_tests +%{_bindir}/ltdbtool +%{_bindir}/onnode +%{_bindir}/ping_pong +%{_bindir}/ctdb_lock_helper +%dir %{_localstatedir}/lib/ctdb +%dir %{_localstatedir}/lib/ctdb/persistent +%dir %{_localstatedir}/log/ctdb +%ghost %dir %{_localstatedir}/run/ctdb +%{_mandir}/man1/ctdb.1.gz +%{_mandir}/man1/ctdbd.1.gz +%{_mandir}/man1/ctdbd_wrapper.1.gz +%{_mandir}/man1/ltdbtool.1.gz +%{_mandir}/man1/onnode.1.gz +%{_mandir}/man1/ping_pong.1.gz +%{_mandir}/man5/ctdbd.conf.5.* +%{_mandir}/man7/ctdb-statistics.7.* +%{_mandir}/man7/ctdb-tunables.7.* +%{_mandir}/man7/ctdb.7.* +%doc %{_defaultdocdir}/ctdb + +%files -n ctdb-devel +%defattr(-,root,root) +%{_includedir}/samba-4.0/ctdb.h +%{_includedir}/samba-4.0/ctdb_client.h +%{_includedir}/samba-4.0/ctdb_private.h +%{_includedir}/samba-4.0/ctdb_protocol.h +%{_includedir}/samba-4.0/ctdb_typesafe_cb.h +%{_includedir}/samba-4.0/ctdb_version.h +%{_libdir}/pkgconfig/ctdb.pc + +%if 0%{?build_ctdb_pmda} +%files -n ctdb-pcp-pmda +%defattr(-,root,root) +%dir %{_localstatedir}/lib/pcp +%dir %{_localstatedir}/lib/pcp/pmdas +%dir %{_localstatedir}/lib/pcp/pmdas/ctdb +%{_localstatedir}/lib/pcp/pmdas/ctdb/Install +%{_localstatedir}/lib/pcp/pmdas/ctdb/README +%{_localstatedir}/lib/pcp/pmdas/ctdb/Remove +%{_localstatedir}/lib/pcp/pmdas/ctdb/domain.h +%{_localstatedir}/lib/pcp/pmdas/ctdb/help +%{_localstatedir}/lib/pcp/pmdas/ctdb/pmdactdb +%{_localstatedir}/lib/pcp/pmdas/ctdb/pmns +%endif + +%files -n ctdb-tests +%defattr(-,root,root) +%dir %{_libdir}/ctdb-tests +%{_libdir}/ctdb-tests/ctdb_bench +%{_libdir}/ctdb-tests/ctdb_fetch +%{_libdir}/ctdb-tests/ctdb_fetch_one +%{_libdir}/ctdb-tests/ctdb_fetch_readonly_loop +%{_libdir}/ctdb-tests/ctdb_fetch_readonly_once +%{_libdir}/ctdb-tests/ctdb_functest +%{_libdir}/ctdb-tests/ctdb_lock_tdb +%{_libdir}/ctdb-tests/ctdb_persistent +%{_libdir}/ctdb-tests/ctdb_porting_tests +%{_libdir}/ctdb-tests/ctdb_randrec +%{_libdir}/ctdb-tests/ctdb_store +%{_libdir}/ctdb-tests/ctdb_stubtest +%{_libdir}/ctdb-tests/ctdb_takeover_tests +%{_libdir}/ctdb-tests/ctdb_trackingdb_test +%{_libdir}/ctdb-tests/ctdb_transaction +%{_libdir}/ctdb-tests/ctdb_traverse +%{_libdir}/ctdb-tests/ctdb_update_record +%{_libdir}/ctdb-tests/ctdb_update_record_persistent +%{_libdir}/ctdb-tests/rb_test +%dir %{_datadir}/ctdb-tests +%dir %{_datadir}/ctdb-tests/eventscripts +%dir %{_datadir}/ctdb-tests/eventscripts/etc-ctdb +%{_datadir}/ctdb-tests/eventscripts/etc-ctdb/events.d +%{_datadir}/ctdb-tests/eventscripts/etc-ctdb/functions +%{_datadir}/ctdb-tests/eventscripts/etc-ctdb/nfs-checks.d +%{_datadir}/ctdb-tests/eventscripts/etc-ctdb/nfs-linux-kernel-callout +%{_datadir}/ctdb-tests/eventscripts/etc-ctdb/statd-callout +%dir %{_datadir}/ctdb-tests/scripts +%{_datadir}/ctdb-tests/scripts/common.sh +%{_datadir}/ctdb-tests/scripts/integration.bash +%{_datadir}/ctdb-tests/scripts/test_wrap +%{_datadir}/ctdb-tests/scripts/unit.sh + %files -n libdcerpc-atsvc0 %defattr(-,root,root) %_libdir/libdcerpc-atsvc.so.0* diff --git a/vendor-files.tar.bz2 b/vendor-files.tar.bz2 index e3b8824..4e6d5ed 100644 --- a/vendor-files.tar.bz2 +++ b/vendor-files.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1252676f84be4bf1fe43019f54e482d7e173d9719898c1b434c649dca4a2b846 -size 52757 +oid sha256:89a3c8b7cc2008606e40313d54a4231127806ed042f81600d01dfafdd491fff4 +size 55796