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 }