New tsm ebuilds

This commit is contained in:
layman 2022-01-11 13:13:55 +01:00
parent 64c33ed87f
commit 245fe61c38
3 changed files with 468 additions and 0 deletions

View File

@ -5,5 +5,9 @@ AUX dsmcad.init.d-r1 531 BLAKE2B 840b6431f083df2da7f42d79a1b28a87ed3b90d497e54a1
AUX dsmcad.service 224 BLAKE2B cb84b8616daa3649b8b29c58aa91fffbb119dfd1e84810ed61564fd45380ac792c89c20da1f8296f617467c411605f86a5cc2190d2135be771348c1d58b7c56c SHA512 e3572098abf5b2831d10a3b649337b5c9f1cd9fda4ed58844408b6fe31fdc68a3bbc197eab227f9808bc9ab4b4a7488c766aaa472e801d88631b6b8ec398eb45
AUX tsm.logrotate 60 BLAKE2B bb367d3da53f8061d71e3753ab8c46595d5cf91485da920f032473a99d3241d22fdbe576cc99088c99e97c63d3f2af920d4602878830fb815a58dc8321d37a2a SHA512 2f412c61a21dbb2c69b2c12130ae12844787d998098de269da2b8a284c2ed86f7244c2854d7050f2a521b3fbe7239f1ec4339f3b434c67b9cd57980fe5de5a92
DIST 8.1.12.0-TIV-TSMBAC-LinuxX86.tar 616130560 BLAKE2B 85a01ccf19482730aeac88cea959e4564a22e2a594ade45758786b0fb1c43034183120ebbc210db331ab24508b971f8734479c7a7528b4f38f6e684ef97cb37b SHA512 2ac5f03fc8a87b4ae27d89971fe7999b1010979a47d5b7005c7ea1c40729a4d76074a858fdc104d25ba5b903c5d633c188b8c582d42baef02f9dcbb98970a5d7
DIST 8.1.13.0-TIV-TSMBAC-LinuxX86.tar 592977920 BLAKE2B c5c1d34f2decb27716fb41ef3fb1422036db3817a887a22e465d5e1297291c8d32ec479174b78f5807823ebd602652f10c830cf503cd605ad8ee948570ae5b6f SHA512 7806de1d1d389a017ee0ee88943bd3606e9e0963e449b62b36f3cd44d2c07ed8e645a622df9e8be5b193a129385de6fa7ccb3aeb3ba97cf6e3860fcf62da505b
DIST 8.1.13.2-TIV-TSMBAC-LinuxX86.tar 593264640 BLAKE2B 89f191543994cd7a1425961334215220764e6684abe72e67a9a2afc0dec13856a955771069ee5fac200161c26875c40f7adeabe5f8c6db369992e14556618a00 SHA512 71745620033d5ca2219654db6907811d742f4b508e4265e6bd6561a0207fa473bce88f11c4fea9f17cf54cd1ab5cfa9dad967268483b4f0facf398c69cc3b849
EBUILD tsm-8.1.12.0.ebuild 7171 BLAKE2B e4e4b901252a4a6669760bf407fb095613107a86caffa754547b282d482f34bed2e9d8cdbb2af707093d7ce6572f26967d7a8df8a7694a4de50097efb91858a3 SHA512 8047f8ffe7b3ea17ca48551956e6b22f09194aebc647a9e7ecbbbfafe24d5dc0e7fc4d8d46cd79cba12d3233c71d52b04cd4e7a3de495248c8c9bd66903a5540
EBUILD tsm-8.1.13.0.ebuild 7171 BLAKE2B e4e4b901252a4a6669760bf407fb095613107a86caffa754547b282d482f34bed2e9d8cdbb2af707093d7ce6572f26967d7a8df8a7694a4de50097efb91858a3 SHA512 8047f8ffe7b3ea17ca48551956e6b22f09194aebc647a9e7ecbbbfafe24d5dc0e7fc4d8d46cd79cba12d3233c71d52b04cd4e7a3de495248c8c9bd66903a5540
EBUILD tsm-8.1.13.2.ebuild 7171 BLAKE2B e4e4b901252a4a6669760bf407fb095613107a86caffa754547b282d482f34bed2e9d8cdbb2af707093d7ce6572f26967d7a8df8a7694a4de50097efb91858a3 SHA512 8047f8ffe7b3ea17ca48551956e6b22f09194aebc647a9e7ecbbbfafe24d5dc0e7fc4d8d46cd79cba12d3233c71d52b04cd4e7a3de495248c8c9bd66903a5540
MISC metadata.xml 398 BLAKE2B fb4d250c3bf724349ac31d66b1c43e766d4ba9b001e88b47949c6fe188a629eb1b87321ef3391d2886e9b74daf235cff0139079fd6f72b7342119542438e30e6 SHA512 bd6ec11787dd6f2ff1a59e7e1027a01b80b22256530d35d6a2fb5b3398ee641b9c778f6a8c2555b7098a199bbb1eda1a5204be53509e5eb47399dbad83798547

