New ebuilds

This commit is contained in:
layman 2023-01-10 15:44:32 +01:00
parent c2243c689c
commit c849c25002
4 changed files with 299 additions and 0 deletions

View File

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

View File

@ -0,0 +1,3 @@
DIST tsmuxer-2.6.11.tar.gz 538798 BLAKE2B 18f5f9002e356664ae84343afbadcddd447743404bcdcca709ba039ebb2ab05e5fba7eda0f30c86c29e18040d646004d1aec7dec34ed008ddbdb15228c63f09d SHA512 25b552153b76231ac1b88858d2178564d22edd18c6b08dc872765ac214ca6fd1ff6df5c5fff0f24647ea35f3f990e364bfb8adff5dd79c69cc12875fafb4f137
EBUILD tsmuxer-2.6.11-r1.ebuild 781 BLAKE2B c80e0a7ee39138d0dd6b1e1c818d6d56b6715a4ed56e5bed49c5eddf86203da406e2e6adc2487c90f34b9732192f1f54307ea91362cce8cadfce8cbc0a4d058c SHA512 c3fae0850034c37fa6a1c30950d6d17b872ef7954783e5af80fa7175cba43c427f81114b1c14cd58d792d47b5d83e86732327be04e967a27cc941a931e83f7f3
MISC metadata.xml 573 BLAKE2B 324a4a4396cf858d2da5d3c2b4183310adb33aeecef814980cab79bbb094b9a8c0e0f5d984737df564e5895a62ca519d36795b6216641fe4768a27ca2013fd6f SHA512 a84cbfc78aaddca9576bbb744d162794c1cd5297fda1f2672d37b8b05519d3d677561e8ef5a2a8a58b5fb4fccb74a573f0f5d202635051e394f3b14e551e912d

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>media-video@gentoo.org</email>
<name>Gentoo Video project</name>
</maintainer>
<longdescription lang="en">
SmartLabs tsMuxeR - the software utility to create TS and M2TS files for
IP broadcasting as well as for viewing at hardware video players (i.e.,
Dune HD Ultra, Sony Playstation3 and others). tsMuxeR is a part of
SmartCONTENT, content preparation solution.
</longdescription>
</pkgmetadata>

View File

@ -0,0 +1,38 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DESCRIPTION="Utility to create and demux TS and M2TS files"
HOMEPAGE="http://forum.doom9.org/showthread.php?t=168539"
SRC_URI="https://drive.google.com/uc?export=download&id=0B0VmPcEZTp8NekJxLUVJRWMwejQ -> ${P}.tar.gz"
LICENSE="SmartLabs"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
QA_FLAGS_IGNORED="opt/${PN}/bin/tsMuxeR opt/${PN}/bin/tsMuxerGUI"
DEPEND="|| (
>=app-arch/upx-3.01
>=app-arch/upx-bin-3.01
)"
RDEPEND="
>=media-libs/freetype-2.5.0.1:2[abi_x86_32(-)]
"
S="${WORKDIR}"
src_prepare() {
default
upx -d tsMuxeR tsMuxerGUI || die
}
src_install() {
dodir /opt/bin
exeinto /opt/${PN}/bin
doexe tsMuxeR
dosym ../${PN}/bin/tsMuxeR /opt/bin/tsMuxeR
}