From 02250a1fa0a63b705de48fef15cbea57493f6146 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Mon, 17 Sep 2012 20:30:27 -0400 Subject: [PATCH 1/4] source3/script: fix installman.sh after the last build-manpages-nogit change commit cfdab79729e8507a7504b0224c60454d3bc40ffc Author: Michael Adam Date: Wed Sep 12 15:46:35 2012 +0200 release-scripts: let build-manpages-nogit store generated docs under ./bin/docs not under ./docs Signed-off-by: Stefan Metzmacher Signed-off-by: Stefan Metzmacher (cherry picked from commit 1a945686a6770a0ac17bded73201368f10c65bc9) --- source3/script/installman.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source3/script/installman.sh b/source3/script/installman.sh index 2f79996..b029089 100755 --- a/source3/script/installman.sh +++ b/source3/script/installman.sh @@ -13,7 +13,7 @@ if [ $# -ge 4 ] ; then GROFF=$4 # sh cmd line, including options fi -if test ! -d $SRCDIR../docs/manpages; then +if test ! -d $SRCDIR../bin/docs/manpages; then echo "No manpages present. Development version maybe?" exit 0 fi @@ -44,7 +44,7 @@ for lang in $langs; do for sect in 1 5 7 8 ; do for m in $langdir/man$sect ; do - for s in $SRCDIR../docs/manpages/$lang/*$sect; do + for s in $SRCDIR../bin/docs/manpages/$lang/*$sect; do MP_BASENAME=`basename $s` # Check if this man page if required by the configured feature set -- 1.7.9.5 From 71c65c02dab36efe4943c693fa483689b378a066 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Mon, 17 Sep 2012 18:15:03 +0200 Subject: [PATCH 2/4] packaging/RHEL-CTDB: fix the build metze (cherry picked from commit 77f281a6d16cd9e7a787de8d954846a840fb03b0) --- packaging/RHEL-CTDB/configure.rpm | 10 ++-- packaging/RHEL-CTDB/makespec.sh | 9 ---- packaging/RHEL-CTDB/samba.spec.tmpl | 89 ++++++++++------------------------- 3 files changed, 30 insertions(+), 78 deletions(-) diff --git a/packaging/RHEL-CTDB/configure.rpm b/packaging/RHEL-CTDB/configure.rpm index 5e2b88e..222fec0 100755 --- a/packaging/RHEL-CTDB/configure.rpm +++ b/packaging/RHEL-CTDB/configure.rpm @@ -2,14 +2,14 @@ case `uname -m` in x86_64) - _libarch=lib64 + _libarch="/lib64" ;; *) - _libarch=lib + _libarch="/lib" ;; esac -_libarchdir=/usr/${_libarch} +_libarchdir=/usr${_libarch} _prefix=/usr _sysconfdir=/etc @@ -32,7 +32,7 @@ CC="$CC" CFLAGS="-Wall -g -D_GNU_SOURCE -O3" ./configure -C \ --with-configdir=${_sysconfdir}/samba \ --libdir=${_libarchdir} \ --with-modulesdir=${_libarchdir}/samba \ - --with-pammodulesdir=/${_libarch}/security \ + --with-pammodulesdir=${_libarch}/security \ --with-lockdir=/var/lib/samba \ --with-logfilebase=/var/log/samba \ --mandir=${_mandir} \ @@ -44,7 +44,7 @@ CC="$CC" CFLAGS="-Wall -g -D_GNU_SOURCE -O3" ./configure -C \ --with-acl-support \ --with-ads \ --with-automount \ - --with-fhs \ + --enable-fhs \ --with-pam_smbpass \ --with-libsmbclient \ --with-libsmbsharemodes \ diff --git a/packaging/RHEL-CTDB/makespec.sh b/packaging/RHEL-CTDB/makespec.sh index 1207450..a8c582b 100755 --- a/packaging/RHEL-CTDB/makespec.sh +++ b/packaging/RHEL-CTDB/makespec.sh @@ -46,15 +46,6 @@ else fi -# -# get the versions of libtdb and libtalloc we provide -# -#LIBTDBVERSION=1.2.9 -LIBTDBVERSION=$(grep ^VERSION ${DIRNAME}/../../lib/tdb/wscript | sed -e "s/'//g" -e 's/.* //') - -#LIBTALLOCVERSION=2.0.1 -LIBTALLOCVERSION=$(grep ^VERSION ${DIRNAME}/../../lib/talloc/wscript | sed -e "s/'//g" -e 's/.* //') - sed \ -e s/PVERSION/${VERSION}/g \ -e s/GITHASH/${GITHASH}/g \ diff --git a/packaging/RHEL-CTDB/samba.spec.tmpl b/packaging/RHEL-CTDB/samba.spec.tmpl index 80237e7..2e42afb 100644 --- a/packaging/RHEL-CTDB/samba.spec.tmpl +++ b/packaging/RHEL-CTDB/samba.spec.tmpl @@ -77,35 +77,12 @@ shares and printing to SMB printers. Summary: Files used by both Samba servers and clients. Group: Applications/System Provides: samba-common = %{version}-%{release} -Requires: libtalloc >= 2.0.1 -Requires: libtdb >= 1.2.6 %description common Samba-common provides files necessary for both the server and client packages of Samba. -####################################################################### -%package libtdb -Summary: the tdb library -Group: Applications/System -Provides: libtdb = LIBTDBVERSION-%{release} -Obsoletes: libtdb -#Conflicts: libtdb < LIBTALLOCVERSION - -%description libtdb -Samba's tdb library. - -####################################################################### -%package libtalloc -Summary: the talloc library -Group: Applications/System -Provides: libtalloc = LIBTALLOCVERSION-%{release} -Obsoletes: libtalloc -#Conflicts: libtalloc < LIBTALLOCVERSION - -%description libtalloc -Samba's talloc library ####################################################################### %package swat @@ -164,26 +141,24 @@ export CC CFLAGS="$RPM_OPT_FLAGS $EXTRA -D_GNU_SOURCE" ./configure \ --prefix=%{_prefix} \ --localstatedir=/var \ - --with-configdir=%{_sysconfdir}/samba \ - --libdir=%{_libarchdir} \ + --with-configdir=%{_sysconfdir}/samba \ + --libdir=%{_libarchdir} \ --with-modulesdir=%{_libarchdir}/samba \ - --with-pammodulesdir=%{_libarch}/security \ - --with-lockdir=/var/lib/samba \ - --with-logfilebase=/var/log/samba \ - --mandir=%{_mandir} \ - --with-piddir=/var/run \ + --with-pammodulesdir=/%{_libarch}/security \ + --with-lockdir=/var/lib/samba \ + --with-logfilebase=/var/log/samba \ + --mandir=%{_mandir} \ + --with-piddir=/var/run \ --with-privatedir=%{_sysconfdir}/samba \ - --with-sambabook=%{_datadir}/swat/using_samba \ - --with-swatdir=%{_datadir}/swat \ --disable-cups \ - --with-acl-support \ + --with-acl-support \ --with-ads \ - --with-automount \ - --with-fhs \ + --with-automount \ + --enable-fhs \ --with-pam_smbpass \ --with-libsmbclient \ --with-libsmbsharemodes \ - --without-smbwrapper \ + --without-smbwrapper \ --with-pam \ --with-quotas \ --with-shared-modules=idmap_rid,idmap_ad,idmap_tdb2,vfs_gpfs,vfs_tsmsm \ @@ -193,7 +168,7 @@ CFLAGS="$RPM_OPT_FLAGS $EXTRA -D_GNU_SOURCE" ./configure \ --with-ctdb=/usr/include \ --without-ldb \ --without-dnsupdate \ - --with-aio-support\ + --with-aio-support \ --disable-merged-build \ --disable-smbtorture4 \ --disable-external-libtalloc \ @@ -237,7 +212,7 @@ find examples docs -type f | xargs -r chmod -x rm -rf $RPM_BUILD_ROOT # Create the target build directory hierarchy -mkdir -p $RPM_BUILD_ROOT%{_datadir}/swat/{help,include,using_samba/{figs,gifsa}} +mkdir -p $RPM_BUILD_ROOT%{_datadir}/samba/swat/{help,include,using_samba/{figs,gifsa}} mkdir -p $RPM_BUILD_ROOT%{_includedir} mkdir -p $RPM_BUILD_ROOT%{_initrddir} mkdir -p $RPM_BUILD_ROOT{%{_libarchdir},%{_includedir}} @@ -285,6 +260,7 @@ cp -p source3/bin/winbind_krb5_locator.so ${RPM_BUILD_ROOT}/%{_libarchdir}/krb5/ # remove installed but unpackaged files: /bin/rm -f $RPM_BUILD_ROOT/usr/lib*/libtalloc.so /bin/rm -f $RPM_BUILD_ROOT/usr/lib*/libtdb.so +/bin/rm -f $RPM_BUILD_ROOT/usr/lib*/samba/perfcount/pc_test.so # Install the miscellany @@ -432,7 +408,9 @@ exit 0 %{_libarchdir}/samba/vfs/time_audit.so %{_libarchdir}/samba/vfs/tsmsm.so %{_libarchdir}/samba/vfs/xattr_tdb.so - +%{_libarchdir}/samba/vfs/aio_posix.so +%{_libarchdir}/samba/vfs/aio_pthread.so +%{_libarchdir}/samba/vfs/media_harmony.so %{_mandir}/man1/smbcontrol.1* %{_mandir}/man1/smbstatus.1* @@ -443,9 +421,6 @@ exit 0 %{_mandir}/man8/nmbd.8* %{_mandir}/man8/pdbedit.8* %{_mandir}/man8/smbd.8* -%{_mandir}/man8/tdbbackup.8* -%{_mandir}/man8/tdbdump.8* -%{_mandir}/man8/tdbtool.8* %{_mandir}/man8/eventlogadm.8* %{_mandir}/man8/vfs_*.8* %{_mandir}/man8/smbta-util.8* @@ -457,7 +432,6 @@ exit 0 %defattr(-,root,root) %doc README %doc COPYING -%doc Manifest %doc WHATSNEW.txt %doc Roadmap %doc docs-xml/archives/THANKS @@ -475,11 +449,11 @@ exit 0 %files swat %defattr(-,root,root) %config(noreplace) %{_sysconfdir}/xinetd.d/swat -%dir %{_datadir}/swat -%{_datadir}/swat/* +%dir %{_datadir}/samba/swat +%{_datadir}/samba/swat/* %{_sbindir}/swat %{_mandir}/man8/swat.8* -%attr(755,root,root) /usr/share/codepages/*.msg +%attr(755,root,root) %{_datadir}/samba/codepages/*.msg ########## @@ -513,13 +487,6 @@ exit 0 ########## -%files libtalloc -%{_libarchdir}/libtalloc.so.LIBTALLOCVERSION -%{_libarchdir}/libtalloc.so.2 - -%files libtdb -%{_libarchdir}/libtdb.so.LIBTDBVERSION -%{_libarchdir}/libtdb.so.1 %files common %defattr(-,root,root) @@ -541,12 +508,14 @@ exit 0 %{_libarchdir}/samba/idmap/rid.so %{_libarchdir}/samba/idmap/tdb2.so %{_libarchdir}/samba/idmap/autorid.so +%{_libarchdir}/samba/idmap/hash.so +%{_libarchdir}/samba/nss_info/hash.so %{_libarchdir}/samba/nss_info/rfc2307.so %{_libarchdir}/samba/nss_info/sfu.so %{_libarchdir}/samba/nss_info/sfu20.so -/usr/share/codepages/lowcase.dat -/usr/share/codepages/upcase.dat -/usr/share/codepages/valid.dat +%{_datadir}/samba/codepages/lowcase.dat +%{_datadir}/samba/codepages/upcase.dat +%{_datadir}/samba/codepages/valid.dat %{_includedir}/libsmbclient.h %{_libarchdir}/libsmbclient.* @@ -556,8 +525,6 @@ exit 0 %{_includedir}/netapi.h %{_includedir}/wbclient.h -%{_includedir}/talloc.h -%{_includedir}/tdb.h %{_libarchdir}/libnetapi.so %{_libarchdir}/libnetapi.so.0 %{_libarchdir}/libwbclient.so @@ -591,12 +558,6 @@ exit 0 %{_mandir}/man8/net.8* %{_mandir}/man8/pam_winbind.8* %{_mandir}/man7/libsmbclient.7* -%{_mandir}/man1/ldbadd.1* -%{_mandir}/man1/ldbdel.1* -%{_mandir}/man1/ldbedit.1* -%{_mandir}/man1/ldbmodify.1* -%{_mandir}/man1/ldbsearch.1* -%{_mandir}/man1/ldbrename.1* %{_mandir}/man7/winbind_krb5_locator.7* %{_mandir}/man8/idmap_*.8* -- 1.7.9.5 From 2839ab9e9e4cb4923b217029b43cddf00d145391 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Mon, 17 Sep 2012 18:15:03 +0200 Subject: [PATCH 3/4] packaging/RHEL-CTDB: try harder to set $RPMVER metze (cherry picked from commit 914fc4f265ef9f538fc5077fe0257565b282bd24) --- packaging/RHEL-CTDB/makerpms.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packaging/RHEL-CTDB/makerpms.sh b/packaging/RHEL-CTDB/makerpms.sh index d23d14e..163b4ae 100755 --- a/packaging/RHEL-CTDB/makerpms.sh +++ b/packaging/RHEL-CTDB/makerpms.sh @@ -27,6 +27,9 @@ TOPDIR=${DIRNAME}/../.. SPECFILE="samba.spec" RPMVER=`rpm --version | awk '{print $3}'` +test -z "$RPMVER" && { + RPMVER=`rpm --version | awk '{print $2}'` +} RPM="rpmbuild" ## -- 1.7.9.5 From cfe8c01d39ef4005aafa15ecf2d91292fcff9c05 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Mon, 17 Sep 2012 18:15:03 +0200 Subject: [PATCH 4/4] packaging/RHEL-CTDB: add "BUILD_GPFS=no configure.rpm" and "BUILD_GPFS=no makerpms.sh" metze (cherry picked from commit 56956910051a8d11b36d125780fde048d29ad604) --- packaging/RHEL-CTDB/configure.rpm | 8 +++++++- packaging/RHEL-CTDB/makespec.sh | 15 +++++++++++---- packaging/RHEL-CTDB/samba.spec.tmpl | 29 ++++++++++++++++++++++++++--- 3 files changed, 44 insertions(+), 8 deletions(-) diff --git a/packaging/RHEL-CTDB/configure.rpm b/packaging/RHEL-CTDB/configure.rpm index 222fec0..4387da1 100755 --- a/packaging/RHEL-CTDB/configure.rpm +++ b/packaging/RHEL-CTDB/configure.rpm @@ -24,6 +24,12 @@ else CC="gcc" fi +shared_modules="idmap_rid,idmap_ad,idmap_tdb2" + +if test "x$BUILD_GPFS" != "xno"; then + shared_modules="${shared_modules},vfs_gpfs,vfs_tsmsm" +fi + ./autogen.sh CC="$CC" CFLAGS="-Wall -g -D_GNU_SOURCE -O3" ./configure -C \ @@ -51,7 +57,7 @@ CC="$CC" CFLAGS="-Wall -g -D_GNU_SOURCE -O3" ./configure -C \ --without-smbwrapper \ --with-pam \ --with-quotas \ - --with-shared-modules=idmap_rid,idmap_ad,idmap_tdb2,vfs_gpfs,vfs_tsmsm \ + --with-shared-modules=${shared_modules} \ --with-syslog \ --with-utmp \ --with-cluster-support \ diff --git a/packaging/RHEL-CTDB/makespec.sh b/packaging/RHEL-CTDB/makespec.sh index a8c582b..7c8a8ee 100755 --- a/packaging/RHEL-CTDB/makespec.sh +++ b/packaging/RHEL-CTDB/makespec.sh @@ -45,12 +45,19 @@ else echo "GITHASH: ${GITHASH}" fi +if test "x$BUILD_GPFS" = "xno"; then + echo "GPFS: not build by default" + PGPFS_DEFAULT="%{?_with_gpfs: 1} %{?!_with_gpfs: 0}" +else + echo "GPFS: build by default" + PGPFS_DEFAULT="%{?_with_no_gpfs: 0} %{?!_with_no_gpfs: 1}" +fi sed \ - -e s/PVERSION/${VERSION}/g \ - -e s/GITHASH/${GITHASH}/g \ - -e s/LIBTDBVERSION/${LIBTDBVERSION}/g \ - -e s/LIBTALLOCVERSION/${LIBTALLOCVERSION}/g \ + -e "s/PVERSION/${VERSION}/g" \ + -e "s/GITHASH/${GITHASH}/g" \ + -e "s/PGPFS_NO_DEFAULT/${PGPFS_NO_DEFAULT}/g" \ + -e "s/PGPFS_DEFAULT/${PGPFS_DEFAULT}/g" \ < ${SPECFILE}.tmpl \ > ${SPECFILE} diff --git a/packaging/RHEL-CTDB/samba.spec.tmpl b/packaging/RHEL-CTDB/samba.spec.tmpl index 2e42afb..61a5bdd 100644 --- a/packaging/RHEL-CTDB/samba.spec.tmpl +++ b/packaging/RHEL-CTDB/samba.spec.tmpl @@ -46,6 +46,21 @@ BuildRequires: ctdb-devel >= 1.2.25 %define numcpu %(grep "^processor" /proc/cpuinfo |wc -l | sed -e 's/^0$/1/') +%define with_vfs_gpfs PGPFS_DEFAULT +%define with_vfs_tsmsm PGPFS_DEFAULT + +%if %{with_vfs_tsmsm} +%define vfs_tsmsm ,vfs_tsmsm +%endif + +%if %{with_vfs_gpfs} +%define vfs_gpfs ,vfs_gpfs +%endif + +%define vfs_modules %{?vfs_gpfs}%{?vfs_tsmsm} + +%define shared_modules idmap_rid,idmap_ad,idmap_tdb2%{vfs_modules} + %description Samba is the protocol by which a lot of PC-related machines share files, printers, and other information (such as lists of available @@ -137,7 +152,6 @@ export CC ## always run autogen.sh ./autogen.sh - CFLAGS="$RPM_OPT_FLAGS $EXTRA -D_GNU_SOURCE" ./configure \ --prefix=%{_prefix} \ --localstatedir=/var \ @@ -161,7 +175,7 @@ CFLAGS="$RPM_OPT_FLAGS $EXTRA -D_GNU_SOURCE" ./configure \ --without-smbwrapper \ --with-pam \ --with-quotas \ - --with-shared-modules=idmap_rid,idmap_ad,idmap_tdb2,vfs_gpfs,vfs_tsmsm \ + --with-shared-modules=%{shared_modules} \ --with-syslog \ --with-utmp \ --with-cluster-support \ @@ -192,7 +206,12 @@ make -j %{numcpu} %{?_smp_mflags} \ # check that desired suppor has been compiled into smbd: export LD_LIBRARY_PATH=./bin -for test in HAVE_POSIX_ACLS HAVE_LDAP HAVE_KRB5 HAVE_GPFS CLUSTER_SUPPORT + +HAVE_VARS="HAVE_POSIX_ACLS HAVE_LDAP HAVE_KRB5 CLUSTER_SUPPORT" +%if %{with_vfs_gpfs} + HAVE_VARS="${HAVE_VARS} HAVE_GPFS" +%endif +for test in ${HAVE_VARS} do if ! $(./bin/smbd -b | grep -q $test ) ; then echo "ERROR: '$test' is not in smbd. Build stopped." @@ -391,7 +410,9 @@ exit 0 %{_libarchdir}/samba/vfs/fake_perms.so %{_libarchdir}/samba/vfs/fileid.so %{_libarchdir}/samba/vfs/full_audit.so +%if %{with_vfs_gpfs} %{_libarchdir}/samba/vfs/gpfs.so +%endif %{_libarchdir}/samba/vfs/linux_xfs_sgid.so %{_libarchdir}/samba/vfs/netatalk.so %{_libarchdir}/samba/vfs/preopen.so @@ -406,7 +427,9 @@ exit 0 %{_libarchdir}/samba/vfs/streams_xattr.so %{_libarchdir}/samba/vfs/syncops.so %{_libarchdir}/samba/vfs/time_audit.so +%if %{with_vfs_tsmsm} %{_libarchdir}/samba/vfs/tsmsm.so +%endif %{_libarchdir}/samba/vfs/xattr_tdb.so %{_libarchdir}/samba/vfs/aio_posix.so %{_libarchdir}/samba/vfs/aio_pthread.so -- 1.7.9.5