openSUSE:One click install development
Distribution independent format
The YMP file format used by the One Click Install feature is specified in full at see Standards/One_Click_Install. It allows for instructions for multiple distributions to be included in one YMP file. These are specified in separate groups, like so:
<group distversion="openSUSE 11.3"> ... </group> <group distversion="Fedora 14"> ... </group> <group distversion="Ubuntu 10.10"> ... </group>
This means that it should be possible for all distributions wanting to provide a similar feature to users, to use the same file format. The implementer must map the instructions in the YMP file to instructions for the target package management system.
Why Standardise?
There are several advantages to using the same format, including:
- One YMP can serve all supported distributions
ISVs can produce one install link on a webpage, or setup file on a CD. There need not be instructions along the lines of "If you are using distribution X use link Y". This makes things easier for users, and makes the feature more attractive to ISVs.
- Reinvention is not good
It is better to improve one format, than create several competing formats which perform the same function but all have different flaws.
- The Build_Service already generates YMP files for other distributions. If your distribution includes a client you can easily take advantage of software built for your distribution with the openSUSE build service.
YMP does not support my use case
If this is the case, please discuss it on the openSUSE-softwaremgmt mailing list. (See Mailing_Lists for how to subscribe). If it is really not possible it may be possible to extend the standard to support your use case.
What sample implementations are there?
There is the YaST based client for openSUSE, which is in YaST svn. See the design page for more information about this.
There is also a proof of concept implementation for Ubuntu Source , Video
How can I find out more?
See Standards/One_Click_Install for the full format specification.
Use the openSUSE-softwaremgmt mailing list , or join #yast on irc.freenode.net.