Thread (11 messages) flat view 11 messages, 4 authors, 2011-06-24

[Buildroot] [RFC] Override source directories

From: Alper Yıldırım <hidden>
Date: 2011-06-08 20:22:45

Hi Thomas,

On Thu, May 19, 2011 at 12:48 AM, Thomas Petazzoni
[off-list ref] wrote:
Hello,

Here is a set of RFC patches that implement the basic mechanism I have
been referring to since a couple of weeks/months about allowing users
to override the source directory for packages.
quoted
From an user perspective, it allows ones to create a "local.mk" file
in the Buildroot main source directory, with variable definitions such
as :

?ZLIB_OVERRIDE_SRCDIR = /tmp/zlib
?MYAPP_OVERRIDE_SRCDIR = /home/foobar/project/myapp
?LIBGLIB2_OVERRIDE_SRCDIR = /home/foobar/git/libglib2

At build time, Buildroot would use those directories at the source for
the packages, instead of downloading, extracing and patching them in
the usual way.

Internally, this is implemented inside our package infrastructure, so
this mechanism should work for all packages that rely on the
infrastructure. The GENTARGETS macro makes sure that the package build
process bypasses the download, extract and patch step when
<pkg>_OVERRIDE_SRCDIR is defined, and instead a symlinking step is
added. It's very simple.
It is definitely what i want from buildroot. This feature is a must when working
with local application repositories.
This series of patches also add the <pkg>-reconfigure and
<pkg>-rebuild targets, which makes it easy for users to restart the
package build process at the compilation step or at the configuration
step, without having to mess up with stamp file details.

There are still a few issues to solve and discuss, though :

?* Is local.mk inside the main source directory the good solution?
? Should we instead provide a configuration option to set the path to
? the override file? Or another solution?
I prefer having a configuration option for this, it will be more flexible.
?* As the mechanism is implemented today, "make clean" removes the
? symbolic link $(O)/build/<pkg>-<version>, but not the stamp files
? created inside this source directory. So next time the build is
? started, things will go wrong. To solve this, the only solution I
? see is to separate the directory with the stamp files from the
? source directory, at least in the case of overriden source
? directories.
I guess, it won't hurt to have an extra stamp directory for locally overridden
source directories.
?* Other things?

Feedback, comments and ideas welcome.
When do you plan to release this feature.
Please don't wait too much.

Cheers,
Alper
Regards,

Thomas

The following changes since commit 7234c23967fa70b760c64700e56bb1778019fbeb:

?CHANGES: update with recent changes (2011-05-18 21:02:30 +0200)

are available in the git repository at:
?http://free-electrons.com/~thomas/buildroot.git for-2011.08/sourcedir

Thomas Petazzoni (4):
? ? ?package: enhance infrastructure to support source dir override
? ? ?package: remove stamp files in <pkg>-dirclean
? ? ?package: add <pkg>-rebuild and <pkg>-reconfigure
? ? ?Include a local.mk for package overrides

?Makefile ? ? ? ? ? ? ? ? ? ?| ? ?1 +
?package/Makefile.package.in | ? 30 ++++++++++++++++++++++++++++++
?2 files changed, 31 insertions(+), 0 deletions(-)

Thanks,
--
Thomas Petazzoni
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help