This commit is contained in:
layman 2023-01-11 11:24:58 +01:00
parent c849c25002
commit 41fa3c7dc8
5 changed files with 0 additions and 948 deletions

View File

@ -4,14 +4,6 @@ AUX dsmc.service 184 BLAKE2B a6a14302b32cdfdd9d1460b2d686a9a828d1cdd3c19dc53f8f5
AUX dsmcad.init.d-r1 531 BLAKE2B 840b6431f083df2da7f42d79a1b28a87ed3b90d497e54a165b98dec9466323d1ec8ffad894c5d165fd994a99e7a52ca22bb6b81597e93001f22be2af641da6a9 SHA512 b69166e9e004d81a7f43551e5f1189c3a545afc67e5029009e9693fbed20a247f922975fec695542f0a3afd7c0c5a4ee6c026678de4812b00488afc45699699a
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
DIST 8.1.14.0-TIV-TSMBAC-LinuxX86.tar 645498880 BLAKE2B cf100d91c15b2668981aecd81cc32e959366b21ac419f976758f0d52eb8b385c685eea8ad87f648f59cb9007452f429727d40cf683bd3b2bfea937f2a7f12ab0 SHA512 76d0343a88eb11eecd62f50d1a8e76d90c3b1b7658f3da6b42b55b8b2fe81511f4ac2a1becc6272dbc0fb41ac2ea5d153a9bae705d7ca4e47ef1284809f3fcab
DIST 8.1.15.0-TIV-TSMBAC-LinuxX86.tar 680560640 BLAKE2B 837cbe2d7e63a827062639fe52e8a17275bc7f7f47f52ddf59d5f00cc8f5a3c2875a39107047cc53cd57ac7100011bd8b0d72b0a893edcedef285a10c0d34c01 SHA512 2bdf22ae31af37641e8f06cea118671e461d157dd943c86ffafd866f6fe99ebf40135ba3ea1d2511742ed9c3841db93b8ccb46c29825ce87c217bc94c93fed73
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
EBUILD tsm-8.1.14.0.ebuild 7482 BLAKE2B 30e53b911e6413240a9b7541ef1899ea56c38a5eeaf172c138db11c53b25418dff0736ce3ad75ea3d242d7e112fd85c9dbc2952bc6a8e5751062b65f5455925d SHA512 51c51183f56769e62e800c1067045786c9661130bceb6bcb1cfd8bc7f3a151a04d828e2c0c50ec1d8551809f00fea38e7a7bfefe612332715109f4bfadb2f862
EBUILD tsm-8.1.15.0.ebuild 7482 BLAKE2B 30e53b911e6413240a9b7541ef1899ea56c38a5eeaf172c138db11c53b25418dff0736ce3ad75ea3d242d7e112fd85c9dbc2952bc6a8e5751062b65f5455925d SHA512 51c51183f56769e62e800c1067045786c9661130bceb6bcb1cfd8bc7f3a151a04d828e2c0c50ec1d8551809f00fea38e7a7bfefe612332715109f4bfadb2f862
MISC metadata.xml 398 BLAKE2B fb4d250c3bf724349ac31d66b1c43e766d4ba9b001e88b47949c6fe188a629eb1b87321ef3391d2886e9b74daf235cff0139079fd6f72b7342119542438e30e6 SHA512 bd6ec11787dd6f2ff1a59e7e1027a01b80b22256530d35d6a2fb5b3398ee641b9c778f6a8c2555b7098a199bbb1eda1a5204be53509e5eb47399dbad83798547

View File

@ -1,232 +0,0 @@
# 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

@ -1,232 +0,0 @@
# 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

@ -1,232 +0,0 @@
# 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

@ -1,244 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit readme.gentoo-r1 rpm systemd 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_MAJOR=$(ver_cut 1)
MY_PV_MINOR=$(ver_cut 2)
MY_PV_TINY=$(ver_cut 3)
MY_PV_PATCH=$(ver_cut 4)
MY_PV_NODOTS="${MY_PV_MAJOR}${MY_PV_MINOR}${MY_PV_TINY}"
MY_PVR_ALLDOTS=${PV}
if [[ ${MY_PV_PATCH} == 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${MY_PV_MAJOR}r${MY_PV_MINOR}/"
BASE_URI+="Linux/LinuxX86/BA/v${MY_PV_NODOTS}/"
SRC_TAR="${MY_PVR_ALLDOTS}-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="${MY_PVR_ALLDOTS}-"
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="
acct-group/tsm
"
RDEPEND="
acct-group/tsm
dev-libs/expat
dev-libs/libxml2
sys-fs/fuse:0
acl? ( sys-apps/acl )
java? ( virtual/jre:1.8 )
|| (
sys-libs/libxcrypt[compat]
sys-libs/glibc[crypt(+)]
)"
S="${WORKDIR}/bacli"
pkg_setup() {
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.
rm -rf "${D}/usr/lib/.build-id" &> /dev/null
[[ -d "${D}/usr/lib" ]] && rmdir "${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
}