File: mpk-source

package info (click to toggle)
pcb 20140316-3
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 22,212 kB
  • ctags: 16,012
  • sloc: ansic: 123,955; sh: 7,306; yacc: 5,087; pascal: 4,118; makefile: 1,559; perl: 552; lex: 438; awk: 157; lisp: 86; tcl: 63; xml: 20
file content (79 lines) | stat: -rw-r--r-- 1,957 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# mpk-source - downloads source code.
# Copyright (C) 2008,2010 Cesar Strauss
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.

get_source()
{
  do_get_source
}

do_get_source()
{
  : ${source_package_type:=tar.gz}
  : ${source:=$name-$version.$source_package_type}
  : ${gnu_mirror:=http://ftp.gnu.org/pub/gnu}

  if [ -z "$force" -a -e $sourcedir/$source ]; then
    exit 0
  fi

  if [ -n "$origin" ]; then
    case $origin in
      gnu) pkg_download="$gnu_mirror/$name/$source";;
      sf) pkg_download="http://downloads.sourceforge.net/sourceforge/$name/$source";;
      *) echo >&2 "$name: Unknown origin."; exit 1;;
    esac
  fi
  
  if [ -n "$download" ]; then
    pkg_download=$download/$source
  fi

  if [ -z "$pkg_download" ]; then
    echo >&2 "$name: download location not found."
    exit 1
  fi

  mkdir -p $sourcedir/partial
  cd $sourcedir/partial
  echo Downloading $name from $pkg_download ...
  wget -c $pkg_download

  if [ $? != 0 ]; then
    echo >&2 "$(basename $0) source: Failed to download $name"
    exit 1
  fi
  
  mv $sourcedir/partial/$source $sourcedir
}

case $1 in
  -f|--force) force=yes; shift;;
  -*) echo "$(basename $0) source: unrecognized option"; exit 1;;
esac

pkg=$1

if [ -z "$pkg" ]; then
  echo "Usage: $(basename $0) source package-name ..."
  exit 1
fi

recipe=$(get_recipe_name $pkg) || exit 1

. $recipe

get_source