Packaging Standards

From WebOS Internals
Revision as of 16:54, 7 October 2009 by PuffTheMagic (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.2

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, 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). This should be a concise description of the package. No donation links, save that for he package webpage.
Changelog A brief description of the changes made to since the last release.
Screenshots Array of URLs
License Package license conditions
PostInstallFlags RestartLuna, RestartJava, RestartDevice
PostRemoveFlags RestartLuna, RestartJava, RestartDevice
WebOSCompat JSON array of compatible webOS versions (ex. ["1.1.0","1.2.0"])


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