我已经制作了一些debian软件包来简化新服务器上的配置部署,并希望将它们放入SVN源代码控制中.问题是SVN为源树中的每个子目录创建了一个.svn目录,因此我无法在源树’dpkg-deb –build’上构建包,因为’.svn’目录将包含在结果中包.到目前为止,当我想构建一个包时,我必须将目录导出到另一个地方并从那里构建.
解决方法
我的理解是你不应该首先使用dpkg-deb –build构建一个debian包.如果您使用dpkg-buildpackage,则不必担心包中包含.svn目录.
见:http://raphaelhertzog.com/2010/12/17/do-not-build-a-debian-package-with-dpkg-b/
可能有更好的方法,但这里有一个我没有彻底测试过:
使用dh_make创建一个骨架debian包.将您的文件放在debian目录上方的目录中.
/opt/mypackage /usr/local/bin
然后在规则文件中,删除$(MAKE)代码并将install:build部分设置为如下所示:
install: build dh_testdir dh_testroot dh_clean -k dh_installdirs # Copy files into staging area rsync --exclude .svn -a mypackage/ debian/tmp/opt/mypackage/