我有一個包使用自動工具進行構建/安裝/等。它是用C++編寫的Python模塊。 (除了知道我必須安裝的Python腳本不是正在構建的組件的一部分外,這並不重要,也就是說,它們不是主要的xxxxx_SOURCES
主體。)此模塊僅用於驅動程序的某些「單元測試」我們的團隊分佈在硬件解決方案中。由於各種原因,我需要用系統「安裝」python單元測試。自定義安裝鉤子和rpmbuild
由於這些python腳本不是模塊的一部分,我在Makefile中單獨管理安裝。下面是我在我的Makefile.am
:
EXTRA_DIST = setupenv.sh bootstrap tests
dist-hook:
rm -rf $$(find $(distdir)/tests -name \*.swp -o -name \*.pyc)
install-exec-hook:
mkdir -p $(prefix)/unit_tests/unittest2
for f in tests/*.py; do \
cp $$f $(prefix)/unit_tests; \
done
for f in tests/unittest2/*.py; do \
cp $$f $(prefix)/unit_tests/unittest2; \
done
uninstall-hook:
rm -r $(prefix)/unit_tests
這個工程除了rpmbuild
的模塊在就好了。 install-exec-hook
規則寫入不正確,以使rpm進程重定向它的目錄。也就是說,當執行mkdir - $(prefix)/...
時,腳本從字面上試圖製作目錄:/opt/oursw/...。該規則應該如何重寫,以便rpmbuild將它們放置在與模塊安裝位置相同的位置?
謝謝。最後我做到了這一點,但作爲一個實驗。我在調用'make install'時預先約定了我在這個團隊中的存在的過程,並設置了DESTDIR。我真的不想回答自己的問題,我不確定我是否以正確的方式進行。 –