Changes between Version 2 and Version 3 of UpdateGlibc


Ignore:
Timestamp:
Nov 9, 2020, 11:04:28 AM (5 years ago)
Author:
tonin
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UpdateGlibc

    v2 v3  
    2222'''7.''' Desde cada uno de los directorios obj, hacer {{{make install_root=/INSTALACIONES/dirtmpXX install}}} donde XX es 32 o 64.
    2323
    24 '''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/}}}
     24'''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/}}}
    2525
    26 '''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}}}
     26'''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}}}
    2727
    28 '''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.
     28'''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.
    2929
    30 '''11.'''
     30'''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.
    3131
    32 '''12.'''
     32'''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}}}
    3333
    34 '''2.'''
     34'''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.
     35
     36'''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.
     37
     38'''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}}}
     39
     40
     41En principio en este punto tendría que estar todo correcto a falta de realizar los tests de integridad.