我是Inkscape的开发者之一。我们在代码库中加入了一些修改过的各种免费库,我们真的希望以更易于维护的方式处理我们的软件补丁。
我已经使用Quilt patch tool将补丁应用于Debian包中的上游代码,我们已经考虑在Inkscape的构建中使用它
即,
这将允许我们维护上游库的原始副本和单独的补丁集,然后我们可以向上游转发。
我的问题是,除了Debian文档之外,我还没有找到任何如何在Makefile中整齐地包含Quilt的示例。有人能指出我这样做的项目吗?
我们目前使用Automake,因此如果在主构建之前有一种优雅的方式运行“补丁”规则,那就太棒了。
答案 0 :(得分:1)
我无法指出你这样做的项目,但我之前通过创建一个名为{{1的文件的新补丁(这将是最后一个补丁)来为自己做到这一点。在一些方便的地方。简单项目的patched.txt
如下所示:
Makefile
您可能希望CXX = clang
LDFLAGS += -lstdc++
CXXFLAGS += -Wall -pedantic --std=c++11
all: patched.txt myprog
myprog: myprog.o helper.o
patched.txt: patches/series
quilt push -a
clean:
rm *.o barcode
quilt pop -a
作为quilt pop -a
目标的一部分。在其他项目中,我创建了一个单独的clean
目标,仅执行此操作。我还没有把它整合到一个也使用Autotools的项目中,但它不应该太难。
在我的情况下revert
是使用patched.txt
手动创建的,因此很容易看到补丁集的日期。