# Copyright 1999-2004 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 # $Header: $ DESCRIPTION="Tivoli Storage Manager (TSM) Backup/Archive (B/A) Client and API" HOMEPAGE="http://www.tivoli.com/" MY_PV=${PV//./} # Converts '1.2.3' to '123' MY_VERSION=${MY_PV:0:1} MY_RELEASE=${MY_PV:1:1} MY_MODIFICATION=${MY_PV:2:1} MY_ARCH="86" # TODO: Somehow be smart about this BASE_URI="ftp://ftp.software.ibm.com/storage/tivoli-storage-management/maintenance/client/v${MY_VERSION}r${MY_RELEASE}/Linux/Linux${MY_ARCH}/v${MY_PV}/" SRC_TAR="TSM${MY_PV}C_LINUX86.tar" SRC_URI="${BASE_URI}${SRC_TAR}" # package in download tarball TSM_BA="TIVsm-BA.i386.rpm" TSM_API="TIVsm-API.i386.rpm" #TSM_API64="TIVsm-API64.i386.rpm" TSM_HSM="TIVsm-HSM.i386.rpm" RESTRICT="nostrip" # Breaks libPiIMG.ss and libPiSNAP.so # as-is: libmsg/cclog:XMLUtility LICENSE="Info-ZIP SNIA-2.2 openssl ANTLR Apache-1.1 CPL-1.0 IBM JDOM gSOAP as-is" SLOT="0" # There should only be one version installed at any give time. KEYWORDS="~x86" IUSE="acl X" DEPEND=">=sys-devel/gcc-3.3 app-arch/rpm" RDEPEND=">=sys-devel/gcc-3.3 X? ( virtual/x11 ) acl? ( >=sys-apps/acl-2.0.20 )" S="${WORKDIR}" # Different than the default of ${WORKDIR}/${P} src_unpack() { unpack ${A} for x in ${TSM_BA} ${TSM_HSM} ${TSM_API} do einfo "Extracting: ${x}" rpm2cpio ${x} | cpio --extract --make-directories --unconditional done } src_install() { cp -a opt ${D} cp -a usr ${D} # XXX: The dir perm from the package are very restrictive, # but I don't know what they should really be. chmod -R go+rX ${D}/opt/tivoli # Allow all users to access TSM tools chown -R root:root ${D} dodir /etc/tivoli keepdir /etc/tivoli dodir /var/log/tivoli keepdir /var/log/tivoli cp -a ${S}/opt/tivoli/tsm/client/ba/bin/dsm.sys.smp ${D}/etc/tivoli/dsm.sys echo ' PasswordDir "/etc/tivoli/"' >> ${D}/etc/tivoli/dsm.sys echo ' PasswordAccess generate' >> ${D}/etc/tivoli/dsm.sys # Added the hostname to be more friendly, the admin will need to edit this file anyway echo ' NodeName' `hostname` >> ${D}/etc/tivoli/dsm.sys echo ' ErrorLogName "/var/log/tivoli/dsmerror.log"' >> ${D}/etc/tivoli/dsm.sys echo ' SchedLogName "/var/log/tivoli/dsmsched.log"' >> ${D}/etc/tivoli/dsm.sys dosym /etc/tivoli/dsm.sys /opt/tivoli/tsm/client/ba/bin/dsm.sys cp -a ${S}/opt/tivoli/tsm/client/ba/bin/dsm.opt.smp ${D}/etc/tivoli/dsm.opt dosym /etc/tivoli/dsm.opt /opt/tivoli/tsm/client/ba/bin/dsm.opt # This creates the symlinks for the API libs dodir /usr/lib for so in `find opt/tivoli/ -name '*.so'` ; do einfo dosym ../../${so} /usr/lib/`basename ${so}` dosym ../../${so} /usr/lib/`basename ${so}` done # Setup the env dodir /etc/env.d ENV_FILE="${D}/etc/env.d/80tivoli" echo 'DSM_CONFIG="/etc/tivoli/dsm.opt"' >> ${ENV_FILE} echo 'DSM_DIR="/opt/tivoli/tsm/client/ba/bin"' >> ${ENV_FILE} echo 'DSM_LOG="/var/log/tivoli"' >> ${ENV_FILE} echo 'NLSPATH=/opt/tivoli/tsm/client/lang/en_US/%N' >> ${ENV_FILE} insinto /etc/conf.d && newins ${FILESDIR}/dsmc.conf.d dsmc exeinto /etc/init.d && newexe ${FILESDIR}/dsmc.init.d dsmc }