Diferença entre arquivos .changes e .dsc ao atualizar manualmente um pacote?

2

Qual é a diferença entre o arquivo .changes e o arquivo .dsc?

Debian Policy diz sobre os requisitos campo definido, mas perde a essência eo significado em geral. Por que dois (na verdade são três) quando você pode ter o único?

Este arquivo .changes pode ser derivado de .dsc (ou vice-versa)?
Qual é o processo de transformação?

Por quê? Estou tentando criar um script Python que automatize a atualização de pacotes Python puros para sistemas Debian ou Ubuntu. Ele precisa ser multi-plataforma, porque é bastante comum desenvolver coisas em Python em sistemas sem o toolchain clássico do Debian.

    
por anatoly techtonik 19.01.2014 / 11:25

1 resposta

4

O arquivo de controle de fonte da Debian .dsc é um dos três arquivos que fazem parte de uma fonte de pacotes Debian. Os outros dois são o tarball de origem original do upstream, que normalmente tem o formato *.orig.tar.gz e um arquivo diff, que pode ser um arquivo como *.diff.gz (estilo antigo) ou debian.tar.gz (formato de fonte 3.0 (quilt)). ).

Em ambos os casos (estilo antigo diff.gz ou mais recente debian.tar.gz ), o tarball original é descompactado e o diff é aplicado, resultando em um diretório de origem com um subdiretório debian . No primeiro caso, os patches aplicados pelo Debian aos fontes upstream são aplicados diretamente na fonte. No último caso, os patches aplicados pelo Debian aos fontes upstream estão dentro do diretório debian/patches .

O arquivo dsc contém informações sobre os outros dois arquivos mencionados acima, incluindo somas de verificação, para que a corrupção possa ser detectada durante o processo de descompactação.

O arquivo changes é semelhante, mas também contém informações sobre os arquivos binários ( deb ). Sua finalidade é diferente - ela é usada pelo software de arquivamento para acompanhar as atualizações em um arquivo, que inclui pacotes binários e de origem. Do ponto de vista do usuário, o arquivo changes não é tão interessante, a menos que você esteja planejando manter seu próprio arquivo de pacotes.

Os arquivos changes e dsc são obtidos quando os pacotes binários são construídos a partir das fontes do Debian. Assim, na prática, um usuário não precisa editar os arquivos dsc ou changes .

NOTA: Uma maneira típica de executar um processo de compilação do pacote Debian é fazendo debuild -uc -us , usando o script debuild do pacote devscripts . Isso cria os seguintes arquivos (para o formato de origem 3.0): *.changes , *.dsc , *.debian.tar.gz , *.build (o log de construção) e os arquivos binários da Debian. Às vezes, o *.dsc e o *.debian.tar.gz já existirão se o diretório de origem tiver sido descompactado de fontes Debian preexistentes, mas será sobrescrito se o número da versão não for alterado.

    
por 19.01.2014 / 13:13