Skip to content

Tools overview

This section contains various utility programs that make using Zero Install easier.

Publishing and updating feeds

0downstream
0downstream can be used to automatically create and update feed files for an existing open source project page on a site like github, pypi or rubygems.org.
0publish
0publish edits feed files in place. It loads the file, transforms it in some way (such as setting the release date, or adding a new implementation) and then writes it back out again. If the input file was signed, it will resign it when saving with the same key by default. You can also use it to add a signature, or to change the signing key. It is particularly useful in release scripts.
0publish-gui
0publish-gui provides a simple graphical interface for creating and editing these feeds.
0release
0release can be used to make new releases of your software. It handles details such as setting the version number and release date, tagging the release in your version control system and updating your Zero Install feed.
0repo
0repo helps you to maintain a repository of 0install software for others to use. It takes a new release generated by e.g. 0template or 0release and adds it to its collection. Then it generates a set of static files which you can upload to your web hosting provider.
mkzero
mkzero is a light-weight alternative to 0release. It doesn't support version control integration, tagging, or local feeds. It is useful for quickly publishing simple packages.
0template
0template generates the XML for one version of a program from a template. It is a useful replacement for 0downstream for more complex programs (e.g. source code that must be compiled or programs with dependencies).
0capture
0capture captures snapshots of system state and diffs them to generate Zero Install desktop integration.
pkg2zero
pkg2zero publishes a Debian or RPM package in a Zero Install feed.
pom2feed
The Zero Install Maven Integration connects the world of Zero Install with Apache Maven. With this project Zero Install gets access to the huge number of Java projects available at Maven Central. This is made possible by two components: the pom2feed-service and the pom2feed-maven-plugin.

Compiling

0compile
0compile creates binaries from source code, either for your own use or ready for publishing on the web through Zero Install. It can use Zero Install to download any build dependencies (compilers, header files, build tools, etc). This is useful if there is no binary for your platform, or if you wish to modify the program in some way.
Make-headers
Make-headers is an extremely simple script for creating -dev packages (packages containing only header files) from ordinary source releases.

Testing

0test
0test runs the self-tests for a given program with various version combinations.
FeedLint
If you maintain a number of feeds, each with several versions of your programs, how do you know that all the download links are still OK? Run FeedLint on your feeds from time-to-time to check.

Sharing

0export
0export creates a self-extracting installer for a given program, for distribution on CDs, etc.
0bootstrap
0bootstrap creates a native package that installs 0install and a given program
0mirror
0mirror keeps an archive of Zero Install feeds and GnuPG keys and exports them for publishing on a web-server.
0share
0share allows peer-to-peer sharing of Zero Install packages.

Security

ebox
ebox proof-of-concept sandboxing system.