Received: by 2002:ac0:aed5:0:0:0:0:0 with SMTP id t21csp4754791imb; Wed, 6 Mar 2019 23:04:38 -0800 (PST) X-Google-Smtp-Source: APXvYqwsSYnsVCnYEb/Strzxo4rRZJUZ7dHEAjhYBu57U8Jgq52l4HV2RRuKvBUGDS54eiVWMjN3 X-Received: by 2002:a17:902:744b:: with SMTP id e11mr11250666plt.220.1551942278456; Wed, 06 Mar 2019 23:04:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1551942278; cv=none; d=google.com; s=arc-20160816; b=nCvQ/lcaV/V/CZ3N/Qn+ylkGQ/zyk2qmffiNdIE1qMO0Qkf+/Ag2uj418WUsjK56DQ X21zILL8ut959pX1citWp6aoj0hGtZ7lZQvwXBp19GfXmBEF09Wt/unzwDg6pp9GoLTx MJ5BlhMQzpaOf0qn1vlYoSbuHvI/1HSQ4ZYp1Ur1y5mSCxNd/Dhc4qAi+1M/wsFpcICP kX4UKxq3dmweRe3Q/sTNMQJTGQYyME2UY0wsayz4BJTRIN1nsCxAw52ixqShhmMHGk70 qliIcOz2LsCp83klw3ZOT/q8qx1cERC5cuKsuECyFDYDiDYW+sfPjn9A0B81Jyx1K49X 6ZBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=2c7hHy3T2/5/U+27qiO8O6Q8deKGP/F9LM0AP4sc/CY=; b=qvXsXM7RsqXztyCEbJmHJivm4lAa1QXQ20L1FKu+iqdy20pU16d5RBYaAVszz2ciAB 3+OCr4w0/pLDupXmUiuV3xn55wZn9B+dX+ceLpPSlNfM1oDKiGWkNDjgvdxchVGkHSmp 5CXWzTRH/QHZM7ExBU9Lv0YEATq0sGQDz+2jqGI+oVuNmaoz/4dYz+IO7wkws8DKIoPM sRovz8WOx82f9QfQ0lG35vouhW4WMzDL/astxMenoTF6QTAEINGiHrDjdc+Vjx63aIqa Oe/WsQ7GbO4EAFWLKwXsBWIUpM4+96ZhV50RIUSVEuwiOEtb47CZn7R9I19pDGVoNZxp MDbg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@infradead.org header.s=bombadil.20170209 header.b=GAcbn1VN; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l7si3579480plg.320.2019.03.06.23.04.08; Wed, 06 Mar 2019 23:04:38 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@infradead.org header.s=bombadil.20170209 header.b=GAcbn1VN; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726423AbfCGHDk (ORCPT + 99 others); Thu, 7 Mar 2019 02:03:40 -0500 Received: from bombadil.infradead.org ([198.137.202.133]:55912 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726015AbfCGHDk (ORCPT ); Thu, 7 Mar 2019 02:03:40 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=In-Reply-To:Content-Type:MIME-Version :References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=2c7hHy3T2/5/U+27qiO8O6Q8deKGP/F9LM0AP4sc/CY=; b=GAcbn1VNUkKM1ozuGq5GECPAD o/X80OQejAaNzBiHymljcR8HlI16xkOPXFGl+bwUMft8D/RbpaqGJC4RZjo0U6MmtJYqH3AF9LhO3 tvIbGuZlTNDVAIqtga2TVUG5hFTFUIHOFYR26cU7pFqQEnrZfxcrbMRYt13sxZ3NOxF/yt7QURLZI rVwYU6YkY3I+ZHiACX1jLs/sx/4xsf92m1CSK0NfIVNv064Y9xO5LaicYI4rDKh4OSTQhMpmgnuuF bU8WNbKhovEVxFhPSpFwkwrYXlmzfzEIIA228SXbU7Re0dB7SBOr5ZEPxI67KNpp+gq2AwnrBKmXF wAjQRTDZQ==; Received: from dvhart by bombadil.infradead.org with local (Exim 4.90_1 #2 (Red Hat Linux)) id 1h1n46-0004DI-AQ; Thu, 07 Mar 2019 07:03:38 +0000 Date: Wed, 6 Mar 2019 23:03:36 -0800 From: Darren Hart To: "Enrico Weigelt, metux IT consult" Cc: Andy Shevchenko , Arnd Bergmann , Andy Shevchenko , Linus Walleij , Enrico Weigelt , "open list:GPIO SUBSYSTEM" , Platform Driver , Linux Kernel Mailing List , Masahiro Yamada , linux-kbuild@vger.kernel.org Subject: Re: [PATCH 2/3] x86: apuv2: fix input dependencies Message-ID: <20190307070336.GI44339@wrath> References: <20190304201930.1622839-1-arnd@arndb.de> <20190304201930.1622839-2-arnd@arndb.de> <54a7d035-155f-c47b-1db1-acb851b3aec6@metux.net> <82c978b2-e9c4-e178-e4b7-621729c2cee4@metux.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <82c978b2-e9c4-e178-e4b7-621729c2cee4@metux.net> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Mar 07, 2019 at 01:10:13AM +0100, Enrico Weigelt, metux IT consult wrote: > On 05.03.19 14:56, Andy Shevchenko wrote: > > > > Darren gave a talk about merging kernel configs to get something like > > you want to. > > This tool is quite long already lying around. merge_config.sh in your > > kernel source tree. > > Yes, that's similar to how some distros (eg. yocto) do it. > I wrote merge_config.sh to replace and simplify some of the yocto tooling. With merge_config upstream, Yocto now uses it directly. > But my requirements are a bit more complex: > > In my final meta-config, I just wanna say: > > * i have board A (possibly multiple boards) > * i need features X, Y, Z (eg. eth, display, can, ext4, acl, ...) > > And that shall be all to generate a minimal config for exactly those > requirements. That's also the goal of the Yocto configuration fragments, and is possible with merge_config with a set of defined fragments. > > Doing that by just putting config snippets together, quickly turns into > a maintenance hell. At least you'd need recursive dependencies and some > if/else logic. > > That's why I've written kmct: > > https://github.com/metux/kmct I had a look, the README could benefit from a basic usage example. Digging through it further, it appears that you are creating yaml files which contain CONFIGs. The problem with this in my opinion is these are kernel version specific, so you know have a lot of boiler plate yaml wrapping kernel version specific CONFIG options which will slowly get out of sync over time. This is the usual argument for keeping config fragments together with the kernel - and why we do that in arch/*/config for example. Perhaps I'm missing your desired workflow though. I tend to find the options I need and record them in a fragment, and save it off for later to quickly be able to "make defconfig fragA.config fragB.config" etc. Is what you're trying to do different? -- Darren Hart VMware Open Source Technology Center