[RFC/P] Port System Re-Engineering

Aryeh M. Friedman aryeh.friedman at gmail.com
Mon Dec 3 11:59:57 PST 2007

Hash: SHA1

Skip Ford wrote:
> 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 [snip] ===>  Building for xdm-1.1.6_2
> [snip] ===>>> 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 [snip] ===>   Compressing
> manual pages for xdm-1.1.6_2 ===>   Registering installation for
> xdm-1.1.6_2 ===> SECURITY REPORT: [snip] ===>  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 it.

You missed the point completely do it completely from scratch (no
ports installed) then compare the results to doing install of xorg
with no ports installed and a xorg with xdm installed before xorg is
installed (you will get three completely different executable version
each with different looks and feels)
>>> 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.
Lets see I can write "hello, world" with anything from 1 line to some
very large line count but only one is correct... if you do not know
what the right solution is before hand isn't it wise to do some study
before hand?
> 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.

The larger and more complex a system gets the more likelly it is
random tweaks here and there will cause serious harm.  It is best to
look at the whole picture first.
> 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.

I sent a list of concrete goals to David privately if you want it just
as for it... there is also a number of papers that have been written
about the issues so there is no lack of "soluitions" but picking the
right ones involves the entire user base not just me.

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

Did you demostrate that or just fail to understand the problem?

- --
Aryeh M. Friedman
FloSoft Systems
Developer, not business, friendly
Version: GnuPG v2.0.4 (FreeBSD)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org


More information about the freebsd-ports mailing list