To make it possible to use newer features in a feed without breaking older versions of 0install, the if-0install-version attribute may be placed on any element to indicate that the element should only be processed by the specified versions of 0install.
0install versions before 1.13 ignore this attribute and process all elements.
A feed/interface contains all the information required to download and execute an application.
It is usually downloaded and updated from a specific URI but may also be a local file.
Feeds downloaded from remote locations are protected from tampering by a OpenPGP signature.
A short name to identify the feed or program (e.g. "Foo"). Required!
Short one-line description; the first word should not be upper-case unless it is a proper noun (e.g. "cures all ills"). Required!
Full description, which can be several paragraphs long.
The publisher (company or organization) of the program.
The URL of a web-page describing feed or program in more detail.
Zero or more icons representing the application. Used in the Catalog GUI as well as for desktop icons, menu entries, etc..
If present, this element indicates that the program requires a terminal in order to run. Graphical launchers should therefore run this program in a suitable terminal emulator.
A linked feed that contains more implementations of this feed's interface. Is treated by the solver as if it were part of the main feed.
The implementations in this feed are implementations of the given interface. This is used when adding a third-party feed.
This interface of the feed has been replaced by the given interface. Any references to the old URI should be updated to use the new one.
This attribute gives the oldest version of the injector that can read this file. Older versions will tell the user to upgrade if they are asked to read the file. Versions prior to 0.20 do not perform this check, however. If the attribute is not present, the file can be read by all versions.
This attribute is only needed for remote feeds (fetched via HTTP). The value must exactly match the expected URL, to prevent an attacker replacing one correctly-signed feed with another (e.g., returning a feed for the shred program when the user asked for the backup program).
The URL used to locate the icon.
The MIME type of the icon. This value is case-insensitive.
An application category (e.g. Game or Office). Used for organizing application menus.
If no type is given, then the category is one of the 'Main' categories defined by the freedesktop.org menu specification. Otherwise, it is a URI giving the namespace for the category.
The URL or local path used to locate the feed.
The natural language(s) which the implementations in the feed support.
For platform-specific binaries, the platform for which the implementations in the feed were compiled, in the form os-cpu. Either the os or cpu part may be *, which will make it available on any OS or CPU.
The URI used to locate the interface.
Associates a command with a user-friendly name and description.
If present, this element indicates that the command represented by this entry point requires a terminal in order to run. Graphical launchers should therefore execute this entry point in a suitable terminal emulator.
If present, this element indicates that this entry point should be offered as an auto-start candidate to the user.
If present, this element indicates that this entry point should be offered as a candidate for the "Send To" context menu to the user.
Localized user-friendly name for the command. If not present, the command attribute is used instead.
Short one-line description; the first word should not be upper-case unless it is a proper noun (e.g. "cures all ills").
Full description, which can be several paragraphs long.
An icon representing the application. Used in the Catalog GUI as well as for desktop icons, menu entries, etc..
A splash screens Zero Install can display during downloads, etc. for better branding.
The name of the command this entry point represents.
The canonical name of the binary supplying the command (without file extensions). This is used to suggest suitable alias names.
The Application User Model ID; used by Windows to associate shortcuts and pinned taskbar entries with running processes.
May not be longer than 128 characters and may not contain whitespace.
The natural language(s) which the implementation supports.
For platform-specific binaries, the platform for which the implementation was compiled, in the form os-cpu. Either the os or cpu part may be *, which will make it available on any OS or CPU.
The version number of the implementation.
A string to be appended to the version. The purpose of this is to allow complex version numbers (such as "1.0-rc2") in older versions of the injector.
The date this implementation was made available. For development versions checked out from version control this attribute should not be present.
The default stability rating for this implementation.
The percentage of users that should treat this as stability=stable. May only be set if stability is unset or testing.
This can be used to perform staged rollouts.
License terms (typically a Trove category, as used on freshmeat.net).
The relative path of an executable inside the implementation that should be executed by default when the interface is run. If an implementation has no main setting, then it cannot be executed without specifying one manually. This typically means that the interface is for a library.
The relative path of an executable inside the implementation that can be executed to test the program. The program must be non-interactive (e.g. it can't open any windows or prompt for input). It should return with an exit status of zero if the tests pass. Any other status indicates failure.
The relative path of a directory inside the implementation that contains the package's documentation. This is the directory that would end up inside /usr/share/doc on a traditional Linux system.
An implementation is a specific version of an application that can be downloaded and executed (e.g. Firefox 3.6 for Windows).
A unique identifier for this implementation. Used when storing implementation-specific user preferences.
If the feed file is a local file (the interface 'uri' starts with /) then the local-path attribute may contain the pathname of a local directory (either an absolute path or a path relative to the directory containing the feed file).
An implementation provided by a distribution-specific package manager instead of Zero Install.
The name of the package in the distribution-specific package manager.
A space-separated list of distribution names where the package name applies.
All attributes of a group are inherited by any child groups and implementations as defaults, but can be overridden there.
All dependencies and bindings are inherited (sub-groups may add more dependencies and bindings to the list, but cannot remove any).
A manifest digest is a means of uniquely identifying an implementation and verifying its contents.
A Command says how to run an implementation as a program.
A single command-line argument to be passed to an implementation executable.
Will be automatically escaped to allow proper concatenation of multiple arguments containing spaces.
The name of the command.
The relative path of an executable inside the implementation that should be executed to run this command.
Expands an environment variable to multiple arguments.
The variable specified in the 'item-from' attribute is split using the separator character and the arguments inside the element are added once for each item.
A single command-line argument to be passed to an executable. "${item}" will be substituted with each for-each value.
Will be automatically escaped to allow proper concatenation of multiple arguments containing spaces.
The name of the environment variable to be expanded.
Overrides the default separator character (":" on POSIX and ";" on Windows).
A reference to an interface that is restricted to specific versions when used.
The URI or local path used to identify the interface.
Determines for which operating systems this dependency is required.
Specifies that the selected implementation must be from the given distribution (e.g. Debian, RPM).
The special value '0install' may be used to require an implementation provided by Zero Install (i.e. one not provided by a <package-implementation>).
A more flexible alternative to <version> tags. A list of ranges, separated by "|", any of which may match.
Each range is in the form "START..!END". The range matches versions where START <= VERSION < END. The start or end may be omitted. A single version number may be used instead of a range to match only that version, or !VERSION to match everything except that version.
A reference to an interface that is restricted to specific versions when used.
Restricts the versions of an implementation that are allowed without creating a dependency on the implementation if its was not already chosen.
A reference to an interface that is required as dependency.
Restricts the versions that are allowed.
Controls how important this dependency is (i.e. whether ignoring it is an option).
This can be used to indicate that this dependency is only needed in some cases. Deprecated; use <command>s instead.
A special kind of dependency: the program that is used to run this one. For example, a Python program might specify Python as its runner.
Restricts the versions that are allowed.
A single command-line argument to be passed to the runner before the path of the implementation.
Will be automatically escaped to allow proper concatenation of multiple arguments containing spaces.
The name of the command in the interface to use.
This is the lowest-numbered version that can be chosen.
This version and all later versions are unsuitable.
Bindings specify how the chosen implementation is made known to the running program.
Zero Install will not know how to run a program using generic bindings itself, but it will include them in any selections documents it creates, which can then be executed by your custom code.
If your binding needs a path within the selected implementation, it is suggested that the path attribute be used for this. Other attributes and child elements should be namespaced to avoid collisions.
If set Zero Install will select the given command within the implementation (which may cause additional dependencies and bindings to be selected). Otherwise, no command is selected.
Make a chosen implementation available by setting environment variables.
The name of the environment variable.
A static value to set the variable to. If this is set 'insert' must be empty.
The relative path of the item within the implementation to insert into the variable value. Use "." to publish the root directory. If this is set 'value' must be empty.
Controls how 'insert' or 'value' is added to the variable.
Overrides the default separator character (":" on POSIX and ";" on Windows).
If the environment variable is not currently set then this value is used for prepending or appending.
Make a chosen implementation available by overlaying it onto another part of the file-system.
The relative path of the directory in the implementation to publish. The default is to publish everything.
The mount point on which src is to appear in the filesystem. If missing, '/' (on POSIX) or '%systemdrive%' (on Windows) is assumed.
Make a chosen implementation available as an executable at runtime.
The name of the command in the implementation to launch. If missing, 'run' is assumed.
Make a chosen implementation available as an executable path in an environment variable.
The name of the environment variable.
Make a chosen implementation available as an executable in the search PATH.
The name of the executable (without file extensions).
Switches the working directory of a process on startup to a location within an implementation.
Useful for supporting legacy Windows applications which do not properly locate their installation directory.
The relative path of the directory in the implementation to set as the working directory. Defaults to use the root of the implementation if unset.
A retrieval method is a way of getting a copy of an implementation.
Represents a retrieval method that downloads data from the net.
The URL used to locate the archive.
The size of the file in bytes. The file must have the given size or it will be rejected.
Retrieves an implementation by downloading and extracting an archive.
The type of the archive as a MIME type. If missing, the type is guessed from the extension on the 'Location' attribute. This value is case-insensitive.
The number of bytes at the beginning of the file which should be ignored. The value in the size attribute does not include the skipped bytes.
This is useful for some self-extracting archives which are made up of a shell script followed by a normal archive in a single file.
The subdirectory inside the archive to extract; unset or empty for entire archive.
The directory to extract into relative to the implementation root as a Unix-style path; unset or empty for top-level.
Retrieves an implementation by downloading a single file.
The file's target path relative to the implementation root as a Unix-style path.
Set this to true to mark the file as executable.
Retrieves an implementation by applying a list of recipe steps, such as downloading and combining multiple archives.
Renames or moves a file or directory. It is an error if the source or destination are outside the implementation.
The source file or directory relative to the implementation root as a Unix-style path.
The destination file or directory relative to the implementation root as a Unix-style path.
Removes or moves a file or directory. It is an error if the path is outside the implementation.
The file or directory to be removed relative to the implementation root as a Unix-style path.
Copies files or directories from another implementation specified elsewhere in the same feed.
The ID of the implementation to copy from.
The source file or directory relative to the source implementation root as a Unix-style path; unset or empty for entire implementation.
The destination file or directory relative to the implementation root as a Unix-style path; unset or empty for top-level. Must be set if 'source' points to a file.
A version of the dependency must be selected.
No version of the dependency is also an option, although selecting a version is preferable to not selecting one.
Any operating system
MacOS X
non-graphical core of MacOS X
POSIX compatability layer on Windows
any POSIX-compatible system (Linux, Solaris, MacOS X, Cygwin, ...=
Windows 2000 or newer
The absolute path of the item is prepended to the current value of the variable.
The absolute path of the item is append to the end of the current value of the variable.
The old value is overwritten, and the 'default' attribute is ignored.
Set by user as a personal preference overriding other stability criteria.
Indicates that an implementation is provided as a package-implementation.
No serious problems.
Any new release.
More extreme version of "testing", expected to have bugs.
Known bugs, none security-related.
Known bugs, some or all security-related.