Bug 152297

Summary: Building devel/gmake fails if system builded with WITHOUT_INFO in src.conf
Product: Ports & Packages Reporter: Alexey Markov <redrat>
Component: Individual Port(s)Assignee: autotools
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   

Description Alexey Markov 2010-11-16 14:40:07 UTC
I have built world with custom src.conf (with "WITHOUT_INFO=yes" in it) and installed it on the new disk. After rebooting I have tried to build some ports (with "NOPORTDOCS=yes" in make.conf), and got the following error:

Making all in doc
Updating ./version.texi
restore=: && backupdir=".am$$" &&  am__cwd=`pwd` && cd . &&  rm -rf $backupdir &
& mkdir $backupdir &&  if (makeinfo --no-split --version) >/dev/null 2>&1; then
 for f in ./make.info ./make.info-[0-9] ./make.info-[0-9][0-9] ./make.i[0-9] ./m
ake.i[0-9][0-9]; do  if test -f $f; then mv $f $backupdir; restore=mv; else :; f
i;  done;  else :; fi &&  cd "$am__cwd";  if makeinfo --no-split   -I .  -o ./ma
ke.info ./make.texi;  then  rc=0;  cd .;  else  rc=$?;  cd . &&  $restore $backu
pdir/* `echo "././make.info" | sed 's|[^/]*$||'`;  fi;  rm -rf $backupdir; exit
$rc
makeinfo: not found
*** Error code 127

Stop in /tmp/gmake/make-3.81/doc.
*** Error code 1

Stop in /tmp/gmake/make-3.81.
*** Error code 1

Stop in /tmp/gmake/make-3.81.
*** Error code 1

Stop in /arc/ports/devel/gmake.

I think ports/devel/gmake/Makefile must obey the NOPORTDOCS= in make.conf and do not try to build and install .info documentation.

How-To-Repeat: 1. echo "WITHOUT_INFO" >> /etc/src.conf
2. Build world and install it on clean slice
3. cd /usr/ports/devel/gmake && make
Comment 1 Mark Linimon freebsd_committer freebsd_triage 2010-11-17 05:51:53 UTC
Responsible Changed
From-To: freebsd-ports-bugs->autotools

Fix synopsis and assign.
Comment 2 Ade Lovett freebsd_committer freebsd_triage 2010-11-17 20:38:42 UTC
State Changed
From-To: open->closed

This is not gmake-specific: 

[root@lab:/usr/ports] 150# grep -R '^INFO=' * | wc -l 
415 

So, 414 other ports will similarly fail in the WITHOUT_INFO case. 

Similarly, not much will work at all if world is built/installed with other 
WITHOUT_* flags (off the top of my head, BZIP2, CPP, CXX, DICT, GROFF, 
LIB32, MAN, MAN_UTILS, PKGTOOLS, PROFILE, TCSH, TEXTPROC, TOOLCHAIN) 

Just like having a partial ports tree checked out (usually via csup/cvsup 
refuse files), without a full world, you're essentially on your own in 
terms of support. 

Harsh?  Possibly.  But expecting ports to handle all possible ways in 
which world can be built/installed, on top of 3 (soon to be 2) -STABLE 
revisions, and -CURRENT, on multiple architectures is simply not going 
to happen. 

If you want a stripped down world image, use a builder box (or the 
pre-built packages) and assuming you haven't enabled WITHOUT_PKGTOOLS, 
add them to the image itself.  That'll get you a little further, since 
things like devel/gmake are generally build-time dependencies rather than 
run-time, but you'll still run into problems.