Packaging overview
To make software available through 0install, you need to publish a signed "feed" XML file on your web page. This file lists the available versions and their dependencies and says how to run the program. There are lots of ways to create this XML file.
To see an example of the XML, go to any 0install program's feed in your browser (e.g. 0export) and View Page Source.
Before you start, have a look at Concepts to make sure you understand some key terms and ideas.
I want to...
Publish an XML file for an existing binary release¶
- Read the binary packaging guide. This tutorial shows how to create an XML file describing the Blender 3D-animation application. The binary archive is published by the upstream authors and requires no modifications.
Publish XML for a source release¶
- Start by reading the binary packaging guide. Most of the steps are the same.
- Read the 0compile user guide to understand how users compile 0install software.
- Read the 0compile developer guide for a tutorial showing how to publish the GNU Hello example package.
Create an XML file describing my own software¶
- Read the 0release documentation, which shows how to add a local feed to your source repository. Users can use this to run your program from a Git checkout, and you can use it to generate new releases automatically.
- Have a look at the template projects for examples in various programming languages (Python, Java, .NET, C).
Learn more¶
Other useful documentation
- Feed specification
- The specification of the XML format.
- Templates
- Sample code packages which you can use as templates when creating a new program that will be distributed using 0install, or as examples for your own programs.
- Tools
- An index of the tools provided by the 0install project for generating feeds.
Articles
- Binary distribution with 0install
- Blog article describing how to make packages using the 0template command-line tool.
- Compiling with SCons and GTK
- Article showing how to use Zero Install in your build scripts to download the SCons build system and use it to compile your program.
- Easy GTK binary compatibility
- This blog article shows how to use Zero Install to compile your program against older versions of library headers than are the default on your system. Binaries created this way work on a wider range of systems (all systems with a GTK version newer than the headers). Also, since they download the required headers automatically, users don't need to have the headers already on their system in order to compile your program. The binaries produced this way do not depend on Zero Install, so you can use Zero Install as part of your build process even if you don't distribute the resulting binaries that way.