使用scons构建系统的软件,有什么“正确”的方法来将其转换为Debian软件包?

有什么具体的工具可用吗?或者我们只需使用一个运行scons的虚假Makefile吗?
1个回答

debian/rules文件是一个Makefile。你可以在那里做任何你想在“伪造”Makefile中做的事情。dh命令Manpage icon是一个帮助程序,它将以Debian默认设置运行大多数构建系统。我相信它支持scons。如果是这样,你只需要:
#!/usr/bin/make -f

%:
    dh $@

如果你需要传递自定义选项(或者它实际上不支持 scons),你可以覆盖其默认行为。然后,你的规则文件可能如下所示:

#!/usr/bin/make -f

SCONS=scons 

%:
    dh $@

override_dh_auto_build:
    $(SCONS) --prefix=$(DEB_DESTDIR)/usr

override_dh_auto_clean:
    dh_auto_clean
    $(SCONS)  -c

override_dh_auto_install:
    $(SCONS) install --prefix=$(DEB_DESTDIR)/usr

有时候,学习如何做某件事情最好的方法就是看看其他软件是如何做的。这个命令:
reverse-depends -b scons

将列出所有构建依赖于 scons 的软件包,获取它们的源代码并查看它们的不同构建方式。