s243a icon

Draft: install_missing.sh

s243a | PRO | 03/03/20 08:00:54 AM UTC | 0 ⭐ | 934 👁️ | Never ⏰ | []
Bash |

3.83 KB

|

None

|

0 👍

/

0 👎

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