Como remover um arquivo de licença quando o pacote debian usa o autotools automake?

2

Meu pacote Debian produz um erro de lintian:

rhythmbox-plugin-alternative-toolbar: arquivo de licença extra usr / lib / rhythmbox / plugins / alternative-toolbar / LICENÇA

Isso ocorre porque a fonte contém o arquivo LICENSE - e as regras Debian para o empacotamento indicam que todas as informações de licença devem estar dentro do arquivo de copyright do pacote.

Estou usando o autotools automake para criação - meu debian / rules tem esta aparência:

#!/usr/bin/make -f

include /usr/share/cdbs/1/rules/autoreconf.mk
include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/rules/utils.mk
include /usr/share/cdbs/1/class/gnome.mk
include /usr/share/gnome-pkg-tools/1/rules/uploaders.mk
include /usr/share/gnome-pkg-tools/1/rules/gnome-version.mk
-include /usr/share/gnome-pkg-tools/1/rules/gnome-get-source.mk

DEB_DH_AUTORECONF_ARGS := --as-needed ./autogen.sh

# List any files which are not installed
common-binary-post-install-arch:: list-missing

Meu pensamento inicial foi incluir uma instrução override_dh_auto_install nas regras para remover o arquivo LICENSE, mas isso parece ser ignorado (ou não funciona) se eu adicionar o seguinte na parte inferior das regras atuais

override_dh_auto_install:
    find . -name "LICENSE" -delete
    dh_auto_install

Assim, para minha pergunta - como removo o arquivo LICENSE ao criar um pacote Debian?

Observação: não quero ocultar artificialmente o erro do lintian com algum tipo de substituição. Quero garantir que o pacote incorporado não inclua o arquivo LICENSE extra.

    
por fossfreedom 21.12.2015 / 11:45

1 resposta

1

Esta pergunta foi feita há quase dois anos, mas não há respostas. Então vou postar a solução que encontrei recentemente.

Apague o arquivo após chamando dh_auto_install :

override_dh_auto_install:
    dh_auto_install
    find ./debian -type f -name "LICENSE" -delete

Ou anule outra diretriz que é chamada depois que os arquivos são preparados, mas antes que o pacote seja construído. Aqui está como eu fiz isso primeiro, substituindo a diretiva dh_md5sums :

override_dh_md5sums:
    find ./debian/<package_name> -type f -name "LICENSE.txt" -delete
    dh_md5sums

A substituição de outras diretivas dh _ também funcionará.

    
por 21.09.2017 / 11:35