Re: /usr/ports/ too big?

2000-02-13 Thread James Howard

On Wed, 9 Feb 2000, Kai Voigt wrote:

 Hello,
 
 I'm just doing a cvsup update of my system and -as many times before- I
 realize that /usr/ports/ takes a lot of time and also disk space to sync.
 
 # du -sk /usr/ports
 71118   /usr/ports
 
 Am I the only one being little annoyed by this fact?  Would it make
 any sense to offer some "castrated" ports repository.  Like putting
 a target "overview" into each /usr/ports/*/Makefile to list all available
 subdiretories.  Then, with some other command, one could fetch the
 current port's directory from the cvs server to install the port.
 
 Do these thoughts make any sense?

I know this is a few days old, but I want to suggest this
anyway.  Restructure the ports tree so that at the top level are languages
and then there are categories beneath that.  Like this:

en/
  archivers/
  astro/
  ...
jp/
  archivers/
  astro/
  ...

And so forth.  I do know that foreign (I speak English natively, therefore
everything else is foreign to me) have been seperated off into their own
directories, but still a straight CVSup on ports will fetch them.  
Configuring CVSup to only get those non-language directories is both time
consuming and problematic if a new directory is added and nobody tells
you.  This also takes a step towards removing the English bias that
clearly exists within the ports tree (and elseware).  

I know this will only reduce the problem of an overly large ports tree for
some time, but this is a good idea anyway, especially from an
organizational standpoint.

Has this been discussed before?  Will I be laughed to scorn?  

Jamie



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



Re: /usr/ports/ too big?

2000-02-12 Thread Dan Papasian

An even more radical approach, and more controversial, would
be to remove /usr/ports entirely and use the concept of source packages.

pkg_add -r aumix would install the binary, and something along the lines of:

pkg-source_add -r aumix would download the source, patches, and whatever else
needed.

Considering most of us out there, myself included, have fallen madly in love
with ports the way it is, I doubt that the current system won't go away
for a long, long time.

-Dan Papasian
[EMAIL PROTECTED]

On Wed, Feb 09, 2000 at 09:58:06PM +0100, Kai Voigt wrote:
 Hello,
 
 I'm just doing a cvsup update of my system and -as many times before- I
 realize that /usr/ports/ takes a lot of time and also disk space to sync.
 
 # du -sk /usr/ports
 71118   /usr/ports
 
 Am I the only one being little annoyed by this fact?  Would it make
 any sense to offer some "castrated" ports repository.  Like putting
 a target "overview" into each /usr/ports/*/Makefile to list all available
 subdiretories.  Then, with some other command, one could fetch the
 current port's directory from the cvs server to install the port.
 
 Do these thoughts make any sense?
 
 Kai


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



Re: /usr/ports/ too big?

2000-02-12 Thread Richard Wackerbarth

On Wed, 09 Feb 2000, Dan Papasian wrote:
 An even more radical approach, and more controversial, would
 be to remove /usr/ports entirely and use the concept of source packages.
 
 pkg_add -r aumix would install the binary, and something along the lines of:
 
 pkg-source_add -r aumix would download the source, patches, and whatever else
 needed.

This is the direction that my thinking is headed. Let the actual developers
keep things (pretty much) as is. Repackage the distribution into a multi-level
hierarchy.

The top level would be a description of what's available.
{basically the DESCR files} 
The second level would be the details.
{the rest of the stuff in /usr/ports/xxx/yyy/}
The third level would be the distribution tarballs. 
{files presently fetched to /usr/ports/distfiles}

The ports maintainers would commit to the expanded tree just as they do now.
However, instead of distributing that tree, we would derive (automatically) the
level 2 tarballs and distribute them. The top level Makefile in /usr/ports/
would expand the level 2 build tree and continue down into it just as it does
now.


 --  
Richard Wackerbarth
[EMAIL PROTECTED]



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



Re: /usr/ports/ too big?

2000-02-12 Thread David O'Brien

   TAKE THIS TO [EMAIL PROTECTED]  *

This is NOT a -current issue!!  And the people that can actually effect
change hang out on [EMAIL PROTECTED], not necessarly on
[EMAIL PROTECTED]


On Sat, Feb 12, 2000 at 12:19:01PM -0600, Richard Wackerbarth wrote:
 This is the direction that my thinking is headed. Let the actual developers
 keep things (pretty much) as is. Repackage the distribution into a multi-level
 hierarchy.

*IF* people were to take this to [EMAIL PROTECTED], they would have
learned there was a discussion about a month ago in which the conclusion
was to use one dir per port, but remove the subdirs w/in each ports
subdir.

Thus rather than
foo/Makefile
foo/files/md5
foo/pkg/PLIST
foo/pkg/DESCR
foo/pkg/COMMENT
foo/patch/patch-aa
foo/patch/patch-ab

we would have
foo/Makefile
foo/md5
foo/pkg_PLIST
foo/pkg_DESCR
foo/pkg_COMMENT
foo/patch-aa
foo/patch-ab


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



Re: /usr/ports/ too big?

2000-02-12 Thread Richard Wackerbarth

On Sat, 12 Feb 2000, David O'Brien wrote:
    TAKE THIS TO [EMAIL PROTECTED]  *
