CASA/shsrc/lshsrc/CASA.spec

273 lines
11 KiB
RPMSpec
Raw Normal View History

#
# 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
2005-10-20 02:45:47 +02:00
# neededforbuild gnome-filesystem mono gtk2-devel gtk2 gtk-sharp-gapi gtk-sharp
2005-10-20 02:45:47 +02:00
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 gtk-sharp gtk2 mono glib2 glib2-32
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
2005-10-20 02:45:47 +02:00
Requires: mono >= 1.1.8 gtk-sharp >= 1.0.9 gtk2 >= 2.4.14
ExclusiveArch: %ix86 x86_64
2005-10-14 16:32:10 +02:00
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
2005-10-20 02:45:47 +02:00
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
2005-10-20 02:45:47 +02:00
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
2005-10-20 02:45:47 +02:00
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
2005-10-20 02:45:47 +02:00
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 = <FILE>;
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 = <FILE>;
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}/*
2005-10-20 02:45:47 +02:00
%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