#!/bin/sh
+# install a file from a package
+# -f pkgfile
+# -R root of pkg
+# -P prefix to file
+# -S strip prefix
+# -p pkgname
+
pkgroot=/
while getopts :f:v:r:d:a:u:l:p:b:P:R: opt; do
f) pkgfile="$OPTARG" ;;
v) pkgver="$OPTARG" ;;
r) pkgrel="$OPTARG" ;;
- d) description="$OPTARG" ;;
- a) arch="$OPTARG" ;;
- u) url="$OPTARG" ;;
- l) licenses="$OPTARG" ;;
- p) packager="$OPTARG" ;;
- b) builddate="$OPTARG" ;;
P) prefix="$OPTARG" ;;
esac
done
pkg="$1"
shift
+ZPMPKGFILE=$pkgfile
+export ZPMPKGFILE
+
set -e
for path in $*; do
- fhash=$(pkgfileinfo hash $path)
- mode=$(pkgfileinfo mode $path)
- owner=$(pkgfileinfo username $path)
- group=$(pkgfileinfo groupname $path)
- ftype=$(pkgfileinfo filetype $path)
+ echo installing $path from $pkg
+ set -x
+ fhash=$(zpm pkgfileinfo hash $path)
+ mode=$(zpm pkgfileinfo mode $path)
+ ftype=$(zpm pkgfileinfo filetype $path)
+ owner=$(zpm pkgfileinfo username $path)
+ group=$(zpm pkgfileinfo groupname $path)
+
name=$(basename -- $path)
+ dir=$(dirname -- $path)
if [ "$pkgroot" != '/' ]; then
- dir=$pkgroot/$(dirname -- $path)
+ dir=$pkgroot/$dir
dir=${dir%/.}
if [ "$dir" = "//" ]; then dir=/ ; fi
- else
- dir=''
fi
tmppath=$dir/.installing.$name