blob: 0bd1d65db0a3b70d324a081ac6af374fbb3edd5b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-backup/tsm/tsm-5.5.2.7.ebuild,v 1.1 2010/01/26 19:40:31 dertobi123 Exp $
inherit versionator multilib eutils
DESCRIPTION="Tivoli Storage Manager (TSM) Backup/Archive (B/A) Client and API"
HOMEPAGE="http://www.tivoli.com/"
MY_PV_MAJOR=$(get_major_version)
MY_PV_MINOR=$(get_version_component_range 2)
MY_PV_TINY=$(get_version_component_range 3)
MY_PV_NODOTS="${MY_PV_MAJOR}${MY_PV_MINOR}${MY_PV_TINY}"
MY_PVR_ALLDOTS=${PV}
BASE_URI="ftp://ftp.software.ibm.com/storage/tivoli-storage-management/patches/client/v${MY_PV_MAJOR}r${MY_PV_MINOR}/Linux/LinuxX86/v${MY_PV_NODOTS}/"
SRC_TAR="${MY_PVR_ALLDOTS}-TIV-TSMBAC-LinuxX86.tar"
SRC_URI="${BASE_URI}${SRC_TAR}"
RESTRICT="strip binchecks" # Breaks libPiIMG.ss and libPiSNAP.so
LICENSE="as-is Apache-1.1 JDOM gSOAP"
SLOT="0"
KEYWORDS="~x86 ~amd64"
IUSE="hsm"
DEPEND="app-arch/rpm2targz"
RDEPEND="sys-libs/libstdc++-v3"
S="${WORKDIR}"
pkg_setup() {
enewgroup tsm
}
src_unpack() {
unpack ${A}
# Avoid "is setXid, dynamically linked and using lazy bindings" QA notices
# (doesn't help, since they are binaries?)
RPMS=("TIVsm-BA.i386.rpm" "TIVsm-API.i386.rpm")
if use amd64 ; then
RPMS=("${RPMS[@]}" "TIVsm-API64.rpm")
fi
if use hsm ; then
RPMS=("${RPMS[@]}" "TIVsm-HSM.i386.rpm")
fi
for rpm in ${RPMS[@]}
do
einfo "Extracting: ${rpm}"
rpm2tar -O ${rpm} | tar xfp -
done
# Avoid strange error messages caused by read-only files
chmod -R u+w "${S}"
}
src_install() {
cp -a opt "${D}"
cp -a usr "${D}"
chgrp -R tsm "${D}/opt/tivoli"
fperms -R g+rX,o-rX /opt/tivoli # Allow only tsm group users to access TSM tools
fperms 4710 /opt/tivoli/tsm/client/ba/bin/dsmtca
keepdir /etc/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/dsmerror.log"' >> ${D}/etc/tivoli/dsm.sys
echo ' SchedLogName "/var/log/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/$(get_libdir)
dosym ../../opt/tivoli/tsm/client/api/bin/libct_cu.so /usr/$(get_libdir)/libct_cu.so
dosym ../../opt/tivoli/tsm/client/api/bin/libdmapi.so /usr/$(get_libdir)/libdmapi.so
dosym ../../opt/tivoli/tsm/client/api/bin/libgpfs.so /usr/$(get_libdir)/libgpfs.so
dosym ../../opt/tivoli/tsm/client/api/bin/libha_gs_r.so /usr/$(get_libdir)/libha_gs_r.so
dosym ../../opt/tivoli/tsm/client/api/bin/libApiDS.so /usr/$(get_libdir)/libApiDS.so
# Fix the client's inability to find dsmclientV3.cat
dosym ../../lang/en_US /opt/tivoli/tsm/client/ba/bin/en_US
# 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"' >> ${ENV_FILE}
echo 'PATH="/opt/tivoli/tsm/client/admin/bin:/opt/tivoli/tsm/client/ba/bin"' >> ${ENV_FILE}
echo 'ROOTPATH="/opt/tivoli/tsm/client/admin/bin:/opt/tivoli/tsm/client/ba/bin"' >> ${ENV_FILE}
insinto /etc/conf.d && newins "${FILESDIR}/dsmc.conf.d" dsmc
exeinto /etc/init.d && newexe "${FILESDIR}/dsmc.init.d" dsmc
elog
elog "Note that you have to be either root or member of the group tsm to be able to use the"
elog "Tivoli Storage Manager client."
elog
}
|