[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