Como incluir o arquivo upstream no pacote Debian?

0

Meu pacote é complexo, mas criei um exemplo mínimo para que você possa entender facilmente:

.
├── test-package
│   └── debian
│       ├── changelog
│       ├── compat
│       ├── control
│       ├── rules
│       └── source
│           └── format
├── test-package_0.1.0.orig
│   └── test_file
└── test-package_0.1.0.orig.tar.gz

O arquivo debian/source/format contém 3.0 (quilt) , e é por isso que o tarball upstream é test-package_0.1.0.orig.tar.gz . Esse tarball contém test_file .

O arquivo debian/rules contém:

#!/usr/bin/make -f

%:
    dh $@

Se eu mudar para o diretório test-package e executar dpkg-buildpackage -us -uc , recebo o seguinte aviso e meu pacote não terá o arquivo do upstream:

dpkg-source: warning: ignoring deletion of file test_file, use --include-removal to override

Eu li sobre dh_install e, em seguida, adicionei um arquivo debian/test-package.install com o seguinte conteúdo:

test_file opt/test-package/test_file

Mas então recebo um erro:

dh_install: Cannot find (any matches for) "test_file" (tried in "." and "debian/tmp")
dh_install: test-package missing files: test_file
dh_install: missing files, aborting

Onde test_file pode ser encontrado? Talvez este seja o método errado. O que devo tentar nesse caso? Posso evitar a modificação do pacote upstream, que não tem um makefile ou algo assim?

    
por bbc 08.06.2017 / 11:15

1 resposta

0

O tarball upstream test-package_0.1.0.orig.tar.gz é de fato necessário onde está. No entanto, dpkg-buildpackage também espera que esse tarball upstream seja descompactado em test-package além do diretório debian . Então ele pode construir o pacote binário e distinguir a sobreposição Debian do conteúdo original.

Layout correto:

.
├── test-package
│   ├── debian
│   │   ├── changelog
│   │   ├── compat
│   │   ├── control
│   │   ├── rules
│   │   ├── source
│   │   │    └── format
│   │   └── test-package.install
│   └── test_file
└── test-package_0.1.0.orig.tar.gz
    
por 09.06.2017 / 11:28