Items Under Discussion

Package Directory Layout
Submitted By : Chris Coleman
Harlan began a thread trying to figure out how the directory structure will become and many peolple have chimed in on how it should look.

There appear to be two schools of thought. Organize it Alphabetically, or Catagorically. Some are even suggesting how we could do both.

Click the link to follow the e-mail thread.

OP Project Goals

Submitted By : Chris Coleman
Will Andrews asked the question: “What do we want out of this project?” and gave a few answers:

Things Will would like to see happen:

  1. make(1) and pkg_*(1) tools centralized to one repository shared by the representative BSD’s, and made as portable as possible to allow other operating systems to use OP without too much hassle (read: easy bootstrapping).
  2. pkg_*(1) tools redesigned somewhat for additional flexibility as I described in a previous email. Things that really need to be added or improved on in the packaging system: library-ifying, network-wide databases for easy network management, extended configurability to make life easier both for developers and users, a fluid mechanism for signing and verifying packages, clean mechanisms for handling relationships between packages, clean upgrade mechanisms, and so on.
  3. Unified pkgsrc system: all pkgs in one centralized repository. This will allow for security audits to become effective across all OP-supported operating systems. Modify makefile core to make the packaging side of it as abstract as possible to allow other packaging systems to use the result of pkg builds, to improve vastly on portability.

Click the Link to follow the e-mail thread.

Fetch VS Wget
Submitted By : Brook Schofield
With the unanimous chorus of “anything is better than FTP” a debate has raged that fetch used primarily for FreeBSD’s Ports collection should be used as the file transfer subsystem for OpenPackages. Due to the portability problems of fetch there was a suggestion to use wget (which is more portable than the fetch code but GPL licensed). curl which is regarded as portable code could be a replacement to fetch since it is both BSD-licensed and provides a library libcurl.

How do we handle differences in make(1) on different OSes?
Submitted By : Chris Coleman
Hubert Feyrer has pointed out that the ODE make modifiers currently in NetBSD’s make conflict with the make modifiers that would be important to OpenPackages – particularly :L and :U. Marc Espie suggested adding a feature to make(1) to allow it to use different interpretations with a switch.

Any thoughs?

Core Compression Format
Submitted By : Chris Coleman
The File Compression format for OP has been in discussion. It has been asked whether or not to use ZIP as the native format for OP. So far the discussion seems to favor .TGZ and BZIP2 ala .TBZ for use as the natively supported formats.

OP CVS Directory Layout
Submitted By : Chris Coleman

The CVS repository has been setup and the repository is at cvs.openpackages.o rg/cvs. The only directory currently in existence is ‘www’.

We need to decide on the layout for the rest of the project. Should the main project module be called ‘op’, ‘opkg’, or something else? Should there be a se parate module for tools that we expect to be integrated into the base OS of syst ems using OpenPackages to be used by projects that don’t have the package tools, ie some dists of Linux. (or will it be bundled in the OP source tree.)

Broken Flags
Submitted By : Chris Coleman

The following flags are under discussion:

BROKEN_ARCH and NOT/ONLY_ON_ARCH has been dropped in favour of:

* NOT_FOR_PLATFORMS – package will not run on these platforms
* ONLY_FOR_PLATFORMS – package will run onlly on these platforms

PLATFORM should include ARCH, OS name and OS revision, so there’s no need for separate ONLY_* definitions. Advantage is that you safe the same set of variables for OS and OS_REVISION.

BROKEN – specifies that a package is broken on all platforms and architectures. BROKEN will not be used to indicate a conflict or incompatibility with some other package. Such conflicts can only be determined at install time and on the machine in question.

Websites, such as FreshPorts can obtain the BROKEN and NOT/ONLY_FOR_PLATFORMS values easily (e.g. make -V ONLY_FOR_PLATFORMS).