# # spec file for package CASA (Version 1.5.0) # # Copyright (c) 2005 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://www.suse.de/feedback/ # # norootforbuild # neededforbuild gnome-filesystem mono gtk2-devel gtk2 gtk-sharp-gapi gtk-sharp glib2 Name: CASA URL: http://www.novell.com/products %define prefix /opt/novell License: GNU Library General Public License v. 2.0 and 2.1 (LGPL) Group: Productivity/Other Autoreqprov: on Version: 1.5.0 Release: 0 Summary: Novell Common Authentication Service Adapter (CASA) Source: %{name}-%{version}.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build requires: mono >= 1.1.7 gtk-sharp >= 1.0.9 ExclusiveArch: %ix86 x86_64 NoSource: 0 %description CASA (Common Authentication Services Adaptor) is a common authentication and security package providing a set of libraries for application and service developers to provide single sign-on to an enterprise network. CASA provides a local on box credential store that is purely session based in 1.0. This store is populated with your Desktop and Network Login credentials on Novell Linux Desktop, Windows and Apple workstations. %package devel Summary: Include Files and Libraries mandatory for Development. Group: Productivity/Other Requires: CASA = %{version}-%{release} Provides: CASA-devel %description devel This package contains all necessary include files and libraries needed to develop applications that require these. %prep %setup -q %ifarch x86_64 %define binsource bin64 %define libsource lib64 %else %define binsource bin %define libsource lib %endif %build export PATH=.:$PATH mk-cai-all mkdir -p %{buildroot}%{prefix} mkdir %{buildroot}%{prefix}/CASA #mkdir %{buildroot}%{prefix}/%{_lib} mkdir %{buildroot}%{prefix}/CASA/%{_lib} #mkdir %{buildroot}%{prefix}/bin mkdir %{buildroot}%{prefix}/CASA/%{binsource} #mkdir %{buildroot}%{prefix}/include mkdir %{buildroot}%{prefix}/CASA/include mkdir %{buildroot}%{prefix}/CASA/images mkdir -p %{buildroot}/%{_lib}/security install -m 755 %{_lib}/lux/ndbg/libmicasa.so.%version %{buildroot}%{prefix}/CASA/%{_lib} install -m 755 %{_lib}/lux/ndbg/libad_gk.so.%version %{buildroot}%{prefix}/CASA/%{_lib} install -m 755 %{_lib}/lux/ndbg/libkwallets_rw.so.%version %{buildroot}%{prefix}/CASA/%{_lib} install -m 755 %{_lib}/lux/ndbg/libjmicasa.so.%version %{buildroot}%{prefix}/CASA/%{_lib} install -m 755 %{_lib}/lux/ndbg/Novell.CASA.miCASAWrapper.dll %{buildroot}%{prefix}/CASA/%{_lib} install -m 755 %{_lib}/lux/ndbg/Novell.CASA.Common.dll %{buildroot}%{prefix}/CASA/%{_lib} install -m 755 %{_lib}/lux/ndbg/Novell.CASA.A-D.dll %{buildroot}%{prefix}/CASA/%{_lib} install -m 755 %{_lib}/lux/ndbg/Novell.CASA.CASAPolicy.dll %{buildroot}%{prefix}/CASA/%{_lib} install -m 755 %{_lib}/lux/ndbg/Novell.CASA.DataEngines.GnomeKeyring.dll %{buildroot}%{prefix}/CASA/%{_lib} install -m 755 %{_lib}/lux/ndbg/Novell.CASA.DataEngines.KWallet.dll %{buildroot}%{prefix}/CASA/%{_lib} install -m 755 %{binsource}/lux/ndbg/micasad.exe %{buildroot}%{prefix}/CASA/%{binsource} install -m 755 %{binsource}/lux/ndbg/CASATrayApp.exe %{buildroot}%{prefix}/CASA/%{binsource} install -m 755 %{binsource}/lux/ndbg/CASAManager.exe %{buildroot}%{prefix}/CASA/%{binsource} install -m 755 c_gui/CASAManager.sh %{buildroot}%{prefix}/CASA/%{binsource} cp -f c_gui/images/* %{buildroot}%{prefix}/CASA/images install -m 755 c_micasad/startup/micasad %{buildroot}%{prefix}/CASA/%{binsource} install -m 755 c_micasad/startup/micasad.sh %{buildroot}%{prefix}/CASA/%{binsource} install -m 755 %{_lib}/lux/ndbg/pam_micasa.so %{buildroot}/%{_lib}/security cp -f include/micasa.h %{buildroot}%{prefix}/CASA/include/ cp -f include/micasa_mgmd.h %{buildroot}%{prefix}/CASA/include/ %install install -d %{buildroot}%{prefix}/%{_lib} install -d %{buildroot}%{prefix}/bin install -d %{buildroot}%{prefix}/include install -d %{buildroot}%{prefix}/CASA/%{_lib} install -d %{buildroot}%{prefix}/CASA/bin install -d %{buildroot}%{prefix}/CASA/doc install -d %{buildroot}%{prefix}/CASA/include install -d %{buildroot}%{prefix}/CASA/images install -d %{buildroot}/%{_lib}/security #install -m 644 %{buildroot}%{prefix}/%libsource/miCASA.jar %{buildroot}%{prefix}/CASA/%{_lib} #install -m 644 doc/CASA_Admin_Guide.pdf %{buildroot}%{prefix}/CASA/doc #install -m 644 doc/miCASA_API_Guide.pdf %{buildroot}%{prefix}/CASA/doc #install -m 644 doc/README.txt %{buildroot}%{prefix}/CASA/doc ln -s ../CASA/%{binsource}/micasad.exe %{buildroot}%{prefix}/%{binsource}/micasad.exe ln -s ../CASA/%{binsource}/micasad.sh %{buildroot}%{prefix}/%{binsource}/micasad.sh ln -s ../CASA/%{binsource}/micasad %{buildroot}%{prefix}/%{binsource}/micasad ln -s ../CASA/%{binsource}/CASAManager.exe %{buildroot}%{prefix}/%{binsource}/CASAManager.exe ln -s ../CASA/%{binsource}/CASAManager.sh %{buildroot}%{prefix}/%{binsource}/CASAManager.sh ln -s ../CASA/%{binsource}/CASATrayApp.exe %{buildroot}%{prefix}/%{binsource}/CASATrayApp.exe ln -s libmicasa.so.%{version} %{buildroot}%{prefix}/CASA/%{_lib}/libmicasa.so ln -s libmicasa.so.%{version} %{buildroot}%{prefix}/CASA/%{_lib}/libmicasa.so.1 ln -s libjmicasa.so.%{version} %{buildroot}%{prefix}/CASA/%{_lib}/libjmicasa.so ln -s libjmicasa.so.%{version} %{buildroot}%{prefix}/CASA/%{_lib}/libjmicasa.so.1 #ln -s miCASA.jar %{buildroot}%{prefix}/CASA/%{_lib}/jmiCASA.jar ln -s ../CASA/%{_lib}/libmicasa.so %{buildroot}%{prefix}/%{_lib}/libmicasa.so ln -s ../CASA/%{_lib}/libmicasa.so.1 %{buildroot}%{prefix}/%{_lib}/libmicasa.so.1 ln -s ../CASA/%{_lib}/libjmicasa.so %{buildroot}%{prefix}/%{_lib}/libjmicasa.so ln -s ../CASA/%{_lib}/libjmicasa.so.1 %{buildroot}%{prefix}/%{_lib}/libjmicasa.so.1 #ln -s ../CASA/%{_lib}/miCASA.jar %{buildroot}%{prefix}/%{_lib}/jmiCASA.jar ln -s ../CASA/%{_lib}/Novell.CASA.miCASAWrapper.dll %{buildroot}%{prefix}/%{_lib}/Novell.CASA.miCASAWrapper.dll ln -s ../CASA/%{_lib}/Novell.CASA.Common.dll %{buildroot}%{prefix}/%{_lib}/Novell.CASA.Common.dll ln -s ../CASA/%{_lib}/Novell.CASA.CASAPolicy.dll %{buildroot}%{prefix}/%{_lib}/Novell.CASA.CASAPolicy.dll ln -s ../CASA/%{_lib}/Novell.CASA.A-D.dll %{buildroot}%{prefix}/%{_lib}/Novell.CASA.A-D.dll ln -s ../CASA/%{_lib}/Novell.CASA.DataEngines.GnomeKeyring.dll %{buildroot}%{prefix}/%{_lib}/Novell.CASA.DataEngines.GnomeKeyring.dll ln -s ../CASA/%{_lib}/Novell.CASA.DataEngines.KWallet.dll %{buildroot}%{prefix}/%{_lib}/Novell.CASA.DataEngines.KWallet.dll ln -s libkwallets_rw.so.%{version} %{buildroot}%{prefix}/CASA/%{_lib}/libkwallets_rw.so ln -s libkwallets_rw.so.%{version} %{buildroot}%{prefix}/CASA/%{_lib}/libkwallets_rw.so.1 ln -s libad_gk.so.%{version} %{buildroot}%{prefix}/CASA/%{_lib}/libad_gk.so ln -s libad_gk.so.%{version} %{buildroot}%{prefix}/CASA/%{_lib}/libad_gk.so.1 ln -s ../CASA/include/micasa.h %{buildroot}%{prefix}/include/micasa.h ln -s ../CASA/include/micasa_mgmd.h %{buildroot}%{prefix}/include/micasa_mgmd.h mkdir -p %{buildroot}/etc/init.d cp %{buildroot}%{prefix}/CASA/%{binsource}/micasad %{buildroot}/etc/init.d %ifarch x86_64 echo "/opt/novell/CASA/lib64/" >> /etc/ld.so.conf /sbin/ldconfig %else echo "/opt/novell/CASA/lib/" >> /etc/ld.so.conf /sbin/ldconfig %endif %post insserv /etc/init.d/micasad 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"; } } } } ' %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); } } ' insserv -r /etc/init.d/micasad %clean #rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %dir %{prefix} %dir %{prefix}/CASA %dir %{prefix}/%{_lib} %dir %{prefix}/%{_lib}/* %dir %{prefix}/CASA/%{_lib} %dir %{prefix}/CASA/%{_lib}/* %dir %{prefix}/%{binsource} %dir %{prefix}/%{binsource}/* %dir %{prefix}/CASA/%{binsource} %dir %{prefix}/CASA/%{binsource}/* %dir %{prefix}/CASA/doc %dir %{prefix}/CASA/images %dir %{prefix}/CASA/images/* /etc/init.d/micasad /%{_lib}/security/pam_micasa.so %files devel %defattr(-,root,root) %{prefix}/include %{prefix}/CASA/include %{prefix}/CASA/%{_lib}/*.so #%{prefix}/CASA/doc/miCASA_API_Guide.pdf %changelog -n CASA