blob: d93a461fb174ffe75897e0dcdb5c4efba91ee956 (
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
88
89
90
91
92
|
#!/bin/sh
export PS1='\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$ '
export HOME=/home/midipix
if [ -z "$SYSROOT" ]; then
echo '$SYSROOT is not set!'
exit 2
else
mkdir -p "$SYSROOT" || exit 2
fi
if [ -f "$SYSROOT/etc/localtime" ]; then
rm -f "$SYSROOT/etc/localtime.site"
cat "$SYSROOT/etc/localtime" > "$SYSROOT/etc/localtime.site"
fi
tarballs=$(ls /updates/*.tar.gz 2>/dev/null)
if [ "$tarballs" = '/updates/*.tar.gz' ]; then
exit 0
fi
if [ -f /etc/vendor.cfg ]; then
. /etc/vendor.cfg
fi
for tarball in $tarballs; do
tarball="${tarball##*/}"
echo @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
echo extracting files from /updates/$tarball
echo ..................................................
tar -xpvf /updates/$tarball -C "$SYSROOT" || exit 2
echo archiving old $tarball
echo ..................................................
if [ -f /tarballs/$tarball ]; then
pkgsig=$(sha256sum /tarballs/$tarball)
pkgsig=${pkgsig%% *}
pkgdir=/tarballs/archive/${tarball%%.tar.gz}/
mkdir -p $pkgdir
printf '%s\n' "$pkgsig" >> ${pkgdir}/pkgsigs.log
mkdir -p $pkgdir/$pkgsig/
mv /tarballs/$tarball $pkgdir/$pkgsig/
case ${keep:-'-1'} in
-1 )
;;
* )
tail -n ${keep} ${pkgdir}/pkgsigs.log > ${pkgdir}/pkgsigs.keep
for pkgsigdir in ${pkgdir}/*; do
if [ -d $pkgsigdir ]; then
if ! grep ${pkgsigdir##*/} ${pkgdir}/pkgsigs.keep; then
rm $pkgsigdir/$tarball
rmdir $pkgsigdir
fi
fi
done
;;
esac
fi
echo caching the current $tarball
echo ..................................................
mv /updates/$tarball /tarballs/
mv /updates/$tarball.sha256 /tarballs/
grep -v $tarball /etc/tarballs.sha256 > /etc/tarballs.sha256.tmp
printf '%s %s\n' $pkgsig $tarball >> /etc/tarballs.sha256.tmp
mv /etc/tarballs.sha256.tmp /etc/tarballs.sha256
echo ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
echo
done
if [ -f "$SYSROOT/etc/localtime.site" ]; then
cat "$SYSROOT/etc/localtime.site" > "$SYSROOT/etc/localtime"
rm -f "$SYSROOT/etc/localtime.site"
fi
rm -f /updates/update.pending
echo
echo
echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
echo Congrats! All tarballs were successfully extracted.
echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|