Why does security/amavisd-new depend on db3?

Michael C. Shultz ringworm01 at gmail.com
Tue Nov 15 13:46:30 PST 2005


On Tuesday 15 November 2005 13:40, Scot Hetzel wrote:
> > This would still be wrong:
> >
> > .if ${.CURDIR} == /usr/ports/databases/p5-BerkleyDB
> > WITH_BDB_VER?=42
> >  .endif
>
> No, it would be right because when the build for security/amavisd-new
> calls for the build of databases/p5-BerkleyDB, the WITH_BDB_VER
> variable is set in the environment for database/p5-BerkleyDB and cause
> the dependancy to be set on the correct version of Berkley DB port.
>
> > It is equivalent to:
> >
> > in pkgtools.conf:
> >  MAKE_ARGS = {
> >        'databases/p5-BerkeleyDB' => 'WITH_BDB_VER=42',
> >
> > in pm-020.conf
> > databases/p5-BerkeleyDB|WITH_BDB_VER=42|
>
> It's similar, but not equivalent because when the security/amavisd-new
> then goes to record it's dependancies on the databases/p5-BerkleyDB
> port.  Using portupgrade and portmanager, security/amavisd-new
> +CONTENT shows db3 as dependancy, were as the /etc/make.conf entry
> will show a +CONTENT dependacy on db42.
>
> > Maybe you mean to set it as a global
> > value ie. without the .if ${.CURDIR} == /usr/ports/databases/p5-BerkleyDB
> > wrapper?  If that were the case it would still have no effect on
> > security/amavisd-new where the incorrect dependency is being recorded,
> > see for yourself:
>
> The incorrect dependency is being reported from databases/p5-BerkleyDB
> to the security/amavisd-new port.  Which then records the incorrect
> dependancy in the +CONTENT file.  By using the WITH_BDB_VER as either
> a global variable or using '.if ${.CURDIR} ==
> /usr/ports/database/p5-BerkleyDB' in /etc/make.conf will fix the
> dependancy for security/amavisd-new.
>
> Each time make is called the /etc/make.conf file is re-evaluated.
> Since the security/amavisd-new port calls cd
> /usr/ports/database/p5-BerkleyDB ; make install (from bsd.port.mk),
> the /etc/make.conf file is re-evaluated, and WITH_BDB_VER is set.
>
> Scot

OK, I appoligize.  This is still wrong behavior on the part of the ports 
system because use of WITH_* switches from the make command line
are going to lead to the same exact problem that is occuring with portupgrade
and portmanager's conf files.

-Mike




More information about the freebsd-ports mailing list