2013-08-16 72 views
4

我正在開發debian軟件包,並且在正確定義DEBIAN/control下的'Installed-Size'時遇到了麻煩。
我已經創建了一個腳本,不斷檢查svn倉庫是否有新的修訂版本,如果發現有些更改,然後使用du -s命令計算代碼的大小(不包括DEBIAN文件夾),然後將此值置於「Installed-size」。如何正確設置deb包的安裝大小?

於Debian /控制文件看起來像如下:

Package: myfirstdebpackage 
Version: 1.0 
Architecture: all 
Maintainer: me 
Installed-Size: 16664 
Depends: python (>=2.7), python-appindicator, python-numpy, python-suds 
Section: extras 
Priority: optional 
Homepage: www.example.com 
Description: My first deb package 

應用程序的文件夾結構:

myfirstdebpackage/DEBIAN 
myfirstdebpackage/usr/bin/myfirstdebpackage/<files> 

首先安裝順利(通過apt庫),但創建一個新的版本,並嘗試更新包後我遇到了'尺寸不匹配'或'哈希總和不匹配'錯誤。

怎麼了?

回答

0

我不認爲你應該手動改變這個值。相反,在軟件包的根目錄中運行debuilddevscripts包的一部分)。二進制包將在該根目錄的父目錄中創建,當然會爲您自動填充該字段。

+0

我已經從控制文件中刪除了'Installed-Size'字段,並且包已成功創建。但問題依然存在。也許我的apt存儲庫有問題?任何時候我創建一個新的deb包,我將它複製到存儲庫('binary'文件夾),然後執行'dpkg-scanpackages binary/dev/null | gzip -9c> binary/Packages.gz'命令... – Levi

+1

請勿手動運行'dpkg-scanpackages'。而是使用像reprepro這樣的幫助工具:http://serverfault.com/a/224635。 – Tshepang

0

我假設你生成的二進制包具有相同的版本,但每次都有不同的內容。不要那樣做。這會混淆apt和許多其他工具,期望並假設每個pkgname-version-arch元組表示一個獨特且不同的包。

關於Installed-Size,dpkg-gencontrol會爲你自動生成,但我假設你正在手動創建DEBIAN /控制文件。我建議不要這樣做,因爲這意味着更多的手動工作更容易出錯。