echo "$0 [install/remove] [root] [package]"
echo "$0 [dist-install] [root] [dist file]"
echo
+ echo "options:"
+ echo "-v tell me whats going on"
+ echo "-a auto resolve deps, do not prompt user"
+ echo "-no-dep do not care for dependencies (used by hdw-get itself)"
+ echo
}
+
package="" ; inst_root=""
d_install="" ; install=""
-verbose=""
+verbose="" ; no_dep=""
+auto_resolve_deps=""
while [ "$1" ] ; do
case "$1" in
inst_root="$2" ; package="$3" ; shift 3 ;;
remove) remove="1"
inst_root="$2" ; package="$3" ; shift 3 ;;
- dist-install) d_install="1"
+ dist-install) d_install="1" ; package="fake"
inst_root="$2" ; dist_file="$3" ; shift 3 ;;
-v) verbose=1 ; shift 1 ;;
+ -a) auto_resolve_deps="1" ; shift 1 ;;
+ -no-dep) no_dep="1" ; shift 1 ;;
*) usage ; exit 1 ;;
esac
done
exit 1
fi
+ # does package exist?
+ pkg=`basename $package | sed 's/.tar.bz2//'`
+ if [ -f $inst_root/var/adm/flists/${pkg}-[0-9]* ] ; then
+ echo "$pkg seems to be installed, candidates:"
+ for i in $inst_root/var/adm/flists/${pkg}-[0-9]*; do
+ echo "-> $i"
+ done
+ exit 1
+ fi
+
# store info/dir file
rm -f /tmp/.hdw-get/dir*
if [ -f $inst_root/usr/share/info/dir ] ; then
tar --use-compress-program=bzip2 \
-xf $bin_dir/$package/$package.tar.bz2 -C $inst_root
elif [ ! -z "$net_addr" ] ; then
- #echo "trying to get package $package via net ..."
+ echo "getting package $package via net ..."
wget $net_addr/hdw-linux/hdw-linux-$hdw_version/binaries/${hdw_arch}-${hdw_arch_opt}/$package/${package}.tar.bz2 > /dev/null 2>&1
- if [ "$?" ] ; then
+ retval=$?
+ if [ "$retval" != "0" ] ; then
echo "package not found at $net_addr, aborting ..."
else
-
+ echo "extracting $package to $inst_root ..."
tar --use-compress-program=bzip2 \
-xf ${package}.tar.bz2 -C $inst_root
rm ${package}.tar.bz2
fi
else
echo "sorry, package $package not found"
+ exit 1
fi
# merging info/dir file
- pkg=`basename $package | sed 's/.tar.bz2//'`
+ if [ "$pkg" != "00-dirtree" ] ; then
fl_file=`ls -A $inst_root/var/adm/flists/$pkg-[0-9]* | tail -1`
if [ -n "`grep usr/share/info/dir $fl_file`" ] ; then
echo "" >> /tmp/.hdw-get/dir
fi
done
fi
- cp /tmp/.hdw-get/dir $inst_root/usr/share/info/dir
+ fi
+ [ -f /tmp/.hdw-get/dir ] && \
+ cp /tmp/.hdw-get/dir $inst_root/usr/share/info/dir
rm -f /tmp/.hdw-get/dir
+ # check for runtime deps
+ #if [ -z $no_deps ] ; then
+ # alldeps=`get_all_deps $pkg`
+ # echo "$pkg depends on the following packages:"
+ # for i in $alldeps; do
+ # echo "-> $i"
+ # done
+ # echo "continue? [y,n]"
+ # if [ -z $auto_resolve_deps ] ; then
+ # read answer
+ # if [ "$answer" = "y" ] ; then
+ # for i in $alldeps; do
+ # $0 -no-dep install $inst_root $pkg
+ # done
+ # else
+ # echo -n "install dependencies on your own,"
+ # echo " things will not work without."
+ # fi
+ # fi
+ #fi
+
# dist-install
-elif [ "$dist_install" = "1" ] ; then
+elif [ "$d_install" = "1" ] ; then
# check dist file
if [ ! -f $dist_file ] ; then
echo "$dist_file not found, aborting"