pkgsrc-Users archive

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

Re: Version requirements for dependancies

Chris Ross wrote:
>   How does the decision get made about what version of a dependancy is
> required?  I guess this is more of a policy question.
>   In my example case, periodically something small gets updated on a
> production machine of mine that causes pkgsrc to want to rebuild and
> install mail/spamprobe.  Now, this would be fine, except that
> mail/spamprobe is configured (when it's set to use BerkeleyDB) to read
> in the mk/, which then reads in
> databases/db4/
>   However, spamprobe doesn't always need the newest bdb.  *Any* db4
> might well work for it.  I haven't investigated, but I'm sure at least
> 4.5 or better would work.  But, since it seems to always require the
> best pkgsrc has to offer, it then uninstalled the db 4.6.xx I had on the
> machine, and by uninstalling that uninstalls many other things that will
> now need to be relinked to the version of db4.
>   I'm not sure where the fault lies, here, but I think something
> somewhere should tell mail/spamprobe that it doesn't always *require*
> the most recent version available.  Is there anything that I can do to
> request this, or investigate it more?
>                              - Chris

I think this is handled different depending on what your dealing with.
e.g apache uses ${PKG_APACHE_DEFAULT} to determine what version of
apache will be depended on by default and python uses
${PYTHON_VERSION_DEFAULT}.  You could set any of these in your mk.conf
to change the default to a version of your choice.  It looks like db
versions will be controlled by ${BDB_DEFAULT} which again you just set
in your mk.conf.

In terms of what version is required it's usually set by the package
maintainers based on what the software supports. e.g. if a package only
supported bdb3 and bdb4 then ${BDB_ACCEPTED} would be set accordingly.

The only slightly annoying thing here is that sometime you have to dig a
little to find out what's going on.  As you can see from the examples
above there's no real standard naming convention.  I keep on meaning to
do something about that.  It would be really nice just to have something
like "PKG_DEFAULTS= bdb4 apache2" and have all relevant packages
reference it.


Home | Main Index | Thread Index | Old Index