#!/bin/bash set -x cd ../.. PR=`pwd` cd $PR/make MAJ_SSS_NO=`cat majver.txt` MIN_SSS_NO=`cat minver.txt` REV_SSS_NO=`cat revver.txt` export BLD_NO=$MAJ_SSS_NO.$MIN_SSS_NO.$REV_SSS_NO export PROD_NUM=$MAJ_SSS_NO cd $PR/lib/lux/ BR=`pwd` mkdir -p $BR/pkg mkdir -p $BR/pkg/BUILD/ mkdir -p $BR/pkg/RPMS/ mkdir -p $BR/pkg/RPMS/i386/ mkdir -p $BR/pkg/casa_area/ # save the original .rpmmacros if [ -f ~/.rpmmacros ] then mv ~/.rpmmacros ~/.rpmmacros.orig fi # append these to the .rpmmacros echo "%_topdir $BR/pkg/" >> ~/.rpmmacros echo "%version $BLD_NO" >> ~/.rpmmacros echo "%release $MAJ_SSS_NO" >> ~/.rpmmacros cp -f $PR/lib/lux/ndbg/libmicasa.so.$BLD_NO $BR/pkg/BUILD/ cp -f $PR/lib/lux/ndbg/libad_gk.so.$BLD_NO $BR/pkg/BUILD/ cp -f $PR/lib/lux/ndbg/libkwallets_rw.so.$BLD_NO $BR/pkg/BUILD/ cp -f $PR/lib/lux/ndbg/libjmicasa.so.$BLD_NO $BR/pkg/BUILD/ cp -f $PR/lib/lux/ndbg/Novell.CASA.miCASAWrapper.dll $BR/pkg/BUILD/ cp -f $PR/lib/lux/ndbg/Novell.CASA.Common.dll $BR/pkg/BUILD/ cp -f $PR/lib/lux/ndbg/Novell.CASA.A-D.dll $BR/pkg/BUILD/ cp -f $PR/lib/lux/ndbg/Novell.CASA.CASAPolicy.dll $BR/pkg/BUILD/ cp -f $PR/lib/lux/ndbg/Novell.CASA.DataEngines.GnomeKeyring.dll $BR/pkg/BUILD/ cp -f $PR/lib/lux/ndbg/Novell.CASA.DataEngines.KWallet.dll $BR/pkg/BUILD/ cp -f $PR/bin/lux/ndbg/micasad.exe $BR/pkg/BUILD/ cp -f $PR/bin/lux/ndbg/CASATrayApp.exe $BR/pkg/BUILD/ cp -f $PR/bin/lux/ndbg/CASAManager.exe $BR/pkg/BUILD/ cp -f $PR/c_gui/CASAManager.sh $BR/pkg/BUILD/ cp -f $PR/c_gui/images/* $BR/pkg/BUILD/ cp -f $PR/c_micasad/startup/micasad $BR/pkg/BUILD cp -f $PR/c_micasad/startup/micasad.sh $BR/pkg/BUILD cp -f $PR/lib/lux/ndbg/pam_micasa.so $BR/pkg/BUILD/ # create the direcories and set the rights on them cd $BR/pkg/casa_area install -m 755 -d opt/novell/CASA/ install -m 755 -d opt/novell/CASA/lib install -m 755 -d opt/novell/CASA/bin install -m 755 -d opt/novell/CASA/images install -m 755 -d opt/novell/CASA/doc install -m 755 -d opt/novell/CASA/pixmaps install -m 755 -d opt/novell/CASA/startup install -m 755 -d etc/init.d/ install -m 755 -d lib/security # copy the files to the restpected directories and set the rights on them cd $BR/pkg/BUILD install -m 755 libmicasa.so.$BLD_NO $BR/pkg/casa_area/opt/novell/CASA/lib install -m 755 libad_gk.so.$BLD_NO $BR/pkg/casa_area/opt/novell/CASA/lib install -m 755 libkwallets_rw.so.$BLD_NO $BR/pkg/casa_area/opt/novell/CASA/lib install -m 755 libjmicasa.so.$BLD_NO $BR/pkg/casa_area/opt/novell/CASA/lib install -m 755 Novell.CASA.miCASAWrapper.dll $BR/pkg/casa_area/opt/novell/CASA/lib install -m 755 Novell.CASA.Common.dll $BR/pkg/casa_area/opt/novell/CASA/lib install -m 755 Novell.CASA.A-D.dll $BR/pkg/casa_area/opt/novell/CASA/lib install -m 755 Novell.CASA.CASAPolicy.dll $BR/pkg/casa_area/opt/novell/CASA/lib install -m 755 Novell.CASA.DataEngines.GnomeKeyring.dll $BR/pkg/casa_area/opt/novell/CASA/lib install -m 755 Novell.CASA.DataEngines.KWallet.dll $BR/pkg/casa_area/opt/novell/CASA/lib install -m 755 micasad.exe $BR/pkg/casa_area/opt/novell/CASA/bin install -m 755 CASATrayApp.exe $BR/pkg/casa_area/opt/novell/CASA/bin install -m 755 CASAManager.exe $BR/pkg/casa_area/opt/novell/CASA/bin install -m 755 CASAManager.sh $BR/pkg/casa_area/opt/novell/CASA/bin install -m 755 micasad.sh $BR/pkg/casa_area/opt/novell/CASA/bin install -m 755 micasad $BR/pkg/casa_area/etc/init.d/ install -m 755 pam_micasa.so $BR/pkg/casa_area/lib/security install -m 755 casa-1.5.glade $BR/pkg/casa_area/opt/novell/CASA/images install -m 755 casa-1.5.gladep $BR/pkg/casa_area/opt/novell/CASA/images install -m 755 firefox-logo.png $BR/pkg/casa_area/opt/novell/CASA/images install -m 755 keyring-logo.png $BR/pkg/casa_area/opt/novell/CASA/images install -m 755 kwallet-logo.png $BR/pkg/casa_area/opt/novell/CASA/images install -m 755 casa-logo.png $BR/pkg/casa_area/opt/novell/CASA/images install -m 755 micasa-logo.png $BR/pkg/casa_area/opt/novell/CASA/images install -m 755 mozilla-logo.png $BR/pkg/casa_area/opt/novell/CASA/images install -m 755 novell-logo.png $BR/pkg/casa_area/opt/novell/CASA/images install -m 755 CASA_16.png $BR/pkg/casa_area/opt/novell/CASA/images install -m 755 CASA_32.png $BR/pkg/casa_area/opt/novell/CASA/images install -m 755 CASA_48.png $BR/pkg/casa_area/opt/novell/CASA/images install -m 755 CASAicons.ico $BR/pkg/casa_area/opt/novell/CASA/images install -m 755 CASAiconsLocked.ico $BR/pkg/casa_area/opt/novell/CASA/images # -bb and --buildroot are rpmbuild (rpmb) options that should be included # in /etc/popt, for rpm to work check "man rpm" and "man rpmbuild" search for -bb for # instructions. --buildroot should be added separately. #Create the rpm spec file on the fly cat << E/O/F > $BR/pkg/novell-CASA.spec Summary : Novell Client Authentication Service Adapter Identity Store (CASA) Name : novell-CASA Version : %version Release : %release Group : System/Cryptography Copyright: 1998-2005 Novell, Inc. All Rights Reserved Distribution : Novell URL : http://www.novell.com/ Packager : Novell Inc. AutoReqProv: no Vendor : Novell Inc. BuildArchitectures: i386 x86_64 requires: mono >= 1.1.8 %description NOVELL Client Authentication Service Adapter (CASA). %prep %build %install install -m 755 -d $BR/pkg/casa_area/opt/novell/CASA/lib install -m 755 -d $BR/pkg/casa_area/opt/novell/CASA/bin install -m 755 -d $BR/pkg/casa_area/opt/novell/CASA/images install -m 755 -d $BR/pkg/casa_area/opt/novell/CASA/doc install -m 755 -d $BR/pkg/casa_area/opt/novell/CASA/pixmaps install -m 755 -d $BR/pkg/casa_area/opt/novell/CASA/startup install -m 755 -d $BR/pkg/casa_area/etc/init.d/ install -m 755 -d $BR/pkg/casa_area/lib/security install -m 755 libmicasa.so.$BLD_NO $BR/pkg/casa_area/opt/novell/CASA/lib install -m 755 libad_gk.so.$BLD_NO $BR/pkg/casa_area/opt/novell/CASA/lib install -m 755 libkwallets_rw.so.$BLD_NO $BR/pkg/casa_area/opt/novell/CASA/lib install -m 755 libjmicasa.so.$BLD_NO $BR/pkg/casa_area/opt/novell/CASA/lib install -m 755 Novell.CASA.miCASAWrapper.dll $BR/pkg/casa_area/opt/novell/CASA/lib install -m 755 Novell.CASA.Common.dll $BR/pkg/casa_area/opt/novell/CASA/lib install -m 755 Novell.CASA.A-D.dll $BR/pkg/casa_area/opt/novell/CASA/lib install -m 755 Novell.CASA.CASAPolicy.dll $BR/pkg/casa_area/opt/novell/CASA/lib install -m 755 Novell.CASA.DataEngines.GnomeKeyring.dll $BR/pkg/casa_area/opt/novell/CASA/lib install -m 755 Novell.CASA.DataEngines.KWallet.dll $BR/pkg/casa_area/opt/novell/CASA/lib install -m 755 micasad.exe $BR/pkg/casa_area/opt/novell/CASA/bin install -m 755 CASATrayApp.exe $BR/pkg/casa_area/opt/novell/CASA/bin install -m 755 CASAManager.exe $BR/pkg/casa_area/opt/novell/CASA/bin install -m 755 CASAManager.sh $BR/pkg/casa_area/opt/novell/CASA/bin install -m 755 micasad.sh $BR/pkg/casa_area/opt/novell/CASA/bin install -m 755 micasad $BR/pkg/casa_area/etc/init.d install -m 755 pam_micasa.so $BR/pkg/casa_area/lib/security install -m 755 casa-1.5.glade $BR/pkg/casa_area/opt/novell/CASA/images install -m 755 casa-1.5.gladep $BR/pkg/casa_area/opt/novell/CASA/images install -m 755 firefox-logo.png $BR/pkg/casa_area/opt/novell/CASA/images install -m 755 keyring-logo.png $BR/pkg/casa_area/opt/novell/CASA/images install -m 755 kwallet-logo.png $BR/pkg/casa_area/opt/novell/CASA/images install -m 755 casa-logo.png $BR/pkg/casa_area/opt/novell/CASA/images install -m 755 micasa-logo.png $BR/pkg/casa_area/opt/novell/CASA/images install -m 755 mozilla-logo.png $BR/pkg/casa_area/opt/novell/CASA/images install -m 755 novell-logo.png $BR/pkg/casa_area/opt/novell/CASA/images install -m 755 CASA_16.png $BR/pkg/casa_area/opt/novell/CASA/images install -m 755 CASA_32.png $BR/pkg/casa_area/opt/novell/CASA/images install -m 755 CASA_48.png $BR/pkg/casa_area/opt/novell/CASA/images install -m 755 CASAicons.ico $BR/pkg/casa_area/opt/novell/CASA/images install -m 755 CASAiconsLocked.ico $BR/pkg/casa_area/opt/novell/CASA/images ln -sf libmicasa.so.$BLD_NO $BR/pkg/casa_area/opt/novell/CASA/lib/libmicasa.so ln -sf libmicasa.so.$BLD_NO $BR/pkg/casa_area/opt/novell/CASA/lib/libmicasa.so.$MAJ_SSS_NO ln -sf libkwallets_rw.so.$BLD_NO $BR/pkg/casa_area/opt/novell/CASA/lib/libkwallets_rw.so ln -sf libkwallets_rw.so.$BLD_NO $BR/pkg/casa_area/opt/novell/CASA/lib/libkwallets_rw.so.$MAJ_SSS_NO ln -sf libad_gk.so.$BLD_NO $BR/pkg/casa_area/opt/novell/CASA/lib/libad_gk.so ln -sf libad_gk.so.$BLD_NO $BR/pkg/casa_area/opt/novell/CASA/lib/libad_gk.so.$MAJ_SSS_NO ln -sf libjmicasa.so.$BLD_NO $BR/pkg/casa_area/opt/novell/CASA/lib/libjmicasa.so ln -sf libjmicasa.so.$BLD_NO $BR/pkg/casa_area/opt/novell/CASA/lib/libjmicasa.so.$MAJ_SSS_NO #ln -sf libmicasawrapper.so.$BLD_NO $BR/pkg/casa_area/opt/novell/CASA/lib/libmicasawrapper.so #ln -sf libmicasawrapper.so.$BLD_NO $BR/pkg/casa_area/opt/novell/CASA/lib/libmicasawrapper.so.$MAJ_SSS_NO %post insserv /etc/init.d/micasad echo "/opt/novell/CASA/lib/" >> /etc/ld.so.conf /sbin/ldconfig perl -e ' my @fileList = ("/etc/pam.d/xdm", "/etc/pam.d/gdm", "/etc/pam.d/kdm", "/etc/pam.d/login", "/etc/pam.d/sshd"); for (my \$j = 0; \$j <= \$#fileList; \$j++) { my \$filename = \$fileList [\$j]; if (-e \$filename) { print "Adding PAM module to \$filename\n"; my \$auth_line_to_be_inserted = "auth required pam_micasa.so"; my \$session_line_to_be_inserted = "session required pam_micasa.so"; open (FILE, "<\$filename") || die ("Cannot open file reading"); my @data = ; close (FILE); my \$auth_index = 0; my \$session_index = 0; for (my \$i = 0; \$i <= \$#data; \$i++) { my \$line = \$data [\$i]; if (\$line =~ /^auth.*/) { \$auth_index = \$i; } if (\$line =~ /^session.*/) { \$session_index = \$i; } } open (FILE, ">\$filename") || die ("Cannot open file for writing"); for (my \$i = 0; \$i <= \$#data; \$i++) { print FILE \$data [\$i]; if (\$i == \$auth_index) { print FILE \$auth_line_to_be_inserted."\n"; } if (\$i == \$session_index) { print FILE \$session_line_to_be_inserted."\n"; } } } } ' %files %attr(755,root,root)/opt/novell/CASA/lib/libmicasa.so.$BLD_NO %attr(755,root,root)/opt/novell/CASA/lib/libmicasa.so.$MAJ_SSS_NO %attr(755,root,root)/opt/novell/CASA/lib/libmicasa.so %attr(755,root,root)/opt/novell/CASA/lib/libkwallets_rw.so.$BLD_NO %attr(755,root,root)/opt/novell/CASA/lib/libkwallets_rw.so.$MAJ_SSS_NO %attr(755,root,root)/opt/novell/CASA/lib/libkwallets_rw.so %attr(755,root,root)/opt/novell/CASA/lib/libad_gk.so.$BLD_NO %attr(755,root,root)/opt/novell/CASA/lib/libad_gk.so.$MAJ_SSS_NO %attr(755,root,root)/opt/novell/CASA/lib/libad_gk.so %attr(755,root,root)/opt/novell/CASA/lib/libjmicasa.so.$BLD_NO %attr(755,root,root)/opt/novell/CASA/lib/libjmicasa.so.$MAJ_SSS_NO %attr(755,root,root)/opt/novell/CASA/lib/libjmicasa.so #%attr(755,root,root)/opt/novell/CASA/lib/libmicasawrapper.so.$BLD_NO #%attr(755,root,root)/opt/novell/CASA/lib/libmicasawrapper.so.$MAJ_SSS_NO #%attr(755,root,root)/opt/novell/CASA/lib/libmicasawrapper.so %attr(755,root,root)/opt/novell/CASA/lib/Novell.CASA.miCASAWrapper.dll %attr(755,root,root)/opt/novell/CASA/lib/Novell.CASA.Common.dll %attr(755,root,root)/opt/novell/CASA/lib/Novell.CASA.A-D.dll %attr(755,root,root)/opt/novell/CASA/lib/Novell.CASA.CASAPolicy.dll %attr(755,root,root)/opt/novell/CASA/lib/Novell.CASA.DataEngines.GnomeKeyring.dll %attr(755,root,root)/opt/novell/CASA/lib/Novell.CASA.DataEngines.KWallet.dll %attr(755,root,root)/opt/novell/CASA/bin/micasad.exe %attr(755,root,root)/opt/novell/CASA/bin/CASATrayApp.exe %attr(755,root,root)/opt/novell/CASA/bin/CASAManager.exe %attr(755,root,root)/opt/novell/CASA/bin/CASAManager.sh %attr(755,root,root)/opt/novell/CASA/bin/micasad.sh %attr(755,root,root)/etc/init.d/micasad %attr(755,root,root)/lib/security/pam_micasa.so %attr(755,root,root)/opt/novell/CASA/images/casa-1.5.glade %attr(755,root,root)/opt/novell/CASA/images/casa-1.5.gladep %attr(755,root,root)/opt/novell/CASA/images/firefox-logo.png %attr(755,root,root)/opt/novell/CASA/images/keyring-logo.png %attr(755,root,root)/opt/novell/CASA/images/kwallet-logo.png %attr(755,root,root)/opt/novell/CASA/images/casa-logo.png %attr(755,root,root)/opt/novell/CASA/images/micasa-logo.png %attr(755,root,root)/opt/novell/CASA/images/mozilla-logo.png %attr(755,root,root)/opt/novell/CASA/images/novell-logo.png %attr(755,root,root)/opt/novell/CASA/images/CASA_16.png %attr(755,root,root)/opt/novell/CASA/images/CASA_32.png %attr(755,root,root)/opt/novell/CASA/images/CASA_48.png %attr(755,root,root)/opt/novell/CASA/images/CASAicons.ico %attr(755,root,root)/opt/novell/CASA/images/CASAiconsLocked.ico %preun perl -e ' my @fileList = ("/etc/pam.d/xdm", "/etc/pam.d/gdm", "/etc/pam.d/kdm", "/etc/pam.d/login", "/etc/pam.d/sshd" ); for (my \$j = 0; \$j <= \$#fileList; \$j++) { my \$filename = \$fileList [\$j]; if (-e \$filename) { print "Removing PAM module from \$filename\n"; open (FILE, "<\$filename") || die ("Cannot open file reading"); my @data = ; close (FILE); open (FILE, ">\$filename") || die ("Cannot open file for writing"); for (my \$i = 0; \$i <= \$#data; \$i++) { my \$line = \$data [\$i]; if (\$line =~ /pam_micasa.so/) { } else { print FILE \$data [\$i]; } } close (FILE); } } ' perl -e ' my \$filename = "/etc/ld.so.conf"; if (-e \$filename) { open (FILE, "<\$filename") || die ("Cannot open file reading"); my @data = ; close (FILE); open (FILE, ">\$filename") || die ("Cannot open file for writing"); for (my \$i = 0; \$i <= \$#data; \$i++) { my \$line = \$data [\$i]; if (\$line =~ /CASA/) { } else { print FILE \$data [\$i]; } } close (FILE); } ' rm -rf /opt/novell/CASA /sbin/ldconfig insserv -r /etc/init.d/micasad rm /etc/init.d/micasad rm /lib/security/pam_micasa.so E/O/F (cd $BR/pkg/casa_area; pwd; rpmbuild -bb --buildroot $BR/pkg/casa_area ../novell-CASA.spec) #restore the .rpmmacros file if [ -f ~/.rpmmacros.orig ] then mv ~/.rpmmacros.orig ~/.rpmmacros fi if [ -r $BR/pkg/RPMS/i386/novell-CASA-*.rpm ] then echo Linux CASA-binary Package Done cp -f $BR/pkg/RPMS/i386/novell-CASA-*.rpm $PR/products/install/lux cd $BR/pkg rm -rf * exit 0 fi if [ -r $BR/pkg/RPMS/x86_64/novell-CASA-*.rpm ] then echo Linux CASA-binary Package Done cp -f $BR/pkg/RPMS/x86_64/novell-CASA-*.rpm $PR/products/install/lux cd $BR/pkg rm -rf * exit 0 fi echo Building Linux CASA-binary Package Failed cd $BR/pkg rm -rf * exit 1