Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Makefile 自定义安装挂钩和rpmbuild 我有一个使用自动工具进行构建/安装等的软件包,它是用C++编写的Python模块。(这并不重要,除非知道我必须安装的python脚本不是正在构建的部分,也就是说,它们不是xxxxx\u源代码primary。)此模块仅用于我们团队在硬件解决方案中分发的驱动程序的一些“单元测试”。出于各种原因,我需要在系统中“安装”python单元测试_Makefile_Rpm_Autotools_Rpmbuild - Fatal编程技术网

Makefile 自定义安装挂钩和rpmbuild 我有一个使用自动工具进行构建/安装等的软件包,它是用C++编写的Python模块。(这并不重要,除非知道我必须安装的python脚本不是正在构建的部分,也就是说,它们不是xxxxx\u源代码primary。)此模块仅用于我们团队在硬件解决方案中分发的驱动程序的一些“单元测试”。出于各种原因,我需要在系统中“安装”python单元测试

Makefile 自定义安装挂钩和rpmbuild 我有一个使用自动工具进行构建/安装等的软件包,它是用C++编写的Python模块。(这并不重要,除非知道我必须安装的python脚本不是正在构建的部分,也就是说,它们不是xxxxx\u源代码primary。)此模块仅用于我们团队在硬件解决方案中分发的驱动程序的一些“单元测试”。出于各种原因,我需要在系统中“安装”python单元测试,makefile,rpm,autotools,rpmbuild,Makefile,Rpm,Autotools,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

由于这些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)/…
时,脚本会尝试使dir:/opt/oursw/…。如何重写此规则,以便rpmbuild将它们放置在与模块安装相同的位置?

您希望将
$(DESTDIR)
作为前缀添加到所有这些目录中。那太好了


另一方面,您可能还想看看
\u SCRIPTS
后缀,它允许“
make install
”以“官方”的方式为您复制脚本,从一开始就不需要这种黑客行为。

谢谢。最后我只是做了这个,但作为一个实验。我正在利用的过程,预先确定我在团队中的存在,在调用
makeinstall
时设置DESTDIR。我真的不想回答我自己的问题,我也不确定我是不是用正确的方式来做的。