CASA/shsrc/lshsrc/CASA.spec

268 lines
10 KiB
RPMSpec
Raw Normal View History

#
# 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
2005-10-12 17:59:24 +02:00
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
%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 = <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}/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