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

Petar Bogdanovic <[email protected]>
Newsgroups gmane.os.netbsd.devel.pkgsrc.wip.review
Message-ID <[email protected]>
On Tue, Dec 23, 2008 at 09:33:44AM -0500, Greg Troxel wrote:
> 
> Petar Bogdanovic <[email protected]> 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...

I added MAKE_JOBS_SAFE=no for now.


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

Thanks for that information, I always wondered what the deal is behind
options vs. split-packages.


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

The only disadvantage when adding dccd is that you'll pollute your
dcc_home with configuration files only used by dccd.. which is a bit
disencouraging if you just want to use one of the clients. At least
that's what my impression was when I first did a default install. :)


> (A nit is that --disable-server should also omit the server man pages.)

I tried to keep it default and follow what `make install' does. And it
leaves not just the man pages but also the configuration examples for
dccd. (and maybe a few other things)

Also there is no way to disable the cgi-bin stuff which is the only
reason why the package depends on perl.


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

I'm fine with that.

------------------------------------------------------------------------------
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.