slitaz-base-files annotate rootfs/usr/lib/slitaz/libpkg.sh @ rev 185
libpkg.sh: Move source_receipt function in spk-ls to libpkg.sh. Source /lib/libtaz.sh in libpkg.sh so source_receipt function will work no matter what.
author | Christopher Rogers <slaxemulator@gmail.com> |
---|---|
date | Fri May 25 16:34:01 2012 +0000 (2012-05-25) |
parents | 32b585eb6cbe |
children | 1c8307dbe719 |
rev | line source |
---|---|
pankso@152 | 1 #!/bin/sh |
pankso@152 | 2 # |
pankso@152 | 3 # SliTaz Packages base functions used by packages manager, cook and |
pankso@152 | 4 # all tools dealing with packages and receipts. |
pankso@152 | 5 # |
pankso@152 | 6 # Documentation: man libpkg or /usr/share/doc/slitaz/libpkg.txt |
pankso@152 | 7 # |
pankso@152 | 8 # Copyright (C) 2012 SliTaz GNU/Linux - BSD License |
pankso@152 | 9 # |
pankso@152 | 10 |
slaxemulator@185 | 11 . /lib/libtaz.sh |
slaxemulator@185 | 12 |
pankso@152 | 13 # Unset all receipt variables. |
pankso@152 | 14 unset_receipt() { |
pankso@152 | 15 unset PACKAGE VERSION EXTRAVERSION SHORT_DESC HOST_ARCH TARBALL \ |
pankso@152 | 16 DEPENDS BUILD_DEPENDS WANTED WGET_URL PROVIDE CROSS_BUG |
pankso@152 | 17 } |
meshca@155 | 18 |
pankso@183 | 19 # Converts pkg.tazpkg to pkg |
meshca@155 | 20 package_name() { |
meshca@155 | 21 local name=$(basename $1) |
meshca@155 | 22 echo ${name%.tazpkg} |
meshca@155 | 23 } |
meshca@155 | 24 |
pankso@183 | 25 # Check mirror ID: return false if no changes or mirror unreachable |
pankso@183 | 26 check_mirror_id() { |
pankso@183 | 27 [ "$forced" ] && rm -f ID |
pankso@183 | 28 [ -f "ID" ] || echo $$ > ID |
pankso@183 | 29 mv ID ID.bak |
pankso@183 | 30 if wget -qs ${mirror%/}/ID; then |
pankso@183 | 31 wget -q ${mirror%/}/ID |
pankso@183 | 32 else |
pankso@183 | 33 gettext "Mirror is unreachable"; false |
pankso@183 | 34 status && return 1 |
pankso@183 | 35 fi |
pankso@183 | 36 if [ "$(cat ID)" == "$(cat ID.bak)" ]; then |
pankso@183 | 37 gettext "Mirror is up-to-date"; true |
pankso@183 | 38 status && return 1 |
pankso@183 | 39 fi |
pankso@183 | 40 } |
pankso@183 | 41 |
slaxemulator@185 | 42 # Source a package receipt |
slaxemulator@185 | 43 source_receipt() { |
slaxemulator@185 | 44 local receipt=$1 |
slaxemulator@185 | 45 if [ ! -f $receipt ]; then |
slaxemulator@185 | 46 echo -n $(colorize 31 "$pkg") |
slaxemulator@185 | 47 indent 28 $(gettext "missing receipt") |
slaxemulator@185 | 48 continue |
slaxemulator@185 | 49 else |
slaxemulator@185 | 50 . $receipt |
slaxemulator@185 | 51 fi |
slaxemulator@185 | 52 } |
slaxemulator@185 | 53 |
pankso@181 | 54 # |
pankso@181 | 55 # Do we realy need the code below here ??? |
pankso@181 | 56 # |
pankso@181 | 57 |
meshca@155 | 58 # checks to see if file is proper tazpkg |
meshca@155 | 59 is_valid_tazpkg() { |
meshca@155 | 60 local file=$1 |
meshca@155 | 61 [ -a $file ] && [ "$file" != "$(package_name $file)" ] |
meshca@155 | 62 } |
meshca@155 | 63 |
meshca@155 | 64 check_valid_tazpkg() { |
meshca@155 | 65 local file=$1 |
meshca@155 | 66 if ! is_valid_tazpkg $file; then |
pankso@184 | 67 echo -n "$file " |
pankso@184 | 68 gettext "is not a tazpkg. Exiting"; newline |
meshca@155 | 69 exit 1 |
meshca@155 | 70 fi |
meshca@155 | 71 } |