# # 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 BuildRequires: aaa_base acl attr bash bind-utils bison bzip2 coreutils cpio cpp cracklib cvs cyrus-sasl db devs diffutils e2fsprogs file filesystem fillup findutils flex gawk gdbm-devel glibc glibc-devel glibc-locale gpm grep groff gzip info insserv kbd less libacl libattr libgcc libselinux libstdc++ libxcrypt m4 make man mktemp module-init-tools ncurses ncurses-devel net-tools netcfg openldap2-client openssl pam pam-modules patch permissions popt procinfo procps psmisc pwdutils rcs readline sed strace syslogd sysvinit tar tcpd texinfo timezone unzip util-linux vim zlib zlib-devel autoconf automake binutils gcc gdbm gettext gnome-filesystem libtool perl rpm Name: CASA URL: http://www.novell.com/products %define prefix /opt/novell License: Commercial, Other License(s), see package 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.8 ExclusiveArch: %ix86 x86_64 NoSource: 0 %description NOVELL Common Authentication Service Adapter (CASA). %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 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/bin #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/bin/micasad.exe %{buildroot}%{prefix}/bin/micasad.exe ln -s ../CASA/bin/micasad.sh %{buildroot}%{prefix}/bin/micasad.sh ln -s ../CASA/bin/micasad %{buildroot}%{prefix}/bin/micasad ln -s ../CASA/bin/CASAManager.exe %{buildroot}%{prefix}/bin/CASAManager.exe ln -s ../CASA/bin/CASAManager.sh %{buildroot}%{prefix}/bin/CASAManager.sh ln -s ../CASA/bin/CASATrayApp.exe %{buildroot}%{prefix}/bin/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/bin/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}/bin %dir %{prefix}/bin/* %dir %{prefix}/CASA/bin %dir %{prefix}/CASA/bin/* %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