author | kergoth <kergoth> | 2003-04-15 03:12:31 (UTC) |
---|---|---|
committer | kergoth <kergoth> | 2003-04-15 03:12:31 (UTC) |
commit | 7d32077ab9c4e33fb82390cd5279f049000a0e0c (patch) (unidiff) | |
tree | cd0f88932101eca6dbcd0f9cf6ff659840738e13 /scripts | |
parent | 35edf52692c9f5e68b07072dd79b857d16d79559 (diff) | |
download | opie-7d32077ab9c4e33fb82390cd5279f049000a0e0c.zip opie-7d32077ab9c4e33fb82390cd5279f049000a0e0c.tar.gz opie-7d32077ab9c4e33fb82390cd5279f049000a0e0c.tar.bz2 |
Ipkg-build that strips out epoch from package version when naming
the file.
-rwxr-xr-x | scripts/ipkg-build | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/scripts/ipkg-build b/scripts/ipkg-build index 0533048..c6af056 100755 --- a/scripts/ipkg-build +++ b/scripts/ipkg-build | |||
@@ -47,25 +47,25 @@ You probably want to chown these to a system user: " >&2 | |||
47 | fi | 47 | fi |
48 | 48 | ||
49 | 49 | ||
50 | if [ ! -f "$CONTROL/control" ]; then | 50 | if [ ! -f "$CONTROL/control" ]; then |
51 | echo "*** Error: Control file $pkg_dir/$CONTROL/control not found." >&2 | 51 | echo "*** Error: Control file $pkg_dir/$CONTROL/control not found." >&2 |
52 | cd $owd | 52 | cd $owd |
53 | return 1 | 53 | return 1 |
54 | fi | 54 | fi |
55 | 55 | ||
56 | pkg=`required_field Package` | 56 | pkg=`required_field Package` |
57 | [ "$?" -ne 0 ] && PKG_ERROR=1 | 57 | [ "$?" -ne 0 ] && PKG_ERROR=1 |
58 | 58 | ||
59 | version=`required_field Version | sed 's/.*://;'` | 59 | version=`required_field Version | sed 's/Version://; s/^.://g;'` |
60 | [ "$?" -ne 0 ] && PKG_ERROR=1 | 60 | [ "$?" -ne 0 ] && PKG_ERROR=1 |
61 | 61 | ||
62 | arch=`required_field Architecture` | 62 | arch=`required_field Architecture` |
63 | [ "$?" -ne 0 ] && PKG_ERROR=1 | 63 | [ "$?" -ne 0 ] && PKG_ERROR=1 |
64 | 64 | ||
65 | required_field Maintainer >/dev/null | 65 | required_field Maintainer >/dev/null |
66 | [ "$?" -ne 0 ] && PKG_ERROR=1 | 66 | [ "$?" -ne 0 ] && PKG_ERROR=1 |
67 | 67 | ||
68 | required_field Description >/dev/null | 68 | required_field Description >/dev/null |
69 | [ "$?" -ne 0 ] && PKG_ERROR=1 | 69 | [ "$?" -ne 0 ] && PKG_ERROR=1 |
70 | 70 | ||
71 | section=`required_field Section` | 71 | section=`required_field Section` |
@@ -112,35 +112,36 @@ You probably want to chown these to a system user: " >&2 | |||
112 | fi | 112 | fi |
113 | done | 113 | done |
114 | fi | 114 | fi |
115 | 115 | ||
116 | cd $owd | 116 | cd $owd |
117 | return $PKG_ERROR | 117 | return $PKG_ERROR |
118 | } | 118 | } |
119 | 119 | ||
120 | ### | 120 | ### |
121 | # ipkg-build "main" | 121 | # ipkg-build "main" |
122 | ### | 122 | ### |
123 | ogargs="" | 123 | ogargs="" |
124 | usage="Usage: $0 [-o owner] [-g group] [-c] <pkg_directory> [<destination_directory>]" | 124 | outer=ar |
125 | while getopts ":o:g:c" opt; do | 125 | usage="Usage: $0 [-c] [-o owner] [-g group] <pkg_directory> [<destination_directory>]" |
126 | while getopts "cg:o:" opt; do | ||
126 | case $opt in | 127 | case $opt in |
127 | o ) owner=$OPTARG | 128 | o ) owner=$OPTARG |
128 | ogargs="--owner=$owner" | 129 | ogargs="--owner=$owner" |
129 | ;; | 130 | ;; |
130 | g ) group=$OPTARG | 131 | g ) group=$OPTARG |
131 | ogargs="$ogargs --group=$group" | 132 | ogargs="$ogargs --group=$group" |
132 | ;; | 133 | ;; |
133 | c ) classic=1 | 134 | c ) outer=tar |
134 | ;; | 135 | ;; |
135 | \? ) echo $usage >&2 | 136 | \? ) echo $usage >&2 |
136 | esac | 137 | esac |
137 | done | 138 | done |
138 | 139 | ||
139 | 140 | ||
140 | shift $(($OPTIND - 1)) | 141 | shift $(($OPTIND - 1)) |
141 | 142 | ||
142 | # continue on to process additional arguments | 143 | # continue on to process additional arguments |
143 | 144 | ||
144 | case $# in | 145 | case $# in |
145 | 1) | 146 | 1) |
146 | dest_dir=. | 147 | dest_dir=. |
@@ -177,23 +178,24 @@ if ! pkg_appears_sane $pkg_dir; then | |||
177 | fi | 178 | fi |
178 | 179 | ||
179 | tmp_dir=$dest_dir/IPKG_BUILD.$$ | 180 | tmp_dir=$dest_dir/IPKG_BUILD.$$ |
180 | mkdir $tmp_dir | 181 | mkdir $tmp_dir |
181 | 182 | ||
182 | tar $ogargs -C $pkg_dir -czf $tmp_dir/data.tar.gz . --exclude=$CONTROL | 183 | tar $ogargs -C $pkg_dir -czf $tmp_dir/data.tar.gz . --exclude=$CONTROL |
183 | tar $ogargs -C $pkg_dir/$CONTROL -czf $tmp_dir/control.tar.gz . | 184 | tar $ogargs -C $pkg_dir/$CONTROL -czf $tmp_dir/control.tar.gz . |
184 | 185 | ||
185 | echo "2.0" > $tmp_dir/debian-binary | 186 | echo "2.0" > $tmp_dir/debian-binary |
186 | 187 | ||
187 | pkg_file=$dest_dir/${pkg}_${version}_${arch}.ipk | 188 | pkg_file=$dest_dir/${pkg}_${version}_${arch}.ipk |
188 | here_dir=$PWD | 189 | here_dir=$PWD |
190 | ## tar -C $tmp_dir -czf $pkg_file ./debian-binary ./data.tar.gz ./control.tar.gz | ||
189 | rm -f $pkg_file | 191 | rm -f $pkg_file |
190 | if [ -n "$classic" ]; then | 192 | if [ "$outer" = "ar" ] ; then |
191 | tar -C $tmp_dir -czf $pkg_file ./debian-binary ./data.tar.gz ./control.tar.gz | 193 | cd $tmp_dir ; ar crf $here_dir/$pkg_file ./debian-binary ./data.tar.gz ./control.tar.gz |
192 | else | 194 | else |
193 | cd $tmp_dir ; ar crf $here_dir/$pkg_file ./debian-binary ./data.tar.gz ./control.tar.gz | 195 | cd $tmp_dir ; tar -zcf $here_dir/$pkg_file ./debian-binary ./data.tar.gz ./control.tar.gz |
194 | fi | 196 | fi |
195 | cd $here_dir | 197 | cd $here_dir |
196 | rm $tmp_dir/debian-binary $tmp_dir/data.tar.gz $tmp_dir/control.tar.gz | 198 | rm $tmp_dir/debian-binary $tmp_dir/data.tar.gz $tmp_dir/control.tar.gz |
197 | rmdir $tmp_dir | 199 | rmdir $tmp_dir |
198 | 200 | ||
199 | echo "Packaged contents of $pkg_dir into $pkg_file" | 201 | echo "Packaged contents of $pkg_dir into $pkg_file" |