Agreed. This is where the depth of the discussion should take place.

 This is NOT a -current issue!! 
I beg to differ. Any significant change to the status-quo is a -current issue.

To adopt ANY SIGNIFICANT CHANGE without widespread public notice is just
inviting grumblings of "backroom politics". Just see what happens if the City
Council votes to close Main Street and explains " this was discussed at a Public
Hearing before the Public Works Commission"

And some of us, myself included, are advocating making FreeBSD into a small set
of ports!

I guess that doesn't affect very many people :-)
-- 
Richard Wackerbarth
[EMAIL PROTECTED]



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



Re: /usr/ports/ too big?

2000-02-12 Thread Bill Fumerola

On Sat, Feb 12, 2000 at 01:58:14PM -0600, Richard Wackerbarth wrote:

 On Sat, 12 Feb 2000, David O'Brien wrote:
     TAKE THIS TO [EMAIL PROTECTED]  *
 Agreed. This is where the depth of the discussion should take place.
 
  This is NOT a -current issue!! 
 I beg to differ. Any significant change to the status-quo is a -current issue.
 
 To adopt ANY SIGNIFICANT CHANGE without widespread public notice is just
 inviting grumblings of "backroom politics". Just see what happens if the City
 Council votes to close Main Street and explains " this was discussed at a Public
 Hearing before the Public Works Commission"
 
 And some of us, myself included, are advocating making FreeBSD into a small set
 of ports!
 
 I guess that doesn't affect very many people :-)

You are very wrong. We are not "adopting significant change", we are discussing
possibilities. Discussions related to ports/packages belong on freebsd-ports.

Please read the mail charters.

-- 
Bill Fumerola - Network Architect
Computer Horizons Corp - CVM
e-mail: [EMAIL PROTECTED] / [EMAIL PROTECTED]
Office: 800-252-2421 x128 / Cell: 248-761-7272



PS. The reason that "Public Works Commissions" of the world exist is because
City Councils trust their departments to make informed reccomendations.


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



Re: /usr/ports/ too big?

2000-02-11 Thread Leif Neland



On Thu, 10 Feb 2000, John Polstra wrote:

 In article [EMAIL PROTECTED],
 Leif Neland  [EMAIL PROTECTED] wrote:
  Just FYI, a cvsup of ports over a single ISDN-line took 22 min on a
  soft-update'd disk.
 
 Something is seriously wrong over there then, because I can update
 my entire CVS repository in 1.5-2 minutes.  And my Internet link is
 a wimpy 56 Kbit frame relay connection
 
Normally a cvsup at 3am to cvsup.dk.freebsd.org takes around that too.
But I wiped the entire ports-tree and re-cvsup'ped it; this took around
22minutes at 23-o'clock.

However, a normal cvsup here at 13:40 took 9m58s on a only half-loaded 1Mb
line, and a loadlevel of 0.01.

Perhaps Jesper was using it too :-)

Leif



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



Re: /usr/ports/ too big?

2000-02-11 Thread Jeffrey J. Mountin

At 05:55 PM 2/10/00 -0800, Matthew Dillon wrote:
:Sounds good, but again how will the CVSup file for ports and CVSup itself
:deal with this.  Either a "refuse" file would need to be created and then
:populated or there would need to be other changes.  Not sure Mr Wraith or
:the CVS maintainers would like to break down all the ports and have a
:*huge* CVSup file for ports.  Or some other method would be needed that
:would increase the complexity of how the ports source is handled.

   You don't.  The CVS tree for ports stays the way it is, and you wouldn't
   use cvsup to download a broken out version.

Ahhh... had me wondering there for bit.

   Here's what I would do:

   * create /usr/src/ports
   * create /usr/src/ports/Makefile
   * make targets would be:

   make install

   Install a new /usr/ports.  Deletes anything 
   previously in /usr/ports (?) and constructs a new
   first-level directory hierarchy, first-level
   Makefiles, /usr/ports/Mk, and aggregate DESCR file.

   make update

   Updates /usr/ports.  Locates any broken-out 
   subdirectories in /usr/ports and updates them
   (equivalent to cvs update in those subdirectories),
   updates the Makefile's in the first-level directories,
   updates the aggregate DESCR file, and updates 
   /usr/ports/Mk.

That's it.  Most normal users can install/update their ports collection
the same way they install/update a kernel or bin or sbin, by CD'ing
into a (minimally populated) /usr/src/ports directory and typing
'make install'.

/usr/src/ports would contain nothing more then a Makefile which 
cvs checkout's or cvsup's just the top level directory structure.
That handles everything except the aggregate DESCR file.  I can
think of a number of trivial ways to handle the aggregate DESCR file.

Those people who are actively working with the ports hierarchy can 
cvsup the whole blessed thing as they currently do.

The ports maintainers would not have to lift a finger.  The ports
structure is not changing at all except for adding the ability to
create and populate a subdirectory on the fly, something that ought
to be easy to incorporate into /usr/ports/Mk, and adding /usr/src/ports
as a launching pad for standard users to install /usr/ports.

Sounds better now.  So, when does it debut?  ;)


