2016-05-17 19 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/。 –

相關問題