Мой пакет сложный, но я построил минимальный пример, чтобы вы могли легко понять:
.
├── 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-файла или чего-то подобного?