latest author
Will Davies - initial scoping (please add your name below this if you edit this document)
This document describes the design of a distributed package repository for puppy linux software. It is not intended that it be used to discuss the design of end user client software though clearly some of the interfaces provided by the repositories are intended for use by this software. A collection of repository servers should be capable of providing a stable mirror system that is tolerant of the failure of multiple nodes.
Many of these can be implemeted as vanila files that are updated at regular intervals.
The package format should allow more than one file to be included in a package. For example firemonkey-0.5.pet, firemonkey-readme.txt, my-screenshot.png should all be associated under the same package id. This could be achieved by storing each package in a separate directory with the package id as its name.
The package metadata should be stored in a separate file packageid.txt. ie for a node called homer
homer0002
metadata (this will probably need to be split into sub direcories to avoid running out of nodes or making it hard to browse)
nodes
As already stated the package IDs should be assigned by the upload server and namespaced by the server ID. It might be sensible to include the subdirectory id as part of this to make it easy to find packages. For example marge-0805-0005 contains the fifth package uploaded to marge in may 2008. This would probably be stored in packages/marge/0805.
It might be possible for the person packaging to parse some of this from a .desktop file. Most of these fields are optional to allow the inclusion of legacy packages, however the upload form should strongly encourage that they are completed.
name:bogtrotter-0.5 MANDATORY (could just be grabbed from the install filename minus extension)
md5sum:isurehgiouoius (this is of the target file)
targetfile:the name of the file to be installed MANDATORY
targetversion:3.01 (should be the target trunk puppy version it is intended for)
testedversions:3.01,2.14,2.15,2.16,2.17,3.00 (should use comma separated list of official puppy version numbers)
categories:games (probably should use freedesktop standard names)
dependencies:not sure how this list should be formatted,maybe repository IDs
description:might need to set a character limit for this an/or break into short and long versions
license:the license under which this software is distributed, should probably offer defaults, GPL, MPL, proprietry
Page History ::
2008-04-06 19:09:29
::
Owner: HairyWill ::
Search:
There are no comments on this page. [Add comment]