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>