2014-02-06 6 views
1

Я пытаюсь разделить пакет debian на меньшие пакеты.Сплит-пакет debian - как правильно обращаться с файлами?

Оригинальная упаковка MyPackage-1.0.deb была разделена на несколько пакетов smaler (MyPackage-2.0.deb, MyPackage-config-2.0.deb).

MyPackage-1.0.deb содержал все файлы, во время раскола я переместил все файлы из каталога/и т.д. для упаковки MyPackage-config-2.0.deb.

dpkg-buildpackage процесс был без ошибок.

Когда я попробую обновить apt-get upgrade, я получаю это сообщение.

Unpacking MyPackage-config (from .../MyPackage-config-2.0.deb) ... 
dpkg: error processing /var/cache/apt/archives/MyPackage-config-2.0.deb (--unpack): 
trying to overwrite '/etc/MyPackage.conf', which is also in package MyPackage 1.0 
dpkg-deb: subprocess paste killed by signal (Broken pipe) 

пакет не был установлен unitil я заставил его apt-get -o Dpkg::Options::="--force-overwrite" upgrade

В файле debian/control есть:

Source: MyPackage 
Section: metapackages 
Priority: optional 
Maintainer: Just Me <[email protected]> 
Standards-Version: 3.9.3 
Build-Depends: debhelper (>= 4) 

Package: MyPackage 
Architecture: i386 
Conflicts: gnumeric 
Pre-depends: MyPackage-config 
Depends: libreoffice-common 
Description: This package 

Package: MyPackage-config 
Essential: yes 
Architecture: i386 
Depends: openssh-server 
Description: config files 

Как я должен разделить пакеты для предотвращения ошибки?

+0

Возможно, вы не хотели «Pre-Depends», а просто «Depends». Я не помню, чтобы когда-либо была необходимость в «Pre-Depends», и я был бы удивлен, что ваш пакет требует этого ... –

ответ

2

Вы, вероятно, хотите, чтобы добавить эти строки в MyPackage-конфигурацию:

Breaks: MyPackage (<< 2.0) 
Replaces: MyPackage (<< 2.0) 

Это говорит DPKG, чтобы не допустить MyPackage 1,0 и MyPackage-конфигурацию 2.0 для установки одновременно (причины, очевидно, что они будут оба хотят владеть /etc/MyPackage.conf), а также, что для MyPackage-config 2.0 все в порядке, чтобы захватить некоторые из файлов, ранее принадлежавших MyPackage 1.0.

См. http://www.debian.org/doc/debian-policy/ch-relationships.html для более подробной информации.

Как не относящийся к делу, наличие «Essential: yes» в MyPackage-config, вероятно, является плохим.

Смежные вопросы