summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO6
-rw-r--r--PKGBUILD12
-rw-r--r--pp.sh71
3 files changed, 10 insertions, 79 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 89dd836a4930..f806b85527ed 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index 01df39e64d27..65f247e4b3ea 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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
-