#!/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