spi*_*epf 5 package-management debian configuration
我正在创建一个 Debian 软件包foo,它需要替换bar安装它的系统上的现有软件包。
我读了:
https://www.debian.org/doc/debian-policy/ch-relationships.html
并得出结论, 中的正确子句DEBIAN/control应该如下所示:
Provides: foo
Conflicts: bar
Replaces: bar
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试foo在已bar安装的系统上安装该软件包时,系统会因为foo与bar.
如果我删除该Conflicts: bar条目,则dpkg允许并排安装两个软件包,这是一个问题,因为foo必须替换bar.
control实现此目的的正确文件条款是什么?
我试过Breaks而不是Conflicts:
dpkg: regarding foo_DEV-22._i386.deb containing foo:
foo breaks bar
bar (version 3.2.2.1-x86NX4.4-x86) is present and installed.
bar provides bar and is present and installed.
dpkg: error processing foo_DEV-22._i386.deb (--install):
installing foo would break existing software
Errors were encountered while processing:
foo_DEV-22._i386.deb
Run Code Online (Sandbox Code Playgroud)
为什么不先将其重命名为现有的包,然后再将其替换为您想要的包呢?
为此,您必须按照以下 Debian 官方 wiki 页面的方法/途径:
https://wiki.debian.org/Renaming_a_Package
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4062 次 |
| 最近记录: |