From c6db16971ce0913338a6e678a85929cf22c99167 Mon Sep 17 00:00:00 2001 From: tsutsui Date: Sun, 26 Feb 2012 20:32:40 +0000 Subject: [PATCH] Add sanity checks for live-image and install-image targets (which require mtree spec files built with MKUNPRIVED=yes) to avoid unexpected makefs(8) error during image builds: - if release op is specified with live-image or install-image at the same time, make sure -U is also specified for the image builds - before perform live-image and install-image ops check METALOG file in DESTDIR to see if the build have been performed with MKUNPRIVED XXX: Probably toolchain should create consistent spec files in XXX: DESTDIR/etc/mtree dir regardless of MKUNPRIVED settings. --- build.sh | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/build.sh b/build.sh index c97677ec4221..172f609c3375 100755 --- a/build.sh +++ b/build.sh @@ -1,5 +1,5 @@ #! /usr/bin/env sh -# $NetBSD: build.sh,v 1.253 2012/01/22 03:53:32 tsutsui Exp $ +# $NetBSD: build.sh,v 1.254 2012/02/26 20:32:40 tsutsui Exp $ # # Copyright (c) 2001-2011 The NetBSD Foundation, Inc. # All rights reserved. @@ -503,6 +503,8 @@ initdefaults() do_syspkgs=false do_iso_image=false do_iso_image_source=false + do_live_image=false + do_install_image=false do_params=false do_rump=false @@ -1577,6 +1579,16 @@ validatemakeparams() fi ;; esac + + # live-image and install-image targets require binary sets + # (actually DESTDIR/etc/mtree/set.* files) built with MKUNPRIVED. + # If release operation is specified with live-image or install-image, + # the release op should be performed with -U for later image ops. + # + if ${do_release} && ( ${do_live_image} || ${do_install_image} ) && \ + [ "${MKUNPRIVED}" = "no" ] ; then + bomb "-U must be specified on building release to create images later." + fi } @@ -1644,7 +1656,7 @@ createmakewrapper() eval cat <