pkgsrc-WIP-review archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: new package: wip/dcc (Distributed Checksum Clearinghouses)



Petar Bogdanovic <petar%smokva.net@localhost> writes:

>> I tried to build with MAKE_JOBS=4 on a dual-cpu machine and the build
>> failed.  with MAKE_JOBS_SAFE=no it built.  Does this happen to you too?
>
> Yes (on a single-core Pentium 4, HT-off) -- It doesn't matter if
> compiled directly with -j4 or through pkgsrc with MAKE_JOBS=4.
>
> I'll add MAKE_JOBS_SAFE=no.

OK, and if you are inclined file a bug upstream or fix it.  Usually we
just note MAKE_JOBS_SAFE=no and move on...

>> It would be nice for the server to be a separate package instead of an
>> option, but that won't stop us from importing dcc into real pkgsrc.
>
> You mean something like mail/dcc{,-server}, similar to
> sysutils/bacula{,-clientonly}?

Not really.  I mean something like amanda-common, amanda-client,
amanda-server, where you could do

  pkg_add dcc

and use most things and then decide to install the server as

  pkg_add dcc-server

and have them both present.  It looks like with bacula you have to
delete clientonly and replace.  This is awkward, but I bet it's that way
because bacula doesn't have --enable-foo switches that are a) mutually
exclusive and jointly exhaustive and b) can be built in any combination,
finding self prereqs in ${PREFIX}.  IMHO upstream's lack of getting this
right is the major reason behind not having split packages.  This is
partly because most Linux packaging systems seem to be binary focused,
building the whole thing and then picking off pieces, so it's not about
the build.  The problem with the Linux way is that one has to
build/install all the prereqs.  Since in that world it seems only
distributions actually build and everyone else runs binaries, it works
for them.

Options are necessary when enabling an option makes pervasive changes,
such as enabled kerberos auth, and it's desirable to have them disabled
sometimes, typically to avoid pulling in dependencies.

Split packages are nice when there is some base package and then some
large extra chunk that many people won't want, especially when that
extra chunk has much larger dependencies (like the gtk interface to a
program).

Options are awkward when split packages are possible, because the bulk
builds use the default options, and rebuilding is the only way to adjust
them.

Split packages are awkward because they are extra work to maintain, even
if upstream has fine-grained build controls that make it possible to
just build what we want.

So, the question is whether there should even be options, or just build
it all.  What bad thing would happen if all three options were defaulted
to on?

I suspect Vernon would prefer that we always include dccd, so as to
maximally encourage running a server.  It seems that dccd would be ok,
just a few more bits.  Leaving the option lets someone who is for some
reason both filtering mail and tight on space cope, but it seems dccd
should be present in default builds.  (A nit is that --disable-server
should also omit the server man pages.)

For dccm, it pulls in a dependency, and that would be nice to avoid.  I
don't know how many people even want dccm (vs spamassassin or some other
check aggregator) - I don't, so leaving it as an option defaulting to
off makes sense.  If enough people cared a split package would be nice,
but until they speak up I personally would not bother - they are already
80% of the way there with tweaking PKG_OPTIONS.dcc+=dccm and doing make
replace.

The real thing to optimize is the total work of all humans across both
maintaining and using the package, where that includes dealing with
packages being bloated as well as having to rebulid/etc., weighted by
what the people doing the work and contributing to pkgsrc care about.
That's my opinion, probably not entirely shared.

Attachment: pgpowrF9bGvpg.pgp
Description: PGP signature

------------------------------------------------------------------------------
_______________________________________________
pkgsrc-wip-review mailing list
pkgsrc-wip-review%lists.sourceforge.net@localhost
https://lists.sourceforge.net/lists/listinfo/pkgsrc-wip-review


Home | Main Index | Thread Index | Old Index