2012-02-26 5 views
0

데비안 패키지를 빌드하는 동안 debian/mypackagename.install 파일을 사용하여 debhelper 패키징 도구에 파일 및 폴더를 복사 할 위치를 알려줍니다.debian 패키지를 빌드하는 동안 .svn을 제거하십시오.

문제는 폴더에 패키지 트리에 복사 된 .svn 폴더가 있고 마지막으로 대상 컴퓨터로 이동한다는 것입니다. 패키지를 만드는 동안 .svn 폴더를 제외하는 표준 방법이 있습니까?

+2

나는 데비안 및 포장에 대해 알고하지 않습니다,하지만 당신은 작업 복사본합니다 (을 .svn 파일 제외)을 내 보낸 다음 내 보낸 디렉토리를 패키지로 수출 SVN 사용할 수 있습니다. –

+0

감사합니다, 당신 말이 맞아요, svn 내보내기를 사용하여 내가 잊어 버린 표준 방법입니다. – amin

+0

또는 bash 스크립트를 만들어 프로젝트 폴더와 하위 폴더에서 모든 .svn 폴더를 제거 할 수 있습니다. – ecle

답변

2

나는 당신의 빌드 시스템 (CVS, .git 등)이 dh_install-X 옵션을 사용할 수 있습니다을 .svn 제외 할 수 있지만 세부 사항에 보이는 방법을 모른다 debian/rules 파일 :

$ 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 [email protected] 
+2

또한'$ debuild -I'는 소스로 .tar.gz을 빌드 할 때 VCS 디렉토리를 무시합니다. 이'-I' 옵션은 사람에게 언급되어 있지 않지만 debuild 소스에서 찾을 수 있습니다. –

1

마찬가지로 @JB_Nizet correct는 svn export을 사용하여 모든 .svn 폴더가없는 디렉토리를 가져올 수 있습니다. 내보내기를 사용할 수 없으면 find -name .svn -and -type d -exec rm -rf {} +을 사용하여 디렉터리의 모든 .svn 폴더를 재귀 적으로 삭제할 수 있습니다.

$ dh_install -X .svn 

또는 수출 DH_ALWAYS_EXCLUDE 변수 :