## ## tsmc.spec -- OpenPKG RPM Specification ## Copyright (c) 2000-2002 Cable & Wireless Deutschland GmbH ## Copyright (c) 2000-2002 The OpenPKG Project ## Copyright (c) 2000-2002 Ralf S. Engelschall ## ## Permission to use, copy, modify, and distribute this software for ## any purpose with or without fee is hereby granted, provided that ## the above copyright notice and this permission notice appear in all ## copies. ## ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ## SUCH DAMAGE. ## # package information Name: tsmc Summary: Tivoli Storage Manager (TSM) Client URL: http://www.tivoli.com/support/storage_mgr/clients.html Vendor: Tivoli Packager: The OpenPKG Project Distribution: OpenPKG [EXP] Group: Converter License: Commercial Version: 4.2.1 Release: 20020212 # list of sources Source0: ftp://service.boulder.ibm.com/storage/tivoli-storage-management/maintenance/client/v4r2/Linux86/v421/IP22369.tar Source1: ftp://service.boulder.ibm.com/storage/tivoli-storage-management/maintenance/client/v4r2/Solaris/v421/IP22372.tar.Z Source2: redhat-7.1-libs.tar Source3: dsmexec Source4: dsm.sys Source5: dsm.opt Source6: rc.tsmc # build information Prefix: %{l_prefix} BuildRoot: %{l_buildroot} BuildPreReq: OpenPKG, openpkg >= 20020206, tar, gzip PreReq: OpenPKG, openpkg >= 20020206 AutoReq: no AutoReqProv: no %description This is a stripped down version of the client part of the Tivoli Storage Manager (TSM) software. It can be used to backup Solaris, Linux and FreeBSD machines to a TSM server. %prep %setup -q -T -c -n tsmc-%{version} %build # unpack the corresponding binary only case "%{l_target}" in *-freebsd* | *-linux* ) %{l_prefix}/bin/tar xf %{SOURCE IP22369.tar} %{l_prefix}/bin/rpm2cpio TIVsm-BA.i386.rpm | cpio -idmu ( mkdir lib; cd lib; %{l_prefix}/bin/tar xf %{SOURCE redhat-7.1-libs.tar} ) mv opt/tivoli/tsm/client root ;; *-solaris* ) %{l_prefix}/bin/gzip -d -c %{SOURCE IP22372.tar.Z} | %{l_prefix}/bin/tar xf - pkgtrans `pwd`/TIVsmCba.pkg `pwd` TIVsmCba mv TIVsmCba/reloc root ;; esac %install rm -rf $RPM_BUILD_ROOT # create filesystem hiearchy %{l_shtool} mkdir -f -p -m 755 \ $RPM_BUILD_ROOT%{l_prefix}/bin \ $RPM_BUILD_ROOT%{l_prefix}/etc/tsmc \ $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \ $RPM_BUILD_ROOT%{l_prefix}/libexec/tsmc \ $RPM_BUILD_ROOT%{l_prefix}/libexec/tsmc/lib \ $RPM_BUILD_ROOT%{l_prefix}/libexec/tsmc/en_US \ $RPM_BUILD_ROOT%{l_prefix}/var/tsmc # install execution wrapper l_binsh="/bin/sh" case "%{l_target}" in *-freebsd* ) l_binsh="/compat/linux/bin/sh" ;; esac %{l_shtool} install -c -m 755 \ -e "s;@l_binsh@;${l_binsh};g" \ -e 's;@l_prefix@;%{l_prefix};g' \ %{SOURCE dsmexec} $RPM_BUILD_ROOT%{l_prefix}/libexec/tsmc/ # install binaries for f in dsmagent dsmc dsmcad dsmstat dsmtca; do %{l_shtool} install -c -m 755 \ root/ba/bin/$f \ $RPM_BUILD_ROOT%{l_prefix}/libexec/tsmc/ case "%{l_target}" in *-freebsd* ) brandelf -t Linux $RPM_BUILD_ROOT%{l_prefix}/libexec/tsmc/$f ;; esac ln $RPM_BUILD_ROOT%{l_prefix}/libexec/tsmc/dsmexec \ $RPM_BUILD_ROOT%{l_prefix}/bin/$f done # install required NLS stuff %{l_shtool} install -c -m 644 \ root/ba/bin/en_US/* \ $RPM_BUILD_ROOT%{l_prefix}/libexec/tsmc/en_US rm -f $RPM_BUILD_ROOT%{l_prefix}/libexec/tsmc/en_US/DDsmResources.java >/dev/null 2>&1 || true rm -f $RPM_BUILD_ROOT%{l_prefix}/libexec/tsmc/en_US/wchelp.htl >/dev/null 2>&1 || true rm -f $RPM_BUILD_ROOT%{l_prefix}/libexec/tsmc/en_US/*.tif >/dev/null 2>&1 || true # install required shared libraries case "%{l_target}" in *-freebsd* ) %{l_shtool} install -c -m 755 \ lib/* $RPM_BUILD_ROOT%{l_prefix}/libexec/tsmc/lib/ ;; esac # install default configuration %{l_shtool} install -c -m 755 \ -e 's;@l_prefix@;%{l_prefix};g' \ %{SOURCE dsm.opt} %{SOURCE dsm.sys} \ $RPM_BUILD_ROOT%{l_prefix}/libexec/tsmc/ ln $RPM_BUILD_ROOT%{l_prefix}/libexec/tsmc/dsm.sys \ $RPM_BUILD_ROOT%{l_prefix}/etc/tsmc/dsm.sys ln $RPM_BUILD_ROOT%{l_prefix}/libexec/tsmc/dsm.opt \ $RPM_BUILD_ROOT%{l_prefix}/etc/tsmc/dsm.opt # install run-command script %{l_shtool} install -c -m 755 \ -e 's;@l_prefix@;%{l_prefix};g' \ -e 's;@l_musr@;%{l_musr};g' \ -e 's;@l_mgrp@;%{l_mgrp};g' \ %{SOURCE rc.tsmc} \ $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ # determine installation files %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ %{l_files_std} \ '%config %{l_prefix}/etc/tsmc/*' \ '%attr(4755,root,%{l_mgrp}) %{l_prefix}/bin/dsmtca' %files -f files %clean rm -rf $RPM_BUILD_ROOT %post if [ $1 -eq 1 ]; then case "%{l_target}" in *-linux*) echo "Please make sure you have the vendor libstdc++ 2.9 package installed:" echo "- RedHat Linux 7.x: compat-libstdc++-6.2-2.9.0.16" echo "- Debian GNU/Linux 2.2: libstdc++2.9-glibc2.1" echo "The resulting library file has to be named libstdc++-libc6.1-1.so.2" ;; esac fi