2016-05-17 21 views
1

我想提供一个应用程序的多个发布流(为了这个问题我们称它为scylla)。如何为debian/ubuntu打包应用程序的多个发布流?

如果用户选择发布流1.0,则apt-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

这样做的最好方法是什么?

回答

1

我认为最好的办法是通过GCC软件包中使用的一个:

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

我可能会添加为另一选项来创建不同的存储库,其中青蟹包依赖于依赖于资源库中的不同版本,让用户可以按照每个流的W/O不必担心当默认可能会改变。这是用mozilla软件包完成的,例如http://mozilla.debian.net/。 –

相关问题