Jeff Mountin - [EMAIL PROTECTED]
Systems/Network Administrator
FreeBSD - the power to serve
'86 Yamaha MaxiumX (not FBSD powered)



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



Re: /usr/ports/ too big?

2000-02-11 Thread Jeffrey J. Mountin

At 10:15 PM 2/10/00 -0800, John Polstra wrote:
In article [EMAIL PROTECTED],
Jeffrey J. Mountin [EMAIL PROTECTED] wrote:
 
 In the context of CVSup server connections it would not be.  Have to
 chuckle when I hear someone doing CVSup for ports-all.  Unless they have a
 reason, but as we know many will do man things blindly.

In my experience, CVSup is not slow for the ports tree.  CVS is slow,
but not CVSup.  I can typically update my entire CVS repository
(CVSROOT + distrib + doc + ports + src + www) in 1.5-2 minutes on a
56 Kbit link.  Of course the "cvs upd" afterwards does take a long time.

Yes, the CVSup "client" it is quick, even with a 33.6K modem to my surprise
(not sure if I'll go back to ISDN or get ADSL).  Don't use CVS too often.

Was thinking more about all the extra work that the servers are doing in
light of your request to spread the load around.  Reducing the size of the
initial distrubution and explaining the wonders of refuse files to trim
down the port tree are my main gist.  Less to look at, clean out, refuse,
and serve.  Or just sit there collecting dust.

I'm more than happy with how the ports and CVSup work for me, but think it
could be made better to help new users.

Matt's idea or something similar that is self-contained sounds like the way
to go for the future.  And at a guess would not take too much hackery for
the install.  Something 

BTW, other than a few odd quirks a few months back have not seen any
connections hanging.  Transient poltergeist perhaps. shrug


Jeff Mountin - [EMAIL PROTECTED]
Systems/Network Administrator
FreeBSD - the power to serve
'86 Yamaha MaxiumX (not FBSD powered)



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



Re: /usr/ports/ too big?

2000-02-11 Thread Tim Vanderhoek

On Thu, Feb 10, 2000 at 11:45:44AM -0800, Matthew Dillon wrote:
 
 All I would propose is that those subdirectories do not need to be part 
 of the base distribution -- that typing 'make modulename' in the parent
 directory (e.g. typing 'make ssh' in ports/security) would first download
 the subdirectory and then do a normal make within that subdirectory.

Something of this general idea exists in the portcheckout port.

I haven't looked at the newest version of the port and I imagine there
are improvements to be made, still, but it does implement the general
idea of demand based downloading of port skeletons.

Expanding it to have a full interface that works from the INDEX file
and produces a set of skeletons guaranteed to compile should not be
too hard.


-- 
Signature withheld by request of author.


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



Re: /usr/ports/ too big?

2000-02-11 Thread Richard Wackerbarth

On Fri, 11 Feb 2000, Tim Vanderhoek wrote:
 Something of this general idea exists in the portcheckout port.

If we were to have a stripped down skeleton of the ports, is it generally felt
that the INDEX contains enough information?
Or do we really need to have the DESCRiptions available for browsing
before we go online to actually fetch the required files?
-- 
Richard Wackerbarth
[EMAIL PROTECTED]



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



Re: /usr/ports/ too big?

2000-02-11 Thread Matthew Dillon


:think of a number of trivial ways to handle the aggregate DESCR file.
:
:Those people who are actively working with the ports hierarchy can 
:cvsup the whole blessed thing as they currently do.
:
:The ports maintainers would not have to lift a finger.  The ports
:structure is not changing at all except for adding the ability to
:create and populate a subdirectory on the fly, something that ought
:to be easy to incorporate into /usr/ports/Mk, and adding /usr/src/ports
:as a launching pad for standard users to install /usr/ports.
:
:Sounds better now.  So, when does it debut?  ;)
:
:
:Jeff Mountin - [EMAIL PROTECTED]
:Systems/Network Administrator
:FreeBSD - the power to serve
:'86 Yamaha MaxiumX (not FBSD powered)

   I wish I had time to do it, but I don't.  But if pepole are serious
   about reducing the ports footprint this is the only thing that I believe
   will fly.

-Matt
Matthew Dillon 
[EMAIL PROTECTED]


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



Re: /usr/ports/ too big?

2000-02-10 Thread Jeffrey J. Mountin

At 09:58 PM 2/9/00 +0100, Kai Voigt wrote:
Hello,

I'm just doing a cvsup update of my system and -as many times before- I
realize that /usr/ports/ takes a lot of time and also disk space to sync.

# du -sk /usr/ports
71118   /usr/ports

Is that just source or with some distfiles and port/work dirs?  Seems a
bit high.  By far most of the space is taken up with distfiles once you
populate a system.  The number of directories is the killer, which slows
down installing the collection.

