190 lines
7.3 KiB
Bash
190 lines
7.3 KiB
Bash
# Copyright 1999-2007 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
# $Header: $
|
|
|
|
inherit eutils rpm
|
|
|
|
MY_PV="${PV/_p/-}"
|
|
|
|
DESCRIPTION="Novell Xtier Base"
|
|
HOMEPAGE="http://www.novell.com"
|
|
SRC_URI="x86? ( http://${NOVELL_ACCOUNT_USERNAME}:${NOVELL_ACCOUNT_PASSWORD}@cdn.novell.com/prot/21a91ftmUKk~/Novell_Client_SLED10-i386-2007809-CD1.iso
|
|
http://download.opensuse.org/distribution/SL-10.1/inst-source/suse/i586/binutils-2.16.91.0.5-18.i586.rpm )
|
|
amd64? ( http://${NOVELL_ACCOUNT_USERNAME}:${NOVELL_ACCOUNT_PASSWORD}@cdn.novell.com/prot/21a91ftmUKk~/Novell_Client_SLED10-x86_64-2007809-CD1.iso
|
|
http://download.opensuse.org/distribution/SL-10.1/inst-source/suse/x86_64/binutils-2.16.91.0.5-18.x86_64.rpm )"
|
|
|
|
LICENSE="Novell-ncl-EULA"
|
|
SLOT="0"
|
|
KEYWORDS="~x86 ~amd64"
|
|
IUSE=""
|
|
|
|
DEPEND=">=app-arch/p7zip-4.15"
|
|
|
|
RDEPEND="virtual/libc
|
|
>=dev-libs/expat-2.0.0
|
|
=net-nds/novell-xtier-core-${PV}
|
|
>=sys-libs/ncurses-5.5
|
|
>=sys-devel/gcc-4.1"
|
|
|
|
RESTRICT="mirror strip"
|
|
|
|
src_unpack() {
|
|
cd ${WORKDIR}
|
|
if use x86
|
|
then
|
|
narch=i586
|
|
nlib=lib
|
|
7z x ${DISTDIR}/Novell_Client_SLED10-i386-2007809-CD1.iso
|
|
elif use amd64
|
|
then
|
|
narch=x86_64
|
|
nlib=lib64
|
|
7z x ${DISTDIR}/Novell_Client_SLED10-x86_64-2007809-CD1.iso
|
|
fi
|
|
rpm_unpack ${DISTDIR}/binutils-2.16.91.0.5-18.${narch}.rpm
|
|
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/*
|
|
|
|
if use x86
|
|
then
|
|
doenvd "${FILESDIR}"/80novell-xtier
|
|
elif use amd64
|
|
then
|
|
doenvd "${FILESDIR}"/80novell-xtier64
|
|
fi
|
|
|
|
newinitd "${FILESDIR}"/novell-xregd20.initd novell-xregd
|
|
}
|
|
|
|
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 [ -e "/etc/init.d/novell-xregd" ]; 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
|
|
/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 pre script!"
|
|
|
|
# Do necessary user and group administration
|
|
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 **********
|
|
# ***************************************
|
|
echo "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.
|
|
einfo " Using newly installed registry file"
|
|
mkdir -p /var/opt/novell/xtier/xregd/db/
|
|
/opt/novell/xtier/bin/regutil -i /etc/opt/novell/xtier/xtier_registry.xml
|
|
# 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.
|
|
/opt/novell/xtier/bin/regutil -c
|
|
if [ "$?" != "0" ]; then
|
|
einfo " Existing XTier Registry Db Unsupported or Corrupted"
|
|
einfo " Re-installing XTier Registry 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 "/etc/opt/novell/xtier/xtier_registry.xml.export" ]; then
|
|
/opt/novell/xtier/bin/regutil -i /etc/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"
|
|
/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 /etc/opt/novell/xtier/xtier_registry.xml.export
|
|
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 ..."
|
|
# Stop novell-xregd
|
|
/etc/init.d/novell-xregd stop
|
|
# 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
|
|
/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 ..."
|
|
# Delete the var files
|
|
rm -rf /var/opt/novell/xtier
|
|
einfo "done running Novell XTier Base postun script!"
|
|
# ***************************************
|
|
# ******* End of postun script **********
|
|
# ***************************************
|
|
}
|