packaging(RHEL-CTDB): add new pam_winbind.mo to the common package
[amitay/samba.git] / packaging / RHEL-CTDB / samba.spec.tmpl
index 4806d9f6567e90ec242e8ca3a426d398c2613c33..81cfba5d261f8e522fa996e084e2c11a79ed54d8 100644 (file)
@@ -6,7 +6,7 @@ Vendor: Samba Team
 Packager: Samba Team <samba@samba.org>
 Name:         samba
 Version:      PVERSION
-Release:      ctdb.1
+Release:      1
 Epoch:        0
 License: GNU GPL version 3
 Group: System Environment/Daemons
@@ -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
@@ -129,7 +129,7 @@ utilized by SWAT as well as the HTML and PDF version of "Using Samba",
 
 /bin/cp setup/filter-requires-samba.sh %{SOURCE998}
 
-cd source
+cd source3
 # RPM_OPT_FLAGS="$RPM_OPT_FLAGS -D_FILE_OFFSET_BITS=64"
 
 ## check for ccache
@@ -139,9 +139,83 @@ else
        CC="gcc"
 fi
 
+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
+
+## 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 %{?_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 \
@@ -189,7 +263,7 @@ if [ ${CC_MAJOR} -ge 3 ]; then
 fi
 
 
-make CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE" %{?_smp_mflags} \
+make %{?_smp_mflags} \
        all modules pam_smbpass
 
 # Remove some permission bits to avoid to many dependencies
@@ -207,6 +281,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
@@ -219,23 +294,37 @@ mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/xinetd.d
 mkdir -p $RPM_BUILD_ROOT/var/lib/samba/winbindd_privileged
 mkdir -p $RPM_BUILD_ROOT/var/{log,run/winbindd,spool}/samba
 
-cd source
+cd source3
 make DESTDIR=$RPM_BUILD_ROOT \
         install
 cd ..
 
 # NSS winbind support
-install -m 755 source/nsswitch/libnss_winbind.so $RPM_BUILD_ROOT/%{_libarch}/libnss_winbind.so.2
+install -m 755 nsswitch/libnss_winbind.so $RPM_BUILD_ROOT/%{_libarch}/libnss_winbind.so.2
 ( cd $RPM_BUILD_ROOT/%{_libarch};
   ln -sf libnss_winbind.so.2  libnss_winbind.so )
 #
 # do not install libnss_wins.so in order to reduce dependencies
 # (we do not need it for the samba-ctdb scenario)
 #
-#install -m 755 source/nsswitch/libnss_wins.so $RPM_BUILD_ROOT/%{_libarch}/libnss_wins.so
+#install -m 755 nsswitch/libnss_wins.so $RPM_BUILD_ROOT/%{_libarch}/libnss_wins.so
 # ( cd $RPM_BUILD_ROOT/%{_libarch}; ln -sf libnss_wins.so  libnss_wins.so.2 )
 
 
+# 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
 
@@ -251,9 +340,9 @@ install -m644 setup/samba.pamd $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/samba
 install -m755 setup/smbprint $RPM_BUILD_ROOT%{_bindir}
 install -m644 setup/smbusers $RPM_BUILD_ROOT%{_sysconfdir}/samba/smbusers
 install -m644 setup/smb.conf $RPM_BUILD_ROOT%{_sysconfdir}/samba/smb.conf
-install -m755 source/bin/mount.cifs $RPM_BUILD_ROOT/sbin/mount.cifs
-install -m755 source/bin/umount.cifs $RPM_BUILD_ROOT/sbin/umount.cifs
-install -m755 source/script/mksmbpasswd.sh $RPM_BUILD_ROOT%{_bindir}
+install -m755 source3/bin/mount.cifs $RPM_BUILD_ROOT/sbin/mount.cifs
+install -m755 source3/bin/umount.cifs $RPM_BUILD_ROOT/sbin/umount.cifs
+install -m755 source3/script/mksmbpasswd.sh $RPM_BUILD_ROOT%{_bindir}
 
 /bin/rm $RPM_BUILD_ROOT%{_sbindir}/*mount.cifs
 
@@ -422,6 +511,7 @@ exit 0
 %{_bindir}/smbspool
 %{_bindir}/smbtar
 %{_bindir}/smbtree
+%{_bindir}/sharesec
 
 %{_mandir}/man8/mount.cifs.8.*
 %{_mandir}/man8/umount.cifs.8.*
@@ -452,6 +542,7 @@ exit 0
 %attr(755,root,root) /%{_libarch}/libnss_winbind.so*
 %attr(755,root,root) /%{_libarch}/security/pam_winbind.so
 %attr(755,root,root) /%{_libarch}/security/pam_smbpass.so
+/usr/share/locale/de/LC_MESSAGES/pam_winbind.mo
 
 %{_includedir}/libsmbclient.h
 %{_libarchdir}/libsmbclient.*
@@ -484,6 +575,7 @@ exit 0
 %{_bindir}/ldbedit
 %{_bindir}/ldbmodify
 %{_bindir}/ldbsearch
+%{_bindir}/ldbrename
 %{_bindir}/wbinfo
 %{_bindir}/ntlm_auth
 %{_bindir}/pdbedit
@@ -507,13 +599,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