Ubuntu: cosa stanno facendo alle fonti di vaniglia?


12

Correggimi se sbaglio

Per quanto ne so, distribuzioni come Debian / Ubuntu / Fedora di solito modificano il codice sorgente vanilla prima di creare un pacchetto. Qual è la ragione dietro questi cambiamenti? C'è un problema con la fonte originale? Come posso ottenere l'elenco delle modifiche e il motivo delle modifiche apportate a un determinato pacchetto?

Grazie per l'aiuto!

Risposte:


18
apt-get source package

Otterrai due o tre file: tarball "originale" (a volte modificato, ma raramente ... l'unica modifica è spesso il nome del file) - chiamato * .orig.tar.gz, il debian cambia in forma di * .diff File .gz e alcuni metadati. A volte manca il file .diff.gz: questo significa che il pacchetto è costruito solo per debian / ubuntu, per gestire alcune distro molto specifiche ... come quelle dakche gestiscono i caricamenti dell'archivio debian. Quindi tutto il codice è nel tarball originale.

I motivi sono molteplici: correzione di bug per il software (quando l'upstream non lo desidera), adattamento del software a debian (fe regolazione dei percorsi dei file). Debian vuole che tutti i pacchetti siano conformi a FileSystem Hierarchy Standard , e questo è un adattamento molto comune.

Il tarball originale a volte non è lo stesso creato a monte a causa di problemi di imballaggio. Ricordo di aver visto un programma distribuito in diversi tarball, mentre generavano un solo file eseguibile: il manutentore debian decise di creare il suo tarball "originale", costituito da tarball upstream incatramati. L'altro motivo è quando a volte il manutentore debian decide di aggiungere un file binario al pacchetto. È difficile inserire file binari all'interno del file .diff.gz, quindi il tarball originale viene modificato (e questo di solito è chiaramente descritto nella documentazione per il pacchetto).

A volte (molto raramente) il problema è la licenza. Succede che l'upstream non capisce o non vuole capire le implicazioni dovute ad alcune licenze. Debian vuole che tutti i problemi di licenza vengano risolti, quindi le patch debian fanno alcune cose specifiche, oppure il tarball originale viene rimosso da file distribuiti illegalmente.

Inoltre, alcuni contenuti sono concessi in licenza in modo da poterli utilizzare ma non distribuire. Di solito (fe for msttcorefonts, flashplugin-nonfree) il pacchetto debian è solo una specie di programma di installazione per un pacchetto e nessun contenuto originale è contenuto nel pacchetto.

pineanche il pacchetto è interessante, perché la licenza proibisce la distribuzione di moduli compilati. Pertanto non esiste un pinepacchetto binario, ma esiste un pinepacchetto sorgente. Puoi scaricarlo usando il comando sopra e compilarlo in un pacchetto debian.


Pine ora viene sviluppato come alpino per aggirare i problemi di licenza originali - washington.edu/pine
theotherreceive

Il pinepacchetto è ancora all'interno del repository. Ma bene, questo è il modo in cui i problemi di licenza rendono le cose più difficili.
liori,

2

Le ragioni sono probabilmente molte volte quanti sono i manutentori e i pacchetti. Immagino che di solito modifichino il software in modo che si integri meglio con altri software nella distribuzione o per aggiungere funzionalità che non sono nella versione "ufficiale".

puoi ottenere i sorgenti (e le differenze specifiche di Ubuntu) digitando sudo apt-get source PACKAGENAMEdalla riga di comando. Scaricherà i sorgenti vanilla e le differenze del pacchetto nella directory corrente. Di solito includono anche alcuni commenti nella fonte.


1

Pensare in questo modo. Se hai installato il programma dal tarball sorgente originale tramite ./configure; make; make install, hai ancora del lavoro da fare. Devi fare voci di menu, devi impostare file di configurazione e così via. Potrebbe essere necessario dare ./configurea --prefix. Le modifiche dei manutentori della distro spesso non sono altro che l'automazione di questi banali compiti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.