From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeremy Rosen Date: Thu, 30 Jan 2014 10:53:58 +0100 (CET) Subject: [Buildroot] Project layout : where to put the .config files In-Reply-To: <1357102119.4889305.1391074415327.JavaMail.root@openwide.fr> Message-ID: <153768653.4890423.1391075638245.JavaMail.root@openwide.fr> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net Hello everybody Buildroot is currently in the process of cleanly separating files that are generated by buildroot and are throwaway files (in the output directory) from files that are configuration files (the BR2_EXTERNAL directory) However the .config files used by buildroot and other kconfig enabled software are not dealt with in a way that is consistant. .config is the main buildroot configuration file. This is, more than anything else "the project." It is the file we want to keep in git, share within a software project, be warned in case of conflict. However it is currently savedin the output directory. I am sending this mail to understand how the community see this file, if there is something that needs to be changed to follow the new separation and see what I can do to get this going. (I will focus only in the buildroot .config file, the kernel, busybox and uclibc ones can be worked out after that) so, I have been looking around and there are a couple of approches I can think of... * keep the current approch .config is considered a throw away file, it is logical that it is in output/ and it is normal that it is destroyed on a regular basis. I don't like this too much because, for a final product, it is the most important file, and a file that needs to be kept in git. I don't think it is very logical to have such an important file be a hidden file and be in a directory that is meant to be removed. * keep the file as $(CONFIG_DIR)/.config, but document that CONFIG_DIR can be overridden This keeps the file as a hidden file, but it allows us to move it out of the output directory. Maybe CONFIG_DIR should default to BR2_EXTERNAL instead of output/ (with some backward compatibility layer) * allow to override the configuration file with env variables Basically allow overriding BUILDROOT_CONFIG from the command line. This would solve all the problems I have but I am not sure it follows the buildroot philosophy, thus the long mail. This could be a subject for the buildroot days. If other people are interested I can add it to the list of topics... (note that I tried moving the kernel/busybox .config and it's more tricky than the buildroot one... maybe we need a generic infrastructure for kconfig enabled packages...) Regards J?r?my Rosen fight key loggers : write some perl using vim Open Wide Ingenierie 23, rue Daviel 75013 Paris - France www.openwide.fr