Attention ports committers

Eygene Ryabinkin rea at freebsd.org
Sat Jan 22 19:18:54 UTC 2011


Joeb, good day.

Wed, Jan 19, 2011 at 11:59:24AM -0500, joeb wrote:
> Eygene Ryabinkin you sure missed the point of my post.  Your
> forensic investigation of my port is far outside the review of the
> make file to commit the port.

That is my personal opinion as if I would wrote the port myself and
will then critically review it.  If I am committing something, I am
trying to make it as good as I can, at least in the majority of cases.

> Scrubbing through your email content I only see you voicing your
> personal preferences without any makefile statement errors, which
> would make the Makefile invalid. This is a very simple Makefile so
> lets not make a mountain out of a molehill.

Do you realize that not every "valid" Makefile will be perfectly
maintainable?  That's like a program that does the current work, but
if you'll look at it in the perspective of maintaining it and making
further modifications, it poses some challenges, because, in our case,
many standard constructs aren't used and substitute for the homebrew
ones.

Almost all my comments were related to the constructs that can be
substituted by the standard FreeBSD port makefile ones.  And users
of the ports expect the standard behaviour from the ports, so native
constructs are almost always better than the ones written by hand,
just because they
 a. provide the standard behaviour now;
 b. will provide it later even if the behaviour will be redefined
    or extended; no one should rewrite the Makefile or, in the
    worst case, it should be only lightly touched.
And using standard constructs you'll get this basically for free:
that's good, isn't it?

> The port description is within the max size and is very
> detailed on purpose. I plan to keep it that way.

Porter's Handbook,
  http://www.freebsd.org/doc/en/books/porters-handbook/book.html#AEN89
asks the pkg-descr to be concise, so if you really want the
detailed description, you should justify it.  And not just because
it is long to my taste, but because the standard rules are saying
it too.

While I must confess that we have even 154-line pkg-descr file in the
current tree (sysutils/dirdiff and it just copies the README/INSTALL,
the thing that the handbook warns about), you can glance at the
statistics
{{{
Ports Lines
   1  154L
   1  65L
   1  57L
   1  56L
   1  53L
   2  52L
   1  50L
   1  48L
   2  47L
   3  46L
   3  45L
   1  43L
   1  42L
   1  41L
   1  39L
   3  38L
   4  37L
   2  36L
   1  35L
   3  34L
   4  33L
   4  32L
   8  31L
   5  30L
   5  29L
  10  28L
  17  27L
  18  26L
  20  25L
 214  24L
 208  23L
 226  22L
 237  21L
 248  20L
 305  19L
 274  18L
 338  17L
 395  16L
 424  15L
 561  14L
 592  13L
 777  12L
 851  11L
1076  10L
1252  9L
1467  8L
1839  7L
2251  6L
2427  5L
2521  4L
2464  3L
 242  2L
 267  1L
}}}
and get a feeling of how the length distibution looks like.
Everything that is longer than 24 lines has negligible contribution,
something like < 0.2%.

> The whole point of the post is that I am not a port Makefile coder.
> I wrote a script for jails and it has taken longer to get the
> Makefile correct then the coding of the original qjail script.

May I ask, had you read the Porter's Handbook before you had started
creating your Makefile or you had adopted some other port sources?
I have a gut feeling that the latter case was in action.

> If the install of the RC_SUBR script can be done in a more reliable
> way then what I need is the Makefile statements to perform this
> action so I can update the port (shar) file with them.
>
> The goal here is to get this port committed, not waste time trying
> to teach me the secret internal details of port makefiles
> construction.

If you want to produce the good FreeBSD port, then you'll need to
know some internals.  Becides, they aren't real internals, most
of stuff I am saying about the Makefile is written in the Porter's
Handbook:
  http://www.freebsd.org/doc/en/books/porters-handbook/book.html
Nothing I am telling about the port is the Real Arcane Stuff (TM).


You can freely skip the part of my review that touches the code
of the qjail and its manual pages; I just wanted to share some
experience that I thought would be handy for you and, perhaps,
other people.

My goal was to create the compact port that will be almost
perfect ;))

With all respect.
-- 
Eygene Ryabinkin                                        ,,,^..^,,,
[ Life's unfair - but root password helps!           | codelabs.ru ]
[ 82FE 06BC D497 C0DE 49EC  4FF0 16AF 9EAE 8152 ECFB | freebsd.org ]
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20110122/a0daf4a0/attachment.pgp


More information about the freebsd-ports mailing list