Am I the only one being little annoyed by this fact?  Would it make
any sense to offer some "castrated" ports repository.  Like putting
a target "overview" into each /usr/ports/*/Makefile to list all available
subdiretories.  Then, with some other command, one could fetch the
current port's directory from the cvs server to install the port.

Do these thoughts make any sense?

A bit.  Not certain what you are suggesting here, but something having only
Makefile, DESCR and possibly README.html files for the port.  Upon the
first 'make' the rest of the port's directory would be first fetched with
business as usual after that.


My opinion is that from the start when someone installs a system they
should not have to install the entire directory structure.  Compared to a
full source install (no X) it takes much too long.  And will only increase.
 Breaking up ports.tgz has been suggested before.  Speeding up the install
should keep the impatient newcomer around and will most likely be
installing the ports collection.

Then there is problem of CVSup.  If someone were to install the entire tree
as above and use "ports-all" in their supfile...

More practical to break ports.tar into their respective categories.  One
the "base" and other choosen categories are installed.

Having the choice from the start, IMO, would mean less users with the
entire, mostly unused (and certainly not needed!), tree who would later
CVSup everything when updating.

Then add a clear mention of of updating the ports that explains using
"refuse" files along with a handy script that would use
sup/whatever/refuse file for further pruning.  Then if you keep the
refuse files they could be used to clean fresh installs either by
installing and then deleting or by removing them from ports.tar from the
start, which is what I've been doing for a while.

sigh  There is the ever present problem of getting users to actually read
documention, but at least an effort would be made.


Only just recently trimmed down what I pull from ports.  Did so a while
back with doc and www, but didn't take the time for anything further until
recently.  Guess the size of the tree and CVSup logs didn't really register
until a few days back (rather ironic) when I pulled for the first time in a
while.  Figured then it was time to make things a bit more neat and clean.
Now only need to watch for checkouts and possibly add to the refuse files,
which still need cleaning.  The best example being ports/games, which I
only need those that are called for when KDE is installed.

Might want others at some time, but can check out either DESCR or
README.html for candidates.  Hmmm... there could be a port of these files
that would compliment the INDEX.

As for the initial install, taking time to trim down the original tarball
saves time.  (At least the CVS subdirs are gone.)  Yeah, one can also use
NFS and copy the tree, but I prefer to start fresh from a release and
re-CVSup to -stable (or -current), so it's something I every few months.

56279040 ports-3_4.tar
48312320 ports.tar-nolang (only English spoken here :)
44206080 ports.tar-no_lang-no_README.html
39229440 ports.tar (dropped more categories)
34048000 ports.tar (nukes most games)

Getting there.  Glad to take some time and work out some more trimming,
since 4.0-RC (2/8 snap) is on it's way over and it will be installed fresh
makeing 'tar --delete -f ports.tar long_list' my friend.

Trying to figure out where the time went.  Last ran -current prior to 3.0.
8-)

'Nuff ramble.


Jeff Mountin - [EMAIL PROTECTED]
Systems/Network Administrator
FreeBSD - the power to serve
'86 Yamaha MaxiumX (not FBSD powered)



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



Re: /usr/ports/ too big?

2000-02-10 Thread Peter Jeremy

On 2000-Feb-10 07:59:48 +1100, Kai Voigt [EMAIL PROTECTED] wrote:
# du -sk /usr/ports
71118   /usr/ports

Seems reasonable.  Last time I checked (1st June 1999), I found
79967 - of which 35215 was CVS-related files/directories.  There
were also nearly 62,000 inodes.  It'll get worse - PHK has changed
the FS defaults from 8K/1K to 16K/4K, which will roughly triple
the space.

Am I the only one being little annoyed by this fact?

This comes up regularly.  The last I recall was a thread "a two-level
port system?" in -hackers last May/June.

My favourite solution (because it's mine) would be to replace the
existing each port skeleton directory with a single ar(5) file, which
is unpacked into the directory structure when you make the port.  (I
think ar(5) would be a good choice because (a) it is text, and so can
be easily managed by CVS; (b) it includes a tool - ar(1) - for easily
managing the files).

As an example, /usr/ports/cad currently looks like (without CVS):
/usr/ports/cad:
Makefilefelt/   magic/  qcad/   xcircuit/
acs/geda/   mars/   sis/
chipmunk/   irsim/  pcb/spice/
cider/  kaskade/pkg/tkgate/

It would turn into:
/usr/ports/cad:
ARCHIVE/Makefile

./ARCHIVE:
acs.ar  geda.ar mars.ar sis.ar
chipmunk.ar irsim.arpcb.ar  spice.ar
cider.arkaskade.ar  pkg.ar  tkgate.ar
felt.ar magic.arqcad.ar xcircuit.ar

Where the Makefile knew how to unpack/pack each ar into the existing
structure as necessary.

What's need to change the existing structure is:
1) A completely implemented replacement, including the tools necessary
   to manage the new structure.
2) Agreement from Asami-san (and maybe others) to implement the changed
   structure.

Peter


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



Re: /usr/ports/ too big?

2000-02-10 Thread Richard Wackerbarth

On Thu, 10 Feb 2000, Peter Jeremy wrote:

 Seems reasonable.  Last time I checked (1st June 1999), I found
 79967 - of which 35215 was CVS-related files/directories.  There
 were also nearly 62,000 inodes.  It'll get worse - PHK has changed
 the FS defaults from 8K/1K to 16K/4K, which will roughly triple
 the space.

 My favourite solution (because it's mine) would be to replace the
 existing each port skeleton directory with a single ar(5) file

There are two problems in the size of the ports system.
1) The large number of inodes.
   Your proposal certainly addresses this.
2) The huge size of our ports collection.
   Unfortunately, this will only get worse^H^H^H^H^Hbetter.
   In addition to the files needed to build a port, there is a description
   which is quite useful.

My variation on your theme is to have two files for each of the present ports.

The first would be a Makefile that has the description imbedded in it.
This would provide the hook to build the port and a browsable "library of  
available programs"

The second would be your `ar` file of the patches, build instructions, etc.
These would get unpacked only during the actual building of a particular port.

For distribution, I would have the top level descriptions as one set.
The archives could be obtained either individually or as sets corresponding 
to each of the present top level directories.

Now, here is a really "silly" idea. Why don't we make a `port` collection of 
the FreeBSD kernel and standard userland utilities? That would lead to
the next step of having the "standard distribution" become just a meta package
much like 'kde' pulls in 'kdebase', 'kdeutils', 'kdegraphics', etc.
-- 
Richard Wackerbarth
[EMAIL PROTECTED]



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



Re: /usr/ports/ too big?

2000-02-10 Thread Will Andrews

On Thu, Feb 10, 2000 at 10:19:18PM +1100, Peter Jeremy wrote:
 Am I the only one being little annoyed by this fact?
 
 This comes up regularly.  The last I recall was a thread "a two-level
 port system?" in -hackers last May/June.

Actually, -ports discussed this quite recently, and it was suggested that
we combine some of the directories to reduce the number of inodes in half.

This discussion belongs on -ports anyway.. so I'm bcc'ing -current.

 My favourite solution (because it's mine) would be to replace the
 existing each port skeleton directory with a single ar(5) file, which
 is unpacked into the directory structure when you make the port.  (I
 think ar(5) would be a good choice because (a) it is text, and so can
 be easily managed by CVS; (b) it includes a tool - ar(1) - for easily
 managing the files).

So, what you'd do is archive all of these directories into ar files, and
have the Makefile unpack the archive whenever a port is needed? It would
preserve the current Makefile, pkg/, scripts/, files/, etc. hierarchy?

(How the hell would you pull that off? I've only known ar(1) to be used for
creating library archives later ranlib'd..)

Seems like this idea would make an initial install much faster and the
inode/directory creation would be spread over time. Am I right?

How would this affect the CVS repository? Would we still have to deal with
the current hierarchy in the ports tree as it is? Or would we deal with it
in ar(5) form?

Which format would CVSUP update - ar(5) or current hierarchy? If it updates
ar(5) form, how will bsd.port.mk know to update the directory tree for a
particular port if the particular port is already unarchived?

 What's need to change the existing structure is:
 1) A completely implemented replacement, including the tools necessary
to manage the new structure.
 2) Agreement from Asami-san (and maybe others) to implement the changed
structure.

I'm sure if Satoshi heard the answers to the above questions (among others
asked), we'd be well on our way to having a new ports hierarchy for
5.0-CURRENT. :-)

But it probably won't happen before 4.0-RELEASE since that's just too close
to implement something big like this..

-- 
Will Andrews [EMAIL PROTECTED]
GCS/E/S @d- s+:++:- a---+++ C++ UB P+ L- E--- W+++ !N !o ?K w---
?O M+ V-- PS+ PE++ Y+ PGP t++ 5 X++ R+ tv+ b++ DI+++ D+ 
G+ e- h! r--+++ y?


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



Re: /usr/ports/ too big?

2000-02-10 Thread Will Andrews

On Thu, Feb 10, 2000 at 08:44:09AM -0500, Will Andrews wrote:
 On Thu, Feb 10, 2000 at 10:19:18PM +1100, Peter Jeremy wrote:
  Am I the only one being little annoyed by this fact?
  
  This comes up regularly.  The last I recall was a thread "a two-level
  port system?" in -hackers last May/June.
 
 Actually, -ports discussed this quite recently, and it was suggested that
 we combine some of the directories to reduce the number of inodes in half.
 
 This discussion belongs on -ports anyway.. so I'm bcc'ing -current.

Oops. I'll leave all the context in so the -ports people can see it. :-)

  My favourite solution (because it's mine) would be to replace the
  existing each port skeleton directory with a single ar(5) file, which
  is unpacked into the directory structure when you make the port.  (I
  think ar(5) would be a good choice because (a) it is text, and so can
  be easily managed by CVS; (b) it includes a tool - ar(1) - for easily
  managing the files).
 
 So, what you'd do is archive all of these directories into ar files, and
 have the Makefile unpack the archive whenever a port is needed? It would
 preserve the current Makefile, pkg/, scripts/, files/, etc. hierarchy?
 
 (How the hell would you pull that off? I've only known ar(1) to be used for
 creating library archives later ranlib'd..)
 
 Seems like this idea would make an initial install much faster and the
 inode/directory creation would be spread over time. Am I right?
 
 How would this affect the CVS repository? Would we still have to deal with
 the current hierarchy in the ports tree as it is? Or would we deal with it
 in ar(5) form?
 
 Which format would CVSUP update - ar(5) or current hierarchy? If it updates
 ar(5) form, how will bsd.port.mk know to update the directory tree for a
 particular port if the particular port is already unarchived?
 
  What's need to change the existing structure is:
  1) A completely implemented replacement, including the tools necessary
 to manage the new structure.
  2) Agreement from Asami-san (and maybe others) to implement the changed
 structure.
 
 I'm sure if Satoshi heard the answers to the above questions (among others
 asked), we'd be well on our way to having a new ports hierarchy for
 5.0-CURRENT. :-)
 
 But it probably won't happen before 4.0-RELEASE since that's just too close
 to implement something big like this..
 
 -- 
 Will Andrews [EMAIL PROTECTED]
 GCS/E/S @d- s+:++:- a---+++ C++ UB P+ L- E--- W+++ !N !o ?K w---
 ?O M+ V-- PS+ PE++ Y+ PGP t++ 5 X++ R+ tv+ b++ DI+++ D+ 
 G+ e- h! r--+++ y?
 
 
 To Unsubscribe: send mail to [EMAIL PROTECTED]
 with "unsubscribe freebsd-current" in the body of the message
 

-- 
Will Andrews [EMAIL PROTECTED]
GCS/E/S @d- s+:++:- a---+++ C++ UB P+ L- E--- W+++ !N !o ?K w---
?O M+ V-- PS+ PE++ Y+ PGP t++ 5 X++ R+ tv+ b++ DI+++ D+ 
G+ e- h! r--+++ y?


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



Re: /usr/ports/ too big?

2000-02-10 Thread Christopher Masto

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.  From there, it seems like a straightforward step to not keep
the tar files on your machine, much like you don't keep the distfiles.
"make-port xmms" or whatever could go out and grab the xmms port tar
file from ftpX.freebsd.org, extract it to the appropriate place, then
do a make as usual.

I haven't had time to try to implement it, though.
-- 
Christopher Masto Senior Network Monkey  NetMonger Communications
[EMAIL PROTECTED][EMAIL PROTECTED]http://www.netmonger.net

Free yourself, free your machine, free the daemon -- http://www.freebsd.org/


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



Re: /usr/ports/ too big?

2000-02-10 Thread Donn Miller

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 = xx and DESC=x 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



Re: /usr/ports/ too big?

2000-02-10 Thread Matthew Dillon


: 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:

Ouch.  I think this is a big mistake.  The one-directory-per-port
scheme works extremely well, it doesn't make much sense to get rid
of it, and it doesn't make much sense ripping the *working* ports scheme
to shreds when a simpler solution is available. 

All I would propose is that those subdirectories do not need to be part 
of the base distribution -- that typing 'make modulename' in the parent
directory (e.g. typing 'make ssh' in ports/security) would first download
the subdirectory and then do a normal make within that subdirectory.

The initial ports distribution would thus only be a few dozen 
directories and a single Makefile in each one.

-Matt



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



Re: /usr/ports/ too big?

2000-02-10 Thread Peter Jeremy

On Thu, 10 Feb 2000, I wrote:
 PHK has changed the FS defaults from 8K/1K to 16K/4K,

Ooops.  I mis-remembered a commit pkh made last August
(src/release/sysinstall/install.c 1.91),  I thought he had
changed the defaults, but he just commented that 16K/4K
was more sensible...  My apologies to Poul-Henning and
I'll try to remember not to trust my memory without
double-checking :-(.

Peter


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



Re: /usr/ports/ too big?

2000-02-10 Thread Archie Cobbs

Richard Wackerbarth writes:
 There are two problems in the size of the ports system.
 1) The large number of inodes.

I don't see the ports tree as the problem. The problem is that
FreeBSD does not handle a very large directory hierarchy like
that presented by the ports tree very well.

The right angle of attack IMHO is to better optimize the kernel
and maybe the filesystem.  I don't know enough to know how you
would do this though.  For example, there's the thing about how
we don't cache filesystem data and filesystem meta-data (directory
blocks) the same way (this is the best I can describe it).

 Now, here is a really "silly" idea. Why don't we make a `port` collection of 
 the FreeBSD kernel and standard userland utilities? That would lead to
 the next step of having the "standard distribution" become just a meta package
 much like 'kde' pulls in 'kdebase', 'kdeutils', 'kdegraphics', etc.

This idea makes a lot of sense. All of FreeBSD could be packagable
as ports/packages. It might even simplify the installer.

-Archie

___
Archie Cobbs   *   Whistle Communications, Inc.  *   http://www.whistle.com


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



Re: /usr/ports/ too big?

2000-02-10 Thread David Scheidt

On Thu, 10 Feb 2000, Donn Miller wrote:

 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

It is already possible to do this.  You simply need to set $WRKDIRPREFIX
and $WRKDIR. 

 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


Already possible.  Set $DESTDIR


The stuff in /usr/ports/Mk is pretty impressive.

David



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



Re: /usr/ports/ too big?

2000-02-10 Thread Jeffrey J. Mountin

At 11:45 AM 2/10/00 -0800, Matthew Dillon wrote:

: 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:

Ouch.  I think this is a big mistake.  The one-directory-per-port
scheme works extremely well, it doesn't make much sense to get rid
of it, and it doesn't make much sense ripping the *working* ports scheme
to shreds when a simpler solution is available. 

In the context of CVSup server connections it would not be.  Have to
chuckle when I hear someone doing CVSup for ports-all.  Unless they have a
reason, but as we know many will do man things blindly.

All I would propose is that those subdirectories do not need to be part 
of the base distribution -- that typing 'make modulename' in the parent
directory (e.g. typing 'make ssh' in ports/security) would first download
the subdirectory and then do a normal make within that subdirectory.

Sounds good, but again how will the CVSup file for ports and CVSup itself
deal with this.  Either a "refuse" file would need to be created and then
populated or there would need to be other changes.  Not sure Mr Wraith or
the CVS maintainers would like to break down all the ports and have a
*huge* CVSup file for ports.  Or some other method would be needed that
would increase the complexity of how the ports source is handled.

The initial ports distribution would thus only be a few dozen 
directories and a single Makefile in each one.

But there are several goals:

A faster, more simple install would be good.
Reduced inode usage, less dirs to walk, etc..
Done in a manner to keep updating simple.

What you (and others) have suggested covers the first 2, but then what
happens when someone decides to update their source.  Your suggestion would
mean that to first get the source for the port, but then how does one keep
it up to date.  Not to mention the ports maintainer(s) might end up jumping
through more hoops.  Guess that should be added to the list, as well as not
relying more the source repositories and mirrors.

All irrelevant if hitting a mirror every time 'make port' to grab the
source (initial or update) will not be an ongoing load issue for the
servers.  Still, what if I just want the source?  Something like 'make
source' will be needed or 'make fetch' will need to cover that.

Just trying to cover all bases here and should sub to -install and see
what's going on.


Jeff Mountin - [EMAIL PROTECTED]
Systems/Network Administrator
FreeBSD - the power to serve
'86 Yamaha MaxiumX (not FBSD powered)



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



Re: /usr/ports/ too big?

2000-02-10 Thread Richard Wackerbarth

On Thu, 10 Feb 2000, Archie Cobbs wrote:
 Richard Wackerbarth writes:
  There are two problems in the size of the ports system.
  1) The large number of inodes.
 
 I don't see the ports tree as the problem. The problem is that
 FreeBSD does not handle a very large directory hierarchy like
 that presented by the ports tree very well.

We HAVE to live in the house. The question is "how do we make the best use of
the hand that was dealt us?" 

Fundamentally, I object to being required/expected to maintain a copy of a
large amount of information that does not impact my system.
I don't care about the patches to X unless I decide to install it.

Similarly, I think that it is a stupid design to require everyone to keep the
ENTIRE history of a file (per cvs).  I have CD roms which have the old versions
in case I need to reference them.

Why cannot the 4.0 branch simply "end" with a reference to the 3.x CD for
those who want to dig deeper.

  Now, here is a really "silly" idea. 
 Why don't we make a `port` collection of the FreeBSD kernel and
  standard userland utilities?

 This idea makes a lot of sense. All of FreeBSD could be packagable
 as ports/packages. It might even simplify the installer.

And `make` can pull in the dependencies 
(-: Sorry, you cannot reuse the existing tools. You must write a new one :-)
-- 
Richard Wackerbarth
[EMAIL PROTECTED]



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



Re: /usr/ports/ too big?

2000-02-10 Thread Leif Neland

Just FYI, a cvsup of ports over a single ISDN-line took 22 min on a
soft-update'd disk.

.cvsignore
INDEX
LEGAL
Makefile
Mk
README
Templates
Tools
YEAR2000
archivers
astro
audio
benchmarks
cad
comms
converters
databases
deskutils
devel
distfiles
editors
emulators
ftp
games
graphics
lang
mail
math
misc
net
news
print
security
shells
sysutils
textproc
www
x11
x11-clocks
x11-fm
x11-fonts
x11-toolkits
x11-wm

Leif




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



Re: /usr/ports/ too big?

2000-02-10 Thread John Polstra

In article [EMAIL PROTECTED],
Leif Neland  [EMAIL PROTECTED] wrote:
 Just FYI, a cvsup of ports over a single ISDN-line took 22 min on a
 soft-update'd disk.

Something is seriously wrong over there then, because I can update
my entire CVS repository in 1.5-2 minutes.  And my Internet link is
a wimpy 56 Kbit frame relay connection

John
-- 
  John Polstra   [EMAIL PROTECTED]
  John D. Polstra  Co., Inc.Seattle, Washington USA
  "Disappointment is a good sign of basic intelligence."  -- Chögyam Trungpa



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



Re: /usr/ports/ too big?

2000-02-10 Thread Udo Schweigert

On Thu, Feb 10, 2000 at 22:18:12 -0800, John Polstra wrote:
 In article [EMAIL PROTECTED],
 Leif Neland  [EMAIL PROTECTED] wrote:
  Just FYI, a cvsup of ports over a single ISDN-line took 22 min on a
  soft-update'd disk.
 
 Something is seriously wrong over there then, because I can update
 my entire CVS repository in 1.5-2 minutes.  And my Internet link is
 a wimpy 56 Kbit frame relay connection
 

For me, located behind a 64Kbit ISDN connection (sppp), it takes 3min for the
ports + 1min for src/crypto.

Regards
-- 
Udo Schweigert, Siemens AG   | Voice  : +49 89 636 42170
ZT IK 3, Siemens CERT| Fax: +49 89 636 41166
D-81730 Muenchen / Germany   | email  : [EMAIL PROTECTED]
PGP-2/5 fingerprint  | 2A 53 F6 A6 30 59 64 02  6B C4 E0 73 B2 C9 6C E7


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



Re: /usr/ports/ too big?

2000-02-10 Thread Szilveszter Adam

On Thu, Feb 10, 2000 at 10:18:12PM -0800, John Polstra wrote:
 In article [EMAIL PROTECTED],
 Leif Neland  [EMAIL PROTECTED] wrote:
  Just FYI, a cvsup of ports over a single ISDN-line took 22 min on a
  soft-update'd disk.
 
 Something is seriously wrong over there then, because I can update
 my entire CVS repository in 1.5-2 minutes.  And my Internet link is
 a wimpy 56 Kbit frame relay connection

Pretty much same results here... 3 mins approx on a 10Mb link this morning:-) 
/doc and www not counted/ The amount of data is largely dependent on how
often you do the cvsup, of course. I do it every day... also it dependes on
how loaded the cvsup server is. In Europe we have quite a lot of servers to
choose from.:-)  

Regards:
Szilveszter ADAM
-- 
---
* Szilveszter ADAM * JATE Szeged * email: [EMAIL PROTECTED] *
* Homepage : none * alternate email: [EMAIL PROTECTED] *
* Finger [EMAIL PROTECTED] for PGP key. *
* I prefer using the door instead of Windows(tm)... *


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



/usr/ports/ too big?

2000-02-09 Thread Kai Voigt

Hello,

I'm just doing a cvsup update of my system and -as many times before- I
realize that /usr/ports/ takes a lot of time and also disk space to sync.

# du -sk /usr/ports
71118   /usr/ports

Am I the only one being little annoyed by this fact?  Would it make
any sense to offer some "castrated" ports repository.  Like putting
a target "overview" into each /usr/ports/*/Makefile to list all available
subdiretories.  Then, with some other command, one could fetch the
current port's directory from the cvs server to install the port.

