blob: 6b09deb5147107d31840ea8bc5f2897832739126 (
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 | split("-") | join("")[:8]) + "." + (.commit.sha[:7])')
# Descargar del repositorio de código.
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)
|