Advertisement
s243a

Draft: install_missing.sh

Mar 3rd, 2020
495
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.83 KB | None | 0 0
  1. #!/bin/bash
  2. INSTALL_MODE='Step by step installation (classic mode)'
  3. rm /tmp/petget_proc/pkgs_to_install_s243a
  4. rm /tmp/petget_proc/pkgs_to_install
  5. #touch /root/.packages/skip_space_check
  6. echo changed > /tmp/petget_proc/mode_changed
  7. touch /tmp/petget_proc/force_install
  8. touch /root/.packages/skip_space_check
  9. touch /tmp/petget_proc/manual_pkg_download
  10.             if [ ! -f /tmp/petget_proc/install_pets_quietly -a ! -f /tmp/petget_proc/download_only_pet_quietly \
  11.                 -a ! -f /tmp/petget_proc/download_pets_quietly ]; then
  12.                 echo ok
  13.             elif [ "$PREVPKG" != "" ]; then
  14.                 echo changed >> /tmp/petget_proc/mode_changed
  15.             fi
  16.             rm -f /tmp/petget_proc/*_pet{,s}_quietly
  17.             echo "" > /tmp/petget_proc/forced_install
  18.             touch /tmp/petget_proc/install_classic
  19.             echo 'wizard' > /var/local/petget/ppm_mode
  20. pkg_info() {
  21.     # Exit if called spuriously
  22.     [ "$TREE1" = "" ] && exit 0
  23.     #NEWPACKAGE="$(grep ^$TREE1 /tmp/petget_proc/petget/filterpkgs.results.post)"
  24.     pkg=$(echo $TREE1 | cut -f1 -d '|' )
  25.     repo_triad=$(echo $TREE1 | cut -f2 -d '|' )
  26.    
  27.     IFS="|" read PKG_NAME PKG_CAT PKG_DESC PKG_REPO < <(grep -m1 ^$pkg /var/packages/Packages-$repo_triad | cut -f1,5,10,11 )
  28.     (
  29.         echo "Name    : $PKG_NAME"
  30.         echo "Category: $PKG_CAT"
  31.         echo "Desc    : $PKG_DESC"
  32.         echo "Repo    : $repo_triad" #$PKG_REPO
  33.     ) > /tmp/petget_proc/petget/pgk_info
  34.     echo "$PKG_NAME|$PKG_CAT|$PKG_DESC|$repo_triad" >> /tmp/petget_proc/pkgs_to_install
  35. }
  36. do_install() {
  37.     # Exit if called spuriously
  38.     [ "$TREE1" = "" ] && exit 0
  39.     export ENTRY=$TREE1
  40.     pkg_info
  41.     #-- Make sure that we have atleast one mode flag
  42.     if [ ! -f /tmp/petget_proc/install_pets_quietly \
  43.       -a ! -f /tmp/petget_proc/download_only_pet_quietly \
  44.       -a ! -f /tmp/petget_proc/download_pets_quietly \
  45.       -a ! -f /tmp/petget_proc/install_classic ] ; then
  46.         touch /tmp/petget_proc/install_pets_quietly
  47.     fi
  48.     #if [ "$(grep $TREE1 /root/.packages/user-installed-packages)" != "" ] ; then
  49.     #   . /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.')"
  50.     #   if [ "$EXIT" = "yes" ]; then
  51.     #       exit 0
  52.     #   else
  53.     #       echo $TREE1 > /tmp/petget_proc/forced_install
  54.     #   fi
  55.     #fi
  56.     #--
  57.     if [ "$(cat /tmp/petget_proc/forced_install 2>/dev/null)" != "" ]; then
  58.         touch /tmp/petget_proc/force_install
  59.     else
  60.         rm -f /tmp/petget_proc/force_install
  61.     fi
  62.     #cut -d"|" -f1,4 /tmp/petget_proc/pkgs_to_install > /tmp/petget_proc/pkgs_to_install_tmp
  63.     #mv -f /tmp/petget_proc/pkgs_to_install_tmp /tmp/petget_proc/pkgs_to_install
  64.     #if ! [ -f /tmp/petget_proc/force_install -a -f /tmp/petget_proc/install_pets_quietly ]; then
  65.         #/usr/local/petget/installed_size_preview.sh "$NEWPACKAGE" ADD
  66.         /usr/local/petget/installmodes.sh "$INSTALL_MODE"
  67.     #fi
  68. }
  69. INSTALL_MODE='Step by step installation (classic mode)'
  70.  
  71. rm /tmp/petget_proc/pkgs_to_install
  72. while read a_lib; do
  73.   while read provides_db; do
  74.      matches="$(grep $a_lib $provides_db)"
  75.      REPO_TRIAD=$(basename $provides_db)
  76.      REPO_TRIAD=${REPO_TRIAD#Provides-} #todo MAYBE MAKE THIS MORE ROBUST
  77.      if [ ! -z "$matches" ]; then
  78.         echo "$matches" | cut -d '|' -f1 | sed -n -E '/^[[:space:]]*$/! {s%(.*)%\1|'$REPO_TRIAD'%;p}'  >> /tmp/petget_proc/pkgs_to_install_s243a
  79.         break
  80.      fi
  81.   done < <(find /var/packages -name 'Provides-*')
  82.  
  83. done < <(cat /tmp/petget_proc/missinglibs.txt | tr [[:space:]] "\n" )
  84.  
  85. while IFS= read line|| [ -n "$line" ];
  86. do    
  87.   TREE1=$line
  88.  
  89.   #echo $TREE1 > /tmp/petget_proc/forced_install
  90.   do_install
  91. done < /tmp/petget_proc/pkgs_to_install_s243a
  92.  
  93.  
  94. #export -f do_instal #pkg_info do_install change_mode
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement