From nobody@FreeBSD.org  Sun Mar 17 19:56:32 2013
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115])
	by hub.freebsd.org (Postfix) with ESMTP id BB6CA685
	for <freebsd-gnats-submit@FreeBSD.org>; Sun, 17 Mar 2013 19:56:32 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from red.freebsd.org (red.freebsd.org [IPv6:2001:4f8:fff6::22])
	by mx1.freebsd.org (Postfix) with ESMTP id AD318F8D
	for <freebsd-gnats-submit@FreeBSD.org>; Sun, 17 Mar 2013 19:56:32 +0000 (UTC)
Received: from red.freebsd.org (localhost [127.0.0.1])
	by red.freebsd.org (8.14.5/8.14.5) with ESMTP id r2HJuVOl008639
	for <freebsd-gnats-submit@FreeBSD.org>; Sun, 17 Mar 2013 19:56:31 GMT
	(envelope-from nobody@red.freebsd.org)
Received: (from nobody@localhost)
	by red.freebsd.org (8.14.5/8.14.5/Submit) id r2HJuVXQ008638;
	Sun, 17 Mar 2013 19:56:31 GMT
	(envelope-from nobody)
Message-Id: <201303171956.r2HJuVXQ008638@red.freebsd.org>
Date: Sun, 17 Mar 2013 19:56:31 GMT
From: Tim Daneliuk <tundra@tundraware.com>
To: freebsd-gnats-submit@FreeBSD.org
Subject: New Changes To 'install' Appear To Have Broken 'mergemaster'
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         177055
>Category:       misc
>Synopsis:       New Changes To 'install' Appear To Have Broken 'mergemaster'
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    brooks
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Mar 17 20:00:00 UTC 2013
>Closed-Date:    Mon Apr 15 01:49:33 UTC 2013
>Last-Modified:  Mon Apr 15 01:49:33 UTC 2013
>Originator:     Tim Daneliuk
>Release:        9.1-STABLE
>Organization:
TundraWare Inc.
>Environment:
FreeBSD ozzie.tundraware.com 9.1-STABLE FreeBSD 9.1-STABLE #13 r247891: Wed Mar  6 10:00:21 CST 2013     root@ozzie.tundraware.com:/usr/obj/usr1/src-9-STABLE/sys/OZZIE  i386
>Description:
See attached file...


>How-To-Repeat:

>Fix:


Patch attached with submission follows:

Script started on Sun Mar 17 14:49:48 2013

