#!/bin/bash
INSTALL_MODE='Step by step installation (classic mode)'
rm /tmp/petget_proc/pkgs_to_install_s243a
rm /tmp/petget_proc/pkgs_to_install
#touch /root/.packages/skip_space_check
echo changed > /tmp/petget_proc/mode_changed
touch /tmp/petget_proc/force_install
touch /root/.packages/skip_space_check
touch /tmp/petget_proc/manual_pkg_download
if [ ! -f /tmp/petget_proc/install_pets_quietly -a ! -f /tmp/petget_proc/download_only_pet_quietly \
-a ! -f /tmp/petget_proc/download_pets_quietly ]; then
echo ok
elif [ "$PREVPKG" != "" ]; then
echo changed >> /tmp/petget_proc/mode_changed
fi
rm -f /tmp/petget_proc/*_pet{,s}_quietly
echo "" > /tmp/petget_proc/forced_install
touch /tmp/petget_proc/install_classic
echo 'wizard' > /var/local/petget/ppm_mode
pkg_info() {
# Exit if called spuriously
[ "$TREE1" = "" ] && exit 0
#NEWPACKAGE="$(grep ^$TREE1 /tmp/petget_proc/petget/filterpkgs.results.post)"
pkg=$(echo $TREE1 | cut -f1 -d '|' )
repo_triad=$(echo $TREE1 | cut -f2 -d '|' )
IFS="|" read PKG_NAME PKG_CAT PKG_DESC PKG_REPO < <(grep -m1 ^$pkg /var/packages/Packages-$repo_triad | cut -f1,5,10,11 )
(
echo "Name : $PKG_NAME"
echo "Category: $PKG_CAT"
echo "Desc : $PKG_DESC"
echo "Repo : $repo_triad" #$PKG_REPO
) > /tmp/petget_proc/petget/pgk_info
echo "$PKG_NAME|$PKG_CAT|$PKG_DESC|$repo_triad" >> /tmp/petget_proc/pkgs_to_install
}
do_install() {
# Exit if called spuriously
[ "$TREE1" = "" ] && exit 0
export ENTRY=$TREE1
pkg_info
#-- Make sure that we have atleast one mode flag
if [ ! -f /tmp/petget_proc/install_pets_quietly \
-a ! -f /tmp/petget_proc/download_only_pet_quietly \
-a ! -f /tmp/petget_proc/download_pets_quietly \
-a ! -f /tmp/petget_proc/install_classic ] ; then
touch /tmp/petget_proc/install_pets_quietly
fi
#if [ "$(grep $TREE1 /root/.packages/user-installed-packages)" != "" ] ; then
# . /usr/lib/gtkdialog/box_yesno "$(gettext 'Package is already installed')" "$(gettext 'This package is already installed! ')" "$(gettext 'If you want to re-install it, first remove it and then install it again. To download only or use the step-by-step classic mode, select No and then change the Auto Install to another option.')" "$(gettext 'To Abort the process now select Yes.')"
# if [ "$EXIT" = "yes" ]; then
# exit 0
# else
# echo $TREE1 > /tmp/petget_proc/forced_install
# fi
#fi
#--
if [ "$(cat /tmp/petget_proc/forced_install 2>/dev/null)" != "" ]; then
touch /tmp/petget_proc/force_install
else
rm -f /tmp/petget_proc/force_install
fi
#cut -d"|" -f1,4 /tmp/petget_proc/pkgs_to_install > /tmp/petget_proc/pkgs_to_install_tmp
#mv -f /tmp/petget_proc/pkgs_to_install_tmp /tmp/petget_proc/pkgs_to_install
#if ! [ -f /tmp/petget_proc/force_install -a -f /tmp/petget_proc/install_pets_quietly ]; then
#/usr/local/petget/installed_size_preview.sh "$NEWPACKAGE" ADD
/usr/local/petget/installmodes.sh "$INSTALL_MODE"
#fi
}
INSTALL_MODE='Step by step installation (classic mode)'
rm /tmp/petget_proc/pkgs_to_install
while read a_lib; do
while read provides_db; do
matches="$(grep $a_lib $provides_db)"
REPO_TRIAD=$(basename $provides_db)
REPO_TRIAD=${REPO_TRIAD#Provides-} #todo MAYBE MAKE THIS MORE ROBUST
if [ ! -z "$matches" ]; then
echo "$matches" | cut -d '|' -f1 | sed -n -E '/^[[:space:]]*$/! {s%(.*)%\1|'$REPO_TRIAD'%;p}' >> /tmp/petget_proc/pkgs_to_install_s243a
break
fi
done < <(find /var/packages -name 'Provides-*')
done < <(cat /tmp/petget_proc/missinglibs.txt | tr [[:space:]] "\n" )
while IFS= read line|| [ -n "$line" ];
do
TREE1=$line
#echo $TREE1 > /tmp/petget_proc/forced_install
do_install
done < /tmp/petget_proc/pkgs_to_install_s243a
#export -f do_instal #pkg_info do_install change_mode
Comments