~apt-fast/apt-fast/apt-fast-ro

« back to all changes in this revision

Viewing changes to apt-fast

  • Committer: Dominique Lasserre
  • Date: 2019-09-23 08:41:00 UTC
  • Revision ID: git-v1:59ee19b95187cf39b434b43b5d38c665feea1249
Fix return status. Closes #166

Show diffs side-by-side

added added

removed removed

Lines of Context:
221
221
_create_lock()
222
222
{
223
223
    eval "exec $LCK_FD>\"$LCK_FILE.lock\""
 
224
    flock -n $LCK_FD || { msg_already_running; exit 1; }
224
225
 
225
226
    trap "cleanup_aptfast; exit_cleanup_state" EXIT
226
227
    trap "cleanup_aptfast; exit 1" INT TERM
227
 
 
228
 
    flock -n $LCK_FD || { msg_already_running; exit 1; }
229
228
}
230
229
 
231
230
# unlock and remove the lock file
304
303
    if ! mkdir -p -- "$(dirname "$DLLIST")"
305
304
    then
306
305
      msg "Could not create download file directory." "warning"
307
 
      exit 1
 
306
      CLEANUP_STATE=1
 
307
      exit
308
308
    fi
309
309
  elif [ -f "$DLLIST" ]; then
310
310
    if ! rm -f -- "$DLLIST" 2>/dev/null && ! touch -- "$DLLIST" 2>/dev/null
311
311
    then
312
312
      msg "Unable to write to download file. Try restarting with root permissions or run 'apt-fast clean' first." "warning"
313
 
      exit 1
 
313
      CLEANUP_STATE=1
 
314
      exit
314
315
    fi
315
316
  fi
316
317
 
323
324
    *) uri_mgr=apt-get;;
324
325
  esac
325
326
  uris_full="$("$uri_mgr" "${APT_SCRIPT_WARNING[@]}" -y --print-uris "$@")"
326
 
  uris_full_ret="$?"
327
 
  if [ "$uris_full_ret" -ne 0 ]
 
327
  CLEANUP_STATE="$?"
 
328
  if [ "$CLEANUP_STATE" -ne 0 ]
328
329
  then
329
330
    msg "Package manager quit with exit code." "warning"
330
 
    exit "$uris_full_ret"
 
331
    exit
331
332
  fi
332
333
  while read -r pkg_uri_info
333
334
  do
444
445
if [ ! "$(command -v "$CMD")" ]; then
445
446
  msg "Command not found: $CMD" "normal" "err"
446
447
  msg "You must configure $CONFFILE to use aria2c or another supported download manager" "normal" "err"
447
 
  exit 1
 
448
  CLEANUP_STATE=1
 
449
  exit
448
450
fi
449
451
 
450
452
# Make sure package manager is available.
451
453
if [ ! "$(command -v "$_APTMGR")" ]; then
452
454
  msg "\`$_APTMGR\` command not available." "warning"
453
455
  msg "You must configure $CONFFILE to use either apt-get or aptitude." "normal" "err"
454
 
  exit 1
 
456
  CLEANUP_STATE=1
 
457
  exit
455
458
fi
456
459
 
457
460
# Disable script warning if apt is used.
524
527
if echo "$http_proxy" | grep -q "^socks5h://" || echo "$https_proxy" | grep -q "^socks5h://"; then
525
528
  msg "Socks proxy detected. Falling back to ${_APTMGR}" "hint"
526
529
  "${_APTMGR}" "${APT_SCRIPT_WARNING[@]}" "$@"
527
 
  exit 0
 
530
  CLEANUP_STATE="$?"
 
531
  exit
528
532
fi
529
533
 
530
534
# Run actions.
544
548
    msg "Do you want to download the packages? [Y/n] " "question"
545
549
 
546
550
    while ((!updsys)); do
547
 
      read -r -sn1 -t "$APT_FAST_TIMEOUT" answer || { msg; msg "Timed out." "warning"; exit 1; }
 
551
      read -r -sn1 -t "$APT_FAST_TIMEOUT" answer || { msg; msg "Timed out." "warning"; CLEANUP_STATE=1; exit; }
548
552
      case "$answer" in
549
553
        [JjYy])    result=1; updsys=1 ;;
550
554
        [Nn])      result=0; updsys=1 ;;
566
570
          mkdir -p -- "$DLDIR"
567
571
        fi
568
572
 
569
 
        cd "$DLDIR" &>/dev/null || exit 1
 
573
        cd "$DLDIR" &>/dev/null || { msg; msg "Not able to change into download directory." "warning"; CLEANUP_STATE=1; exit; }
570
574
 
571
575
        eval "${_DOWNLOADER}"  # execute downloadhelper command
572
576
        if [ "$(find "$DLDIR" -printf . | wc -c)" -gt 1 ]; then
577
581
        cd - &>/dev/null || msg "Failed to change back directory" "warning"
578
582
      fi
579
583
    else
580
 
      exit 1
 
584
      CLEANUP_STATE=1
 
585
      exit
581
586
    fi
582
587
  else
583
588
    [ -t 1 ] && tput el