From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-it0-x22d.google.com (mail-it0-x22d.google.com [IPv6:2607:f8b0:4001:c0b::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 0BC951A1E11 for ; Sun, 4 Sep 2016 13:35:21 -0700 (PDT) Received: by mail-it0-x22d.google.com with SMTP id e124so120343901ith.0 for ; Sun, 04 Sep 2016 13:35:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=dF2zP67SWRx4igNDFK5H+ihdr1oZZczxToiKvWkzAAE=; b=CekHoshamTVtF433vjggDR4KQCpg/6KsDVDpW531W9UpgDewKKEwX0x+e6e8gyF7L3 VxscyHFjHd/E3JmTFWpVjDV1FcOcUZKnqQBFbAZEpVXVpPbn63hW9fuMLLWIiLCV6C05 TBsNH0RK87NCeg+j7twXIdBCn7Cy/Iy7FG0xM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=dF2zP67SWRx4igNDFK5H+ihdr1oZZczxToiKvWkzAAE=; b=AH4o0jc9C7LUBFy1Qy1a+OR9Qicq/p0QpMyjtFYieoihJlf8CbZj6Tej12FOyyrdMP 1OXL41i1nwpZYksGg7b5plQk4I/E4ufDxUG9YglB45glpQ2Ei9PoL7R21VHT8hiSTp02 3VQ0JTgZePFt5zprSQIFpPpTXZQCBVqNiki6lVBlo/x0BtvXSgMAvNxzSDVsgKClTCWK l0tpSdUMH4Hb603dlFgbQI+vpWp7RllOiUlfckyz9YciWpmIDr2HZZhSY77ya7y+iZXw N+qzWBIsrFw+oagsznNJ6sbLC6CeMLTjy7AL7UO6KTlpm9wM3o5JTTvpT6y3iwMHnouk MttQ== X-Gm-Message-State: AE9vXwOcDJV+IqfHyiEWGDsvaceSHNuvV0oppm/txsuVYrgNeuM2EboI8xthWxgWv1TQ0PeKAUdYzZJpHJBgozPo X-Received: by 10.36.141.194 with SMTP id w185mr19619133itd.87.1473021320089; Sun, 04 Sep 2016 13:35:20 -0700 (PDT) MIME-Version: 1.0 Received: by 10.36.204.195 with HTTP; Sun, 4 Sep 2016 13:35:19 -0700 (PDT) In-Reply-To: References: <20160904154135.4324-1-leif.lindholm@linaro.org> From: Ard Biesheuvel Date: Sun, 4 Sep 2016 21:35:19 +0100 Message-ID: To: Michael Zimmermann Cc: Leif Lindholm , edk2-devel-01 , Liming Gao Subject: Re: [RFC] edksetup.sh: detect updated BaseTools templates X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Sep 2016 20:35:21 -0000 Content-Type: text/plain; charset=UTF-8 On 4 September 2016 at 17:10, Michael Zimmermann wrote: >> Could we instead make the files under Conf/ symlinks to the templates? > Sounds like a good idea in general but what about windows? afaik only NTFS > has support for them. > Ah yes, excellent point. So perhaps the BaseTools should simply default to the template if the Conf/ version is missing? I am concerned about breaking people's workflow where they keep non-trivial local changes in these files. > On Sun, Sep 4, 2016 at 5:55 PM, Ard Biesheuvel > wrote: >> >> On 4 September 2016 at 16:41, Leif Lindholm >> wrote: >> > Make edksetup.sh automatically update the cached configuration under >> > Conf/ when the templates under BaseTools/Conf/ change. >> > >> > Contributed-under: TianoCore Contribution Agreement 1.0 >> > Signed-off-by: Leif Lindholm >> > --- >> > >> > We keep getting questions from people starting out with EDK2 >> > development, >> > whenever certain options in the BaseTools template configs change and >> > their builds break. I don't know if this naive sledgehammer approach is >> > acceptable, but I'd like to make life easier for people. >> > >> >> Could we instead make the files under Conf/ symlinks to the templates? >> That way, people can still keep local changes in these files, which is >> presumably the reason for this arrangement, while the 'naive' user >> [with no interest in keeping local changes] does not have to deal with >> this. >> >> >> > edksetup.sh | 33 +++++++++++++++++++++++++++++++-- >> > 1 file changed, 31 insertions(+), 2 deletions(-) >> > >> > diff --git a/edksetup.sh b/edksetup.sh >> > index 57368b5..77f0d43 100755 >> > --- a/edksetup.sh >> > +++ b/edksetup.sh >> > @@ -33,12 +33,41 @@ function HelpMsg() >> > return 1 >> > } >> > >> > +function ClearCache() >> > +{ >> > + CONF_FILES="build_rule target tools_def" >> > + if [ -z "$EDK_TOOLS_PATH" ] >> > + then >> > + TEMPLATE_PATH=./BaseTools/Conf/ >> > + else >> > + TEMPLATE_PATH="$EDK_TOOLS_PATH/Conf/" >> > + fi >> > + >> > + DELETED_FILES=0 >> > + for File in $CONF_FILES >> > + do >> > + TEMPLATE_FILE="$TEMPLATE_PATH/$File.template" >> > + CACHE_FILE="Conf/$File.txt" >> > + if [ "$TEMPLATE_FILE" -nt "$CACHE_FILE" ] >> > + then >> > + echo "Removing outdated '$CACHE_FILE'." >> > + rm "$CACHE_FILE" >> > + DELETED_FILES=$(($DELETED_FILES + 1)) >> > + fi >> > + done >> > + >> > + unset TEMPLATE_PATH TEMPLATE_FILE CACHE_FILE >> > + return $DELETED_FILES >> > +} >> > + >> > function SetWorkspace() >> > { >> > # >> > - # If WORKSPACE is already set, then we can return right now >> > + # Check for updated BaseTools templates. If none, and >> > + # WORKSPACE is already set, then we can return right now >> > # >> > - if [ -n "$WORKSPACE" ] >> > + ClearCache >> > + if [ $? -ne 0 -a -n "$WORKSPACE" ] >> > then >> > return 0 >> > fi >> > -- >> > 2.9.3 >> > >> _______________________________________________ >> edk2-devel mailing list >> edk2-devel@lists.01.org >> https://lists.01.org/mailman/listinfo/edk2-devel > >