The R Project SVN R

Rev

Rev 6529 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6529 Rev 6994
Line 4... Line 4...
4
# Usage:
4
# Usage:
5
#	R INSTALL [options] [-l lib] pkg_1 ... pkg_n
5
#	R INSTALL [options] [-l lib] pkg_1 ... pkg_n
6
 
6
 
7
# @configure_input@
7
# @configure_input@
8
 
8
 
9
VERSION="0.2-2"
-
 
10
USAGE_MSG="Usage:  R INSTALL [options] [-l lib] pkg_1 ... pkg_n"
9
USAGE_MSG="Usage:  R INSTALL [options] [-l lib] pkg_1 ... pkg_n"
11
 
10
 
12
CLEAN=false
11
CLEAN=false
13
DEBUG=false
12
DEBUG=false
14
ERROR=false
13
ERROR=false
Line 41... Line 40...
41
 
40
 
42
TMPDIR="/tmp/R.INSTALL.$$"
41
TMPDIR="/tmp/R.INSTALL.$$"
43
 
42
 
44
umask 022
43
umask 022
45
 
44
 
-
 
45
# get the full path names to all packages contained in $1
-
 
46
# modifies PKGS
-
 
47
get_packages () {
-
 
48
  if grep -s "^Contains:" "${1}/DESCRIPTION"; then
-
 
49
    BUNDLEPKG=`grep -s "^Contains:" "${1}/DESCRIPTION" | \
-
 
50
      sed "s/^Contains://; s/,/ /g"`
-
 
51
    for p in ${BUNDLEPKG}; do
-
 
52
      PKGS="${PKGS} \"`cd "${1}/${p}"; pwd`\""
-
 
53
      if test -f "${1}/${p}/DESCRIPTION.in"; then
-
 
54
        cat "${1}/${p}/DESCRIPTION.in"  > "${1}/${p}/DESCRIPTION"
-
 
55
        grep -v "^Contains:" "${1}/DESCRIPTION" >> "${1}/${p}/DESCRIPTION"
-
 
56
      fi
-
 
57
    done
-
 
58
  else 
-
 
59
      PKGS="${PKGS} \"`cd "${1}"; pwd`\""
-
 
60
  fi
-
 
61
}
-
 
62
 
46
while test -n "${1}"; do
63
while test -n "${1}"; do
47
  case ${1} in
64
  case ${1} in
48
    -h|--help|-\?)
65
    -h|--help|-\?)
49
      echo "${USAGE_MSG}"; exit 0 ;;
66
      echo "${USAGE_MSG}"; exit 0 ;;
50
    -V|--version)
-
 
51
      echo "${VERSION}"; exit 0 ;;
-
 
52
    -c|--clean)
67
    -c|--clean)
53
      CLEAN=true ;;
68
      CLEAN=true ;;
54
    --debug)
69
    --debug)
55
      DEBUG=true; SHLIB_OPTS="${SHLIB_OPTS} --debug" ;;
70
      DEBUG=true; SHLIB_OPTS="${SHLIB_OPTS} --debug" ;;
56
    --no-docs)
71
    --no-docs)
Line 75... Line 90...
75
        mkdir -p ${TMPDIR}
90
        mkdir -p ${TMPDIR}
76
	PKGNAME=`basename "${1}"`
91
	PKGNAME=`basename "${1}"`
77
	PKGNAME=`echo "${PKGNAME}" | sed 's/_.*//'`
92
	PKGNAME=`echo "${PKGNAME}" | sed 's/_.*//'`
78
	gzip -dc "${1}" | (cd ${TMPDIR} && tar -xf -)
93
	gzip -dc "${1}" | (cd ${TMPDIR} && tar -xf -)
79
	if test -d "${TMPDIR}/${PKGNAME}"; then
94
	if test -d "${TMPDIR}/${PKGNAME}"; then
80
	  PKGS="${PKGS} \"`cd "${TMPDIR}/${PKGNAME}"; pwd`\""
95
	  get_packages "${TMPDIR}/${PKGNAME}"
81
	else
96
	else
82
	  echo "ERROR: cannot extract package from ${1}"
97
	  echo "ERROR: cannot extract package from ${1}"
83
	  exit 1
98
	  exit 1
84
	fi    
99
	fi    
85
      elif test -d "${1}"; then
100
      elif test -d "${1}"; then
86
	PKGS="${PKGS} \"`cd "${1}"; pwd`\""
101
        get_packages "${1}"
87
      else
102
      else
88
	echo "WARNING: package \`"${1}"' does not exist"
103
	echo "WARNING: package \`"${1}"' does not exist"
89
      fi
104
      fi
90
      ;;
105
      ;;
91
  esac
106
  esac