удалите .svn при сборке пакетов debian
-
13-11-2019 - |
Вопрос
При создании пакета Debian мы используем файл debian/mypackagename.install, чтобы указать инструменту упаковки debhelper, куда копировать файлы и папку.
Проблема в том, что папки содержат папку .svn, которая копируется в дерево пакетов и, наконец, отправляется на целевую машину!существует ли стандартный способ исключить папки .svn при создании пакета?
Решение
Я не знаю, как выглядит ваша система сборки в деталях, но чтобы исключить .svn (CVS, .git и т.д.), вы можете использовать -X
вариант dh_install
:
$ dh_install -X .svn
или экспортировать переменную DH_ALWAYS_EXCLUDE в 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 $@
Другие советы
Как @jb_nizet исправить, вы можете использовать svn export
, чтобы получить каталог без всех папок .svn.Если вы не можете использовать экспорт, вы можете использовать find -name .svn -and -type d -exec rm -rf {} +
для удаления всех папок .svn в каталоге рекурсивно.