# 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 ********** # *************************************** }