Ralf S. Engelschall пре 24 година
родитељ
комит
1d838a2ffe
2 измењених фајлова са 48 додато и 24 уклоњено
  1. 2 2
      tsmc/dsm.sys
  2. 46 22
      tsmc/tsmc.spec

+ 2 - 2
tsmc/dsm.sys

@@ -23,6 +23,6 @@ ServerName tsm.example.com
    RetryPeriod         15
    MemoryEff           yes
 
-   VirtualMountPoint   @l_prefix@
-   Domain              @l_prefix@
+*  VirtualMountPoint   @l_prefix@
+*  Domain              @l_prefix@
 

+ 46 - 22
tsmc/tsmc.spec

@@ -33,28 +33,27 @@ Distribution: OpenPKG [EXP]
 Group:        Converter
 License:      Commercial
 Version:      4.2.1
-Release:      20020212
+Release:      20020412
 
 #   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
+Source2:      dsmexec
+Source3:      dsm.sys
+Source4:      dsm.opt
+Source5:      rc.tsmc
 
 #   build information
 Prefix:       %{l_prefix}
 BuildRoot:    %{l_buildroot}
-BuildPreReq:  OpenPKG, openpkg >= 20020206, tar, gzip
-PreReq:       OpenPKG, openpkg >= 20020206
+BuildPreReq:  OpenPKG, openpkg >= 20020412, tar, gzip
+PreReq:       OpenPKG, openpkg >= 20020412
 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,
+    Storage Manager (TSM v4) software. It can be used to backup Solaris,
     Linux and FreeBSD machines to a TSM server.
 
 %prep
@@ -66,7 +65,6 @@ AutoReqProv:  no
         *-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* )
@@ -119,14 +117,6 @@ AutoReqProv:  no
     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' \
@@ -159,11 +149,45 @@ AutoReqProv:  no
 %post
     if [ $1 -eq 1 ]; then
         case "%{l_target}" in
+            *-freebsd*) 
+                if [ ! -f /compat/linux/bin/sh ]; then
+                    ( echo "The Linux ABI base system is not installed under /compat/linux/."
+                      echo "Please install the FreeBSD port/package linux_base-6.1."
+                    ) | %{l_rpmtool} msg -b
+                fi
+                if [ ! -f /compat/linux/etc/mtab ]; then
+                    ( echo "TSM insists on an /etc/mtab in the Linux ABI base system. Please" 
+                      echo "create /compat/linux/etc/mtab with at least these lines:"
+                      awk </etc/fstab '
+                          /^\/.+ufs.+/ { printf("%s\t%s\text2\trw\t1\t1\n", $1, $2); }
+                      '
+                    ) | %{l_rpmtool} msg -b
+                fi
+                ( if [ -r /etc/defaults/rc.conf ]; then
+                      . /etc/defaults/rc.conf
+                  fi
+                  if [ -r /etc/rc.conf ]; then
+                      . /etc/rc.conf
+                  fi
+                  case ${linux_enable} in
+                      [Yy][Ee][Ss])
+                          ;;
+                      * )
+                          ( echo "TSM requires the Linux ABI in the kernel."
+                            echo "Run /usr/sbin/linux manually before running TSM"
+                            echo "or add the following line to /etc/rc.conf:"
+                            echo "linux_enable=\"YES\""
+                          ) | %{l_rpmtool} msg -b
+                          ;;
+                  esac
+                )
+                ;;
             *-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"
+                ( 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"
+                ) | %{l_rpmtool} msg -b
                 ;;
         esac
     fi