Ubuntu: O que eles estão fazendo com as fontes de baunilha?


12

Corrija-me se eu estiver errada

Até onde eu sei, distros como o Debian / Ubuntu / Fedora geralmente modificam o código-fonte vanilla antes de criar um pacote. Qual é a razão por trás dessas mudanças? Há algum problema com a fonte original? Como posso obter a lista de alterações e o motivo dessas alterações em um pacote específico?

Obrigado pela ajuda!

Respostas:


18
apt-get source package

Você receberá dois ou três arquivos: tarball "original" (algumas vezes modificado, mas raramente ... a única alteração é geralmente o nome do arquivo) - chamado * .orig.tar.gz, o debian muda na forma de * .diff arquivo .gz e alguns metadados. Às vezes, o arquivo .diff.gz está ausente: isso significa que o pacote é construído apenas para o debian / ubuntu, para lidar com algum trabalho de distribuição muito específico ... como o dakque gerencia os uploads do repositório debian. Então todo o código está no tarball original.

Os motivos são múltiplos: corrigindo bugs do software (quando o upstream não deseja), adaptando o software ao debian (ajustando os caminhos dos arquivos). O Debian deseja que todos os pacotes estejam em conformidade com o FileSystem Hierarchy Standard , e este é um ajuste muito comum.

O tarball original às vezes não é o mesmo que o upstream criado devido a problemas de embalagem. Lembro-me de ver um programa distribuído em vários tarballs, enquanto eles geravam apenas um executável - o mantenedor do debian decidiu criar seu próprio tarball "original" consistindo em tarballs upstream tarredados. A outra razão é quando, às vezes, o mantenedor do debian decide adicionar algum arquivo binário ao pacote. É difícil colocar binários dentro do arquivo .diff.gz, portanto o tarball original é modificado (e isso geralmente é claramente descrito na documentação do pacote).

Às vezes (muito raramente) o licenciamento é o problema. Acontece que o upstream não entende ou deseja entender implicações devido a algumas licenças. O Debian quer que todos os problemas de licenciamento sejam resolvidos, então os patches do debian fazem algumas coisas específicas ou o tarball original é retirado dos arquivos distribuídos ilegalmente.

Também acontece que algum conteúdo é licenciado para que você possa usá-lo, mas não distribuir. Normalmente (fe for msttcorefonts, flashplugin-nonfree) o pacote debian é apenas algum tipo de instalador para um pacote, e nenhum conteúdo original está dentro do pacote.

pineO pacote também é interessante, porque a licença proíbe a distribuição de formulários compilados. Portanto, não há pinepacote binário, mas há pinepacote de origem. Você pode baixá-lo usando o comando acima e compilar um pacote debian para si mesmo.


Pine está agora a ser desenvolvido como alpino para contornar os problemas de licenciamento originais - washington.edu/pine
theotherreceive

Ainda o pinepacote está dentro do repositório. Mas bem, é assim que os problemas de licenciamento dificultam as coisas.
Liori 14/08/09

2

As razões provavelmente são tantas quanto há mantenedores e pacotes. Eu acho que geralmente eles modificam o software para que ele se integre melhor a outros softwares da distribuição ou para adicionar recursos que não estão na versão "oficial".

você pode obter as fontes (e as diferenças específicas do ubuntu) digitando sudo apt-get source PACKAGENAMEna linha de comando. Ele fará o download das fontes de baunilha e das diferenças do pacote para o diretório atual. Eles geralmente também incluem alguns comentários na fonte.


1

Pense desta maneira. Se você instalou o programa a partir do tarball de origem original ./configure; make; make install, ainda tem algum trabalho a fazer. Você tem que fazer entradas de menu, você tem que configurar arquivos de configuração, e tal. Você pode ter que dar ./configureum --prefix. As mudanças dos mantenedores da distribuição geralmente não passam de automação dessas tarefas mundanas.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.