summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2009-12-28 16:10:58 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2009-12-28 16:10:58 +0100
commit43c62785b4a669407bb9ae823b82b13b05030c3a (patch)
tree57bce84bc79a6bc9d73a3f57fa64920b1f652e9a /scripts
parentbc4105bc807f3159ca77811a10abde2f2784176f (diff)
parent7fe44c3270a5f83833f352d94ed5b7380b962f68 (diff)
Merge branch 'master' of git+ssh://openadk.org/git/openadk
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/tarpkg18
1 files changed, 17 insertions, 1 deletions
diff --git a/scripts/tarpkg b/scripts/tarpkg
index 818f99ea7..f2e5def9e 100755
--- a/scripts/tarpkg
+++ b/scripts/tarpkg
@@ -1,5 +1,6 @@
#!/usr/bin/env bash
# create/install compressed tar balls
+#set -x
if [ "$1" = "build" ];then
if [ ! -d $2 ];then
@@ -9,10 +10,25 @@ if [ "$1" = "build" ];then
pkgname=$(grep "^Package:" $2/CONTROL/control | sed -e "s/^[^:]*:[[:space:]]*//")
version=$(grep "^Version:" $2/CONTROL/control | sed -e "s/^[^:]*:[[:space:]]*//")
arch=$(grep "^Architecture:" $2/CONTROL/control | sed -e "s/^[^:]*:[[:space:]]*//")
+ mkdir -p ${2}/usr/lib/pkg
+ for file in preinst postinst prerm postrm; do
+ [ ! -f $2/CONTROL/$file ] || ( cp $2/CONTROL/$file \
+ ${2}/usr/lib/pkg/${pkgname}.$file && \
+ chmod +x ${2}/usr/lib/pkg/${pkgname}.$file )
+ done
rm -rf $2/CONTROL
(cd $2 && tar -czf $3/${pkgname}_${version}_${arch}.tar.gz .)
elif [ "$1" = "install" ];then
- tar -xzpf $2 -C ${INSTROOT}
+ pkg=$(echo $(basename $2)|sed -e "s#_.*##")
+ if [ -x ${PKG_INSTROOT}/usr/lib/pkg/${pkg}.preinst ]; then
+ IPKG_INSTROOT="$PKG_INSTROOT" ${PKG_INSTROOT}/usr/lib/pkg/${pkg}.preinst
+ rm ${PKG_INSTROOT}/usr/lib/pkg/${pkg}.preinst
+ fi
+ tar -xzpf $2 -C ${PKG_INSTROOT}
+ if [ -x ${PKG_INSTROOT}/usr/lib/pkg/${pkg}.postinst ]; then
+ IPKG_INSTROOT="$PKG_INSTROOT" ${PKG_INSTROOT}/usr/lib/pkg/${pkg}.postinst
+ rm ${PKG_INSTROOT}/usr/lib/pkg/${pkg}.postinst
+ fi
else
echo "unknown command"
exit 1