我已经构建了一个服务,我想通过rpm分发它,并且应该在不同的fedora版本上运行。由于它是一项服务,它应该与系统集成,因此可以这样做:
$ service myapp start
问题是Fedora在版本9到14中使用 upstart ,在15及以上使用 systemd 。我可以为两个系统执行此操作,但我不确定如何正确打包它。
我想我必须为fedora版本构建不同的rpms。唯一不同的是要将几个文件复制到不同的位置。
我该如何处理这些差异?在.spec文件或Makefile中?或者我应该使用两个不同的.spec文件?
答案 0 :(得分:2)
在spec文件中执行此操作。为upstart和systemd脚本使用单独的源,并包含相应的脚本based on the version of Fedora being built on。因此,单个spec文件可以处理这两种情况。