【问题标题】:How do I package multiple release streams of an application for debian/ubuntu?如何为 debian/ubuntu 打包应用程序的多个发布流?
【发布时间】:2016-09-13 12:54:54
【问题描述】:

我想提供一个应用程序的多个发布流(为了这个问题,我们称之为scylla)。

如果用户选择发布流1.0apt-get install 将安装scylla-1.0.3,更新将安装scylla-1.0.4

如果用户选择发布流1.1apt-get install 将安装scylla-1.1.0,更新将安装scylla-1.1.1

如果用户选择发布流latestapt-get install 将安装scylla-1.1.0,更新将安装scylla-1.2.1

最好的方法是什么?

【问题讨论】:

    标签: ubuntu debian packaging apt dpkg


    【解决方案1】:

    我认为最好的方法是 gcc 包使用的方法:

    • 将包重命名为<package><stream>,这样你就拥有scylla1.0-1.0.xscylla1.1-1.1.xscylla1.0-1.2.x、...;
    • 要么使来自不同流的包可共同安装(如在 gcc 的情况下,可能使用替代机制为二进制文件提供未版本化的名称),要么声明与其他流的冲突(现在由包表示);
    • 引入一个包scylla,它依赖于最新的流(或者,在 gcc 的情况下,默认流)。

    【讨论】:

    • 我可能会添加另一个选项来创建不同的存储库,其中 scylla 包取决于存储库的不同版本,以便用户可以关注每个流而不必担心何时默认值可能会改变。这是使用 mozilla 软件包完成的,例如 mozilla.debian.net
    猜你喜欢
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多