The branch, v3-2-ctdb has been updated via a9a506b6640986548e2ae8540b7ae93960d6ece5 (commit) via f5cd88a25f360e6609dc5abe24247fab78af6854 (commit) from fc122aa276bce379b492e5bdf52ab3e03bc3737f (commit)
http://gitweb.samba.org/?p=obnox/samba-ctdb.git;a=shortlog;h=v3-2-ctdb - Log ----------------------------------------------------------------- commit a9a506b6640986548e2ae8540b7ae93960d6ece5 Author: Michael Adam <ob...@samba.org> Date: Wed Jan 21 09:49:12 2009 +0100 packaging(RHEL-CTDB): makerpms.sh: build winbind-32bit libs in the 64bit build Michael commit f5cd88a25f360e6609dc5abe24247fab78af6854 Author: Michael Adam <ob...@samba.org> Date: Tue Jan 20 19:47:28 2009 +0100 packaging(RHEL-CTDB): Build winbind-32bit package in the 64bit build Michael ----------------------------------------------------------------------- Summary of changes: packaging/RHEL-CTDB/makerpms.sh | 17 +++--- packaging/RHEL-CTDB/samba.spec.tmpl | 103 ++++++++++++++++++++++++++++++++--- 2 files changed, 105 insertions(+), 15 deletions(-) Changeset truncated at 500 lines: diff --git a/packaging/RHEL-CTDB/makerpms.sh b/packaging/RHEL-CTDB/makerpms.sh index 50fa96c..8da9078 100755 --- a/packaging/RHEL-CTDB/makerpms.sh +++ b/packaging/RHEL-CTDB/makerpms.sh @@ -88,19 +88,20 @@ cp -p ${SPECFILE} ${RPMSPECDIR} popd ## -## Build +## some symlink fixes for building 32bit compat libs ## -echo "$(basename $0): Getting Ready to build release package" -pushd ${RPMSPECDIR} -${RPM} -ba $EXTRA_OPTIONS $SPECFILE -if [ "x$?" = "x0" ] && [ `arch` = "x86_64" ]; then - echo "Building 32 bit winbind libs" - # hi ho, a hacking we will go ... +if [ `arch` = "x86_64" ]; then ln -sf /lib/libcom_err.so.2 /lib/libcom_err.so ln -sf /lib/libuuid.so.1 /lib/libuuid.so - ${RPM} -ba --rebuild --target=i386 $SPECFILE fi +## +## Build +## +echo "$(basename $0): Getting Ready to build release package" + +pushd ${RPMSPECDIR} +${RPM} -ba $EXTRA_OPTIONS $SPECFILE popd echo "$(basename $0): Done." diff --git a/packaging/RHEL-CTDB/samba.spec.tmpl b/packaging/RHEL-CTDB/samba.spec.tmpl index 2c29110..6d053c6 100644 --- a/packaging/RHEL-CTDB/samba.spec.tmpl +++ b/packaging/RHEL-CTDB/samba.spec.tmpl @@ -93,7 +93,7 @@ The samba-swat package includes the new SWAT (Samba Web Administration Tool), for remotely managing Samba's smb.conf file using your favorite Web browser. -%ifarch i386 i486 i586 i686 ppc s390 +%ifarch x86_64 ppc64 %package winbind-32bit Summary: Samba winbind compatibility package for 32bit apps on 64bit archs Group: Applications/System @@ -144,6 +144,80 @@ export CC ## always run autogen.sh ./autogen.sh + +## +## build the files for the winbind-32bit compat package +## and copy them to a safe location +## +%ifarch x86_64 ppc64 + +# a directory to store the 32bit compatibility modules for later install +%define _32bit_tmp_dir %{_tmppath}/%{name}-%{version}-32bit + +CC_SAVE="$CC" +CC="$CC -m32" + +CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -m32" ./configure \ + --prefix=%{_prefix} \ + --localstatedir=/var \ + --with-configdir=%{_sysconfdir}/samba \ + --with-libdir=/usr/lib/samba \ + --with-pammodulesdir=/lib/security \ + --with-lockdir=/var/lib/samba \ + --with-logfilebase=/var/log/samba \ + --with-mandir=%{_mandir} \ + --with-piddir=/var/run \ + --with-privatedir=%{_sysconfdir}/samba \ + --disable-cups \ + --with-acl-support \ + --with-ads \ + --with-automount \ + --with-fhs \ + --with-pam_smbpass \ + --with-libsmbclient \ + --with-libsmbsharemodes \ + --without-smbwrapper \ + --with-pam \ + --with-quotas \ + --with-syslog \ + --with-utmp \ + --with-cluster-support \ + --with-ctdb=/usr/include \ + --without-ldb \ + --without-dnsupdate \ + --with-aio-support + +make showlayout + +make CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -m32" proto + +## check for gcc 3.4 or later +CC_VERSION=`${CC} --version | head -1 | awk '{print $3}'` +CC_MAJOR=`echo ${CC_VERSION} | cut -d. -f 1` +CC_MINOR=`echo ${CC_VERSION} | cut -d. -f 2` +if [ ${CC_MAJOR} -ge 3 ]; then + if [ ${CC_MAJOR} -gt 3 -o ${CC_MINOR} -ge 4 ]; then + make pch + fi +fi + +make CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -m32" %{?_smp_mflags} \ + nss_modules pam_modules + +rm -rf %{_32bit_tmp_dir} +mkdir %{_32bit_tmp_dir} + +mv nsswitch/libnss_winbind.so %{_32bit_tmp_dir}/ +mv bin/pam_winbind.so %{_32bit_tmp_dir}/ +mv bin/libtalloc.so* %{_32bit_tmp_dir}/ +mv bin/libtdb.so* %{_32bit_tmp_dir}/ + +make clean + +CC="$CC_SAVE" + +%endif + CFLAGS="$RPM_OPT_FLAGS $EXTRA -D_GNU_SOURCE" ./configure \ --prefix=%{_prefix} \ --localstatedir=/var \ @@ -210,6 +284,7 @@ mkdir -p $RPM_BUILD_ROOT%{_initrddir} mkdir -p $RPM_BUILD_ROOT{%{_libarchdir},%{_includedir}} mkdir -p $RPM_BUILD_ROOT%{_libarchdir}/samba/{auth,charset,idmap,vfs,pdb} mkdir -p $RPM_BUILD_ROOT/%{_libarch}/security +mkdir -p $RPM_BUILD_ROOT/lib/security mkdir -p $RPM_BUILD_ROOT%{_mandir} mkdir -p $RPM_BUILD_ROOT%{_prefix}/{bin,sbin} mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib @@ -248,6 +323,20 @@ do ${RPM_BUILD_ROOT}%{_libarchdir}/ done +# install files for winbind-32bit package +%ifarch x86_64 ppc64 + +install -m 755 %{_32bit_tmp_dir}/libnss_winbind.so ${RPM_BUILD_ROOT}/lib/libnss_winbind.so.2 +( cd ${RPM_BUILD_ROOT}/lib; ln -sf libnss_winbind.so.2 libnss_winbind.so ) + +mv %{_32bit_tmp_dir}/libtalloc* ${RPM_BUILD_ROOT}/usr/lib +mv %{_32bit_tmp_dir}/libtdb* ${RPM_BUILD_ROOT}/usr/lib +mv %{_32bit_tmp_dir}/pam_winbind.so ${RPM_BUILD_ROOT}/lib/security + +rm -rf %{_32bit_tmp_dir} + +%endif + ## cleanup /bin/rm -rf $RPM_BUILD_ROOT/usr/lib*/samba/security @@ -519,13 +608,13 @@ exit 0 %{_mandir}/man1/ldbmodify.1* %{_mandir}/man1/ldbsearch.1* -%ifarch i386 i486 i586 i686 ppc s390 +%ifarch x86_64 ppc64 %files winbind-32bit -%attr(755,root,root) /%{_libarch}/libnss_winbind.so* -#%attr(755,root,root) /%{_libarch}/libnss_wins.so* -%attr(755,root,root) /%{_libarchdir}/libtalloc.so* -%attr(755,root,root) /%{_libarchdir}/libtdb.so* -%attr(755,root,root) /%{_libarch}/security/pam_winbind.so +%attr(755,root,root) /lib/libnss_winbind.so* +#%attr(755,root,root) /lib/libnss_wins.so* +%attr(755,root,root) /usr/lib/libtalloc.so* +%attr(755,root,root) /usr/lib/libtdb.so* +%attr(755,root,root) /lib/security/pam_winbind.so %endif -- SAMBA-CTDB repository