#! /bin/csh -f # # set mypwd=`pwd` if ($#argv != 3) then usage: echo "Usage: $0 operating_system install_directory action" echo " operating systems can be:" echo " rh9" echo " mandrake" # echo " suse" # echo " fedora" echo " install_directory must already exist" echo " " echo " action can be:" echo " download - download rpms to specified directory" echo " install - install rpms in current directory" echo " upgrade - upgrade rpms in current directory (pre-existing vers. of AIPS++)" echo " " echo " Example:" echo " cinstall rh9 . download" echo " cinstall rh9 . install (if any conflicts, then upgrade)" echo " cinstall rh9 . upgrade" goto done endif # # set dir1=$2 set os1=$1 set action1=$3 # # Move to directory; copy rpm database cd $dir1 (cd /var/lib; tar cf - rpm) | tar xf - # if ($action1 == "download") then goto download else if ($action1 == "install") then goto install else if ($action1 == "upgrade") then goto upgrade else if ($action1 == "delete") then goto delete else if ($action1 == "freshen") then goto freshen else echo "Unrecognized action. Please try again" goto usage endif # # if (! -d $dir1) then echo "$dir1 is not a directory"; goto error endif # # download: # # create suckrpm file touch suckrpm echo "binary" > suckrpm echo "hash" >> suckrpm echo "prompt off" >> suckrpm echo $os1 echo "cd casa/TST1.1/$os1" echo "cd casa/TST1.1/$os1" >> suckrpm echo "mget *" >> suckrpm echo "quit" >> suckrpm # # Create .netrc if it doesn't exist if (! -e ~/.netrc) then touch ~/.netrc echo "default login anonymous password user@site" >> ~/.netrc endif # # Download relevant rpms ftp ftp.cv.nrao.edu < suckrpm # goto done; # install: echo "Install rpms:" echo $dir1 echo $mypwd echo $mypwd/rpm # # install support rpms if ($os1 == 'rh9') then echo "Support libraries..." rpm -iv --force --dbpath $mypwd/rpm \ --prefix $mypwd \ gccshare+3.3-11-4ds.i386.rpm \ gppshare+3.3-11-4ds.i386.rpm \ g77share+3.3-11-4ds.i386.rpm \ pgplot-5.2.2-4ds.i386.rpm \ pgplot-motif-5.2.2-4ds.i386.rpm \ rpfits-2.6-13ds.i386.rpm \ cfitsio-2.401-12ds.i386.rpm # # install AIPS++ data repository echo "Required AIPS++ data (e.g., IERS data, source catalogs, observatory locations)..." rpm -iv --force --dbpath $mypwd/rpm \ --prefix $mypwd \ casa-data-20041013-1ds.noarch.rpm \ casa-data-base-20041013-1ds.noarch.rpm # # install AIPS++ rpms echo "CASA (AIPS++) libraries..." rpm -iv --force --dbpath $mypwd/rpm \ --prefix $mypwd \ casa-19.819-7ds.i386.rpm \ casa-shared-19.819-7ds.i386.rpm \ glish-2.8.0-5ds.i386.rpm # endif if ($os1 == 'mandrake') then echo "Support libraries..." rpm -iv --force --dbpath $mypwd/rpm \ --prefix $mypwd \ pgplot-5.2.2-4ds.i586.rpm \ pgplot-motif-5.2.2-4ds.i586.rpm \ rpfits-2.6-13ds.i586.rpm \ cfitsio-2.401-12ds.i586.rpm \ lesstif-0.93.94-2ds.i586.rpm # # install AIPS++ data repository echo "Required AIPS++ data (e.g., IERS data, source catalogs, observatory locations)..." rpm -iv --force --dbpath $mypwd/rpm \ --prefix $mypwd \ casa-data-20041013-1ds.noarch.rpm \ casa-data-base-20041013-1ds.noarch.rpm # # install AIPS++ rpms echo "CASA (AIPS++) libraries..." rpm -iv --force --dbpath $mypwd/rpm \ --prefix $mypwd \ casa-19.819-7ds.i586.rpm \ casa-shared-19.819-7ds.i586.rpm \ glish-2.8.0-5ds.i586.rpm # endif goto done; freshen: rpm -Fv --dbpath $mypwd/rpm \ --prefix $mypwd \ gccshare+3.3-11-4ds.i386.rpm \ gppshare+3.3-11-4ds.i386.rpm \ g77share+3.3-11-4ds.i386.rpm \ pgplot-5.2.2-4ds.i386.rpm \ pgplot-motif-5.2.2-4ds.i386.rpm \ rpfits-2.6-13ds.i386.rpm \ cfitsio-2.401-12ds.i386.rpm # upgrade AIPS++ data repository rpm -Fv --dbpath $mypwd/rpm \ --prefix $mypwd \ casa-data-20041013-1ds.noarch.rpm \ casa-data-base-20041013-1ds.noarch.rpm # upgrade AIPS++ rpms rpm -Fv --dbpath $mypwd/rpm \ --prefix $mypwd \ casa-19.819-7ds.i386.rpm \ casa-shared-19.819-7ds.i386.rpm \ glish-2.8.0-5ds.i386.rpm goto done: # # upgrade AIPS++ rpms # upgrade: if ($os1 == 'rh9') then echo "Support libraries..." rpm -Uv --force --dbpath $mypwd/rpm \ --prefix $mypwd \ gccshare+3.3-11-4ds.i386.rpm \ gppshare+3.3-11-4ds.i386.rpm \ g77share+3.3-11-4ds.i386.rpm \ pgplot-5.2.2-4ds.i386.rpm \ pgplot-motif-5.2.2-4ds.i386.rpm \ rpfits-2.6-13ds.i386.rpm \ cfitsio-2.401-12ds.i386.rpm # # install AIPS++ data repository echo "Required AIPS++ data (e.g., IERS data, source catalogs, observatory locations)..." rpm -Uv --force --dbpath $mypwd/rpm \ --prefix $mypwd \ casa-data-20041013-1ds.noarch.rpm \ casa-data-base-20041013-1ds.noarch.rpm # # install AIPS++ rpms echo "CASA (AIPS++) libraries..." rpm -Uv --force --dbpath $mypwd/rpm \ --prefix $mypwd \ casa-19.819-7ds.i386.rpm \ casa-shared-19.819-7ds.i386.rpm \ glish-2.8.0-5ds.i386.rpm # endif if ($os1 == 'mandrake') then echo "Mandrake" echo "Support libraries..." rpm -Uv --force --dbpath $mypwd/rpm \ --prefix $mypwd \ pgplot-5.2.2-4ds.i586.rpm \ pgplot-motif-5.2.2-4ds.i586.rpm \ rpfits-2.6-13ds.i586.rpm \ cfitsio-2.401-12ds.i586.rpm \ lesstif-0.93.94-2ds.i586.rpm # # install AIPS++ data repository echo "Required AIPS++ data (e.g., IERS data, source catalogs, observatory locations)..." rpm -Uv --force --dbpath $mypwd/rpm \ --prefix $mypwd \ casa-data-20041013-1ds.noarch.rpm \ casa-data-base-20041013-1ds.noarch.rpm # # install AIPS++ rpms echo "CASA (AIPS++) libraries..." rpm -Uv --force --dbpath $mypwd/rpm \ --prefix $mypwd \ casa-19.819-7ds.i586.rpm \ casa-shared-19.819-7ds.i586.rpm \ glish-2.8.0-5ds.i586.rpm # endif goto done: done: set path=($mypwd/bin $path) exit 0 error: exit 1