Bug 231418 - ports-mgmt/portmaster run depedencies must be installed before do-install target is executed
Summary: ports-mgmt/portmaster run depedencies must be installed before do-install tar...
Status: Closed Works As Intended
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Stefan Eßer
URL:
Keywords:
Depends on:
Blocks: 231224
  Show dependency treegraph
 
Reported: 2018-09-17 05:40 UTC by Matthias Fechner
Modified: 2018-09-17 15:26 UTC (History)
0 users

See Also:
bugzilla: maintainer-feedback? (se)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matthias Fechner freebsd_committer freebsd_triage 2018-09-17 05:40:58 UTC
Reading Mk/bsd.port.mk at line 5274, run-depends are installed before
do-install runs (explained by mat).

Portmaster does not respect this which causes e.g. www/gitlab-ce to be not buildable anymore.

Could you please fix this?
Comment 1 Stefan Eßer freebsd_committer freebsd_triage 2018-09-17 15:26:04 UTC
RUN_DEPENDS are dependencies required at run-time of some package.

While bsd.port.mk treats "make install" like "make install-recursive" (and recursively descends into the ports that are run dependencies before installing the dependent port), portmaster implements a completely different dependency tracking concept and builds and installs run dependencies after the port that needs them, but before invoking any executable of the dependent port. (I.e., if some port has run dependencies and is a build dependency of some other port, then the run dependencies will be installed to resolve the build dependency requirement).

If some dependency needs to be resolved during installation, then it is not a run dependency, no matter whether bsd.port.mk decides to install the run dependency before the dependent port. This is just an implementation detail of bsd.port.mk, which simplifies the make processing compared to the way that portmaster uses.