Bump licence to GPL 3+.
[minipack.git] / tools / mpk-unpack
blobedd7f75415cc1f5431367f388ef172ff7fe0d526
1 # mpk-unpack - unpacks source code.
2 # Copyright (C) 2008 Cesar Strauss
4 # This file is part of Minipack - an automated build tool.
6 # Minipack is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation, either version 3 of the License, or
9 # (at your option) any later version.
11 # Minipack is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with Minipack. If not, see <http://www.gnu.org/licenses/>.
19 unpack_source()
21   : ${source_package_type:=tar.gz}
22   : ${source:=$name-$version.$source_package_type}
23   : ${top_srcdir:=$name-$version}
25   buildroot=$builddir/$name-$version-$release
26   
27   if [ -d $buildroot/$top_srcdir ]; then
28     exit 0
29   fi
30   
31   sourcename=$sourcedir/$source
32   if [ ! -e $sourcename ]; then
33     $mpk source $pkg
34     if [ ! -e $sourcename ]; then
35       echo >&2 "$(basename $0) unpack: Could not find source for $pkg"
36       exit 1
37     fi
38   fi
40   mkdir -p $buildroot
41   cd $buildroot
43   case $source_package_type in
44     tar.*)
45       tar -xf $sourcename ;;
46     zip)
47       unzip $sourcename ;;
48   esac
50   if [ $? != 0 ]; then
51     echo >&2 "$(basename $0) unpack: Failed to unpack $sourcename"
52     exit 1
53   fi
54   
55   cd ${top_srcdir}
56   
57   pkg_patchdir=$patchdir/$name
58   
59   if [ -d $pkg_patchdir ]; then
60     patches=`find $pkg_patchdir -name '*.patch' | sort`
61     for p in $patches; do
62       patch -p1 -i "$p"
63       if [ $? != 0 ]; then
64         echo >&2 "$(basename $0) unpack: Failed apply patches for $sourcename"
65         exit 1
66       fi
67     done
68   fi
70   export ACLOCAL="aclocal -I $resultdir/share/aclocal"  
72   src_prep
74   if [ $? != 0 ]; then
75     echo >&2 "$(basename $0) unpack: Failed to prepare build directory for $sourcename"
76     exit 1
77   fi
78   
81 src_prep()
83   do_prep
86 do_prep()
88   :
91 pkg=$1
93 if [ -z "$pkg" ]; then
94   echo "Usage: $(basename $0) unpack package-name ..."
95   exit 1
98 recipe=$(get_recipe_name $pkg) || exit 1
100 . $recipe
102 unpack_source