# # spec file for package CASA (Version 1.0.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.0.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 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 %build %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/pixmaps install -d %{buildroot}%{prefix}/CASA/startup install -d %{buildroot}%{prefix}/CASA/include install -d %{buildroot}%{prefix}/CASA/images install -d %{buildroot}/%{_lib}/security %ifarch x86_64 %define binsource bin64 %define libsource lib64 %else %define binsource bin %define libsource lib %endif install -m 644 %libsource/pam_micasa.so %{buildroot}/%{_lib}/security install -m 644 %libsource/libmicasa.so.1.0.0 %{buildroot}%{prefix}/CASA/%{_lib} install -m 644 %libsource/libjmicasa.so.1.0.0 %{buildroot}%{prefix}/CASA/%{_lib} install -m 644 %libsource/miCASA.jar %{buildroot}%{prefix}/CASA/%{_lib} install -m 644 %libsource/Novell.CASA.miCASAWrapper.dll %{buildroot}%{prefix}/CASA/%{_lib} install -m 644 %libsource/Novell.CASA.Common.dll %{buildroot}%{prefix}/CASA/%{_lib} install -m 644 %libsource/libad_gk.so.1.0.0 %{buildroot}%{prefix}/CASA/%{_lib} install -m 644 %libsource/libkwallets_rw.so.1.0.0 %{buildroot}%{prefix}/CASA/%{_lib} install -m 644 %libsource/Novell.CASA.A-D.dll %{buildroot}%{prefix}/CASA/%{_lib} install -m 644 %libsource/Novell.CASA.CASAPolicy.dll %{buildroot}%{prefix}/CASA/%{_lib} install -m 644 %libsource/Novell.CASA.DataEngines.GnomeKeyring.dll %{buildroot}%{prefix}/CASA/%{_lib} install -m 644 %libsource/Novell.CASA.DataEngines.KWallet.dll %{buildroot}%{prefix}/CASA/%{_lib} install -m 755 images/casa-1.5.glade %{buildroot}%{prefix}/CASA/images install -m 755 images/casa-1.5.gladep %{buildroot}%{prefix}/CASA/images install -m 755 images/firefox-logo.png %{buildroot}%{prefix}/CASA/images install -m 755 images/keyring-logo.png %{buildroot}%{prefix}/CASA/images install -m 755 images/kwallet-logo.png %{buildroot}%{prefix}/CASA/images install -m 755 images/casa-logo.png %{buildroot}%{prefix}/CASA/images install -m 755 images/micasa-logo.png %{buildroot}%{prefix}/CASA/images install -m 755 images/mozilla-logo.png %{buildroot}%{prefix}/CASA/images install -m 755 images/novell-logo.png %{buildroot}%{prefix}/CASA/images install -m 755 %binsource/micasad.exe %{buildroot}%{prefix}/CASA/bin install -m 755 %binsource/CASATrayApp.exe %{buildroot}%{prefix}/CASA/bin install -m 755 %binsource/CASAManager.exe %{buildroot}%{prefix}/CASA/bin install -m 755 %binsource/CASAManager.sh %{buildroot}%{prefix}/CASA/bin install -m 755 startup/micasad %{buildroot}%{prefix}/CASA/bin install -m 755 startup/micasad.sh %{buildroot}%{prefix}/CASA/bin 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 install -m 644 include/micasa.h %{buildroot}%{prefix}/CASA/include install -m 644 include/micasa_mgmd.h %{buildroot}%{prefix}/CASA/include install -m 644 include/* %{buildroot}%{prefix}/CASA/include 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 cp %{buildroot}%{prefix}/CASA/include/micasa.h %{buildroot}%{prefix}/include cp %{buildroot}%{prefix}/CASA/include/micasa_mgmd.h %{buildroot}%{prefix}/include 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}/CASA/%{_lib} %dir %{prefix}/CASA/doc %dir %{prefix}/CASA/images %{prefix}/CASA/%{_lib}/*.so.* %{prefix}/CASA/%{_lib}/Novell.CASA.miCASAWrapper.dll %{prefix}/CASA/%{_lib}/Novell.CASA.Common.dll %{prefix}/CASA/%{_lib}/Novell.CASA.CASAPolicy.dll %{prefix}/CASA/%{_lib}/Novell.CASA.A-D.dll %{prefix}/CASA/%{_lib}/Novell.CASA.DataEngines.GnomeKeyring.dll %{prefix}/CASA/%{_lib}/Novell.CASA.DataEngines.KWallet.dll %{prefix}/CASA/%{_lib}/miCASA.jar %{prefix}/CASA/bin %{prefix}/CASA/images/* %{prefix}/CASA/doc/CASA_Admin_Guide.pdf %{prefix}/CASA/doc/README.txt /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