Scarica i pacchetti di sorgenti di Ubuntu

4

Ho sviluppato uno script che deve scaricare il codice sorgente di alcuni pacchetti Ubuntu installati. Per farlo faccio quanto segue:

  1. indica dpkg --get-selections per avere l'elenco dei pacchetti installati;
  2. per ogni pacchetto che faccio dpkg -s <package name> per grep della versione.
  3. Una volta che ho il nome e la versione del pacchetto, faccio semplicemente quanto segue: %codice% per scaricare il codice

Il problema è che questo funziona per il 95% del tempo perché ci sono situazioni in cui non ha funzionato. Di solito il problema è la versione. Ad esempio, se ho:

apt-get source host=1:9.9.5.dfsg-3ubuntu0.5
apt-get source p7zip-full=9.20.1~dfsg.1-4+deb7u1build0.14.04.1

non ha funzionato. Devo fare qualcosa del genere:

apt-get source host=1:9.9.5.dfsg
apt-get source p7zip-full=9.20.1~dfsg.1-4+deb

e ce ne sono altri. In generale, non riesco a trovare un modo per ottenere una versione apt-get source <package name>=<package version> che quando do il comando:

apt-get source <package name>=<version>

funziona al 100% del tempo. Qualcuno di voi sa come affrontare questo problema?

    
posta muru 13.09.2016 - 16:25

1 risposta

1

Senza altri dati, sospetto che il pacchetto sia stato aggiornato dal momento in cui hai raccolto il tuo elenco. Gli archivi non conservano le fonti complete per tutte le versioni mai pubblicate.

Per lo più (ignorando alcuni problemi di temporizzazione), mantengono solo le ultime versioni ("trusty-updates", "xenial-updates", ecc.) e la versione originale per ogni versione nella tasca di rilascio ("fidato", " xenial ", ecc.). Questo è il riferimento al comando apt-get source .

Ora, non tutte le speranze sono perse. Guarda questa risposta . Se guardi (ad esempio), il pacchetto acpi e fai clic su "visualizza cronologia completa della pubblicazione" in alto a destra angolo, vedrai che Launchpad mantiene tutto ciò che ha pubblicato. Quindi può trovare le versioni precedenti in questo modo, e persino esaminare l'API launchpad per vedere se è possibile accedere a questi dati in modo programmatico.

    
risposta data dpb 18.02.2018 - 21:19

Leggi altre domande sui tag