[Midnightbsd-users] Maybe a conception error with mports?

Chris Reinhardt chris.reinhardt at gmail.com
Sat Aug 18 15:19:19 EDT 2007


> I've installed binaries from 0.1-RELEASE-CD-ROM, like e.g gettext-0.14.5_2.
> If you try to install a program like linux-firefox via ports witch
> depends on this already installed binary (here gettext) the make
> procedure fetches, compiles and try to install gettext and pkg_add is
> going to stop with an error, concerning an already installed gettext.
>
> That happened sometimes with different other combinations.I deleted
> these packages via pkg_delete and rerun the make procedure, but how
> should a noob come to this?  I think the mports is testing against the
> existence of dependent files in Packages- or Distfiles-directory. But it
> would be better to test against the pkgdb-entries! Then make would not
> to need to fetch a not needed file, then it won't waste compiling time,
> then the installation of a port would be successfully.
>

Ports should never test against the package database.  If you were to
install a piece of software by hand, and then installed a port that
depends on that software; if ports tested against the package database
then the software you installed by hand would be overwritten.

Ports test against binaries or libraries in the system.  If a port is
trying to install a dependancy that is already installed, then the
makefile has the dependancy configured incorrectly, or the dependancy
installed incorrectly.

For example if a port had this in its makefile:

RUN_DEPENDS=	aspell:${PORTSDIR}/textproc/aspell

The it checks for the aspell binary in your $PATH, and if it isn't
found then the port at  ${PORTSDIR}/textproc/aspell is built.

This is the exact same semantics used in FreeBSD.  In fact, the
implementation is unchanged from FreeBSD.  They have used it for
several years without trouble.


-- 
Chris Reinhardt - chris.reinhardt at gmail.com



More information about the Midnightbsd-users mailing list