# # 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 glib2-devel qt3-devel gcc-c++ kdeutils3 kdelibs3-devel kdelibs3 qt3 qt3-devel kdesdk3 libstdc++-devel pkgconfig gnome-keyring gnome-keyring-devel glib-devel glib pam pam-devel java2 novell-xplatlib novell-xplatlib-devel 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/nwautologin %{buildroot}%{prefix}/CASA/%{binsource} 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 c_clientlogin/novell-ncl-autologin.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 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/profile.d cp %{buildroot}%{prefix}/CASA/%{binsource}/novell-ncl-autologin.sh %{buildroot}/etc/profile.d 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