From owner-freebsd-current@FreeBSD.ORG Mon Aug 25 22:28:57 2014 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 63CF0B6A; Mon, 25 Aug 2014 22:28:57 +0000 (UTC) Received: from vps1.elischer.org (vps1.elischer.org [204.109.63.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "vps1.elischer.org", Issuer "CA Cert Signing Authority" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 3EEC33478; Mon, 25 Aug 2014 22:28:56 +0000 (UTC) Received: from julian-mbp3.pixel8networks.com (50-196-156-133-static.hfc.comcastbusiness.net [50.196.156.133]) (authenticated bits=0) by vps1.elischer.org (8.14.9/8.14.9) with ESMTP id s7PMSnfp087988 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Mon, 25 Aug 2014 15:28:50 -0700 (PDT) (envelope-from julian@freebsd.org) Message-ID: <53FBB89B.2020501@freebsd.org> Date: Mon, 25 Aug 2014 15:28:43 -0700 From: Julian Elischer User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Brooks Davis , Craig Rodrigues Subject: Re: "make installworld" commands used to generate manifest for makefs? References: <20140825165522.GC91673@spindle.one-eyed-alien.net> <20140825193629.GD91673@spindle.one-eyed-alien.net> In-Reply-To: <20140825193629.GD91673@spindle.one-eyed-alien.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-current Current X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 25 Aug 2014 22:28:57 -0000 On 8/25/14, 12:36 PM, Brooks Davis wrote: > On Mon, Aug 25, 2014 at 10:38:12AM -0700, Craig Rodrigues wrote: >> On Mon, Aug 25, 2014 at 9:55 AM, Brooks Davis wrote: >>> On Sun, Aug 24, 2014 at 04:10:21PM -0700, Craig Rodrigues wrote: >>>> Hi, >>>> >>>> Is there an easy way to take most of the commands performed >>>> during "make installworld" and create a manifest file >>>> which is compatible with makefs? >>> make -DNO_ROOT -DDB_FROM_SRC DESTDIR= installworld if you haven't already this should be documented in the base makefiles along with the other -DXXXX values. >>> >>> should result in a /METALOG file suitable for passing to makefs. >>> You may also want the distribution target if you want a populated /etc. >>> >>> -- Broks >> Hi, >> >> I got this: >> >> >> # make -DNO_ROOT -DDB_FROM_SRC DESTDIR=/tmp installworld > you really don't want DESTDIR=/tmp, it will install a full OS in that > directory along with the METALOG file. > >> mkdir -p /tmp/install.hEJfJDhM >> progs=$(for prog in [ awk cap_mkdb cat chflags chmod chown date echo >> egrep find grep id install ln lockf make mkdir mtree mv pwd_mkdb rm >> sed services_mkdb sh sysctl test true uname wc zic tzsetup ; do if >> progpath=`which $prog`; then echo $progpath; else echo "Required >> tool $prog not found in PATH." >&2; exit 1; fi; done); libs=$(ldd >> -f "%o %p\n" -f "%o %p\n" $progs 2>/dev/null | sort -u | while read >> line; do set -- $line; if [ "$2 $3" != "not found" ]; then echo $2; >> else echo "Required library $1 not found." >&2; exit 1; fi; >> done); cp $libs $progs /tmp/install.hEJfJDhM >> cp -R ${PATH_LOCALE:-"/usr/share/locale"} /tmp/install.hEJfJDhM/locale >> echo "#mtree 2.0" > /tmp//METALOG >> cd /usr/src; MAKEOBJDIRPREFIX=/usr/obj MACHINE_ARCH=amd64 >> MACHINE=amd64 CPUTYPE= >> GROFF_BIN_PATH=/usr/obj/usr/src/tmp/legacy/usr/bin >> GROFF_FONT_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/groff_font >> GROFF_TMAC_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/tmac >> PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/legacy/bin:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/tmp/install.hEJfJDhM >> LD_LIBRARY_PATH=/tmp/install.hEJfJDhM >> PATH_LOCALE=/tmp/install.hEJfJDhM/locale make -DWITH_ATF -f >> Makefile.inc1 INSTALL="install -N /usr/src/etc -U -M /tmp//METALOG -D >> /tmp" MTREE_CMD="mtree -N /usr/src/etc -W" >> __MAKE_SHELL=/tmp/install.hEJfJDhM/sh -DNO_ROOT METALOG=/tmp//METALOG >> reinstall; MAKEOBJDIRPREFIX=/usr/obj MACHINE_ARCH=amd64 MACHINE=amd64 >> CPUTYPE= GROFF_BIN_PATH=/usr/obj/usr/src/tmp/legacy/usr/bin >> GROFF_FONT_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/groff_font >> GROFF_TMAC_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/tmac >> PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/legacy/bin:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/tmp/install.hEJfJDhM >> LD_LIBRARY_PATH=/tmp/install.hEJfJDhM >> PATH_LOCALE=/tmp/install.hEJfJDhM/locale rm -rf /tmp/install.hEJfJDhM >> make[2]: "/usr/src/share/mk/bsd.compiler.mk" line 37: Unable to >> determine compiler type for cc. Consider setting COMPILER_TYPE. > You need to build world before you can install it. > > -- Brooks