View File

@ -0,0 +1,232 @@
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit multilib eutils readme.gentoo-r1 rpm systemd user pax-utils
DESCRIPTION="IBM Spectrum Protect (former Tivoli Storage Manager) Backup/Archive Client, API"
HOMEPAGE="https://www.ibm.com/us-en/marketplace/data-protection-and-recovery"
MY_PV_NODOTS="$(ver_rs)"
if [[ "$(ver_cut 4)" == "0" ]]; then
MY_RELEASE_PATH=maintenance
else
MY_RELEASE_PATH=patches
fi
BASE_URI="ftp://ftp.software.ibm.com/storage/tivoli-storage-management/"
BASE_URI+="${MY_RELEASE_PATH}/client/v$(ver_cut 1-1)r$(ver_cut 2-2)/"
BASE_URI+="Linux/LinuxX86/BA/v$(ver_rs 1-3 '' $(ver_cut 1-3))/"
SRC_TAR="${PV}-TIV-TSMBAC-LinuxX86.tar"
SRC_URI="${BASE_URI}${SRC_TAR}"
RESTRICT="strip" # Breaks libPiIMG.so and libPiSNAP.so
LICENSE="Apache-1.1 Apache-2.0 JDOM BSD-2 CC-PD Boost-1.0 MIT CPL-1.0 HPND Exolab
dom4j EPL-1.0 FTL icu unicode IBM Info-ZIP LGPL-2 LGPL-2.1 openafs-krb5-a
ZLIB MPL-1.0 MPL-1.1 NPL-1.1 openssl OPENLDAP RSA public-domain W3C
|| ( BSD GPL-2+ ) gSOAP libpng tsm"
SLOT="0"
KEYWORDS="~amd64"
IUSE="acl java +tsm_cit +tsm_hw"
QA_PREBUILT="*"
# not available (yet?)
#MY_LANGS="cs:CS_CZ de:DE_DE es:ES_ES fr:FR_FR hu:HU_HU it:IT_IT ja:JA_JP
# ko:KO_KR pl:PL_PL pt-BR:PT_BR ru:RU_RU zh-CN:ZH_CN zh-TW:ZH_TW"
MY_LANG_PV="${PV}-"
for lang in ${MY_LANGS}; do
IUSE="${IUSE} l10n_${lang%:*}"
SRC_URI="${SRC_URI} l10n_${lang%:*}? ( \
${BASE_URI}TIVsm-msg.${lang#*:}.x86_64.rpm -> \
${MY_LANG_PV}TIVsm-msg.${lang#*:}.x86_64.rpm )"
done
unset lang
DEPEND=""
RDEPEND="
dev-libs/expat
dev-libs/libxml2
sys-fs/fuse:0
acl? ( sys-apps/acl )
java? ( >=virtual/jre-1.7 )
"
S="${WORKDIR}/bacli"
pkg_setup() {
enewgroup tsm
DOC_CONTENTS="
Note that you have to be root to be able to use the Tivoli Storage Manager
client. The dsmtca trusted agent binary does not exist anymore.
For information on how to give other users access, please see the following
URLs:
https://www.ibm.com/support/knowledgecenter/SSGSG7_7.1.8/client/c_cfg_nonadmin.html#c_macuninst_nonadmin
https://www.ibm.com/support/knowledgecenter/SSGSG7_7.1.8/client/c_secure_pwd.html#c_secure_pwd__sec_no_tca
"
}
src_unpack() {
local rpm rpms lang
mkdir bacli || die
cd bacli || die
unpack ${SRC_TAR}
cd "${S}"
for rpm in *.rpm; do
case ${rpm} in
TIVsm-APIcit.*|TIVsm-BAcit.*)
use tsm_cit && rpms="${rpms} ./${rpm}"
;;
TIVsm-BAhdw.*)
use tsm_hw && rpms="${rpms} ./${rpm}"
;;
TIVsm-JBB.*|*-filepath-*)
# "journal based backup" for all filesystems
# requires a kernel module.
# "Linux Filepath source code" available
# by request from vendor
;;
*)
rpms="${rpms} ./${rpm}"
;;
esac
done
for rpm in ${A}; do
case ${rpm} in
*.rpm)
rpms="${rpms} ${rpm}"
;;
esac
done
rpm_unpack ${rpms}
# Avoid strange error messages caused by read-only files
chmod -R u+w "${S}" || die
}
src_install(){
cp -a opt "${D}" || die
cp -a usr "${D}" || die
# The RPM files contain postinstall scripts which can be extracted
# e.g. using https://bugs.gentoo.org/attachment.cgi?id=234663 .
# Below we try to mimic the behaviour of these scripts.
# We don't deal with SELinux compliance (yet), though.
local RPM_INSTALL_PREFIX CLIENTDIR i
RPM_INSTALL_PREFIX=/opt
CLIENTDIR=$RPM_INSTALL_PREFIX/tivoli/tsm/client
# Create links for messages; this is spread over several postin scripts.
#for i in $(cd "${D}"${CLIENTDIR}/lang; ls -1d ??_??); do
# dosym ../../lang/${i} $CLIENTDIR/ba/bin/${i}
# dosym ../../lang/${i} $CLIENTDIR/api/bin64/${i}
#done
# Mimic TIVsm-API64 postinstall script
for i in libgpfs.so libdmapi.so; do
dosym ../..$CLIENTDIR/api/bin64/${i} /usr/lib64/${i}
done
# The TIVsm-BA postinstall script only does messages and ancient upgrades
# The gscrypt64 postinstall script only deals with s390[x] SELinux
# and the symlink for the iccs library which we handle in the loop below.
# Move stuff from /usr/local to /opt, #452332
mv "${D}"/usr/local/ibm "${D}"/opt/ || die
rmdir "${D}"/usr/local || die
# Mimic gskssl64 postinstall script
for i in sys p11 km ssl drld kicc ldap cms acmeidup valn dbfl iccs; do
dosym ../../opt/ibm/gsk8_64/lib64/libgsk8${i}_64.so \
/usr/lib64/libgsk8${i}_64.so
done
for i in capicmd ver; do
dosym ../../opt/ibm/gsk8_64/bin/gsk8${i}_64 /usr/bin/gsk${i}_64
done
# Done with the postinstall scripts as the RPMs contain them.
# Now on to some more Gentoo-specific installation.
[[ -d "${D}usr/lib" ]] && die "Using 32bit lib dir in 64bit only system"
# Avoid "QA Notice: Found an absolute symlink in a library directory"
local target
find "${D}"usr/lib* -lname '/*' | while read i; do
target=$(readlink "${i}")
rm -v "${i}" || die
dosym "../..${target}" "${i#${D}}"
done
keepdir /var/log/tsm
insinto /etc/logrotate.d
newins "${FILESDIR}/tsm.logrotate" tsm
keepdir /etc/tivoli
cp -a "${S}/opt/tivoli/tsm/client/ba/bin/dsm.sys.smp" "${D}/etc/tivoli/dsm.sys" || die
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/tsm/dsmerror.log"' >> ${D}/etc/tivoli/dsm.sys
echo ' SchedLogName "/var/log/tsm/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
# 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/tsm"' >> ${ENV_FILE}
echo 'ROOTPATH="/opt/tivoli/tsm/client/ba/bin"' >> ${ENV_FILE}
echo 'SEARCH_DIRS_MASK="/opt/tivoli/tsm/client/ba/bin"' > "${T}/80${PN}" || die
insinto "/etc/revdep-rebuild"
doins "${T}/80${PN}"
newconfd "${FILESDIR}/dsmc.conf.d" dsmc
newinitd "${FILESDIR}/dsmc.init.d" dsmc
newinitd "${FILESDIR}/dsmcad.init.d-r1" dsmcad
# Need this for hardened, otherwise a cryptic "connection to server lost" message appears
pax-mark -m "${D}/opt/tivoli/tsm/client/ba/bin/dsmc"
systemd_dounit "${FILESDIR}/dsmc.service"
systemd_dounit "${FILESDIR}/dsmcad.service"
readme.gentoo_create_doc
}
pkg_postinst() {
local i dirs
for i in /var/log/tsm/dsm{error,sched,j,webcl}.log; do
if [[ ! -e $i ]]; then
touch $i || die
chown :tsm $i || die
chmod 0660 $i || die
fi
done
# Bug #375041: the log directory itself should not be world writable.
# Have to do this in postinst due to bug #141619
chown root:tsm /var/log/tsm || die
chmod 0750 /var/log/tsm || die
# Bug 508052: directories used to be too restrictive, have to widen perms.
dirs=( /opt/tivoli $(find /opt/tivoli/tsm -type d) )
chown root:root "${dirs[@]}" || die
chmod 0755 "${dirs[@]}" || die
FORCE_PRINT_ELOG=1
DISABLE_AUTOFORMATTING=1
readme.gentoo_print_elog
}

