¿Cómo hacer que MacPorts reinstale los puertos solicitados desde una unidad de arranque diferente?

0

¡Recientemente cambié las estaciones de trabajo y pasé de OSx 10.7.5 a OSX 10.11! Yay!

Tengo mucha instalación que hacer. Nuts.... (¡Pero vale la pena!)

He montado temporalmente el disco duro de mi antigua estación de trabajo para copiar archivos importantes. Ya que tengo un sistema operativo diferente, una versión diferente de XCode (y herramientas de línea de comandos), y una versión diferente de MacPorts, prefiero hacer una instalación nueva de todos mis puertos solicitados en lugar de copiar cosas a ciegas del antiguo conducir.

MacPorts tiene una excelente guía de migración ( enlace ) que muestra cómo crear una lista de todos los puertos instalados y luego reinstalar una vez que se haya actualizado el software, pero eso es para actualizar en la misma unidad de arranque. Mi nueva unidad no tiene puertos instalados porque acabo de instalar MacPorts.

¿Hay alguna forma de enumerar los puertos solicitados en el disco duro antiguo para actualizarlos en mi nuevo disco?

    
pregunta jvriesem 05.05.2017 - 18:59

1 respuesta

1

En realidad, creo que quieres que los resultados de port -qv installed restauren tu instalación, pero te mostraré cómo producir ambos archivos.

Monte el disco duro antiguo y copie este archivo en una carpeta en su carpeta de inicio- /opt/local/var/macports/registry/registry.db . Ahora navega a esa carpeta.

Para producir el archivo requested.txt :

sqlite3 registry.db 'select name, requested from ports' |
awk -F '|' '{ if ( $2 == 1 ) print $1 }' >requested.txt

Para producir el archivo myports.txt :

sqlite3 registry.db \
'select name,  version, revision, state, os_platform, os_major, archs, date from ports' |
sort |
awk -F'|' '{ if ( $4 == "installed") {act="(active)"} else {act=""} } 
{ cmd = "date -r" $8 " +%Y-%m-%dT%T%z"; cmd | getline mydate; close(cmd) }
{ printf ("%s @%s_%s %s platform='%s %s' archs='%s' date='%s'\n",
    $1, $2, $3, act,$5, $6, $7, mydate)
}' >myports.txt
    
respondido por el fd0 28.05.2017 - 20:45

Lea otras preguntas en las etiquetas