Мой пакет сложный, но я построил минимальный пример, чтобы вы могли легко понять:
.
├── 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
Файл debian/source/format содержит 3.0 (quilt) , поэтому архив с исходным кодом является test-package_0.1.0.orig.tar.gz . Этот архив содержит test_file .
Файл debian/rules содержит:
#!/usr/bin/make -f
%:
dh $@
Если я перехожу в каталог test-package и запускаю dpkg-buildpackage -us -uc , я получаю следующее предупреждение, и в моем пакете не будет файла из апстрима:
dpkg-source: warning: ignoring deletion of file test_file, use --include-removal to override
Я прочитал о dh_install а затем добавил debian/test-package.install со следующим содержимым:
test_file opt/test-package/test_file
Но тогда я получаю ошибку:
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
Где находится test_file ? Возможно, это неправильный метод. Что я должен попробовать вместо этого в этом случае? Могу ли я избежать модификации пакета upstream, в котором нет make-файла или чего-то подобного?
