Date: Wed, 11 Jul 2018 12:41:09 +0000 From: bugzilla-noreply@freebsd.org To: ruby@FreeBSD.org Subject: [Bug 229630] rubygem update fails with portmaster caused of wrong order of build (missing build depends in rubygem ports) Message-ID: <bug-229630-21402-5itTTfAvwu@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-229630-21402@https.bugs.freebsd.org/bugzilla/> References: <bug-229630-21402@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=3D229630 Stefan Esser <se@FreeBSD.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|New |Open --- Comment #2 from Stefan Esser <se@FreeBSD.org> --- The RUN_DEPENDS list is for dependencies that need not be available or up-to-date during a port build, but only to execute the applications in this port (e.g. shells, interpreters). These lead to dependencies recorded in the package built from a port. If the port is manually installed, then run dependencies are checked in the install phase (after the port has been built and staged). Pure run dependencies need not be available when some port is built. Dependencies that are required to build a port are either BUILD_DEPENDS (if= the test is for the existence of some binary, e.g. a compiler) or LIB_DEPENDS. These are made available (and upgraded by portmaster, if applicable) before port that depends on them is built. Since the rubygem ports declare their dependencies as RUN_DEPENDS only, it = is correct to assume that they need by updated before the dependent port is bu= ilt. Therefore, the actual problem is that there are dependencies on shared libraries, which are wrongly declared as run dependencies. The relevant excerpts from bsd.port.mk (somewhat sanitized for easier readi= ng) are: RUN_DEPENDS: A list of "path:dir[:target]" tuples of other ports this=20 package depends to run. The test done to determine the existence of the dependency is the same as FETCH_DEPENDS. This will be checked during the "install" stage and the name of the dependency will be put into the package as well. [...] LIB_DEPENDS: A list of "lib:dir[:target]" tuples of other ports this package depends on. "lib" is the name of a shared library. For dependencies on shared libraries provided by other ports, it is suffici= ent to specify those ports in LIB_DEPENDS, this will imply that those libraries will be registered as run dependencies in the generated packages. Examples of correct usage can also be found in many Uses/*.mk files. --=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-229630-21402-5itTTfAvwu>