[Buildroot] Project layout : where to put the .config files

Jeremy Rosen jeremy.rosen at openwide.fr
Thu Jan 30 09:53:58 UTC 2014


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



More information about the buildroot mailing list