#
# 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

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
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 can use CASA (Common Authnetication Services Adapter) 
for credential storage and single sign-on.

%package gui
Summary:      The CASA Console Utility
Group:        Productivity/Other
Requires:     CASA = %{version}-%{release} gtk-sharp >= 1.0.9 
Provides:     CASA-gui

%description gui 
This package contains the CASA (Common Authnetication Services Adapter) 
Management application that allows you to manage credentials within CASA 
and for your kwallet gnome keyring.  Additionally, you can also link secrets 
to one another.

%prep
%setup -q

%ifarch x86_64
%define binsource bin64
%else
%define binsource bin
%endif


%build

export PATH=.:$PATH
mk-cai-all

%install

mkdir -p %{buildroot}%{prefix}
mkdir %{buildroot}%{prefix}/CASA
mkdir %{buildroot}%{prefix}/CASA/%{_lib}
mkdir %{buildroot}%{prefix}/CASA/bin
mkdir %{buildroot}%{prefix}/CASA/include
mkdir %{buildroot}%{prefix}/CASA/images
mkdir %{buildroot}%{prefix}/CASA/doc
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/bin
install -m 755 %{binsource}/lux/ndbg/CASAManager.exe %{buildroot}%{prefix}/CASA/bin
install -m 755 c_gui/CASAManager.sh %{buildroot}%{prefix}/CASA/bin
install -m 755 c_gui/CASAManager.desktop %{buildroot}%{prefix}/CASA/
cp -f c_gui/images/* %{buildroot}%{prefix}/CASA/images
install -m 755 c_micasad/startup/micasad %{buildroot}%{prefix}/CASA/bin
install -m 755 c_micasad/startup/micasad.sh %{buildroot}%{prefix}/CASA/bin
#install -m 755 c_clientlogin/novell-ncl-autologin.sh %{buildroot}%{prefix}/CASA/bin

install -m 755 %{_lib}/lux/ndbg/pam_micasa.so %{buildroot}/%{_lib}/security

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}/%{_lib}/miCASA.jar %{buildroot}%{prefix}/CASA/%{_lib}

install -m 644 doc/CASA_Reference_Guide.pdf %{buildroot}%{prefix}/CASA/doc
install -m 644 doc/License.txt %{buildroot}%{prefix}/CASA/doc
install -m 644 doc/Readme.txt %{buildroot}%{prefix}/CASA/doc
install -m 644 include/micasa_mgmd.h %{buildroot}%{prefix}/CASA/include
install -m 644 include/* %{buildroot}%{prefix}/CASA/include


#cp -f include/micasa.h %{buildroot}%{prefix}/CASA/include/
#cp -f include/micasa_mgmd.h %{buildroot}%{prefix}/CASA/include/
#cp -f doc/CASA_Reference_Guide.pdf %{buildroot}%{prefix}/CASA/doc/
#cp -f doc/Readme.txt %{buildroot}%{prefix}/CASA/doc/
#cp -f doc/License.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 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 ../CASA/%{_lib}/libkwallets_rw.so %{buildroot}%{prefix}/%{_lib}/libkwallets_rw.so
ln -s ../CASA/%{_lib}/libkwallets_rw.so.1 %{buildroot}%{prefix}/%{_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/%{_lib}/libad_gk.so %{buildroot}%{prefix}/%{_lib}/libad_gk.so
ln -s ../CASA/%{_lib}/libad_gk.so.1 %{buildroot}%{prefix}/%{_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

# autologin 
#mkdir -p %{buildroot}/etc/profile.d
#cp %{buildroot}%{prefix}/CASA/bin/novell-ncl-autologin.sh %{buildroot}/etc/profile.d

mkdir -p %{buildroot}/etc/init.d
cp %{buildroot}%{prefix}/CASA/bin/micasad %{buildroot}/etc/init.d


%post
if [ $1 -eq 1 ]
then
        insserv /etc/init.d/micasad	
        echo "/opt/novell/CASA/%{_lib}/" >> /etc/ld.so.conf.d/CASA.conf
	/sbin/ldconfig

#        for file in "/etc/pam.d/login" "/etc/pam.d/sshd" "/etc/pam.d/xdm" "/etc/pam.d/gdm" "/etc/pam.d/kdm"
#        for file in "/etc/security/pam_unix2.conf"
#        do
#
#        if [ -f $name ]
#        then
#        awk '
#           /auth/ { authSeen++; }
#           /account/ { 
#                         if (!acctSeen && authSeen)
#                         { 
#                             print "auth\trequired\tpam_micasa.so\n";}
#                            acctSeen++;
#                         }
#           /session/ { sesSeen++; }
#           // {print $0; }
#           END { if (sesSeen)
#           print "session\trequired\tpam_micasa.so\n"; }
#           ' $file > $file.sav
#           mv $file.sav $file
#        fi
#        done

fi
%preun

if [ $1 -eq 0 ]
then
#    for file in "/etc/pam.d/login" "/etc/pam.d/sshd" "/etc/pam.d/xdm" "/etc/pam.d/gdm" "/etc/pam.d/kdm"
#    for file in "/etc/security/pam_unix2.conf"
#    do
#    if [ -f $name ]
#    then
#        sed '/pam_micasa/d' $file > $file.sav
#        mv $file.sav $file
#    fi
#    done
#     
     rm -f /etc/ld.so.conf.d/CASA.conf
     /sbin/ldconfig
     insserv -r /etc/init.d/micasad	
fi 

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root)
%dir %{prefix}
%dir %{prefix}/CASA
%dir %{prefix}/%{_lib}
%dir %{prefix}/CASA/%{_lib}
%dir %{prefix}/CASA/doc
%dir %{prefix}/CASA/%{_lib}/libmicasa.so.%version
%dir %{prefix}/CASA/%{_lib}/libmicasa.so
%dir %{prefix}/CASA/%{_lib}/libmicasa.so.1
%dir %{prefix}/CASA/%{_lib}/libjmicasa.so.%version
%dir %{prefix}/CASA/%{_lib}/libjmicasa.so
%dir %{prefix}/CASA/%{_lib}/libjmicasa.so.1
%dir %{prefix}/CASA/%{_lib}/Novell.CASA.miCASAWrapper.dll
%dir %{prefix}/CASA/%{_lib}/Novell.CASA.Common.dll

%dir %{prefix}/%{_lib}/libmicasa.so
%dir %{prefix}/%{_lib}/libmicasa.so.1
%dir %{prefix}/%{_lib}/libjmicasa.so
%dir %{prefix}/%{_lib}/libjmicasa.so.1

%dir %{prefix}/%{_lib}/Novell.CASA.miCASAWrapper.dll
%dir %{prefix}/%{_lib}/Novell.CASA.Common.dll

%dir %{prefix}/bin
%dir %{prefix}/CASA/bin
%{prefix}/CASA/bin/micasad
%{prefix}/CASA/bin/micasad.sh
%{prefix}/CASA/bin/micasad.exe

%{prefix}/CASA/doc/CASA_Reference_Guide.pdf
%{prefix}/CASA/doc/License.txt
%{prefix}/CASA/doc/Readme.txt

%{prefix}/bin/micasad
%{prefix}/bin/micasad.sh
%{prefix}/bin/micasad.exe

#%dir %{prefix}/CASA/doc

/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/CASA_Reference_Guide.pdf
%{prefix}/CASA/doc/License.txt
%{prefix}/CASA/doc/Readme.txt


%files gui
%defattr(-,root,root)
%dir %{prefix}/CASA/bin/
%{prefix}/CASA/bin/CASAManager.sh
%{prefix}/CASA/bin/CASAManager.exe
%{prefix}/CASA/CASAManager.desktop
%{prefix}/CASA/doc/License.txt
%{prefix}/CASA/doc/Readme.txt


%dir %{prefix}/CASA/%{_lib}/

%{prefix}/CASA/%{_lib}/libad_gk.so.%version
%{prefix}/CASA/%{_lib}/libad_gk.so
%{prefix}/CASA/%{_lib}/libad_gk.so.1
%{prefix}/CASA/%{_lib}/libkwallets_rw.so.%version
%{prefix}/CASA/%{_lib}/libkwallets_rw.so
%{prefix}/CASA/%{_lib}/libkwallets_rw.so.1
%{prefix}/CASA/%{_lib}/Novell.CASA.A-D.dll
%{prefix}/CASA/%{_lib}/Novell.CASA.CASAPolicy.dll
%{prefix}/CASA/%{_lib}/Novell.CASA.DataEngines.GnomeKeyring.dll
%{prefix}/CASA/%{_lib}/Novell.CASA.DataEngines.KWallet.dll

%{prefix}/%{_lib}/libad_gk.so
%{prefix}/%{_lib}/libad_gk.so.1
%{prefix}/%{_lib}/libkwallets_rw.so
%{prefix}/%{_lib}/libkwallets_rw.so.1
%{prefix}/%{_lib}/Novell.CASA.A-D.dll
%{prefix}/%{_lib}/Novell.CASA.CASAPolicy.dll
%{prefix}/%{_lib}/Novell.CASA.DataEngines.GnomeKeyring.dll
%{prefix}/%{_lib}/Novell.CASA.DataEngines.KWallet.dll

%dir %{prefix}/CASA/images
%dir %{prefix}/CASA/images/*

%changelog -n CASA