[RFC/P] Port System Re-Engineering

Skip Ford skip at menantico.com
Mon Dec 3 11:51:29 PST 2007

Aryeh M. Friedman wrote:
> Paul Schmehl wrote:
> > --On Monday, December 03, 2007 13:53:06 -0500 "Aryeh M. Friedman"
> > <aryeh.friedman at gmail.com> wrote:
> >>
> >> Have you ever attempted to install the individual ports of a mega
> >>  metaport?
> >>>
> > Of course I have.  And I haven't run into any problems that weren't
> >  solvable.
> Try this as a challenge then install xdm cleanly on the first try
> without having to install any additional ports from the command line
> (what it drags in is fine)

Just worked flawlessly here:

===>>> Port directory: /usr/ports/x11/xdm
===>>> Gathering distinfo list for installed ports
===>>> Launching 'make checksum' for x11/xdm in background
===>>> Gathering dependency list for x11/xdm from ports
===>>> Starting recursive 'make config' check
===>>> Recursive 'make config' check complete for x11/xdm

===>>> Starting build for x11/xdm <<<===

===>>> The 'make config' check revealed no dependencies to update

===>  Cleaning for xdm-1.1.6_2
===>  Vulnerability check disabled, database not found
===>  Extracting for xdm-1.1.6_2
=> MD5 Checksum OK for xorg/app/xdm-1.1.6.tar.bz2.
=> SHA256 Checksum OK for xorg/app/xdm-1.1.6.tar.bz2.
===>  Patching for xdm-1.1.6_2
===>  Applying FreeBSD patches for xdm-1.1.6_2
===>   xdm-1.1.6_2 depends on file: /usr/local/libdata/pkgconfig/xmu.pc - found
===>   xdm-1.1.6_2 depends on file: /usr/local/libdata/pkgconfig/x11.pc - found
===>   xdm-1.1.6_2 depends on file: /usr/local/libdata/pkgconfig/xau.pc - found
===>   xdm-1.1.6_2 depends on file: /usr/local/libdata/pkgconfig/xinerama.pc - found
===>   xdm-1.1.6_2 depends on file: /usr/local/libdata/pkgconfig/xpm.pc - found
===>   xdm-1.1.6_2 depends on file: /usr/local/libdata/pkgconfig/xdmcp.pc - found
===>   xdm-1.1.6_2 depends on file: /usr/local/libdata/pkgconfig/xt.pc - found
===>   xdm-1.1.6_2 depends on file: /usr/local/libdata/pkgconfig/xext.pc - found
===>   xdm-1.1.6_2 depends on file: /usr/local/libdata/pkgconfig/xaw8.pc - found
===>   xdm-1.1.6_2 depends on executable: pkg-config - found
===>  Configuring for xdm-1.1.6_2
===>  Building for xdm-1.1.6_2
===>>> xdm-1.1.6_2 is not depended on by any other ports
===>>> Creating a backup package for old version xdm-1.1.6_2
	===>>> Package can be found in /usr/ports/packages/All
===>  Installing for xdm-1.1.6_2
===>   Generating temporary packing list
===>  Checking if x11/xdm already installed
===>   Compressing manual pages for xdm-1.1.6_2
===>   Registering installation for xdm-1.1.6_2
===>  Cleaning for xdm-1.1.6_2

===>>> Upgrade for xdm-1.1.6_2 to xdm-1.1.6_2 succeeded

Obviously, whatever port you had to install was already installed here,
but that's clearly enough to pass your challenge.

With one simple command, the ports system ensured dependencies were met,
fetched it, verified the checksum, extracted it, configured it correctly,
built it, installed it, and cleaned up after itself, all without requiring
any user input.  I would've had to do each of those steps by hand without

> > Short of hiring professionals to do this work on a fulltime basis,
> > what would you propose that would improve the system?
> >
> > According to your sig you're a developer, so I'm certain you
> > understand what library incompatibilities are.  Given that, how
> > would you propose to not freeze ports while the base system is
> > being prepared for release?
> I have several possible solutions (contact me privately if you want
> more detail) but am purposely not stating them publically so as not to
> taint the survey any more then it needs to be.

I would suggest you should spend your time implementing whatever your ideas
are rather than talking about it.  You've sent more traffic to these lists
than heavy committers.  It's rather tedious.

The normal process is to implement it, make it available, incorporate
feedback, rinse, repeat.  If you get no interest, then you use it yourself
forever because you think it's a huge improvement.  If you get feedback
and incorporate it, then more people will use it.  When enough people think
it's a good idea, it'll be incorporated for everyone to use.  A fairly
simple process, and a fairly intuitive process to anyone who's coding
voluntarily to improve a system for themselves.

So far, you've done the opposite.   You've talked about it (vaguely I
might add) rather than implementing it, made nothing available, and have
been very unresponsive to feedback, wihch I expect you will be again with
this message.

Everyone hopes you can improve the ports system in some way, but you're
not off to a very good start by alienating those who are responsible for
maintaining a very nice system as demonstrated above.


More information about the freebsd-ports mailing list