forked from wifislax-ng/wifislax-updaters
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjdk_updater
executable file
·147 lines (128 loc) · 4.36 KB
/
jdk_updater
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
#!/bin/sh
# Script by www.seguridadwireless.net
SCRIPT_VERSION=20160409
############################################################
## Funciones comunes. Su nombre empieza por f_ ##
############################################################
f_variables(){
. /opt/wifislax-updaters/Funciones/funciones_updater
}
############################################################
## Funciones propias del script. Su nombre empieza por F_ ##
############################################################
# Definicion de variables
F_variables() {
PRGNAM=jdk
echo -ne "\033]2;${PRGNAM}_updater\007"
WEB=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
VERSION=`curl -s $WEB|grep -E tar.gz|grep linux|cut -d ":" -f4-|cut -d "\"" -f2|tail -1|cut -d- -f2|cut -d / -f4`
DVER=1.8.0_$(printf $VERSION | cut -du -f2)
}
# Comprobar dependencias
F_dependencias(){
DEPENDENCIAS="aria2"
f_dependencias
}
# Si el paquete no existe se descargara de internet
F_download(){
if [ $ARCH = x86_64 ]; then
ARCH=x64
LIB_ARCH=amd64
else
LIB_ARCH=i386
fi
DESCARGA=$(curl -s $WEB|grep -E $ARCH.tar.gz|grep linux|cut -d ":" -f4-|cut -d "\"" -f2|tail -1)
ARCHIVO=${DESCARGA##*/}
echo ".oracle.com TRUE / FALSE 1906724535 oraclelicense accept-securebackup-cookie">cookie
if [ ! -f $ARCHIVO ]; then
echo ""
echo "$CYAN"Descargando sources de $PRGNAM-$VERSION"$CIERRE"
sleep 1
aria2c -x 3 --load-cookies=cookie $DESCARGA
fi
}
# Empezamos a crear el paquete
F_crearpaquete(){
echo ""
echo "$VERDE"Descomprimiendo ..."$CIERRE"
sleep 1
cd $TMP
tar xvf $PRGNAM-$VERSION-linux-$ARCH.tar.gz
chown -R root.root $PKG
find $PKG \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
mkdir -p $PKG/etc/profile.d
echo "#!/bin/csh
setenv JAVA_HOME /usr/lib${LIBDIRSUFFIX}/java
setenv MANPATH \${MANPATH}:\${JAVA_HOME}/man
setenv PATH \${PATH}:\${JAVA_HOME}/bin:\${JAVA_HOME}/jre/bin" >$PKG/etc/profile.d/jdk.csh
echo "#!/bin/sh
export JAVA_HOME=/usr/lib${LIBDIRSUFFIX}/java
export MANPATH=\"\${MANPATH}:\${JAVA_HOME}/man\"
export PATH=\"\${PATH}:\${JAVA_HOME}/bin:\${JAVA_HOME}/jre/bin\"" >$PKG/etc/profile.d/jdk.sh
chmod +x $PKG/etc/profile.d/jdk.sh
chmod +x $PKG/etc/profile.d/jdk.csh
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}
( cd $PKG/usr/lib${LIBDIRSUFFIX}
mv ${TMP}/${PRGNAM}${DVER} java
ln -sf java ${PRGNAM}${DVER}
)
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/mozilla/plugins
cd $PKG/usr/lib${LIBDIRSUFFIX}/mozilla/plugins
ln -sf /usr/lib${LIBDIRSUFFIX}/java/jre/lib/${LIB_ARCH}/libnpjp2.so libnpjp2.so
cd $PKG/usr/lib${LIBDIRSUFFIX}
ln -sf ./java/jre/lib/${LIB_ARCH}/server/libjvm.so .
# Entrada a escritorio
mkdir -p $PKG/usr/share/{applications,icons,mime}
cp -a $PKG/usr/lib${LIBDIRSUFFIX}/java/jre/lib/desktop/applications/* \
$PKG/usr/share/applications/
cp -a $PKG/usr/lib${LIBDIRSUFFIX}/java/jre/lib/desktop/icons/hicolor \
$PKG/usr/share/icons/
cp -a $PKG/usr/lib${LIBDIRSUFFIX}/java/jre/lib/desktop/mime/packages \
$PKG/usr/share/mime/
# Si el sistema tiene jre ya no es necesario ya que este paquete incluye jre
if [ -f /var/log/packages/jre-[0-9]* ]; then
echo ""
echo "Se detecto en el sistema el paquete Jre..."
echo "Se eliminara antes de instalar jdk..."
echo ""
sleep 1
removepkg /var/log/packages/jre-[0-9]*
fi
# Ejecutamos l script que define las variables de sistema asi no es necesraio reiniciar
sh $PKG/etc/profile.d/jdk.sh
}
###################################
## BLOQUE PRINCIPAL DE EJECUCION ##
###################################
# Si se cierra el script inesperadamente, ejecutar la funcion de limpieza
trap f_exitmode SIGHUP SIGINT
#Inicializamos las variables globales
f_variables
#Asignamos o detectamos arquitectura
f_arquitectura
#Comprobamos conexion a Internet
f_comprobarConexion
#Inicializamos las variables del script
F_variables
#Creamos directorio de trabajo
f_directorioTemporal
#Mostramos el mensaje de presentacion
f_presentacion
#Comprobamos updates del script
f_comprobarUpdates
#Comprobamos version instalada del script
f_versionInstalada
# Comprobar dependencias
F_dependencias
#Si no existe el fichero se descargara
F_download
# Empezamos a crear el paquete
F_crearpaquete
#Hacemos strip sobre el paquete
f_strip
#Creamos xzm , instalamos y salimos
f_tareasFinales