Reingnerized progress counter during download.

This commit is contained in:
Matteo Rossini 2020-05-03 15:56:23 +02:00
parent 495001917e
commit 25808101f2

View file

@ -94,6 +94,7 @@ if [ "$SLACKPKGPLUS" = "on" ];then
# function install_pkg() # function install_pkg()
# function wgetdebug() # function wgetdebug()
# function cached_downloader() # function cached_downloader()
# function getpkg()
# function getfile() # function getfile()
# function checkgpg() # function checkgpg()
# function checkmd5() # function checkmd5()
@ -315,32 +316,20 @@ if [ "$SLACKPKGPLUS" = "on" ];then
# Overrides original upgrade_pkg(). Required by the notification mechanism. # Overrides original upgrade_pkg(). Required by the notification mechanism.
function upgrade_pkg() { function upgrade_pkg() {
local i local i
local q
local c
# when using upgrade_pkg the checkmd5 function should not show progress
MD5COUNTER=false
q=$(echo $SHOWLIST|wc -w)
if [ "$DOWNLOAD_ALL" = "on" ]; then if [ "$DOWNLOAD_ALL" = "on" ]; then
OLDDEL="$DELALL" OLDDEL="$DELALL"
DELALL="off" DELALL="off"
c=1
for i in $SHOWLIST; do for i in $SHOWLIST; do
echo -n "[$c/$q]"
let c++
getpkg $i true getpkg $i true
done done
DELALL="$OLDDEL" DELALL="$OLDDEL"
fi fi
ls -1 $ROOT/var/log/packages/ > $TMPDIR/tmplist ls -1 $ROOT/var/log/packages/ > $TMPDIR/tmplist
c=1
for i in $SHOWLIST; do for i in $SHOWLIST; do
PKGFOUND=$(grep -m1 -e "^$(echo $i|rev|cut -f4- -d-|rev)-[^-]\+-[^-]\+-[^-]\+$" $TMPDIR/tmplist) PKGFOUND=$(grep -m1 -e "^$(echo $i|rev|cut -f4- -d-|rev)-[^-]\+-[^-]\+-[^-]\+$" $TMPDIR/tmplist)
REPOPOS=$(grep -m1 " $(echo $i|sed 's/\.t.z//') " $TMPDIR/pkglist|awk '{print $1}'|sed 's/SLACKPKGPLUS_//') REPOPOS=$(grep -m1 " $(echo $i|sed 's/\.t.z//') " $TMPDIR/pkglist|awk '{print $1}'|sed 's/SLACKPKGPLUS_//')
echo -n "[$c/$q]"
let c++
getpkg $i upgradepkg Upgrading getpkg $i upgradepkg Upgrading
if [ "$DOWNLOADONLY" != "on" ];then if [ "$DOWNLOADONLY" != "on" ];then
if [ -e "$ROOT/var/log/packages/$(echo $i|sed 's/\.t.z//')" ];then if [ -e "$ROOT/var/log/packages/$(echo $i|sed 's/\.t.z//')" ];then
@ -357,31 +346,21 @@ if [ "$SLACKPKGPLUS" = "on" ];then
# Overrides original install_pkg(). Required by the notification mechanism. # Overrides original install_pkg(). Required by the notification mechanism.
function install_pkg() { function install_pkg() {
local i local i
local q
local c
MD5COUNTER=false
q=$(echo $SHOWLIST|wc -w)
if [ "$DOWNLOAD_ALL" = "on" ]; then if [ "$DOWNLOAD_ALL" = "on" ]; then
OLDDEL="$DELALL" OLDDEL="$DELALL"
DELALL="off" DELALL="off"
c=1
for i in $SHOWLIST; do for i in $SHOWLIST; do
echo -n "[$c/$q]"
let c++
getpkg $i true getpkg $i true
done done
DELALL="$OLDDEL" DELALL="$OLDDEL"
fi fi
c=1
for i in $SHOWLIST; do for i in $SHOWLIST; do
INSTALL_T='installed: ' INSTALL_T='installed: '
if [ -e $ROOT/var/log/packages/$(echo $i|sed 's/\.t.z//') ];then if [ -e $ROOT/var/log/packages/$(echo $i|sed 's/\.t.z//') ];then
INSTALL_T='reinstalled:' INSTALL_T='reinstalled:'
fi fi
REPOPOS=$(grep -m1 " $(echo $i|sed 's/\.t.z//') " $TMPDIR/pkglist|awk '{print $1}'|sed 's/SLACKPKGPLUS_//') REPOPOS=$(grep -m1 " $(echo $i|sed 's/\.t.z//') " $TMPDIR/pkglist|awk '{print $1}'|sed 's/SLACKPKGPLUS_//')
echo -n "[$c/$q]"
let c++
getpkg $i installpkg Installing getpkg $i installpkg Installing
if [ "$DOWNLOADONLY" != "on" ];then if [ "$DOWNLOADONLY" != "on" ];then
if [ -e "$ROOT/var/log/packages/$(echo $i|sed 's/\.t.z//')" ];then if [ -e "$ROOT/var/log/packages/$(echo $i|sed 's/\.t.z//')" ];then
@ -512,6 +491,18 @@ if [ "$SLACKPKGPLUS" = "on" ];then
##### ====== CORE FUNCTION ====== ###### ##### ====== CORE FUNCTION ====== ######
# Extends getpkg() original function
# (rename getpkg -> getpkg_old, then redefine getpkg to call it)
eval "$(type getpkg | sed $'1d;2c\\\ngetpkg_old()\n')"
function getpkg(){
local c
local q
q=$(echo $SHOWLIST|wc -w)
c=$(echo $SHOWLIST|sed 's/ /\n/g'|grep -n $1|cut -f1 -d:)
echo -n "[$c/$q]"
getpkg_old "$@"
return $?
} # END function getpkg()
# Override the slackpkg getfile(). # Override the slackpkg getfile().
# The new getfile() download all file needed from all defined repositories # The new getfile() download all file needed from all defined repositories
@ -911,12 +902,6 @@ if [ "$SLACKPKGPLUS" = "on" ];then
local PREPO local PREPO
local ARG local ARG
if $MD5COUNTER && echo $1|egrep -q "\.t.z$";then
CHECKING=$(basename $1)
qq=$(echo $SHOWLIST|wc -w)
cc=$[$(echo $SHOWLIST|sed 's/ /\n/g'|grep -n $CHECKING|cut -f1 -d:)+1]
[ $cc -le $qq ]&&echo -n "[$cc/$qq] " >&2
fi
if echo $1|egrep -q "/SLACKPKGPLUS_(file|dir|http|ftp|https)[0-9]";then if echo $1|egrep -q "/SLACKPKGPLUS_(file|dir|http|ftp|https)[0-9]";then
echo 1 echo 1
return return
@ -1720,10 +1705,6 @@ if [ "$SLACKPKGPLUS" = "on" ];then
### =========================== MAIN ============================ ### ### =========================== MAIN ============================ ###
# upgrade-all donwload packages skipping upgrade_pkg function
# so slackpkg+ can show progress using the checkmd5 function
MD5COUNTER=true
SPINNING=off SPINNING=off
#if [ "$CMD" == "upgrade-all" ];then SPINNING=off ;fi #if [ "$CMD" == "upgrade-all" ];then SPINNING=off ;fi