experimental/trunk/novell4gentoo/net-nds/novell-xtier-base/novell-xtier-base-3.1.6.8-r1.ebuild
2008-11-08 16:27:35 +00:00

285 lines
12 KiB
Bash

# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
NOVELL_BUILDID="N848u3D7BjQ~"
NOVELL_FILE32="Novell_Client_11.0-i386-20081003-CD1.iso"
NOVELL_FILE64="Novell_Client_11.0-x86_64-20081003-CD1.iso"
RESTRICT="mirror strip"
USE_RPMOFFSET_ONLY="1"
inherit novell eutils rpm versionator
MY_PVV=$(replace_version_separator 3 '-')
MY_PV="${MY_PVV/_p/-}"
DESCRIPTION="Novell Xtier Base"
HOMEPAGE="http://www.novell.com"
SRC_URI="x86? ( http://${NOVELL_ACCOUNT_USERNAME}:${NOVELL_ACCOUNT_PASSWORD}@cdn.novell.com/prot/${NOVELL_BUILDID}/${NOVELL_FILE32}
http://download.opensuse.org/distribution/11.0/repo/oss/suse/i586/binutils-2.18.50.20080409-11.1.i586.rpm )
amd64? ( http://${NOVELL_ACCOUNT_USERNAME}:${NOVELL_ACCOUNT_PASSWORD}@cdn.novell.com/prot/${NOVELL_BUILDID}/${NOVELL_FILE64}
http://download.opensuse.org/distribution/11.0/repo/oss/suse/x86_64/binutils-2.18.50.20080409-11.1.x86_64.rpm )"
LICENSE="Novell-NCL"
SLOT="0"
KEYWORDS="~x86 ~amd64"
IUSE=""
DEPEND=">=app-arch/p7zip-4.15
>=app-arch/rpm-5.1"
RDEPEND="virtual/libc
net-nds/novell-xtier-env
>=dev-libs/expat-2.0.0
>=net-nds/novell-xtier-core-${PV}
>=sys-libs/ncurses-5.5
>=sys-devel/gcc-4.1"
src_unpack() {
cd "${WORKDIR}"
if use x86
then
narch=i586
nlib=lib
7z x "${DISTDIR}"/${NOVELL_FILE32}
elif use amd64
then
narch=x86_64
nlib=lib64
7z x "${DISTDIR}"/${NOVELL_FILE64}
fi
7z x "${DISTDIR}"/binutils-2.18.50.20080409-11.1.${narch}.rpm
7z x "${WORKDIR}"/binutils-2.18.50.20080409-11.1.${narch}.cpio.lzma
7z x "${WORKDIR}"/binutils-2.18.50.20080409-11.1.${narch}.cpio
mkdir -p "${WORKDIR}"/${PN}-${MY_PV}
cd ${PN}-${MY_PV}
rpm_unpack "${WORKDIR}"/suse/${narch}/${PN}-${MY_PV}.${narch}.rpm
}
src_compile() { :; }
src_install() {
into /opt/novell/xtier
# still a hack
dolib.so "${WORKDIR}"/usr/${nlib}/libbfd-*.so
dobin "${WORKDIR}"/${PN}-${MY_PV}/opt/novell/xtier/bin/*
dolib.so "${WORKDIR}"/${PN}-${MY_PV}/opt/novell/xtier/${nlib}/*
dodoc "${WORKDIR}"/${PN}-${MY_PV}/usr/share/doc/packages/${PN}/*
dodir /var/opt/novell/xtier/xregd/db
keepdir /var/opt/novell/xtier/xregd/db
dodir /etc/opt/novell/xtier/xregd
keepdir /etc/opt/novell/xtier/xregd
insinto /etc/opt/novell/xtier/
doins "${WORKDIR}"/${PN}-${MY_PV}/etc/opt/novell/xtier/*
newinitd "${FILESDIR}"/novell-xregd20.initd novell-xregd
}
pkg_nofetch() {
einfo "This files require you to register at ${HOMEPAGE} (free account)"
einfo "Please download following file:"
if use x86
then
einfo " - ${NOVELL_FILE32}"
elif use amd64
then
einfo " - ${NOVELL_FILE64}"
fi
einfo "from http://download.novell.com/Download?buildid=${NOVELL_BUILDID}"
einfo "and place it in ${DISTDIR}"
einfo ""
einfo "To get rid of downloading files from ${HOMEPAGE}"
einfo "you can create a file /etc/portage/novell.acc"
einfo "containing the novell account infos with following commands"
einfo "# echo \"NOVELL_ACCOUNT_USERNAME=\\\"balduin\\\"\" >> /etc/portage/novell.acc"
einfo "# echo \"NOVELL_ACCOUNT_PASSWORD=\\\"derfisch\\\"\" >> /etc/portage/novell.acc"
}
pkg_preinst(){
# ***************************************
# ******* Begin of pre script ***********
# ***************************************
einfo "Running Novell XTier Base pre script..."
# We just want to stop the novell-xregd service and export the XTier registry to a
# temporary file if this is an upgrade.
#if test "$1" != 1; then
# echo " doing rpm upgrade processing"
# if [ "$YAST_IS_RUNNING" != "instsys" ]; then
#echo "Novell XTier Base pre script stoping novell-xregd for upgrade"
/etc/init.d/novell-xregd stop
# fi
# Check if we need to export the XTier registry
# Note: We export the registry at this time to avoid losing its settings in case
# that we have to rebuild the database.
if [ -e "/var/opt/novell/xtier/xregd/db/xtier_registry.db" ]; then
einfo " Exporting XTier Registry to temporary file..."
rm -f /var/opt/novell/xtier/xregd/xtier_registry.xml.export
LD_LIBRARY_PATH=/opt/novell/xtier/lib /opt/novell/xtier/bin/regutil -e /var/opt/novell/xtier/xregd/xtier_registry.xml.export
einfo " done exporting XTier Xml Registry"
else
einfo " Saving Pre-XFlaim registry file for upgrade..."
cp /etc/opt/novell/xtier/xtier_registry.xml /etc/opt/novell/xtier/xtier_registry.xml.upgrade
fi
einfo "done running Novell XTier Base pre script!"
# exit 0
#fi
#echo " doing rpm install processing"
# Do necessary user and group administration
#group_present=`getent group | grep ^novlxtier`
#if [ -z "$group_present" ] ; then
# /usr/sbin/groupadd -r -g 81 novlxtier
#fi
#user_present=`getent passwd | grep ^novlxregd`
#if [ -z "$user_present" ] ; then
# /usr/sbin/useradd -c "Novell XRegD System User" -s /bin/false -r -d /var/opt/novell/xtier/xregd -g novlxtier -u 81 novlxregd 2> /dev/null || :
#fi
enewgroup novlxtier
enewuser novlxregd -1 -1 /var/opt/novell/xtier/xregd novlxtier
einfo "done running Novell XTier Base pre script!"
# ***************************************
# ******* End of pre script *************
# ***************************************
}
pkg_postinst(){
# ***************************************
# ******* Begin of post script **********
# ***************************************
einfo "Running Novell XTier Base post script..."
# Check if we need to import the XTier registry
if [ ! -e "/var/opt/novell/xtier/xregd/db/xtier_registry.db" ]; then
einfo " Importing XTier Xml Registry..."
# Import the registry.
# Note: We could be dealing with an upgrade from a Pre-XFlaim registry in which
# case we would have saved the previous registry contents to let us upgrade to XFlaim based
# registry without loosing configuration settings.
if [ -e "/etc/opt/novell/xtier/xtier_registry.xml.upgrade" ]; then
einfo " Using Pre-XFlaim registry file"
LD_LIBRARY_PATH=/opt/novell/xtier/lib /opt/novell/xtier/bin/regutil -i /etc/opt/novell/xtier/xtier_registry.xml.upgrade
rm -f /etc/opt/novell/xtier/xtier_registry.xml.upgrade
# Make registry changes necessary to bring the base registry up to date
LD_LIBRARY_PATH=/opt/novell/xtier/lib /opt/novell/xtier/bin/regutil -v "XTier\Configuration\XSrv\Authentication Domains" "Default Authentication Provider" REG_SZ "{6AC0492F-3EEF-11d3-BBF3-00A0C9EA53EF}"
LD_LIBRARY_PATH=/opt/novell/xtier/lib /opt/novell/xtier/bin/regutil -d "Client\Policies\Network\IP\Address Resolution Providers\Available" "5"
LD_LIBRARY_PATH=/opt/novell/xtier/lib /opt/novell/xtier/bin/regutil -d "Client\Policies\Network\IP\Address Resolution Providers\Configured" "5"
else
einfo " Using newly installed registry file"
LD_LIBRARY_PATH=/opt/novell/xtier/lib /opt/novell/xtier/bin/regutil -i /etc/opt/novell/xtier/xtier_registry.xml
fi
# Make sure that novlxregd has rights to the registry db
chown -R novlxregd:novlxtier /var/opt/novell/xtier/xregd/db/
einfo " done importing XTier Xml Registry"
else
# The XTier registry exists, check its integrity.
LD_LIBRARY_PATH=/opt/novell/xtier/lib /opt/novell/xtier/bin/regutil -c
# if [ "$?" != "0" ]; then
# echo " Existing XTier Registry Db Unsupported or Corrupted"
# echo " Re-installing XTier Registry Db"
# Delete the XFlaim DB files
# rm -f /var/opt/novell/xtier/xregd/db/xtier_registry.rfl/*
# rmdir /var/opt/novell/xtier/xregd/db/xtier_registry.rfl
# rm -f /var/opt/novell/xtier/xregd/db/*
# Import the registry. Use registry file that was exported earlier if present to
# avoid losing configuration settings that may have been made.
if [ -e "/var/opt/novell/xtier/xregd/xtier_registry.xml.export" ]; then
LD_LIBRARY_PATH=/opt/novell/xtier/lib /opt/novell/xtier/bin/regutil -i /var/opt/novell/xtier/xregd/xtier_registry.xml.export
else
einfo " Exported registry file not found"
einfo " Configuration settings stored in the registry after initial install have been lost"
LD_LIBRARY_PATH=/opt/novell/xtier/lib /opt/novell/xtier/bin/regutil -i /etc/opt/novell/xtier/xtier_registry.xml
fi
# Make sure that novlxregd has rights to the registry db
chown -R novlxregd:novlxtier /var/opt/novell/xtier/xregd/db/
einfo " done importing XTier Xml Registry"
# fi
fi
# Make sure that we are not leaving the temporary registry xml file around
rm -f /var/opt/novell/xtier/xregd/xtier_registry.xml.export
# Do not run the rest of the script if this is an upgrade
#if test "$1" != 1; then
# echo " doing rpm upgrade processing"
# echo "done running Novell XTier Base post script!"
# exit 0
#fi
#echo " doing rpm install processing"
# Install XRegD init script
#
# if test -n "$YAST_IS_RUNNING" ; then
# INSSERV_FORCE="-f"
# else
# INSSERV_FORCE=""
# fi
# sbin/insserv $INSSERV_FORCE etc/init.d/novell-xregd
#/usr/lib/lsb/install_initd /etc/init.d/novell-xregd
# Create link to init.d script in /usr/sbin
#if [ -f /usr/sbin/rcnovell-xregd ] || [ -L /usr/sbin/rcnovell-xregd ]; then
# rm -f /usr/sbin/rcnovell-xregd
#fi
#ln -s /etc/init.d/novell-xregd /usr/sbin/rcnovell-xregd
einfo "done running Novell XTier Base post script!"
# ***************************************
# ******* End of post script ************
# ***************************************
}
pkg_prerm(){
# ***************************************
# ******* Begin of pre-remove script ****
# ***************************************
einfo "Running Novell XTier Base preun script ..."
# Do not run script if this is an install
#if test "$1" == 1; then
# echo "done running Novell XTier Base preun script!"
# exit 0
#fi
#echo " doing rpm removal processing"
# Stop novell-xregd
/etc/init.d/novell-xregd stop
# Remove XRegD init script
#/usr/lib/lsb/remove_initd /etc/init.d/novell-xregd
# Check if we need to export the XTier registry
if [ -e "/var/opt/novell/xtier/xregd/db/xtier_registry.db" ]; then
einfo " Exporting XTier Xml Registry..."
rm -f /etc/opt/novell/xtier/xtier_registry.xml.export
LD_LIBRARY_PATH=/opt/novell/xtier/lib /opt/novell/xtier/bin/regutil -e /etc/opt/novell/xtier/xtier_registry.xml.export
einfo " done exporting XTier Xml Registry"
fi
einfo "done running Novell XTier Base preun script!"
# ***************************************
# ******* End of pre-remove script ******
# ***************************************
}
pkg_postrm(){
# ***************************************
# ******* Begin of postun script ********
# ***************************************
einfo "Running Novell XTier Base postun script ..."
# We just want to start the novell-xregd service if this is an upgrade
#if test "$1" == 1; then
# if [ "$YAST_IS_RUNNING" != "instsys" ]; then
# echo " doing rpm upgrade processing"
#echo "Novell XTier Base postun script starting novell-xregd for upgrade"
/etc/init.d/novell-xregd start
# fi
einfo "done running Novell XTier Base postun script!"
# exit 0
#fi
#echo " doing rpm removal processing"
# Remove symbolic link to init.d script
#if [ -f /usr/sbin/rcnovell-xregd ] || [ -L /usr/sbin/rcnovell-xregd ]; then
# rm -f /usr/sbin/rcnovell-xregd
#fi
# Delete the novlxregd user
#userdel novlxregd
# Delete the var files
#rm -rf /var/opt/novell/xtier
#einfo "done running Novell XTier Base postun script!"
# ***************************************
# ******* End of postun script **********
# ***************************************
}