summaryrefslogtreecommitdiffstats
path: root/installer/opengnsys_makecompress.sh
blob: ff267b1e3ff5ef229c26a02364f3d567732e735d (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
#!/bin/bash
#
# Script:	opengnsys_compress.sh
# Descripción:	Programa para descargar y generar un fichero comprimido con los
#		datos de la última revisión de código del Proyecto OpenGnsys.
# Salida:	Datos del fichero comprimido generado.
# Versión:	1.0 - Incluido en OpenGnSys 1.0.1
# Autor:	Ramón Gómez, Universidad de Sevilla
# Fecha:	10/05/2011
# Versión:	1.1.1 - Descarga desde repositorio de GitHub
# Autor:	Ramón Gómez, Universidad de Sevilla
# Fecha:	27/05/2018


# Comprobaciones.
for PROG in jq unzip; do
    if ! which $PROG &>/dev/null; then
        echo "Please, install \"$PROG\" package."
        exit 1
    fi
done

# Variables
BRANCH="devel"
CODE_URL="https://codeload.github.com/opengnsys/OpenGnsys/zip/$BRANCH"
API_URL="https://api.github.com/repos/opengnsys/OpenGnsys/branches/$BRANCH"
REVISION=$(curl -s "$API_URL" | jq '"r" + (.commit.commit.committer.date | gsub("-"; "")[:8]) + "." + (.commit.sha[:7])')

# Descargar repositorio SVN
cd /tmp
rm -fr opengnsys
curl "$CODE_URL" -o opengnsys.zip && unzip opengnsys.zip && mv "OpenGnsys-$BRANCH" opengnsys

# Asisgnar propietario de los ficheros descargados.
chown -R root.root opengnsys
WARNING=$?

# Parchear datos de revisión del código.
jq ".release=$REVISION" opengnsys/doc/VERSION.json | sponge opengnsys/doc/VERSION.json

# Generar fichero comprimido.
VERSION=$(jq -r '.version+"-"+.release' opengnsys/doc/VERSION.json)
tar cvzf opengnsys-$VERSION.tar.gz opengnsys
rm -fr opengnsys opengnsys.zip

# Revisar salida.
[ $WARNING != 0 ] && echo "*** WARNING: cannot change owner of files to \"root\" user before compressing."
ls -lh $(readlink -e opengnsys-$VERSION.tar.gz)