Difference between revisions of "Documentation Team/Obsolete/Services Wrap native packages HOWTO"
Line 125: | Line 125: | ||
== Workflow == | == Workflow == | ||
− | * | + | * [[#service.info file|create]] ''service.info'' file |
− | |||
− | |||
− | |||
− | |||
* add ''Distro:*'' section with common distro parameters | * add ''Distro:*'' section with common distro parameters | ||
− | * add ''Distro:<name>'' sections at least for | + | * add ''Distro:<name>'' sections at least for [[#Primal_distributions_list|sugar supported]] distributions |
* exec ''0sugar-publish push'' to upload changes to the server | * exec ''0sugar-publish push'' to upload changes to the server | ||
* if service's application is not well packaged, please consider possibility to [[Documentation_Team/Services/Service_Developers_Guide|add]] source and binary service implementations | * if service's application is not well packaged, please consider possibility to [[Documentation_Team/Services/Service_Developers_Guide|add]] source and binary service implementations |
Revision as of 18:15, 23 December 2009
Introduction
The purpose of this Guide is describing how to simplify process of usage, by activity developers, packages that are not included to Sugar Platform but well packaged to various GNU/Linux distributions.
Detailed description
To use native packages, they should be wrapped into services. Such services are lightweight and contain only proper information about native packages. Also having service wrappers let us collect all distro specific information in one place, because various GNU/Linux distributions could have different names for the same upstream application.
Primal distributions list
In according to http://distrowatch.com/, there are several distributions whose names could be mentioned in service. Followed table is a list of primal distributions from top 100 for 2009 year, in most cases theirs names will be the same in all derivate distributions.
Popularity | Name in service | Packages | Sugar support |
---|---|---|---|
2 | fedora | RPM (yum) | yes |
4 | suse | RPM | yes |
5 | debian | DEB | yes |
6 | mandriva | RPM (urpmi) | yes |
7 | puppy | PET | no |
10 | arch | Pacman | yes |
13 | slackware | TXZ | no |
17 | gentoo | portage | yes |
38 | moblin | RPM | no |
40 | frugalware | FPM (TAR.BZ2) | no |
41 | pardus | PiSi | no |
74 | altlinux | RPM (APT) | yes |
89 | turbolinux | RPM | no |
91 | crux | TAR.GZ | no |
96 | linuxconsole | LCM | no |
99 | yoper | RPM | no |
Package wrappers are regular services, so read Service Developers Guide first.
service.info file
In addition to standard service.info file, wrappers' file:
- Service section contains only
- name
- summary
- description
- homepage
- should contain one or more Distro:<name> sections
- Distro: section with name *, describes common distro parameters
Each Distro: section:
- should contain name field which is local package name for service
- for applications, could contain main field with full path to exec file(could be different for different distributions)
Workflow
- create service.info file
- add Distro:* section with common distro parameters
- add Distro:<name> sections at least for sugar supported distributions
- exec 0sugar-publish push to upload changes to the server
- if service's application is not well packaged, please consider possibility to add source and binary service implementations
Known issue
- in RO mode(check if some package is installed), 0install could work only with deb and rpm based distributions
- to install packages, system should have PackageKit