A PkgData project for the FreeBSD ports collection


[Originally I wrote this up as a nice set of pages on a Wiki, but the machine running that Wiki died and I lost everything I had written up there. So, this version will be done as a few lame, read-only HTML pages. I make no claims at being an HTML expert, so these pages are going to be pretty simple]


This is my idea of a project to reorganize the files in the FreeBSD ports collection. There is an ambtious long-term idea behind this project, one which is so ambitious that I suspect that I could never complete it. So my intention is to start with a less-ambitious goal, one where there is at least some chance that it could be finished.

Right now, these are just my ideas, and I am not a ports-developer. This is not a project that the real ports developers have made any decision on yet. These web pages are meant to describe the project in enough detail that other developers can tell whether these ideas are worth pursuing.

The long-term goal would be to convert the ports-collection to storing much of it's information in an XML-ish format. We could (perhaps) move all of the ports-specific info out of make variables and into the XML-ish file, and eventually (I think) end up with a single Makefile which would work for every port. We might end up with a ports tree that could be more easily used by other BSD-projects, too. However, there are many questions about how such a dramatic redesign should look and work, and I doubt that I know enough about ports to have good answers for all of those questions.

Thus, what I want to do for now is just a short-term goal. That goal is simply to collapse many ports-specific files into a single new file. I'm calling this new file "pkg-data", so this is the PkgDataProject. This project will probably make zero changes to the Makefiles of individual ports, although it will require some changes to the global files such as bsd.port.pre.mk and bsd.port.post.mk. While the more-ambitous project could result in many impressive benefits, the only measurable benefit from this short-term project is that the ports collection will take up fewer inodes. Given the size of the ports collection, and the fact that we keep adding more ports to it, I do think this is a worthwhile benefit. However, I realize that many people do not find that benefit by itself to be very exciting.

Perhaps I can generate a little more interest if I provide an outline of how this would work. Here is a list of various aspects of this project:

 

Comments can be sent to:   drosih@rpi.edu
Web page last on updated:  Feb 21/2004