-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild-upload
More file actions
61 lines (54 loc) · 1.95 KB
/
build-upload
File metadata and controls
61 lines (54 loc) · 1.95 KB
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
#!/bin/bash
SCRIPTNAME=$(basename $BASH_SOURCE)
if [ -z $1 ]
then exit 2
fi
## import vars
source build-config.txt
## get data from latest build
cp $TMPDIR/$1.txt $TMPDIR/re_$1.txt
ex -s +%g/^/m0 +wq $TMPDIR/re_$1.txt
BUILD_DATE="$(sed -n '8 p' $TMPDIR/re_$1.txt)"
BUILD_DATE_UNIXTIME="$(sed -n '7 p' $TMPDIR/re_$1.txt)"
SHA256HASH="$(sed -n '6 p' $TMPDIR/re_$1.txt)"
FILESIZE="$(sed -n '5 p' $TMPDIR/re_$1.txt)"
FILENAME="$(sed -n '4 p' $TMPDIR/re_$1.txt)"
SHA256HASH_IMG="$(sed -n '3 p' $TMPDIR/re_$1.txt)"
FILENAME_IMG="$(sed -n '1 p' $TMPDIR/re_$1.txt)"
## lineage-18.1-20210913-unofficial-starlte.zip
## [0] = lineage, [1] = 18.1, [2] = 20210913, [3] = unofficial, [4] = starlte.zip
IFS='-'; read -a rom_array_old <<< "$FILENAME_OLD"; unset IFS
IFS='-'; read -a rom_array <<< "$FILENAME"; unset IFS
## generate new json
echo old $1.json: >> $LOGDIR/$LOG
cat $TMPDIR/$1.json >> $LOGDIR/$LOG
cat <<JSON > $TMPDIR/$1.json
{
"response": [
{
"datetime": $BUILD_DATE_UNIXTIME,
"filename": "$FILENAME",
"id": "$SHA256HASH",
"romtype": "${rom_array[3]}",
"size": $FILESIZE,
"url": "$FTPROMPATH/$FILENAME",
"version": "${rom_array[1]}"
}
]
}
JSON
echo new $1.json: >> $LOGDIR/$LOG
cat $TMPDIR/$1.json >> $LOGDIR/$LOG
## generate sha256 log
echo $SHA256HASH $FILENAME > $ROMDIR/$FILENAME.txt
echo $SHA256HASH_IMG $FILENAME_IMG > $ROMDIR/$FILENAME_IMG.txt
## transfer files via curl
echo "uploading $FILENAME, $FILENAME_IMG, SHA256-Logs and $1.json" >> $LOGDIR/$LOG
curl -T $ROMDIR/$FILENAME $FTPDIRROM --netrc-file $TMPDIR/$FTPFILE >> $LOGDIR/$LOG
curl -T $ROMDIR/$FILENAME.txt $FTPDIRROM --netrc-file $TMPDIR/$FTPFILE >> $LOGDIR/$LOG
curl -T $ROMDIR/$FILENAME_IMG $FTPDIRROM --netrc-file $TMPDIR/$FTPFILE >> $LOGDIR/$LOG
curl -T $ROMDIR/$FILENAME_IMG.txt $FTPDIRROM --netrc-file $TMPDIR/$FTPFILE >> $LOGDIR/$LOG
curl -T $TMPDIR/$1.json $FTPDIRJSON --netrc-file $TMPDIR/$FTPFILE >> $LOGDIR/$LOG
if [ "$2" = "infra" ]
then ./build-json
fi