Я пытаюсь включить Spamdyke 4.3.1 (ссылка для скачивания) в пакет Debian (.deb). Это довольно простое программное обеспечение для сборки, без сумасшедших зависимостей, просто libssl-dev, поэтому:
apt-get install build-essential devscripts debhelper dh-make libssl-dev
, а затем после распаковки источников:
cd spamdyke-4.3.1/spamdyke
./configure --exec_prefix=/usr
make
и обычного
make install
Поскольку я готов сделать пакет Debian из этого программного обеспечения, я создал все необходимые файлы в папке debian/ и изменил его install цель в spamdyke/Makefile.in, добавив ${DESTDIR}:
install: spamdyke
cp spamdyke ${DESTDIR}/usr/local/bin/spamdyke-@PACKAGE_VERSION@
rm -f ${DESTDIR}/usr/local/bin/spamdyke
ln -s ${DESTDIR}/usr/local/bin/spamdyke-@PACKAGE_VERSION@ ${DESTDIR}/usr/local/bin/spamdyke
Но моя текущая проблема заключается в том, что в архиве распределения хранятся все источники в папке spamdyke/ вместо корневой папки, что не означает, что инструменты dh_* ожидают автоматического выполнения тяжелой работы: ! d5]
drwxr-xr-x 4 vagrant vagrant 4096 Feb 3 10:57 debian
drwxr-xr-x 3 vagrant vagrant 4096 Jan 30 19:43 documentation
drwxr-xr-x 2 vagrant vagrant 4096 Feb 5 21:00 spamdyke
drwxr-xr-x 997 vagrant vagrant 77824 Jan 30 19:43 tests
drwxr-xr-x 2 vagrant vagrant 4096 Jan 20 2012 utils
К сожалению, я не могу создать правильный debian/rules, чтобы сделать всю работу упаковки. Я хотел бы максимально упростить мой debian/rules, и, честно говоря, я надеялся, что указать ему исходную папку spamdyke с параметром --builddirectory будет достаточно, по крайней мере, для шагов настройки и сборки. Теперь мой текущий debian/rules выглядит следующим образом:
#!/usr/bin/make -f
export DH_VERBOSE = 1
%:
dh $@ --builddirectory=spamdyke
override_dh_auto_configure:
dh_auto_configure --builddirectory=spamdyke -- --exec_prefix=/usr
override_dh_auto_build:
dh_auto_make --builddirectory=spamdyke
однако debuild -b -us -uc производит довольно пустой пакет .deb в результате, когда lintian жалуется на empty-binary-package:
dpkg-genchanges: binary-only upload (no source code included)
dpkg-source --after-build spamdyke-4.3.1
dpkg-buildpackage: binary-only upload (no source included)
Now running lintian...
W: spamdyke: new-package-should-close-itp-bug
E: spamdyke: copyright-should-refer-to-common-license-file-for-gpl
W: spamdyke: empty-binary-package
Finished running lintian.
Надеюсь, что здесь не хватает чего-то очевидного, но на данный момент я не могу узнать, что искать. Любые намеки оценили. Спасибо заранее.