Índice
Existem alguns casos que requerem o sanitizar da fonte para prevenir a contaminação do pacote fonte Debian gerado.
Conteúdos não compatíveis com https://www.debian.org/social_contract.html#guidelines[DFSG] na fonte do autor.
Conteúdos estranhos auto-gerados na fonte do autor.
Conteúdo VCS estranho na fonte do autor.
As opções -i e -I definidas em “Secção 4.6, “Configuração do devscripts”” para o comando dpkg-source(1) devem evitar isto.
Existem vários métodos de evitar a inclusão de conteúdos indesejáveis.
Este método é apropriado para evitar conteúdos não compatíveis com https://www.debian.org/social_contract.html#guidelines[DFSG] no tarball fonte do autor.
Corre o comando uscan para descarregar o novo tarball de autor.
Veja “EXEMPLOS DE FICHEIROS COPYRIGHT” em mk-origtargz(1).
Este método é apropriado para evitar ficheiros auto-gerados ao remove-los no alvo "debian/rules clean".
![]() | Nota |
|---|---|
|
O alvo "debian/rules clean" é chamado antes do comando "dpkg-source --build" pelo comando dpkg-buildpackage. O comando "dpkg-source --build" ignora os ficheiros removidos. |
Isto é para o pacote não-nativo Debian.
O problema dos diffs estranhos pode ser resolvido ao ignorar as alterações feitas a partes específicas da árvore fonte. Isto é feito ao adicionar a linha "extend-diff-ignore=…" no ficheiro debian/source/options.
debian/source/options para excluir os ficheiros config.sub, config.guess e Makefile:
# Don't store changes on autogenerated files extend-diff-ignore = "(^|/)(config\.sub|config\.guess|Makefile)$"
![]() | Nota |
|---|---|
|
Esta abordagem funciona sempre, mesmo quando você não consegue remover o ficheiro. Isto poupa-o de ter de fazer uma salvaguarda do ficheiro não-modificado apenas para o restaurar antes da próxima compilação. |
![]() | Dica |
|---|---|
|
Se você usar o ficheiro debian/source/ local-options, você pode esconder esta definição do pacote fonte gerado. Isto pode ser útil quando ficheiros VCS locais não-standard interferem com o seu empacotamento. |
Isto é para o pacote nativo Debian.
Você pode excluir certos ficheiros na árvore fonte do tarball gerado ao ajustar o globo de ficheiros. Adicione as linhas "tar-ignore=…" nos ficheiros debian/source/options ou debian/source/local-options.
![]() | Nota |
|---|---|
|
Por exemplo, se o pacote fonte de um pacote nativo precisar de ficheiros com a extensão .o como uma parte dos dados de teste, a definição em “Secção 4.6, “Configuração do devscripts”” pode ser demasiado agressiva. Você pode contornar isto ao largar a opção -I para DEBUILD_DPKG_BUILDPACKAGE_OPTS em “Secção 4.6, “Configuração do devscripts”” e adicionar as linhas "tar-ignore=…" no ficheiro debian/source/local-options para cada pacote. |
O problema do conteúdo estranho na segunda compilação pode ser evitado ao restaurar a árvore fonte. Isto é feito ao cometer a árvore fonte para o repositório Git antes da primeira compilação.
Você pode restaurar a árvore fonte antes da segunda compilação de pacote. Por exemplo:
[debhello] $ git reset --hard [debhello] $ git clean -dfx
Isto funciona porque o comando dpkg-source ignora os conteúdos dos ficheiros VCS típicos na árvore fonte, como especificado pela definição DEBUILD_DPKG_BUILDPACKAGE_OPTS em “Secção 4.6, “Configuração do devscripts””.
![]() | Dica |
|---|---|
|
Se a árvore fonte não for gerida por um VCS, corra "git init; git add -A .; git commit" antes da primeira compilação. |