Packaging Standards

From WebOS Internals
Revision as of 07:18, 7 February 2010 by RodWhitby (talk | contribs)
Jump to navigation Jump to search
Warning This page will document the agreed packaging standards for webOS homebrew ipkg files and open standard ipkg feeds as well as act as a whiteboard for new revisions.

Please note, ipkg/libipkg has an internal, hard coded buffer of 8k to handle parsing the feed elements for each package. This means that description fields need to get reduced in length to prevent segfaults.

[RFC] Version 2.3

NOTE1: New fields are in bold red

NOTE2: Modified fields are in bold black


Name Definition
Size Package size (in KB)
Status Installed/Not-installed (and other stuff we don't use)
Architecture all, armv7, armv6 or i686
Section The category when there is no source data
Package Package name in reverse-dns style
Filename Actual name of .ipk file
Depends Actual package names of dependencies (comma-space separated, ignore contents of () at the end)
Maintainer Group or individual responsible for maintenance
Version In N:N(.N)*(-N)? format (see ipkg source for the different version parts)
Description Title of the package
MD5Sum MD5 checksum of package to verify downloaded file
Installed-Time Timestamp of installation
Installed-Size Size of installed package
Source *See lower table*


Source
Title Actual title of application
Source Where to obtain source code
LastUpdated Timestamp of last update
Feed Package source feed
Type Application, Patch, Service, Plugin, Linux Application, etc. ...
Category Package category
Homepage URL to package homepage
Icon URL to icon image (assumed to be 64x64)
FullDescription Actual description of package (html is allowed). Maximum size is 4096 characters.
Changelog A brief description of the changes made to since the last release.
Screenshots Array of URLs
License Package license conditions
Price Price in dollars and cents (e.g. "1.99")
PostInstallFlags RestartLuna, RestartJava, RestartDevice
PostUpdateFlags RestartLuna, RestartJava, RestartDevice
PostRemoveFlags RestartLuna, RestartJava, RestartDevice
WebOSVersions JSON array of compatible webOS versions (ex. ["1.1.0","1.2.0"])


Version 2.2

Name Definition
Size Package size (in KB)
Status Installed/Not-installed (and other stuff we don't use)
Architecture all, armv7, armv6, or i686
Section The category when there is no source data
Package Package name in reverse-dns style
Filename Actual name of .ipk file
Depends Actual package names of dependencies (comma-space separated, ignore contents of () at the end)
Maintainer Group or individual responsible for maintenance
Version In N:N(.N)*(-N)? format (see ipkg source for the different version parts)
Description Title of the package
MD5Sum MD5 checksum of package to verify downloaded file
Installed-Time Timestamp of installation
Installed-Size Size of installed package
Source *See lower table*


Source
Title Actual title of application
Source Where to obtain source code
LastUpdated Timestamp of last update
Feed Package source feed
Type Application, Patch, Service, Plugin, Linux Application, etc. ...
Category Package category
Homepage URL to package homepage
Icon URL to icon image (assumed to be 64x64)
FullDescription Actual description of package (html is allowed). Maximum size is 4096 characters.
Screenshots Array of URLs
License Package license conditions
Price Price in dollars and cents (e.g. "1.99")
PostInstallFlags RestartLuna, RestartJava, RestartDevice
PostUpdateFlags RestartLuna, RestartJava, RestartDevice
PostRemoveFlags RestartLuna, RestartJava, RestartDevice

Version 2.1

Name Definition
Size Package size (in KB)
Status Installed/Not-installed (and other stuff we don't use)
Architecture all, armv7, or i686
Section The category when there is no source data
Package Package name in reverse-dns style
Filename Actual name of .ipk file
Depends Actual package names of dependencies (comma-space separated, ignore contents of () at the end)
Maintainer Group or individual responsible for maintenance
Version In N:N(.N)*(-N)? format (see ipkg source for the different version parts)
Description Title of the package
MD5Sum MD5 checksum of package to verify downloaded file
Installed-Time Timestamp of installation
Installed-Size Size of installed package
Source *See lower table*


Source
Title Actual title of application
Source Where to obtain source code
LastUpdated Timestamp of last update
Feed Package source feed
Type Application, Patch, Service, Plugin, Linux Application, etc. ...
Category Package category
Homepage URL to package homepage
Icon URL to icon image (assumed to be 64x64)
FullDescription Actual description of package (includes html?)
Screenshots Array of URLs
License Package license conditions
PostInstallFlags RestartLuna, RestartJava
PostRemoveFlags RestartLuna, RestartJava