echo -en " done. (`cat $DBF | wc -l` packages)\n"
fi
-# create temp directory
-mkdir -p /tmp/.hdw-get
-
# remove
if [ "$remove" = "1" ] ; then
# check if packages depend on package to be removed
if [ "$simulate" != "1" ] ; then
- # care about info/dir file
- rm -f /tmp/.hdw-get/dir* ; modify_info_dir=""
- if [ -n "`grep usr/share/info/dir $fl_file`" ] ; then
- modify_info_dir="1"
- cp $inst_root/usr/share/info/dir /tmp/.hdw-get/
- for info_obj in `grep 'usr/share/info/.*.info' $fl_file | \
- awk -F/ '{ print $4 }'`; do
- info_o=`echo $info_obj | sed 's/.info//'`
- [ "$verbose" ] && echo "deleting $info_o from info/dir"
- grep -v \($info_o\)\. /tmp/.hdw-get/dir | \
- grep -v ^$package\ info\ -\ added\ by\ hdw > \
- /tmp/.hdw-get/dir~
- mv /tmp/.hdw-get/dir~ /tmp/.hdw-get/dir
- done
- fi
-
# remove the files/dirs
((supposed = 0))
((counter = 0))
done
echo -en "\ndone.\n"
- # reinstall info/dir file
- if [ "$modify_info_dir" ] ; then
- [ "$verbose" ] && echo "restoring modified info/dir file"
- cp /tmp/.hdw-get/dir $inst_root/usr/share/info/dir
- rm -f /tmp/.hdw-get/dir*
- fi
+ # care about info/dir file
+ echo "recreating info dir file ..."
+ cd $inst_root/usr/share/info
+ rm -f dir
+ for f in *; do
+ install-info $f dir 2>/dev/null
+ done
fi
fi
if [ "$simulate" != "1" ] ; then
-
- # store info/dir file
- rm -f /tmp/.hdw-get/dir*
- if [ -f $inst_root/usr/share/info/dir ] ; then
- [ "$verbose" ] && echo "backing up info/dir file"
- cp $inst_root/usr/share/info/dir /tmp/.hdw-get/
- fi
# check/install package
if [ -f $package ] ; then
exit 1
fi
- # merging info/dir file
- if [ "$pkg" != "00-dirtree" ] ; then
- fl_file=`ls -A $inst_root/$FL_DIR/$pkg-[0-9]* | tail -1`
- if [ -n "`grep usr/share/info/dir $fl_file`" ] ; then
- echo "" >> /tmp/.hdw-get/dir
- echo "$pkg info - added by hdw `date`" >> /tmp/.hdw-get/dir
- for info_obj in `grep 'usr/share/info/.*.info' $fl_file | \
- awk -F/ '{ print $4 }'`; do
- info_o=`echo $info_obj | sed 's/.info//'`
- if [ -z "`grep \($info_o\)\. /tmp/.hdw-get/dir`" ]
- then
- [ "$verbose" ] && \
- echo "merging $info_o to info/dir"
- grep \($info_o\)\. \
- $inst_root/usr/share/info/dir >> \
- /tmp/.hdw-get/dir
- fi
- done
- fi
- fi
- [ -f /tmp/.hdw-get/dir ] && \
- cp /tmp/.hdw-get/dir $inst_root/usr/share/info/dir
- rm -f /tmp/.hdw-get/dir
+ # care about info/dir file
+ echo "recreating info dir file ..."
+ cd $inst_root/usr/share/info
+ rm -f dir
+ for f in *; do
+ install-info $f dir 2>/dev/null
+ done
fi
fi
fi
-# remove temp directory
-rm -rf /tmp/.hdw-get
-