blob: e9bbca02904780e01dc04f0130a2aa7d90b4f86c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
#!/bin/sh
VER=v3.18
ARCH=x86_64
# -------------------------------------------------------------------
# main/community/testing
# -------------------------------------------------------------------
set_apks_url() {
local branch=$1
echo '>>> set branch: '$branch
url=https://dl-cdn.alpinelinux.org/alpine/${VER}/${branch}/${ARCH}
dest=/media/usb/apks2/alpine/${VER}/${branch}/${ARCH}/
}
# -------------------------------------------------------------------
make_fetch_apks_list() {
# altenative methods:
# 1. apk add ffmpeg > a.lst 2>&1
# 2. 'apk add --simulate' and process the output
# 3. 'apk fetch --recursive <pkg name>',
# useful if pkgs downloaded can be sorted
local isUpgrade=$2 alist='a.lst'
if [ x${isUpgrade} = 'xupgrade' ]; then
echo ">>> Process UPGRADE"
if [ ! -f "$alist" ]; then apk upgrade -a > a.lst 2>&1; fi
grep '^(' a.lst | grep 'Upgrading' | awk -F' ' '{print $3 " " $6}' > b.lst
else
echo ">>> Process INSTALL"
if [ ! -f "$alist" ]; then apk fix > a.lst 2>&1; fi
grep '^(' a.lst | grep 'Installing' | awk -F' ' '{print $3 " " $4}' > b.lst
fi
local branch=$1; local F="${branch}.lst"; rm -f ${F}
echo ">>> creating ${F}"
local name file b
cat 'b.lst' | while read f; do \
name=$(echo $f | awk '{print $1}')
file=$(echo $f | sed 's/ /-/g' | sed 's/(//' | sed 's/)//')
if [ ! -f "$alist" ]; then
b=$(apk policy ${name} | grep -c ${branch})
else
b=$(cat ${branch}/${ARCH}/APKINDEX.tar.gz \
| tar -O -zx APKINDEX | grep -c "^P:${name}$")
# b=$(grep -c "^P:${name}$" 'APKINDEX') # alt method
fi
if [ $b -gt 0 ]; then
echo "adding + $b $file"; echo ${file} >> ${F}
fi
done
if [ -f $F ]; then
_istxt=$(wc -l "$F" | grep -c '^')
if [ $_istxt -gt 0 ]; then echo "... list created, run fetch cmd"; fi
else
echo " ... nothing to do"
fi
rm -f a.lst b.lst
}
fetch_apks() {
local branch=$1
cat ${branch}.lst | while read f; do \
echo ">>> fetching: $url/$f.apk"
wget -c --no-check-certificate $url/$f.apk
done
}
fetch_index() {
echo ">>> fetching: $url/APKINDEX.tar.gz"
wget -c --no-check-certificate $url/APKINDEX.tar.gz
}
if [ x"$1" = 'xmain' -o x"$1" = 'xcommunity' -o x"$1" = 'xtesting' ]; then
set_apks_url $1
# cd /tmp
if [ 'xgetindex' = x"$2" ]; then fetch_index; fi
# if [ 'xmklist' = x"$2" ]; then make_fetch_apks_list "$1"; fi
if [ 'xmklist' = x"$2" ]; then make_fetch_apks_list "$1" "$3"; fi
if [ 'xfetch' = x"$2" ]; then fetch_apks "$1"; fi
fi
# -------------------------------------------------------------------
# -------------------------------------------------------------------
|