]> pd.if.org Git - zpackage/blob - zpm-pkginfo
exit with failure status if soname not found
[zpackage] / zpm-pkginfo
1 #!/bin/sh
2
3 package=${1:-$ZPMPACKAGE}
4 shift
5 pkgver=${ZPMPACKAGEVER:-1.0}
6 pkgrel=${ZPMPACKAGEREL:-1}
7
8 pkgroot=/
9
10 # option for "multipackage" just to let the system know that's what you meant
11 # option to take filenames from stdin
12 # parse package, version, release from file if not given
13 while getopts :f:v:r:d:a:u:l:p:b:P: opt; do
14         case $opt in
15                 R) pkgroot="$OPTARG" ;;
16                 S) format=shell ;;
17                 f) pkgfile="$OPTARG" ;;
18                 v) pkgver="$OPTARG" ;;
19                 r) pkgrel="$OPTARG" ;;
20                 d) description="$OPTARG" ;;
21                 a) arch="$OPTARG" ;;
22                 u) url="$OPTARG" ;;
23                 l) licenses="$OPTARG" ;;
24                 p) packager="$OPTARG" ;;
25                 b) builddate="$OPTARG" ;;
26                 P) prefix="$OPTARG" ;;
27         esac
28 done
29
30 set -e
31 if [ -z "$pkgfile" ]; then
32         pkgfile="$package-$pkgver-$pkgrel.zpm"
33 fi
34
35 appid=$(sqlite3 $pkgfile 'pragma application_id;' | ( echo obase = 16; cat - ) | bc)
36 if [ "$appid" != "5A504442" ]; then
37         echo $pkgfile does not appear to be a zpm package file
38         exit 1
39 fi
40
41 {
42 sqlite3 $pkgfile <<EOS
43 .mode line
44 select * from packages where package = '$package' and version = '$pkgver' and release = $pkgrel
45 ;
46 EOS
47 } | sed -e 's/ = /=/' -e 's/^ \+//'
48
49 exit 0