View File

@ -0,0 +1,232 @@
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit multilib eutils readme.gentoo-r1 rpm systemd user pax-utils
DESCRIPTION="IBM Spectrum Protect (former Tivoli Storage Manager) Backup/Archive Client, API"
HOMEPAGE="https://www.ibm.com/us-en/marketplace/data-protection-and-recovery"
MY_PV_NODOTS="$(ver_rs)"
if [[ "$(ver_cut 4)" == "0" ]]; then
MY_RELEASE_PATH=maintenance
else
MY_RELEASE_PATH=patches
fi
BASE_URI="ftp://ftp.software.ibm.com/storage/tivoli-storage-management/"
BASE_URI+="${MY_RELEASE_PATH}/client/v$(ver_cut 1-1)r$(ver_cut 2-2)/"
BASE_URI+="Linux/LinuxX86/BA/v$(ver_rs 1-3 '' $(ver_cut 1-3))/"
SRC_TAR="${PV}-TIV-TSMBAC-LinuxX86.tar"
SRC_URI="${BASE_URI}${SRC_TAR}"
RESTRICT="strip" # Breaks libPiIMG.so and libPiSNAP.so
LICENSE="Apache-1.1 Apache-2.0 JDOM BSD-2 CC-PD Boost-1.0 MIT CPL-1.0 HPND Exolab
dom4j EPL-1.0 FTL icu unicode IBM Info-ZIP LGPL-2 LGPL-2.1 openafs-krb5-a
ZLIB MPL-1.0 MPL-1.1 NPL-1.1 openssl OPENLDAP RSA public-domain W3C
|| ( BSD GPL-2+ ) gSOAP libpng tsm"
SLOT="0"
KEYWORDS="~amd64"
IUSE="acl java +tsm_cit +tsm_hw"
QA_PREBUILT="*"
# not available (yet?)
#MY_LANGS="cs:CS_CZ de:DE_DE es:ES_ES fr:FR_FR hu:HU_HU it:IT_IT ja:JA_JP
# ko:KO_KR pl:PL_PL pt-BR:PT_BR ru:RU_RU zh-CN:ZH_CN zh-TW:ZH_TW"
MY_LANG_PV="${PV}-"
for lang in ${MY_LANGS}; do
IUSE="${IUSE} l10n_${lang%:*}"
SRC_URI="${SRC_URI} l10n_${lang%:*}? ( \
${BASE_URI}TIVsm-msg.${lang#*:}.x86_64.rpm -> \
${MY_LANG_PV}TIVsm-msg.${lang#*:}.x86_64.rpm )"
done
unset lang
DEPEND=""
RDEPEND="
dev-libs/expat
dev-libs/libxml2
sys-fs/fuse:0
acl? ( sys-apps/acl )
java? ( >=virtual/jre-1.7 )
"
S="${WORKDIR}/bacli"
pkg_setup() {
enewgroup tsm
DOC_CONTENTS="
Note that you have to be root to be able to use the Tivoli Storage Manager
client. The dsmtca trusted agent binary does not exist anymore.
For information on how to give other users access, please see the following
URLs:
https://www.ibm.com/support/knowledgecenter/SSGSG7_7.1.8/client/c_cfg_nonadmin.html#c_macuninst_nonadmin
https://www.ibm.com/support/knowledgecenter/SSGSG7_7.1.8/client/c_secure_pwd.html#c_secure_pwd__sec_no_tca
"
}
src_unpack() {
local rpm rpms lang
mkdir bacli || die
cd bacli || die
unpack ${SRC_TAR}
cd "${S}"
for rpm in *.rpm; do
case ${rpm} in
TIVsm-APIcit.*|TIVsm-BAcit.*)
use tsm_cit && rpms="${rpms} ./${rpm}"
;;
TIVsm-BAhdw.*)
use tsm_hw && rpms="${rpms} ./${rpm}"
;;
TIVsm-JBB.*|*-filepath-*)
# "journal based backup" for all filesystems
# requires a kernel module.
# "Linux Filepath source code" available
# by request from vendor
;;
*)
rpms="${rpms} ./${rpm}"
;;
esac
done
for rpm in ${A}; do
case ${rpm} in
*.rpm)
rpms="${rpms} ${rpm}"
;;
esac
done
rpm_unpack ${rpms}
# Avoid strange error messages caused by read-only files
chmod -R u+w "${S}" || die
}
src_install(){
cp -a opt "${D}" || die
cp -a usr "${D}" || die
# The RPM files contain postinstall scripts which can be extracted
# e.g. using https://bugs.gentoo.org/attachment.cgi?id=234663 .
# Below we try to mimic the behaviour of these scripts.
# We don't deal with SELinux compliance (yet), though.
local RPM_INSTALL_PREFIX CLIENTDIR i
RPM_INSTALL_PREFIX=/opt
CLIENTDIR=$RPM_INSTALL_PREFIX/tivoli/tsm/client
# Create links for messages; this is spread over several postin scripts.
#for i in $(cd "${D}"${CLIENTDIR}/lang; ls -1d ??_??); do
# dosym ../../lang/${i} $CLIENTDIR/ba/bin/${i}
# dosym ../../lang/${i} $CLIENTDIR/api/bin64/${i}
#done
# Mimic TIVsm-API64 postinstall script
for i in libgpfs.so libdmapi.so; do
dosym ../..$CLIENTDIR/api/bin64/${i} /usr/lib64/${i}
done
# The TIVsm-BA postinstall script only does messages and ancient upgrades
# The gscrypt64 postinstall script only deals with s390[x] SELinux
# and the symlink for the iccs library which we handle in the loop below.
# Move stuff from /usr/local to /opt, #452332
mv "${D}"/usr/local/ibm "${D}"/opt/ || die
rmdir "${D}"/usr/local || die
# Mimic gskssl64 postinstall script
for i in sys p11 km ssl drld kicc ldap cms acmeidup valn dbfl iccs; do
dosym ../../opt/ibm/gsk8_64/lib64/libgsk8${i}_64.so \
/usr/lib64/libgsk8${i}_64.so
done
for i in capicmd ver; do
dosym ../../opt/ibm/gsk8_64/bin/gsk8${i}_64 /usr/bin/gsk${i}_64
done
# Done with the postinstall scripts as the RPMs contain them.
# Now on to some more Gentoo-specific installation.
[[ -d "${D}usr/lib" ]] && die "Using 32bit lib dir in 64bit only system"
# Avoid "QA Notice: Found an absolute symlink in a library directory"
local target
find "${D}"usr/lib* -lname '/*' | while read i; do
target=$(readlink "${i}")
rm -v "${i}" || die
dosym "../..${target}" "${i#${D}}"
done
keepdir /var/log/tsm
insinto /etc/logrotate.d
newins "${FILESDIR}/tsm.logrotate" tsm
keepdir /etc/tivoli
cp -a "${S}/opt/tivoli/tsm/client/ba/bin/dsm.sys.smp" "${D}/etc/tivoli/dsm.sys" || die
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/tsm/dsmerror.log"' >> ${D}/etc/tivoli/dsm.sys
echo ' SchedLogName "/var/log/tsm/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
# 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/tsm"' >> ${ENV_FILE}
echo 'ROOTPATH="/opt/tivoli/tsm/client/ba/bin"' >> ${ENV_FILE}
echo 'SEARCH_DIRS_MASK="/opt/tivoli/tsm/client/ba/bin"' > "${T}/80${PN}" || die
insinto "/etc/revdep-rebuild"
doins "${T}/80${PN}"
newconfd "${FILESDIR}/dsmc.conf.d" dsmc
newinitd "${FILESDIR}/dsmc.init.d" dsmc
newinitd "${FILESDIR}/dsmcad.init.d-r1" dsmcad
# Need this for hardened, otherwise a cryptic "connection to server lost" message appears
pax-mark -m "${D}/opt/tivoli/tsm/client/ba/bin/dsmc"
systemd_dounit "${FILESDIR}/dsmc.service"
systemd_dounit "${FILESDIR}/dsmcad.service"
readme.gentoo_create_doc
}
pkg_postinst() {
local i dirs
for i in /var/log/tsm/dsm{error,sched,j,webcl}.log; do
if [[ ! -e $i ]]; then
touch $i || die
chown :tsm $i || die
chmod 0660 $i || die
fi
done
# Bug #375041: the log directory itself should not be world writable.
# Have to do this in postinst due to bug #141619
chown root:tsm /var/log/tsm || die
chmod 0750 /var/log/tsm || die
# Bug 508052: directories used to be too restrictive, have to widen perms.
dirs=( /opt/tivoli $(find /opt/tivoli/tsm -type d) )
chown root:root "${dirs[@]}" || die
chmod 0755 "${dirs[@]}" || die
FORCE_PRINT_ELOG=1
DISABLE_AUTOFORMATTING=1
readme.gentoo_print_elog
}