public inbox for gentoo-portage-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Jason Stubbs <jasonbstubbs@mailandnews.com>
To: gentoo-portage-dev@gentoo.org
Subject: Re: [gentoo-portage-dev] Updated portage-ng requirements doc
Date: Sat, 29 Nov 2003 23:34:30 +0900	[thread overview]
Message-ID: <200311292334.30192.jasonbstubbs@mailandnews.com> (raw)
In-Reply-To: <200311291328.50603.jasonbstubbs@mailandnews.com>

[-- Attachment #1: Type: text/plain, Size: 1268 bytes --]

On Saturday 29 November 2003 13:28, Jason Stubbs wrote:
> On Saturday 29 November 2003 12:47, Daniel Robbins wrote:
> > Hi All,
> >
> > Attach is a much-improved portage-ng requirements doc (about 7x more
> > verbose than the previous one...)
>
> Would a list of required functionality (without any implementation details)
> be part of this document as well? It seems to me that such information
> would be useful at the commencement of the design phase.

I've taken the liberty of writing up all the requests for basic functionility 
that I can think of and put it into the attached file. I haven't completed 
the "enterprise/cluster management" section yet as it's far past bed-time. I 
ask that others can comment and expand/revise this document, after which it 
can enhance the brief second paragraph of Daniel's system-spec.

In light of the architectural requirements, I attempted to write functional 
requirements that aren't tied to any other piece of functionality. While I 
haven't stated it in the document, the intention is to make it easier to 
descern points of separation of functional components when it comes time to 
actually do the design - yeah I know, jumping the gun.

Anyway, constructive comments are always appreciated.

Regards,
Jason Stubbs

[-- Attachment #2: portage-functional-reqs --]
[-- Type: text/plain, Size: 2715 bytes --]

** Ports **

Download sources or precompiled packages

Mirrors should be fully configurable - number, order, transport, credentials, etc. Furthermore, any package specific mirrors should also be fully configurable.


Configure & compile sources

Any and all available compilation options should be available to the user. Compilation options should be remembered across recompilations. Compilation options should be specified in such a way that commonality can be found between packages. Each package should provide definitions of common compilations options where there is any difference to the global interpretation. During compilation and preparation for installation, no files on the live filesystem should be affected.


** General Package Management **

Querying available packages

Queries should provide all information possible before a package is installed, including but not limited to:
- full title
- long description
- package home page
- size of minimally required source files or patches
- what packages are required to compile
- what packages are required to run
- license(s) for the package or parts there-in
- compilation flags known to fail


Query installed packages

Queries should cover all facets of installed packages, including but not limited to:
- what package provides which file
- the amount of disk space a package is occupying
- the date and time at which a package was installed


Install packages

Packages should be installed by the same method whether using precompiled packages or compiled sources. On installation, files should be noted for later removal. Under no circumstances should files on the live filesystem be overwritten by the installation of a package unless the files were provided by a previous version of the same package. In the case where another package "absorbs" the functionality of a package, it should be noted in the (partially-) depracated package.


Upgrade packages

When packages are upgraded, existing files should be backed so that upgrades can be easily rolled back when necessary.


Uninstalling installed packages

Packages should be checked for reverse dependencies to ensure that removal does not affect system functionality. Uninstalling packages should remove all files except those in protected directories. Files in protected directories should be backed up and removed from the live filesystem.


Updating available package database

As with mirrors above, the method of updating the package database should be fully configurable - number, order, transport, credentials, etc.


** Enterprise/Cluster Management **

Create precompiled packages
Provide package database mirror
Provide package source mirror
Provide precompiled package mirror


[-- Attachment #3: Type: text/plain, Size: 45 bytes --]

--
gentoo-portage-dev@gentoo.org mailing list

  reply	other threads:[~2003-11-29 14:34 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-11-29  3:47 [gentoo-portage-dev] Updated portage-ng requirements doc Daniel Robbins
2003-11-29  4:28 ` Jason Stubbs
2003-11-29 14:34   ` Jason Stubbs [this message]
2003-11-29 16:02     ` Daniel Robbins
2003-11-30  1:13       ` Jason Stubbs

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200311292334.30192.jasonbstubbs@mailandnews.com \
    --to=jasonbstubbs@mailandnews.com \
    --cc=gentoo-portage-dev@gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox