Christopher Masto wrote:

> On Wed, Feb 09, 2000 at 09:45:42PM -0500, Chuck Robey wrote:
> > Flattening out the unecessarily deep ports directory structure would help,
> > too.  Probably, 98 percent of it could be done with a script, and it would
> > greatly decrease cvsup time and space.
> 
> I've often thought that it might be better if each port were a single
> tar file or something instead of the 30+ files that many of them now
> contain. 

Here's what we can do.  We keep all the "major" subdirectories in
place, such as audio, devel, etc.  BUT, instead of branching out into
separate subdirectories, we can just put everything into the
Makefile.  For example, here are some subdirectories in
/usr/ports/audio:

amp/
ascd/
aumix/
bladeenc/
cam/
cd-console/
cdd/

We just do away with the subdirectories, flatten all the directories'
contents out into one makefile, including DESCR, etc.  (I really don't
see why we need to have a separate DESC, md5 files, etc.)  We can have
md5 = xxxxxx and DESC=xxxxx inside the Makefiles, for example.  Here's
how we can flatten this:

Makefile.amp
Makefile.ascd
Makefile.aumix
Makefile.bladeenc
Makefile.cam
Makefile.cd-console
Makefile.cdd

Then, to build the port, one would do

make -f Makefile.aumix

to build the aumix port.

All these makefiles would go inside of audio.  To do the building each
port, we can have the "work" be done inside the user's home
directory.  This would eliminate the need to log in as root in order
to do the actual building.  The benefits of having the port build
inside the user's home directory are:

* the user could have the option of installing the port in his own
personal directory, in case the sysadmin doesn't see fit to put the
port on the system

* eliminates the security risk of having to do long compiles as root

Then, to install the port, the port mechanism could check the uid of
the user.  If it is 0, the port gets installed in the system, under
/usr/local, /usr/X11R6, or whatever.  If it is nonzero, the port gets
installed in the user's home directory.

- Donn


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to