【发布时间】:2014-02-06 09:25:01
【问题描述】:
我正在尝试将 debian 包拆分为更小的包。
原始包MyPackage-1.0.deb 被拆分为几个较小的包(MyPackage-2.0.deb、MyPackage-config-2.0.deb)。
MyPackage-1.0.deb 包含所有文件,在拆分期间,我将所有文件从目录 /etc 移动到包 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 <me@example.com>
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
我应该如何拆分包以防止错误?
【问题讨论】:
-
你可能不想要
Pre-Depends,而只是一个普通的Depends。我不记得曾经需要Pre-Depends,我会很惊讶您的包裹需要它...
标签: build debian packaging deb