Come rendere MacPorts reinstallare le porte richieste da una diversa unità di avvio?

0

Recentemente ho cambiato workstation e sono passato da OSx 10.7.5 a OSX 10.11! Yay!

Ho un sacco di installazione da fare. Nuts .... (Ma ne vale la pena!)

Ho temporaneamente montato il disco fisso della mia vecchia workstation per copiare su file importanti. Dato che ho un sistema operativo diverso, una versione diversa di XCode (e strumenti da riga di comando) e una versione diversa di MacPorts, preferisco fare una nuova installazione di tutte le porte richieste piuttosto che copiare semi-ciecamente le cose dal vecchio guidare.

MacPorts ha una grande guida alla migrazione ( link ) che mostra come creare un elenco di tutte le porte installate, quindi reinstallare una volta che il software è stato aggiornato, ma questo è per l'aggiornamento sulla stessa unità di avvio. La mia nuova unità non ha porte installate perché ho appena installato MacPorts.

C'è un modo per elencare le porte richieste sul vecchio disco rigido per aggiornarle sulla mia nuova unità?

    
posta jvriesem 05.05.2017 - 18:59
fonte

1 risposta

1

In realtà, penso che desideri il risultato di port -qv installed per ripristinare l'installazione, ma ti mostrerò come produrre entrambi i file.

Monta il vecchio disco rigido e copia questo file in una cartella nella cartella Inizio- /opt/local/var/macports/registry/registry.db . Ora vai a quella cartella.

Per produrre il file requested.txt :

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

Per produrre il file 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
    
risposta data 28.05.2017 - 20:45
fonte

Leggi altre domande sui tag