[07m[root] [07mozzie.tundraware.com[00m ~>sh -x /usr/sbin/mergemaster
+ PATH=/bin:/usr/bin:/usr/sbin
+ TEMPROOT=/var/tmp/temproot
+ [ -r /etc/mergemaster.rc ]
+ [ -r /root/.mergemasterrc ]
+ . /root/.mergemasterrc
+ IGNORE_FILES='/etc/hosts.allow             \
              /etc/mail/freebsd.cf         \
              /etc/mail/freebsd.submit.cf  \
              /etc/mail/sendmail.cf        \
              /etc/mail/submit.cf          \
              /etc/namedb/named.conf       \
              /root/.profile               \
             '
+ set --
+ unset var newopts
+ getopts :ascrvhipCPm:t:du:w:D:A:FU COMMAND_LINE_ARGUMENT
+ [ -n '' ]
+ MTREEDB=/var/db
+ MTREEFILE=/var/db/mergemaster.mtree
+ [ -n '' -a -z '' ]
+ [ -e /etc/fstab ]
+ grep -q nodev /etc/fstab
+ echo ''

+ [ -n less ]
+ check_pager
+ type less
+ PAGER=less
+ [ -n '' -a ! less = more ]
+ DIFF_FLAG=-u
+ SOURCEDIR=/usr/src
+ [ ! -f /usr/src/Makefile.inc1 -a -f /usr/src/../Makefile.inc1 ]
+ MM_MAKE='make  -m /usr/src/share/mk'
+ [ -n '' -a -s /var/db/mergemaster.mtree ]
+ [ -t 0 ]
+ tput columns
+ w=126
+ SCREEN_WIDTH=126
+ ID_TAG=FreeBSD
+ TEST_TEMP_ROOT=yes
+ [ yes = yes ]
+ [ -d /var/tmp/temproot ]
+ echo '*** The directory specified for the temporary root environment,'
*** The directory specified for the temporary root environment,
+ echo '    /var/tmp/temproot, exists.  This can be a security risk if untrusted'
    /var/tmp/temproot, exists.  This can be a security risk if untrusted
+ echo '    users have access to the system.'
    users have access to the system.
+ echo ''

+ echo '  Use '\''d'\'' to delete the old /var/tmp/temproot and continue'
  Use 'd' to delete the old /var/tmp/temproot and continue
+ echo '  Use '\''t'\'' to select a new temporary root directory'
  Use 't' to select a new temporary root directory
+ echo '  Use '\''e'\'' to exit mergemaster'
  Use 'e' to exit mergemaster
+ echo ''

+ echo '  Default is to use /var/tmp/temproot as is'
  Default is to use /var/tmp/temproot as is
+ echo ''

+ echo -n 'How should I deal with this? [Use the existing /var/tmp/temproot] '
How should I deal with this? [Use the existing /var/tmp/temproot] + read DELORNOT
d
+ echo ''

+ echo '   *** Deleting the old /var/tmp/temproot'
   *** Deleting the old /var/tmp/temproot
+ echo ''

+ delete_temproot
+ rm -rf /var/tmp/temproot
+ chflags -R 0 /var/tmp/temproot
+ rm -rf /var/tmp/temproot
+ unset TEST_TEMP_ROOT
+ [ '' = yes ]
+ echo '*** Creating the temporary root environment in /var/tmp/temproot'
*** Creating the temporary root environment in /var/tmp/temproot
+ mkdir -p /var/tmp/temproot
+ echo ' *** /var/tmp/temproot ready for use'
 *** /var/tmp/temproot ready for use
+ [ ! -d /var/tmp/temproot ]
+ echo ' *** Creating and populating directory structure in /var/tmp/temproot'
 *** Creating and populating directory structure in /var/tmp/temproot
+ echo ''

+ cd /usr/src
+ od=/var/tmp/temproot/usr/obj
+ make -m /usr/src/share/mk DESTDIR=/var/tmp/temproot distrib-dirs
+ MAKEOBJDIRPREFIX=/var/tmp/temproot/usr/obj make -m /usr/src/share/mk _obj SUBDIR_OVERRIDE=etc
+ MAKEOBJDIRPREFIX=/var/tmp/temproot/usr/obj make -m /usr/src/share/mk everything SUBDIR_OVERRIDE=etc
+ MAKEOBJDIRPREFIX=/var/tmp/temproot/usr/obj make -m /usr/src/share/mk DESTDIR=/var/tmp/temproot distribution
install: illegal option -- l
usage: install [-bCcMpSsv] [-B suffix] [-f flags] [-g group] [-m mode]
               [-o owner] file1 file2
       install [-bCcMpSsv] [-B suffix] [-f flags] [-g group] [-m mode]
               [-o owner] file1 ... fileN directory
       install -d [-v] [-g group] [-m mode] [-o owner] directory ...
+ echo ''

+ echo '  *** FATAL ERROR: Cannot '\''cd'\'' to /usr/src and install files to'
  *** FATAL ERROR: Cannot 'cd' to /usr/src and install files to
+ echo '      the temproot environment'
      the temproot environment
+ echo ''

+ exit 1
[07m[root] [07mozzie.tundraware.com[00m ~>[Kexit
exit

Script done on Sun Mar 17 14:50:02 2013


>Release-Note:
>Audit-Trail:

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: misc/177055: commit references a PR
Date: Tue, 19 Mar 2013 20:00:44 +0000 (UTC)

 Author: brooks
 Date: Tue Mar 19 20:00:34 2013
 New Revision: 248531
 URL: http://svnweb.freebsd.org/changeset/base/248531
 
 Log:
   Revert r248352:
   
   >   Replace all known uses of ln in the build process with appropriate
   >   install -l invocations via new INSTALL_LINK and INSTALL_SYMLINK
   >   variables.
   
   This breaks the assumption mergemaster and etcupdate that no new
   features of tools will be required to run "make distribution" or it's
   prerequisites.
   
   Plotting a way forward will take some time and nothing in 9-STABLE
   depends on INSTALL_LINK and INSTALL_SYMLINK yet so backing this out seem
   like the right short-term approach.
   
   PR:		misc/177055
 
 Modified:
   stable/9/etc/Makefile
   stable/9/share/mk/bsd.incs.mk
   stable/9/share/mk/bsd.info.mk
   stable/9/share/mk/bsd.lib.mk
   stable/9/share/mk/bsd.links.mk
   stable/9/share/mk/bsd.man.mk
   stable/9/share/mk/bsd.own.mk
   stable/9/usr.sbin/mergemaster/mergemaster.sh
 Directory Properties:
   stable/9/etc/   (props changed)
   stable/9/share/mk/   (props changed)
 
 Modified: stable/9/etc/Makefile
 ==============================================================================
 --- stable/9/etc/Makefile	Tue Mar 19 19:49:06 2013	(r248530)
 +++ stable/9/etc/Makefile	Tue Mar 19 20:00:34 2013	(r248531)
 @@ -321,29 +321,26 @@ distrib-dirs:
  		    -f $$m -p $$d; \
  		${MTREE_CMD} -deU ${MTREE_FOLLOWS_SYMLINKS} -f $$m -p $$d; \
  	done; true
 -	${INSTALL_SYMLINK} usr/src/sys ${DESTDIR}/sys
 +	ln -sfh usr/src/sys ${DESTDIR}/sys
  	cd ${DESTDIR}/usr/share/man; \
  	for mandir in man*; do \
 -		${INSTALL_SYMLINK} ../$$mandir \
 -		    ${DESTDIR}/usr/share/man/en.ISO8859-1/; \
 -		${INSTALL_SYMLINK} ../$$mandir \
 -		    ${DESTDIR}/usr/share/man/en.UTF-8/; \
 +		ln -sfh ../$$mandir ${DESTDIR}/usr/share/man/en.ISO8859-1/; \
 +		ln -sfh ../$$mandir ${DESTDIR}/usr/share/man/en.UTF-8/; \
  	done
  	cd ${DESTDIR}/usr/share/openssl/man; \
  	for mandir in man*; do \
 -		${INSTALL_SYMLINK} ../$$mandir \
 +		ln -sfh ../$$mandir \
  		    ${DESTDIR}/usr/share/openssl/man/en.ISO8859-1/; \
  	done
  	set - `grep "^[a-zA-Z]" ${.CURDIR}/man.alias`; \
  	while [ $$# -gt 0 ] ; do \
 -		${INSTALL_SYMLINK} "$$2" "${DESTDIR}/usr/share/man/$$1"; \
 -		${INSTALL_SYMLINK} "$$2" \
 -		    "${DESTDIR}/usr/share/openssl/man/$$1"; \
 +		ln -sfh "$$2" "${DESTDIR}/usr/share/man/$$1"; \
 +		ln -sfh "$$2" "${DESTDIR}/usr/share/openssl/man/$$1"; \
  		shift; shift; \
  	done
  	set - `grep "^[a-zA-Z]" ${.CURDIR}/nls.alias`; \
  	while [ $$# -gt 0 ] ; do \
 -		${INSTALL_SYMLINK} "$$2" "${DESTDIR}/usr/share/nls/$$1"; \
 +		ln -sfh "$$2" "${DESTDIR}/usr/share/nls/$$1"; \
  		shift; shift; \
  	done
  
 
 Modified: stable/9/share/mk/bsd.incs.mk
 ==============================================================================
 --- stable/9/share/mk/bsd.incs.mk	Tue Mar 19 19:49:06 2013	(r248530)
 +++ stable/9/share/mk/bsd.incs.mk	Tue Mar 19 20:00:34 2013	(r248531)
 @@ -73,7 +73,7 @@ installincludes:
  		t=${DESTDIR}$$1; \
  		shift; \
  		${ECHO} $$t -\> $$l; \
 -		${INSTALL_SYMLINK} $$l $$t; \
 +		ln -fs $$l $$t; \
  	done; true
  .endif
  .endif # !target(installincludes)
 
 Modified: stable/9/share/mk/bsd.info.mk
 ==============================================================================
 --- stable/9/share/mk/bsd.info.mk	Tue Mar 19 19:49:06 2013	(r248530)
 +++ stable/9/share/mk/bsd.info.mk	Tue Mar 19 20:00:34 2013	(r248531)
 @@ -113,7 +113,7 @@ DVIPS2ASCII?=	dvips2ascii
  
  .info.html:
  	${INFO2HTML} ${.IMPSRC}
 -	${INSTALL_LINK} ${.TARGET:R}.info.Top.html ${.TARGET}
 +	ln -f ${.TARGET:R}.info.Top.html ${.TARGET}
  
  .PATH: ${.CURDIR} ${SRCDIR}
  
 
 Modified: stable/9/share/mk/bsd.lib.mk
 ==============================================================================
 --- stable/9/share/mk/bsd.lib.mk	Tue Mar 19 19:49:06 2013	(r248530)
 +++ stable/9/share/mk/bsd.lib.mk	Tue Mar 19 20:00:34 2013	(r248531)
 @@ -178,9 +178,9 @@ ${SHLIB_NAME}: ${SOBJS} beforelinking
  ${SHLIB_NAME}: ${SOBJS}
  .endif
  	@${ECHO} building shared library ${SHLIB_NAME}
 -	@rm -f ${SHLIB_NAME} ${SHLIB_LINK}
 +	@rm -f ${.TARGET} ${SHLIB_LINK}
  .if defined(SHLIB_LINK)
 -	@${INSTALL_SYMLINK} ${SHLIB_NAME} ${SHLIB_LINK}
 +	@ln -fs ${.TARGET} ${SHLIB_LINK}
  .endif
  .if !defined(NM)
  	@${CC} ${LDFLAGS} ${SSP_CFLAGS} ${SOLINKOPTS} \
 @@ -291,9 +291,9 @@ _libinstall:
  	    ${_INSTALLFLAGS} lib${LIB}.ld ${DESTDIR}${LIBDIR}/${SHLIB_LINK}
  .else
  .if ${SHLIBDIR} == ${LIBDIR}
 -	${INSTALL_SYMLINK} ${SHLIB_NAME} ${DESTDIR}${LIBDIR}/${SHLIB_LINK}
 +	ln -fs ${SHLIB_NAME} ${DESTDIR}${LIBDIR}/${SHLIB_LINK}
  .else
 -	${INSTALL_SYMLINK} ${_SHLIBDIRPREFIX}${SHLIBDIR}/${SHLIB_NAME} \
 +	ln -fs ${_SHLIBDIRPREFIX}${SHLIBDIR}/${SHLIB_NAME} \
  	    ${DESTDIR}${LIBDIR}/${SHLIB_LINK}
  .if exists(${DESTDIR}${LIBDIR}/${SHLIB_NAME})
  	-chflags noschg ${DESTDIR}${LIBDIR}/${SHLIB_NAME}
 
 Modified: stable/9/share/mk/bsd.links.mk
 ==============================================================================
 --- stable/9/share/mk/bsd.links.mk	Tue Mar 19 19:49:06 2013	(r248530)
 +++ stable/9/share/mk/bsd.links.mk	Tue Mar 19 20:00:34 2013	(r248531)
 @@ -15,7 +15,7 @@ _installlinks:
  		t=${DESTDIR}$$1; \
  		shift; \
  		${ECHO} $$t -\> $$l; \
 -		${INSTALL_LINK} $$l $$t; \
 +		ln -f $$l $$t; \
  	done; true
  .endif
  .if defined(SYMLINKS) && !empty(SYMLINKS)
 @@ -26,6 +26,6 @@ _installlinks:
  		t=${DESTDIR}$$1; \
  		shift; \
  		${ECHO} $$t -\> $$l; \
 -		${INSTALL_SYMLINK} $$l $$t; \
 +		ln -fs $$l $$t; \
  	done; true
  .endif
 
 Modified: stable/9/share/mk/bsd.man.mk
 ==============================================================================
 --- stable/9/share/mk/bsd.man.mk	Tue Mar 19 19:49:06 2013	(r248530)
 +++ stable/9/share/mk/bsd.man.mk	Tue Mar 19 20:00:34 2013	(r248531)
 @@ -216,7 +216,7 @@ _maninstall: ${MAN}
  		t=${DESTDIR}${MANDIR}$${sect}${MANSUBDIR}/$$name; \
  		${ECHO} $${t}${ZEXT} -\> $${l}${ZEXT}; \
  		rm -f $${t} $${t}${MCOMPRESS_EXT}; \
 -		${INSTALL_LINK} $${l}${ZEXT} $${t}${ZEXT}; \
 +		ln $${l}${ZEXT} $${t}${ZEXT}; \
  	done
  .if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
  	@set ${MLINKS:C/\.([^.]*)$/.\1 \1/}; \
 @@ -231,7 +231,7 @@ _maninstall: ${MAN}
  		t=${DESTDIR}${CATDIR}$${sect}${MANSUBDIR}/$$name; \
  		${ECHO} $${t}${ZEXT} -\> $${l}${ZEXT}; \
  		rm -f $${t} $${t}${MCOMPRESS_EXT}; \
 -		${INSTALL_LINK} $${l}${ZEXT} $${t}${ZEXT}; \
 +		ln $${l}${ZEXT} $${t}${ZEXT}; \
  	done
  .endif
  .endif
 
 Modified: stable/9/share/mk/bsd.own.mk
 ==============================================================================
 --- stable/9/share/mk/bsd.own.mk	Tue Mar 19 19:49:06 2013	(r248530)
 +++ stable/9/share/mk/bsd.own.mk	Tue Mar 19 20:00:34 2013	(r248531)
 @@ -181,15 +181,6 @@ NLSMODE?=	${NOBINMODE}
  
  INCLUDEDIR?=	/usr/include
  
 -#
 -# install(1) parameters.
 -#
 -HRDLINK?=	-l h
 -SYMLINK?=	-l s
 -
 -INSTALL_LINK?=		${INSTALL} ${HRDLINK}
 -INSTALL_SYMLINK?=	${INSTALL} ${SYMLINK}
 -
  # Common variables
  .if !defined(DEBUG_FLAGS)
  STRIP?=		-s
 
 Modified: stable/9/usr.sbin/mergemaster/mergemaster.sh
 ==============================================================================
 --- stable/9/usr.sbin/mergemaster/mergemaster.sh	Tue Mar 19 19:49:06 2013	(r248530)
 +++ stable/9/usr.sbin/mergemaster/mergemaster.sh	Tue Mar 19 20:00:34 2013	(r248531)
 @@ -629,7 +629,12 @@ case "${RERUN}" in
          ${MM_MAKE} DESTDIR=${DESTDIR} distrib-dirs >/dev/null
          ;;
        esac
 -      od=${TEMPROOT}/usr/obj
 +      if [ -d `${MM_MAKE} -V .OBJDIR` ]; then
 +	od=`${MM_MAKE} -V MAKEOBJDIRPREFIX`
 +      else
 +        od=${TEMPROOT}/usr/obj
 +      fi
 +      echo $od 1>&2
        ${MM_MAKE} DESTDIR=${TEMPROOT} distrib-dirs >/dev/null &&
        MAKEOBJDIRPREFIX=$od ${MM_MAKE} _obj SUBDIR_OVERRIDE=etc >/dev/null &&
        MAKEOBJDIRPREFIX=$od ${MM_MAKE} everything SUBDIR_OVERRIDE=etc >/dev/null &&
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 
Responsible-Changed-From-To: freebsd-bugs->brooks 
Responsible-Changed-By: brooks 
Responsible-Changed-When: Tue Mar 19 20:29:35 UTC 2013 
Responsible-Changed-Why:  
Take this.  I've backed the change out in 9-STABLE, but it's been in head 
for quite some time. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=177055 

From: Tim Daneliuk <tundra@tundraware.com>
To: bug-followup@FreeBSD.org, tundra@tundraware.com
Cc:  
Subject: Re: misc/177055: New Changes To &#39;install&#39; Appear To Have
 Broken &#39;mergemaster&#39;
Date: Wed, 20 Mar 2013 17:45:49 -0500

 It looks like this backout fixed the problem as I was able to
 run mergemaster properly after last night's source update.
 
 Thanks - You can close this one.
 -- 
 ----------------------------------------------------------------------------
 Tim Daneliuk     tundra@tundraware.com
 PGP Key:         http://www.tundraware.com/PGP/
 
State-Changed-From-To: open->closed 
State-Changed-By: linimon 
State-Changed-When: Mon Apr 15 01:49:08 UTC 2013 
State-Changed-Why:  
Submitter notes that the backout fixed the problem. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=177055 
>Unformatted:
