Version 3 (modified by tonin, 5 years ago) (diff) |
---|
|
1. Bajarse la versión y descomprimir en /INSTALACIONES/glibc
2. Crear las carpetas glibc-XXX-obj32 y glibc-XXX-obj64
3. Si hubiera dependencias para esa versión ponerlas en la carpeta PARA-glibc-XXX
4. En cada una de las carpetas obj32 y obj64, hacer el ../glibc-XXX/configure con las opciones que se estimen
5. Hacer el make y make check para ver que todo va bien
6. Crear los directorios /INSTALACIONES/dirtmp32 e /INSTALACIONES/dirtmp64
7. Desde cada uno de los directorios obj, hacer make install_root=/INSTALACIONES/dirtmpXX install donde XX es 32 o 64.
8. En la máquina donde estemos compilando, que tiene que tener acceso RW y de root al repositorio TS3, montar en /DESTINO el repositorio de test, normalmente será /TS3/TEST y sincronizar la versión de 32 bits con rsync -aHSv /INSTALACIONES/dirtmp32/ /DESTINO/
9. En la máquina que se utilizará para probar la nueva glibc, que usará el repositorio TEST como /usr/local (debía estar arrancada de antes para asegurarnos poder hacer este paso), hacer ldconfig -v y asegurarnos de que se haya copiado /etc/ld.so.cache a /usr/local/etc/ld.so.cache
10. Si la glibc no hubiera creado el locale es_ES por defecto, se crearía con localedef -i es_ES -f ISO-8859-1 es_ES, aunque puede que no haga falta en glibc modernas pues lo hace lo del punto 14.
11. En el entorno de desarrollo de imágenes, crear el paquete para esta nueva glibc. Hay que asegurarse de que será el último que se incluya en el proceso de generación de la imagen, para lo que lo precedemos por los caracteres necesarios para que salga el último en el ls. Esto es así porque las librerías y binarios de este paquete hay que asegurarse que sean los que se incluyan en el initrd que se genere.
12. En el paquete anterior copiamos el etc de la versión anterior y en su caso customizamos el glibc-init si fuera necesario (se documentaría en el ticket específico de cada versión las customizaciones realizadas). El directorio lib llevará el contenido de /INSTALACIONES/dirtmp32/lib y el bin del /INSTALACIONES/dirtmp32/bin. Aparte copiamos el nscd del sbin al bin
13. Generamos la imagen y la subimos al tftp, configuramos la máquina de test para que use el repositorio de TEST, generamos y subimos al tftp, modificamos el dhcp para que arranque dicha imagen y comprobamos que arranca bien.
14. En la máquina de test con la nueva glibc arrancada seguramente nos aparecerán errores al hacer LC_ALL=es_ES.UTF8 o al ejecutar locale con un usuario que tenga el idioma diferente de C o POSIX. Esto se debe a que los locales son incompatibles entre versiones y hay que generarlos de nuevo. Para ello hacemos cp /usr/local/etc/locale.gen /etc y después /usr/local/sbin/locale-gen. Esto actualiza el /lib/locale.archive y no se si otras cosas más.
15. Rebotamos, comprobamos que todo va bien incluyendo los locales. Volvemos a montar /INSTALACIONES con prepjhbuild y sincronizamos las librerías de 64 bits con rsync -aHSV /INSTALACIONES/dirtmp64/ /usr/local/lib64/, hacemos lo mismo con el directorio bin
En principio en este punto tendría que estar todo correcto a falta de realizar los tests de integridad.