0

hello.cユースケース: Mac、Windows、Linuxでコンパイルし、3つの実行可能ファイルhellomacをと呼びhellowinhellotuxそれらがと呼ばれるアーカイブに一緒にパックされていると想像してみましょうhello.zip。それでは、0installを使用してそれらを配布しましょう。ユーザーは、ユーザーのプラットフォーム( Linuxなど)に適切なバイナリにアクセスして、ダウンロードして抽出できる必要がhttp://www.hello.org/Hello.xmlあります。0installhello.ziphellotux

0install誰かがそのような状況に必要な呪文を含むサンプルフィードファイルを手に入れましたか?チュートリアルを実行しましたが、必要なXMLを正しく設定できませんでした...助けていただければ幸いです。ありがとう!

4

2 に答える 2

2

Bo がコメントで述べたように、プラットフォームごとに 1 つずつ、合計 3 つの zip ファイルを用意する方が理にかなっています。次に、XML はそれらのそれぞれをリストします。

<implementation arch='Linux-i386' ...>
  <archive href='.../hello-linux-i386.zip' size='...'/>
</implementation>
<implementation arch='Windows-i386' ...>
  <archive href='.../hello-win-i386.zip' size='...'/>
</implementation>

次のドキュメントが役立つ場合があります。

ただし、3 つのバイナリを含む 1 つの zip が本当に必要な場合 (たとえば、既存の zip アーカイブのフィードを作成している場合)、同じで異なる属性<implementation>を持つ 3 つの要素を使用します。それぞれに異なるものを使用してください(デフォルトのツールは実装のハッシュを ID として使用しますが、それらがすべて同じアーカイブである場合は機能しません)。<archive>mainid

個人的には、その場合でも大きなジッパーを 3 つに分割します。

于 2012-06-28T19:56:44.483 に答える
1

ヒントをくれた Thomas と Bo に感謝します。これで、アーカイブを論理的に結合する方法がわかりました。

レシピ:

プラットフォームごとにアーカイブを作成します。次に、0publish-gui最初に「グループを作成」してから、プラットフォーム固有のアーカイブごとに「アーカイブを追加」を繰り返しクリックします。アーカイブの URL を指定しますが、既にあるのでダウンロードしないでください。代わりに [ローカル コピー] ボタンを使用し0publish-guiて、アーカイブのサイズと SHA ダイジェストを把握してください。最後に、すべてを Web サーバーにアップロードします。

これは、他の人が始めるのを助けるために、私の単純な Hello.xml ファイルです。Windows は「XML のエラー (11,21)」について不平を言いますが、Linux と Mac OS X では同じ XML が機能します。Unices は 2:1 で勝ちます :-)

<?xml version="1.0" ?>
<?xml-stylesheet type='text/xsl' href='interface.xsl'?>
<interface uri="http://www.hello.org/Hello.xml" xmlns="http://zero-install.sourceforge.net/2004/injector/interface">
  <name>Hello</name>
  <summary>Hello, world!</summary>
  <description>
Hello, world program</description>
  <homepage>http://www.hello.org</homepage>
  <category>Utility</category>
  <needs-terminal/>
  <group arch="*-*" released="today" version="0.1">
    <implementation arch="Linux-x86_64" id="sha1new=aadb5dca492691888bb5d846f23a2b208a9b7d9e" license="Public Domain" main="hellotux" released="2012-06-29" version="0.1">
      <archive href="http://www.hello.org/hello_tux.zip" size="3298" type="application/zip"/>
    </implementation>
    <implementation arch="MacOSX-x86_64" id="sha1new=8a6c3f898fb938532b4dfd55000507e806524ce7" license="Public Domain" main="hellomac" released="2012-06-29" version="0.1">
    <archive href="http://www.hello.org/hello_mac.zip" size="1637" type="application/zip"/>
  </implementation>
    <implementation arch="Windows-x86_64" id="sha1new=8f8a5cd1aeb4771acaa2017e1054e89d7c11facc" license="Public Domain" main="hello.exe" released="2012-06-29" version="0.1">
    <archive href="http://www.hello.org/hello_win.zip" size="26131" type="application/zip"/>
  </implementation>
  </group>
</interface>
<!-- Base64 Signature (omitted) -->
于 2012-06-29T09:35:46.413 に答える