0

在构建 Debian 软件包时,我们使用 debian/mypackagename.install 文件来告诉 debhelper 打包工具将文件和文件夹复制到哪里。

问题是文件夹包含一个 .svn 文件夹,该文件夹被复制到包树中,最后进入目标机器!在构建包时是否有排除 .svn 文件夹的标准方法?

4

2 回答 2

2

我不知道您的构建系统的详细信息如何,但要排除 .svn(CVS、.git 等),您可以使用以下-X选项dh_install

$ dh_install -X .svn

debian/rules或在文件中导出 DH_ALWAYS_EXCLUDE 变量:

$ cat debian/rules 
#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.

# Uncomment this to turn on verbose mode.
# export DH_VERBOSE=1

export DH_ALWAYS_EXCLUDE=CVS:.svn

%:
    dh  $@
于 2012-02-26T10:57:10.467 回答
1

正如@JB_Nizet 正确写的那样,您可以svn export用来获取没有所有 .svn 文件夹的目录。如果不能使用导出,可以使用find -name .svn -and -type d -exec rm -rf {} +递归删除目录中的所有 .svn 文件夹。

于 2012-02-26T10:35:02.847 回答