Bug 100712 - [bsd.port.mk] -j with install target totally BROKEN
Summary: [bsd.port.mk] -j with install target totally BROKEN
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Port Management Team
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-07-22 11:40 UTC by Dominic Fandrey
Modified: 2006-07-25 01:29 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dominic Fandrey 2006-07-22 11:40:13 UTC
The install target, combined with the -j option is totally broken.  This is
troublesome, because if a port installs dependencies you cannot use -j to
build the port.

I have tried to find out what happens in bsd.port.mk, but all I can say is,
that with -j defined the port omits all such important targets as do-extract,
do-patch, do-configure or do-build and heads right to do-install, even though
nothing has been built.

The -j flag would be useful for SMP systems or those who use distcc.

How-To-Repeat: Go to a ports folder and run:
# make -j 4 install

Or go to a a ports folder that also installs build dependencies and run:
# make -j 4
Comment 1 Edwin Groothuis freebsd_committer 2006-07-22 11:40:26 UTC
Responsible Changed
From-To: freebsd-ports-bugs->portmgr

bsd.port.mk is port manager territory
Comment 2 Mark Linimon freebsd_committer freebsd_triage 2006-07-25 01:03:44 UTC
State Changed
From-To: open->suspended

This is not the only problem with using -j.  The major problem is that 
many ports are not, themselves, -j clean. 

This has been discussed many times in the past but no one has yet come up 
with a comprehensive solution for it.
Comment 3 Mark Linimon freebsd_committer freebsd_triage 2006-07-25 01:28:56 UTC
State Changed
From-To: suspended->closed

On further investigation of the bsd.*.mk PRs, this appears to be a duplicate 
of ports/95759, so track followups there instead.