下一步: , 上一步: , 上層: 自動化 FTP 上傳   [目錄][索引]


12.6.4 FTP 上傳指示檔案

重申一次,每次上傳都必須包含一個(已簽署的)指示檔案。未簽署的原始檔案只是一個純文字檔案,您可以使用任何文字編輯器建立。它的名稱必須是,例如,foo-1.0.tar.gz.directive,以伴隨 foo-1.0.tar.gz 的上傳。

建立檔案後,執行 ‘gpg --clearsign foo-1.0.tar.gz.directive’,這將會建立 foo-1.0.tar.gz.directive.asc;這才是要上傳的檔案。

當作為上傳發布檔案的三元組的一部分時,指示檔案必須始終包含指示詞 versionfilenamedirectory。此外,comment 指示詞是選用的。這些指示詞的順序可以任意排列。

繼續我們將名為 foo 的套件的 foo-1.0.tar.gz 上傳到 ftp.gnu.org 的範例,其值將如下所示

version

必須是值 ‘1.2’(目前版本,截至 2012 年 5 月)
version: 1.2

filename

必須是要發布的檔案名稱
filename: foo-1.0.tar.gz

directory

指定上傳的檔案及其 .sig 附件最終要放置的目標目錄。在這裡,我們將把檔案放在套件的頂層目錄中,這是最常見的做法
directory: foo

comment

是選用的,如果存在則會被忽略
comment: let's hope this works!

將以上所有內容放在一起,我們的範例指示檔案 foo-1.0.tar.gz.directive 的完整內容將會是

version: 1.2
directory: foo
filename: foo-1.0.tar.gz
comment: let's hope this works!

然後您如上所述 ‘gpg --clearsign’ 該檔案,並上傳(使用匿名 ftp)這三個檔案

foo-1.0.tar.gz
foo-1.0.tar.gz.sig
foo-1.0.tar.gz.directive.asc

到主機 ftp-upload.gnu.org,目錄 /incoming/ftp (用於正式發布),或目錄 /incoming/alpha (用於測試發布)。

在系統驗證簽章後,檔案 foo-1.0.tar.gzfoo-1.0.tar.gz.sig 將被放置在 ftp.gnu.org 上的目錄 gnu/foo/ 中。也就是說,我們將在 ‘https://ftp.gnu.org/gnu/foo/foo-1.0.tar.gz’ (然後從我們的許多鏡像站透過 ‘https://ftpmirror.gnu.org/foo/foo-1.0.tar.gz’) 提供我們的發布。呼。

上傳不成功的常見原因是您的 GPG 簽章未在上傳系統中註冊。沒有任何機制會自動完成此操作。您必須按照上述說明向系統管理員發送電子郵件(請參閱 自動化上傳註冊)。


下一步: , 上一步: , 上層: 自動化 FTP 上傳   [目錄][索引]