On 2018/07/11 12:11, Raf Czlonka wrote:
> On Wed, Jul 11, 2018 at 10:26:42AM BST, Stuart Henderson wrote:
> > On 2018/07/11 10:15, Raf Czlonka wrote:
> > > On Wed, Jul 11, 2018 at 09:24:56AM BST, Stuart Henderson wrote:
> > > > On 2018/07/07 23:00, Raf Czlonka wrote:
> > > > > On Sat, Jul 07, 2018 at 12:40:47AM BST, Stuart Henderson wrote:
> > > > > > [...]
> > > > > > +BUILD_DEPENDS =            ${RUN_DEPENDS-main}
> > > > > > +LIB_DEPENDS-main = converters/libiconv
> > > > > > +RUN_DEPENDS-main = mail/abook
> > > > > 
> > > > > There's not need for abook to be a run dependency - m_abook module
> > > > > is only usable if it is both specified in METHODS *and* abook
> > > > > executable present, ignored otherwise.
> > > > 
> > > > It's a really small dependency though, and the only extra thing it pulls
> > > > in is gettext which mutt users will have anyway, so I don't see a lot 
> > > > of point
> > > > in /not/ including it, it does make things more consistent.
> > > 
> > > Sure - however, I was thinking ahead.
> > > 
> > > I.e., the latest version of lbdb has goobook[0] and khard[1] modules.
> > > Personally, I don't think each and every program which *enhances*
> > > lbdb, should be a hard dependency.  Even in Debian all of these are
> > > only *suggested* packages[2].  Personally, I don't even think that
> > > the -ldap flavor is necessary - a pkg-readme with all the optional
> > > packages, i.e.:
> > > 
> > > - Net::LDAP
> > > - abook
> > > - goobook
> > > - khard, which would pull vdirsyncer
> > > - ...
> > > 
> > > would suffice, IMO.
> > > 
> > > This would:
> > > 
> > > - remove the need for hard dependencies so no extra software, which
> > >   otherwise would potentially not have been used, needs to be
> > >   installed
> > > 
> > > - if LDAP support is "merged" to the main flavor, there's one less
> > >   flavor to maintain
> > > 
> > > - any additional *enhancement* are added to the readme
> > > 
> > > It somehow feels simpler and easier.
> > > 
> > > Otherwise we'll end up with two packages, where they pull 3-4
> > > additional programs and the only difference is that one pull an an
> > > extra Perl module.
> > > 
> > > Don't some ports already do just that?
> > > 
> > > Or we go the other way and each and we add each and every of these as
> > > hard dependencies but the chain grows...
> > > 
> > > Anyway, food for thought :^)
> > 
> > -ldap is a multi package rather than a flavour, it contains only the
> > additional files produced when ldap is enabled rather than being an
> > "either/or" thing.
> > 
> > The usual procedure with "modular" ports using multi packages is to
> > include things with lightweight/no extra dependencies directly in the
> > main package, and place things with heavier dependencies in a subpackage.
> > 
> > > [0] https://pypi.org/project/goobook/
> > > [1] https://github.com/scheibler/khard
> > > [2] https://packages.debian.org/sid/lbdb
> > 
> > I think these would be good candidates for additional multi packages.
> > While we *could* merge them into the main package and add a README telling
> > people how to actually use them, it's a lot more convenient for the user
> > to just run pkg_add once.
> > 
> > It's a pain to have a proliferation of flavours as they have to be tested
> > separately. Multi packages are simple in this respect, there's only a single
> > build run, it produces the same resulting set of packages every time, and
> > if you're working from ports and want to install the whole lot you can just
> > do "make install-all".
> 
> Right - confusion between flavor and multi-package on my part. Sorry
> for the noise.
> 
> In that case, would the extra subpackages be -abook, -goobook,
> -khard, i.e. so that an individual using one or two of these, doesn't
> have to pull dependencies for all of them?
> 
> R.

-abook is such a lightweight dependency I don't think it's worth making
it a separate package.

If adding -goobook and -khard they are a bit heavier, so splitting them
would make sense to me.

Reply via email to