Do these thoughts make any sense?

Kai

-- 
kai voigt   hamburger chaussee 36
   24113 kiel
  04 31 - 22 19 98 69
http://k.123.org/


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



Re: /usr/ports/ too big?

2000-02-09 Thread Alfred Perlstein

* Kai Voigt [EMAIL PROTECTED] [000209 13:26] wrote:
 Hello,
 
 I'm just doing a cvsup update of my system and -as many times before- I
 realize that /usr/ports/ takes a lot of time and also disk space to sync.
 
 # du -sk /usr/ports
 71118   /usr/ports
 
 Am I the only one being little annoyed by this fact?  Would it make
 any sense to offer some "castrated" ports repository.  Like putting
 a target "overview" into each /usr/ports/*/Makefile to list all available
 subdiretories.  Then, with some other command, one could fetch the
 current port's directory from the cvs server to install the port.
 
 Do these thoughts make any sense?

Yes, this has been desired for some time, but without an actual
implementation we're kinda stuck. :)

-Alfred


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



Re: /usr/ports/ too big?

2000-02-09 Thread Matthew Dillon


: a target "overview" into each /usr/ports/*/Makefile to list all available
: subdiretories.  Then, with some other command, one could fetch the
: current port's directory from the cvs server to install the port.
: 
: Do these thoughts make any sense?
:
:Yes, this has been desired for some time, but without an actual
:implementation we're kinda stuck. :)
:
:-Alfred

