Explorar el Código

Name package: tsmc 4.2.1 This is a first cut for a Tivoli Storage Manager (TSM) client package. It currently builds correctly on Linux and FreeBSD, but still does not run on FreeBSD. Build support for Solaris is added later.

Ralf S. Engelschall hace 24 años
padre
commit
8ea7a41bea
Se han modificado 5 ficheros con 228 adiciones y 0 borrados
  1. 4 0
      tsmc/dsm.opt
  2. 24 0
      tsmc/dsm.sys
  3. 35 0
      tsmc/dsmexec
  4. 14 0
      tsmc/rc.tsmc
  5. 151 0
      tsmc/tsmc.spec

+ 4 - 0
tsmc/dsm.opt

@@ -0,0 +1,4 @@
+**
+**  @l_prefix@/etc/tsmc/dsm.opt -- TSM Options
+**
+

+ 24 - 0
tsmc/dsm.sys

@@ -0,0 +1,24 @@
+**
+**  @l_prefix@/etc/tsmc/dsm.sys -- TSM System Configuration
+**
+
+Servername tsm.example.com
+   CommMethod          TCPip
+   TCPServerAddress    192.168.0.1
+   TCPPort             1500
+   PasswordAccess      prompt
+   NodeName            foo.example.com
+   SchedLogName        @l_prefix@/var/tsmc/dsm.sched.log
+   ErrorLogName        @l_prefix@/var/tsmc/dsm.error.log
+   VirtualMountPoint   @l_prefix@
+   Domain              @l_prefix@
+   SchedMode           prompted
+   TCPNoDelay          yes
+   ChangingRetries     3
+   ErrorLogRetention   7 D
+   MaxCmdRetries       3
+   ResourceUtilization 5
+   RetryPeriod         15
+   SchedLogRetention   7 D
+   MemoryEff           yes
+

+ 35 - 0
tsmc/dsmexec

@@ -0,0 +1,35 @@
+#!@l_binsh@
+##
+##  TSM Run-Time Executable Wrapper Script
+##
+
+prog="`echo $0 | sed -e 's;.*/\([^/]*\)$;\1;'`"
+prefix="@l_prefix@"
+
+if [ ! -f "$prefix/libexec/tsmc/$prog" ]; then
+    echo "TSM: invalid program name" 1>&2
+    exit 1
+fi
+
+DSM_CONFIG="$prefix/libexec/tsmc/dsm.opt"
+export DSM_CONFIG
+
+DSM_DIR="$prefix/libexec/tsmc"
+export DSM_DIR
+
+unset LD_LIBRARY_PATH
+for dir in /lib /usr/lib /usr/ccs/lib; do
+    if [ -d $dir ]; then
+        if [ ".$LD_LIBRARY_PATH" = . ]; then
+            LD_LIBRARY_PATH="$dir"
+        else
+            LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:$dir"
+        fi
+    fi
+done
+if [ -d "$prefix/libexec/tsmc/lib" ]; then
+    LD_LIBRARY_PATH="$prefix/libexec/tsmc/lib:${LD_LIBRARY_PATH}"
+fi
+
+exec $prefix/libexec/tsmc/$prog "$@"
+

+ 14 - 0
tsmc/rc.tsmc

@@ -0,0 +1,14 @@
+#!@l_prefix@/lib/openpkg/bash @l_prefix@/etc/rc
+##
+##  rc.tsmc -- Run-Commands for TSMC
+##
+
+%config
+    tsmc_enable="yes"
+
+%start -p 200 -u root
+    opServiceEnabled tsmc || exit 0
+
+%stop -p 200 -u root
+    opServiceEnabled tsmc || exit 0
+

+ 151 - 0
tsmc/tsmc.spec

@@ -0,0 +1,151 @@
+##
+##  tsmc.spec -- OpenPKG RPM Specification
+##  Copyright (c) 2000-2002 Cable & Wireless Deutschland GmbH
+##  Copyright (c) 2000-2002 The OpenPKG Project <http://www.openpkg.org/>
+##  Copyright (c) 2000-2002 Ralf S. Engelschall <rse@engelschall.com>
+##
+##  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 [REL]
+Group:        Converter
+License:      Commercial
+Version:      4.2.1
+Release:      20020114
+
+#   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
+
+#   build information
+Prefix:       %{l_prefix}
+BuildRoot:    %{l_buildroot}
+BuildPreReq:  OpenPKG, openpkg >= 20011227, tar, gzip
+PreReq:       OpenPKG, openpkg >= 20011227
+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
+    %setup0 -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} )
+            ;;
+        *-solaris* )
+            %{l_prefix}/bin/gzip -d %{SOURCE IP22372.tar.Z} | %{l_prefix}/bin/tar xf -
+            # pkg_trans? FIXME
+            ;;
+    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 \
+            opt/tivoli/tsm/client/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 \
+        opt/tivoli/tsm/client/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
+    rm -f $RPM_BUILD_ROOT%{l_prefix}/libexec/tsmc/en_US/wchelp.htl
+
+    #   install required shared libraries
+    case "%{l_target}" in
+        *-freebsd* | *-linux* )
+            %{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_fsusr@;%{l_fsusr};g' \
+        -e 's;@l_fsgrp@;%{l_fsgrp};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_fsgrp}) %{l_prefix}/bin/dsmtca'
+
+%files -f files
+
+%clean
+    rm -rf $RPM_BUILD_ROOT
+