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

12

Corrija-me se estiver errado

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

Obrigado pela ajuda!

    
por user5210 15.08.2009 / 01:05

3 respostas

18
apt-get source package

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

As razões são múltiplas: consertar bugs no software (quando o upstream não quiser), adaptar o software ao debian (por exemplo, ajustar os caminhos dos arquivos). O Debian quer que todos os pacotes estejam em conformidade com o Padrão de Hierarquia FileSystem , e este é um ajuste muito comum.

O tarball original às vezes não é o mesmo que o upstream criado devido a problemas de empacotamento. Lembro-me de ver um programa distribuído em vários tarballs, enquanto eles geravam apenas um executável - o mantenedor do debian decidiu fazer o seu próprio tarball "original", consistindo de tarballs tarados do upstream. 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, então o tarball original é modificado (e isso é normalmente descrito claramente na documentação do pacote).

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

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

O pacote

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

    
por 15.08.2009 / 01:22
2

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

você pode obter as fontes (e os diffs específicos do ubuntu) digitando sudo apt-get source PACKAGENAME na linha de comando. Ele irá baixar as fontes de baunilha e os diffs do pacote para o diretório atual. Eles geralmente também incluem alguns comentários na fonte.

    
por 15.08.2009 / 01:23
1

Pense desta maneira. Se você instalou o programa a partir do tarball de origem original via ./configure; make; make install , ainda terá 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 ./configure a --prefix . As mudanças dos mantenedores de distro muitas vezes não passam de automação dessas tarefas mundanas.

    
por 07.09.2009 / 06:29