(脇:。これは、その上流のMakefileではなく、下流の包装で、やってされるべきである何かのように思える)
あなたrules
ファイルを使用していたフレームワークに依存します。
CDBSで
、このような何かが動作するはずです...
#!/usr/bin/make -f
include /usr/share/cdbs/1/rules/debhelper.mk
# probably what you want (automagic happens),
# but I don't know details of your package
#include /usr/share/cdbs/1/class/automake.mk
DEBVERS := $(shell dpkg-parsechangelog | sed -n -e 's/^Version: //p')
VERSION := $(shell echo '$(DEBVERS)' | sed -e 's/^[[:digit:]]*://' -e 's/[~-].*//')
install/$(DEB_ALL_PACKAGES)::
dh_link -p$(cdbs_curpkg) \
/usr/lib/$(cdbs_curpkg)-$(VERSION)/$(cdbs_curpkg) \
/usr/bin/$(cdbs_curpkg)
バージョン(たとえば、$(shell cat version.txt))
)を得るためのより良い方法を持っている場合は、それを使用しています。 Debianのバージョンは必ずしもソースパッケージのバージョンではありません。ここでは、エポックとパッケージのバージョンがあれば削除しますが、これは必ずしも正しいとは限りません。
他のCDBSクラスでは$${libdir}
と$${bindir}
が定義されていますが、よく見かけることはありません。
絶対パスが指定されていても、可能であればdh_link
は相対リンクを作成することに注意してください。
DEBVER := $(shell dpkg-parsechangelog -SVersion)
:これが問題である場合は、dpkgの新しいバージョン(1.17.0+)で
cd debian/$(cdbs_curpkg) && ln -s ...
答えていただきありがとうございます。私はdh_makeのスケルトンだけを使っていました。 CDBSはかなり面白そうです。 –
'dh_make -b'はあなたにスケルトンCDBSルールを与えます。 – ephemient