Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Aug 2022 14:56:17 +0000
From:      bugzilla-noreply@freebsd.org
To:        office@FreeBSD.org
Subject:   [Bug 265943] editors/libreoffice: upgrading via portmaster leads to conflict with existing installed port
Message-ID:  <bug-265943-25061-HgUBLfSOpM@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-265943-25061@https.bugs.freebsd.org/bugzilla/>
References:  <bug-265943-25061@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D265943

Stefan E=C3=9Fer <se@FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|New                         |In Progress

--- Comment #4 from Stefan E=C3=9Fer <se@FreeBSD.org> ---
(In reply to Martin Birgmeier from comment #3)

This is a common issue if a port has a run dependency that is required to s=
tage
or package the port, but which is not declared as a build dependency.

Portmaster is more strict than poudriere with regard to different types of
dependencies. When building with poudriere, all RUN_DEPENDS are installed i=
nto
the build jail before a port build starts.

Portmaster builds and installs BUILD_DEPENDS and LIB_DEPENDS before working=
 on
the respective port that declares these dependencies, but installs RUN_DEPE=
NDS
only after completing the port build.

The basic ports system does not perform the same kind of dependency checkin=
g as
either portmaster or poudriere does. It just recurses into dependent ports =
for
each target before invoking the target on the port itself - thus is recursi=
vely
calls "make install" on all dependencies (including RUN_DEPENDS) before
installing the port itself. The reason is simply that make works on sub-goa=
ls
before main-goals, and the installation of dependencies is a sub-goal that =
has
to be completed before the main-goal may be attempted. (If the order was
reversed and the installation of the port succeeded but the installation of=
 a
RUN_DEPENDS port failed thereafter, calling "make install" would find the p=
ort
being installed and would not make another attempt to install the run
dependencies).

You can use "portmaster -t" to force portmaster to provide RUN_DEPENDS befo=
re
building a port, but that can result in much overhead and can cause depende=
ncy
loops.

If a RUN_DEPENDS target is required before a port can be staged or packaged,
then it actually is a build dependency and should be declared as such.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-265943-25061-HgUBLfSOpM>