It's a nice problem to have, I guess :-)  I really like the idea of
having a target overview.  It would be utterly trivial to have a 
module list in the Makefile and to change the dependancies to run
'make modulename' in the parent directory rather then in the subdirectory
(which might not exist).  There's only one person who can make
something like this happen.

-Matt
Matthew Dillon 
[EMAIL PROTECTED]


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



Re: /usr/ports/ too big?

2000-02-09 Thread Chuck Robey

On Wed, 9 Feb 2000, Matthew Dillon wrote:

 
 : a target "overview" into each /usr/ports/*/Makefile to list all available
 : subdiretories.  Then, with some other command, one could fetch the
 : current port's directory from the cvs server to install the port.
 : 
 : Do these thoughts make any sense?
 :
 :Yes, this has been desired for some time, but without an actual
 :implementation we're kinda stuck. :)
 :
 :-Alfred
 
 It's a nice problem to have, I guess :-)  I really like the idea of
 having a target overview.  It would be utterly trivial to have a 
 module list in the Makefile and to change the dependancies to run
 'make modulename' in the parent directory rather then in the subdirectory
 (which might not exist).  There's only one person who can make
 something like this happen.

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.



Chuck Robey| Interests include C  Java programming, FreeBSD,
[EMAIL PROTECTED]  | electronics, communications, and signal processing.

New Year's Resolution:  I will not sphroxify gullible people into looking up
fictitious words in the dictionary.




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