CASA/CASA-auth-token/server/package/linux/CASA_auth_token_server.spec.in

365 lines
13 KiB
RPMSpec
Raw Normal View History

#
# spec file for the CASA_auth_token server ( Version @VERSION@ )
#
# Copyright (c) 2006 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://bugs.opensuse.org/
#
# norootforbuild
Name: CASA_auth_token_server
%define cfg Release
%define debug_opt ""
URL: http://www.novell.com/products
BuildRequires: CASA-devel apache2-devel expat gcc-c++ glib2-devel libstdc++ libstdc++-devel mono-devel pam-devel pkgconfig update-alternatives java-sdk-1.5.0 sysvinit insserv pwdutils
%ifarch %ix86
BuildRequires: java-1_5_0-ibm-alsa
%endif
%define prefix /usr
License: LGPL
Group: System/Libraries
Autoreqprov: on
%define bldno @VERSION@
Version: @VERSION@
Release: 1
Summary: Novell CASA Authentication Token Libraries for C/C++ Server Applications
Source: %{name}-%{version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires: jre >= 1.5.0
2006-11-18 08:10:14 +01:00
Requires: expat binutils CASA_auth_token_jaas_support sysvinit insserv
PreReq: %fillup_prereq %insserv_prereq
PreReq: /usr/bin/awk, /usr/bin/test, /bin/grep, /bin/cat, /usr/bin/install, /bin/pwd
PreReq: /usr/sbin/groupadd, /usr/sbin/useradd, /usr/sbin/userdel, /usr/bin/getent
%description
CASA_auth_token is an authentication token infrastructure with support
for multiple authentication mechanisms with an emphasis on providing a scalable
single sign-on solution.
A key feature of CASA_auth_token is that its authentication tokens contain
identity information about the entity being authenticated. This information is
made available to the consuming services. The amount of information contained in
the tokens is configured on a per-service basis. Because of this feature, we say
that CASA_auth_token projects an "Authenticated Identity".
The CASA_auth_token_server package contains the CASA (Common Authentication
Services Adapter) authentication token infrastructure lower level libraries for
token verification from native code ("C"). It is recomended that this library
not be invoked directly by applications, instead it is recomended that
appplication invoke its services through the support modules provided to
integrate with PAM or the Apache Web Server.
Authors:
--------
Juan Carlos Luciani - jluciani@novell.com
%package -n CASA_auth_token_pam_support
Summary: Novell CASA Authentication Token PAM Support Components
Group: System/Libraries
Requires: CASA_auth_token_server pam
%description -n CASA_auth_token_pam_support
CASA_auth_token is an authentication token infrastructure with support
for multiple authentication mechanisms with an emphasis on providing a scalable
single sign-on solution.
A key feature of CASA_auth_token is that its authentication tokens contain
identity information about the entity being authenticated. This information is
made available to the consuming services. The amount of information contained in
the tokens is configured on a per-service basis. Because of this feature, we say
that CASA_auth_token projects an "Authenticated Identity".
The CASA_auth_token_pam_support package contains the CASA (Common Authentication
Services Adapter) authentication token infrastructure PAM module for token
verification.
Authors:
--------
Juan Carlos Luciani - jluciani@novell.com
%package -n CASA_auth_token_apache2_2_support
Summary: Novell CASA Authentication Token Apache2_2 Support Components
Group: System/Libraries
Requires: apache2 CASA_auth_token_server
%description -n CASA_auth_token_apache2_2_support
CASA_auth_token is an authentication token infrastructure with support
for multiple authentication mechanisms with an emphasis on providing a scalable
single sign-on solution.
A key feature of CASA_auth_token is that its authentication tokens contain
identity information about the entity being authenticated. This information is
made available to the consuming services. The amount of information contained in
the tokens is configured on a per-service basis. Because of this feature, we say
that CASA_auth_token projects an "Authenticated Identity".
The CASA_auth_token_apache2_2_support package contains the CASA (Common
Authentication Services Adapter) authentication token infrastructure Apache
v2.2 authentication provider module for token verification. The module expects
that users authenticate utilizing the HTTP Basic authentication scheme and that
the password utilized consist of a CASA authentication token. Information about
the authenticated identity is made available to other Apache modules via the
Apache request environment variable.
Authors:
--------
Juan Carlos Luciani - jluciani@novell.com
%package -n CASA_auth_token_server-devel
Summary: Novell CASA Authentication Token Server Development Files
Group: Development/Libraries/C and C++
Requires: CASA-devel CASA_auth_token_server CASA_auth_token_jaas_support CASA_auth_token_pam_support CASA_auth_token_apache2_2_support
%description -n CASA_auth_token_server-devel
CASA_auth_token is an authentication token infrastructure with support
for multiple authentication mechanisms with an emphasis on providing a scalable
single sign-on solution.
A key feature of CASA_auth_token is that its authentication tokens contain
identity information about the entity being authenticated. This information is
made available to the consuming services. The amount of information contained in
the tokens is configured on a per-service basis. Because of this feature, we say
that CASA_auth_token projects an "Authenticated Identity".
The CASA_auth_token_server-devel package contains the files necessary for the
development of server applications that utilize the CASA (Common Authentication
Service Adapter) authentication token infrastructure for authentication.
Authors:
--------
Juan Carlos Luciani - jluciani@novell.com
%prep
%setup -q
#%patch
%if %{_lib} == "lib64"
%define binsource bin64
%else
%define binsource bin
%endif
%build
export PATH=.:$PATH:/usr/%_lib/qt3/bin
%if %suse_version > 1000
export CFLAGS="$CFLAGS $RPM_OPT_FLAGS -fstack-protector"
%endif
./autogen.sh
make
%install
export NO_BRP_CHECK_BYTECODE_VERSION="true"
## Prime the file system ##
install -d %{buildroot}%{prefix}
install -d %{buildroot}%{prefix}/bin
install -d %{buildroot}%{prefix}/sbin
install -d %{buildroot}%{prefix}/%{_lib}
install -d %{buildroot}%{prefix}/%{_lib}/CASA
install -d %{buildroot}%{prefix}/%{_lib}/CASA/authtoken
install -d %{buildroot}/%{_lib}/security
install -d %{buildroot}%{prefix}/include
install -d %{buildroot}/etc/init.d
install -d %{buildroot}/etc/ld.so.conf.d
install -d %{buildroot}/var
install -d %{buildroot}/var/lib
install -d -m 755 %{buildroot}/var/lib/CASA
install -d -m 755 %{buildroot}/var/lib/CASA/authtoken
install -d -m 755 %{buildroot}/var/lib/CASA/authtoken/validate
install -d -m 755 %{buildroot}/etc/CASA
install -d -m 755 %{buildroot}/etc/CASA/authtoken
install -d -m 755 %{buildroot}/etc/CASA/authtoken/validate
install -d -m 755 %{buildroot}/etc/CASA/authtoken/modules
## CASA_auth_token_server ##
# Libs
install -m 755 %{_lib}/%{cfg}/libcasa_s_authtoken.so %{buildroot}%{prefix}/%{_lib}/libcasa_s_authtoken.so.%{bldno}
install -m 755 %{_lib}/%{cfg}/casa_iden_token.so %{buildroot}%{prefix}/%{_lib}/CASA/authtoken/casa_iden_token.so.%{bldno}
install -m 755 %{_lib}/%{cfg}/libcasa_c_ipc.so %{buildroot}%{prefix}/%{_lib}/libcasa_c_ipc.so.%{bldno}
install -m 755 %{_lib}/%{cfg}/libcasa_s_ipc.so %{buildroot}%{prefix}/%{_lib}/libcasa_s_ipc.so.%{bldno}
# Symbolic Links
ln -sf casa_iden_token.so.%{bldno} %{buildroot}%{prefix}/%{_lib}/CASA/authtoken/casa_iden_token.so
ln -sf casa_iden_token.so.%{bldno} %{buildroot}%{prefix}/%{_lib}/CASA/authtoken/casa_iden_token.so.1
ln -sf libcasa_s_authtoken.so.%{bldno} %{buildroot}%{prefix}/%{_lib}/libcasa_s_authtoken.so
ln -sf libcasa_s_authtoken.so.%{bldno} %{buildroot}%{prefix}/%{_lib}/libcasa_s_authtoken.so.1
ln -sf libcasa_c_ipc.so.%{bldno} %{buildroot}%{prefix}/%{_lib}/libcasa_c_ipc.so
ln -sf libcasa_c_ipc.so.%{bldno} %{buildroot}%{prefix}/%{_lib}/libcasa_c_ipc.so.1
ln -sf libcasa_s_ipc.so.%{bldno} %{buildroot}%{prefix}/%{_lib}/libcasa_s_ipc.so
ln -sf libcasa_s_ipc.so.%{bldno} %{buildroot}%{prefix}/%{_lib}/libcasa_s_ipc.so.1
# Bins
install -m 755 %{binsource}/%{cfg}/CasaAuthtokenValidateD %{buildroot}%{prefix}/bin/casa_atvd
# Others
install -m 644 %{_lib}/%{cfg}/CasaIdentityToken.conf %{buildroot}/etc/CASA/authtoken/modules/CasaIdentityToken.conf
install -m 755 AuthTokenValidate/Svc/linux/CasaAuthtokenValidateD %{buildroot}/etc/init.d/casa_atvd
install -m 750 AuthTokenValidate/Svc/linux/envvars %{buildroot}/etc/CASA/authtoken/validate/
ln -sf casa_atvd %{buildroot}%{prefix}/sbin/rccasa_atvd
## CASA_auth_token_pam_support ##
# Libs
install -m 755 %{_lib}/%{cfg}/pam_casaauthtok.so %{buildroot}/%{_lib}/security/pam_casaauthtok.so
## CASA_auth_token_apache2_2_support ##
# Libs
install -m 755 %{_lib}/%{cfg}/mod_authn_casa.so %{buildroot}%{prefix}/%{_lib}/mod_authn_casa.so.%{bldno}
# Symbolic Links
ln -sf mod_authn_casa.so.%{bldno} %{buildroot}%{prefix}/%{_lib}/mod_authn_casa.so
ln -sf mod_authn_casa.so.%{bldno} %{buildroot}%{prefix}/%{_lib}/mod_authn_casa.so.1
## CASA_auth_token_server-devel ##
# Header Files
install -m 644 include/casa_s_authtoken.h %{buildroot}%{prefix}/include
install -m 644 include/casa_c_ipc.h %{buildroot}%{prefix}/include
install -m 644 include/casa_s_ipc.h %{buildroot}%{prefix}/include
%clean
rm -rf $RPM_BUILD_ROOT
## CASA_auth_token_server ##
%pre
# Do necessary user and group administration
group_present=`getent group | grep ^casaauth`
if [ -z "$group_present" ] ; then
/usr/sbin/groupadd -r casaauth
fi
user_present=`getent passwd | grep ^casaatvd`
if [ -z "$user_present" ] ; then
/usr/sbin/useradd -c "casa_atvd System User" -s /bin/false -r -d /var/lib/CASA/authtoken/validate -g casaauth casaatvd 2> /dev/null || :
fi
%post
/sbin/ldconfig
# Install casa_atvd init script, set it to start by default.
%{fillup_and_insserv -y casa_atvd}
%preun
%stop_on_removal casa_atvd
%postun
%restart_on_update casa_atvd
%insserv_cleanup
/sbin/ldconfig
# Do not do anything else if this is an upgrade
if test "$1" == 1; then
exit 0
fi
# Delete the var files
rm -rf /var/lib/CASA/authtoken/validate
%files
%defattr(-,root,root)
%dir %{prefix}/%{_lib}/CASA
%dir %{prefix}/%{_lib}/CASA/authtoken
%dir /var/lib/CASA
%dir /var/lib/CASA/authtoken
%dir %attr(-, casaatvd, casaauth) /var/lib/CASA/authtoken/validate
%dir /etc/CASA
%dir /etc/CASA/authtoken
%dir /etc/CASA/authtoken/validate
%dir /etc/CASA/authtoken/modules
%{prefix}/%{_lib}/libcasa_s_authtoken.so.%{bldno}
%{prefix}/%{_lib}/libcasa_s_authtoken.so
%{prefix}/%{_lib}/libcasa_s_authtoken.so.1
%{prefix}/%{_lib}/libcasa_c_ipc.so.%{bldno}
%{prefix}/%{_lib}/libcasa_c_ipc.so
%{prefix}/%{_lib}/libcasa_c_ipc.so.1
%{prefix}/%{_lib}/libcasa_s_ipc.so.%{bldno}
%{prefix}/%{_lib}/libcasa_s_ipc.so
%{prefix}/%{_lib}/libcasa_s_ipc.so.1
%{prefix}/%{_lib}/CASA/authtoken/casa_iden_token.so.%{bldno}
%{prefix}/%{_lib}/CASA/authtoken/casa_iden_token.so
%{prefix}/%{_lib}/CASA/authtoken/casa_iden_token.so.1
%{prefix}/bin/casa_atvd
%config /etc/CASA/authtoken/validate/envvars
%config /etc/CASA/authtoken/modules/CasaIdentityToken.conf
/etc/init.d/casa_atvd
/usr/sbin/rccasa_atvd
## CASA_auth_token_pam_support ##
%pre -n CASA_auth_token_pam_support
# Nothing to do in this pre script
%post -n CASA_auth_token_pam_support
/sbin/ldconfig
%preun -n CASA_auth_token_pam_support
# Nothing to do in this preun script
%postun -n CASA_auth_token_pam_support
/sbin/ldconfig
%files -n CASA_auth_token_pam_support
%defattr(-,root,root)
%dir /%{_lib}/security
/%{_lib}/security/pam_casaauthtok.so
## CASA_auth_token_apache2_2_support ##
%pre -n CASA_auth_token_apache2_2_support
# Nothing to do in this pre script
%post -n CASA_auth_token_apache2_2_support
/sbin/ldconfig
%preun -n CASA_auth_token_apache2_2_support
# Nothing to do in this preun script
%postun -n CASA_auth_token_apache2_2_support
/sbin/ldconfig
%files -n CASA_auth_token_apache2_2_support
%defattr(-,root,root)
%{prefix}/%{_lib}/mod_authn_casa.so.%{bldno}
%{prefix}/%{_lib}/mod_authn_casa.so
%{prefix}/%{_lib}/mod_authn_casa.so.1
## CASA_auth_token_server-devel ##
%pre -n CASA_auth_token_server-devel
# Nothing to do in this pre script
%post -n CASA_auth_token_server-devel
# Nothing to do in this post script
%preun -n CASA_auth_token_server-devel
# Nothing to do in this preun script
%postun -n CASA_auth_token_server-devel
# Nothing to do in this postun script
%files -n CASA_auth_token_server-devel
%defattr(-,root,root)
%{prefix}/include/casa_s_authtoken.h
%{prefix}/include/casa_c_ipc.h
%{prefix}/include/casa_s_ipc.h
%changelog -n CASA_auth_token_server