diff options
-rw-r--r-- | .SRCINFO | 6 | ||||
-rw-r--r-- | PKGBUILD | 12 | ||||
-rw-r--r-- | pp.sh | 71 |
3 files changed, 10 insertions, 79 deletions
@@ -1,14 +1,14 @@ pkgbase = pacman-parallelizer pkgdesc = A minimal package downloader for pacman, using aria2 - pkgver = 3 + pkgver = 10 pkgrel = 1 url = https://github.com/lestofante/PacmanParallelizer arch = any license = GPL3 depends = aria2 depends = pacman-contrib - source = pp.sh - md5sums = 65102e8f4fb043afc6bd15bf3b4db6c0 + source = pacman-parallelizer-10::git+https://github.com/lestofante/PacmanParallelizer.git#tag=10 + sha256sums = SKIP pkgname = pacman-parallelizer @@ -1,22 +1,24 @@ # Maintainer: lesto <lestofante88@gmail.com> + pkgname=pacman-parallelizer -pkgver=3 +pkgver=10 pkgrel=1 pkgdesc="A minimal package downloader for pacman, using aria2" arch=(any) url="https://github.com/lestofante/PacmanParallelizer" +urlgit="https://github.com/lestofante/PacmanParallelizer.git" license=('GPL3') depends=('aria2' 'pacman-contrib') -source=("pp.sh") -md5sums=('65102e8f4fb043afc6bd15bf3b4db6c0') +source=("$pkgname-$pkgver"::"git+$urlgit#tag=$pkgver") +sha256sums=('SKIP') build() { - cd "$srcdir" + cd "$srcdir/$pkgname-$pkgver" chmod +x ./pp.sh } package() { - cd "$srcdir" + cd "$srcdir/$pkgname-$pkgver" mkdir -p "$pkgdir/usr/bin" cp pp.sh "$pkgdir/usr/bin" } diff --git a/pp.sh b/pp.sh deleted file mode 100644 index ea2634d1e7d4..000000000000 --- a/pp.sh +++ /dev/null @@ -1,71 +0,0 @@ -#!/bin/bash - -arch=$(uname -m) -maxMirrorForDownload=4 -pacmanCahceDir="$(pacman-conf CacheDir)" - -if [[ $UID -ne 0 ]]; then - sudo -p 'Restarting as root, password: ' bash $0 "$@" - exit $? -fi - -#read mirrorlist, "Server =" lines, remove all before and including "= " (10 char) -readarray -t mirrorArray < <(grep "^Server =" /etc/pacman.d/mirrorlist | cut -c 10-) - -mirrorArrayLen=${#mirrorArray[@]} -let maxParallelDownload=$mirrorArrayLen/$maxMirrorForDownload -echo "mirrorsNumber:$mirrorArrayLen maxParallelDownload:$maxParallelDownload maxMirrorForDownload:$maxMirrorForDownload" - -#randomize the order of the mirror -mirrorArray=( $(shuf -e "${mirrorArray[@]}") ) - -#now get the list of stuff to update -readarray -t packageList < <(checkupdates | cut -d ' ' -f 1,4) - -pidToWait='' -mirrorIndex=0 -for pkgNameAndVersion in "${packageList[@]}"; do - pkgName=${pkgNameAndVersion% *} - - repoAndArch=($(pacman -Si $pkgName | grep 'Repository :\|Architecture :' | cut -c 19-)) - - repo=${repoAndArch[0]} - archpkg=${repoAndArch[1]} - - downloadList='' - for (( i=0; i<$maxMirrorForDownload; i++ )); do - mirror=${mirrorArray[mirrorIndex]} - pkgNameAndVersion=${pkgNameAndVersion/ /-} - val=${mirror/\$repo/$repo} - val=$(echo ${val/\$arch/$arch}/$pkgNameAndVersion-$archpkg.pkg.tar.xz) - downloadList="$downloadList $val" - ((mirrorIndex++)) - if [[ $mirrorIndex -ge $mirrorArrayLen ]]; then - mirrorIndex=0 - fi - done - - aria2c -c $downloadList -d "pacmanCahceDir" &> /dev/null & - - running=$(jobs |wc -l) - echo ">>> $(date +%T) | Downloading $pkgName, $running/$maxParallelDownload download" - - while [ $running -ge $maxParallelDownload ]; do - sleep 0.1 #sleep 0.1 second - running=$(jobs |wc -l) - done -done - -#now wait for all remaining jobs -echo "all download started, waiting for completition" -wait - -if [[ $# -gt 0 ]]; then - echo "downloads complete, calling $1" - #DROP PRIVILEDGES - sudo -s -u $SUDO_USER $1 -Syu --noconfirm -else - echo "downloads complete, calling pacman" - pacman -Syu --noconfirm -fi - |