1234567891011121314151617181920212223242526272829303132333435 |
- #!/usr/bin/env bash
- # create/install compressed tar balls
- #set -x
- if [ "$1" = "build" ];then
- if [ ! -d $2 ];then
- echo "not a directory"
- exit 1
- fi
- 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:]]*//")
- for file in preinst postinst prerm postrm; do
- [ ! -f $2/CONTROL/$file ] || ( mkdir -p ${2}/usr/lib/pkg && \
- 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
- 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
- rm -rf ${PKG_INSTROOT}/usr/lib/pkg
- else
- echo "unknown command"
- exit 1
- fi
|