Commit Graph

21 Commits

Author SHA1 Message Date
Peter Korsgaard
7266ed4653 Makefile.package.in: make <pkg>_SOURCE optional
For packages where the sources are included in buildroot (E.G. makedevs).
We unfortunately already use no <pkg>_SOURCE to mean <pkg>_<version>.tar.gz,
in several packages (and for git/svn/bzr support), so you need to
define <pkg>_SOURCE to the empty string to use it.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-03-12 22:10:56 +01:00
Gustavo Zacarias
6908149bec package infra: fix versioned patches for host packages
Without this patch we'd need separate versioned patch directories for
target and host packages, thus having unwanted duplication.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-27 22:00:59 +01:00
Thomas Petazzoni
960d268b25 infrastructure: only require download tools when needed
Instead of having to require svn, git or bzr unconditionally, only
require them when one package needs them to be downloaded.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-12-24 17:48:26 +01:00
Daniel Nyström
ac294cf557 package/Makefile.package.in: Added BZR download support
Signed-off-by: Daniel Nyström <daniel.nystrom@timeterminal.se>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-12-24 17:48:07 +01:00
Lionel Landwerlin
89d1ad91fe package: move autoreconfigure step to pre configure hook
[Peter: update documentation to match]
Signed-off-by: Lionel Landwerlin <llandwerlin@gmail.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-05 10:03:29 +01:00
Lionel Landwerlin
763822e874 Fix <PKG_NAME>_VERSION variable setup
Commit 993e51bc22 introduced a problem
to compute <PKG_NAME>_VERSION variable when PKG_NAME start with
'HOST_'.

Signed-off-by: Lionel Landwerlin <llandwerlin@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-09-20 16:24:54 +02:00
Peter Korsgaard
a172611725 Merge branch 'for-2010.11/download-rework' of git://git.busybox.net/~tpetazzoni/git/buildroot
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-09-17 14:09:48 +02:00
Maxime Petazzoni
1475384413 Revert "Makefile.package.in: allow packages to override download step"
This reverts commit 48cf66f1a2.

Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-09-13 08:18:46 +02:00
Maxime Petazzoni
d147b81fda Re-implement the source-check and external-deps targets
The new DL_MODE variable dispatches between the various download
implementations of each method (Git, Subversion, Wget) to deal with the
normal download (default mode, 'DOWNLOAD'), the source-check
('SOURCE_CHECK') and to show the external dependencies for external-deps
('SHOW_EXTERNAL_DEPS').

For the latter, the legacy script wget-show-external-deps.sh is no
longer required as $(WGET) isn't called directly anymore but always
through the DOWNLOAD helper.

Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-09-13 08:18:40 +02:00
Maxime Petazzoni
993e51bc22 Implement basic non-wget download methods
Packages can now be sourced from Git and Subversion repositories. The
download method will be autodetected from the URI (git://, svn://, etc).
If the repository is accessed through http(s), you can force the
download method by setting a _SITE_METHOD variable to either 'git' or
'svn', respectively and without the quotes.

The package's _VERSION variable defines which commit, revision, tag or
branch should be checked out. For Git, it can be HEAD, a commit ID, a
tag name or branch name (anything that can be checked out with `git
checkout`). For Subversion, it must be a revision number, or HEAD.

Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-09-13 08:18:20 +02:00
Maxime Petazzoni
07b2af1a45 Remove the spider feature
In preparation for the re-work of the DOWNLOAD helper to support
multiple download methods and protocols, the spider feature used with
wget is removed for now until it is re-implemented on top of the new
download methods.

Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-09-13 08:17:46 +02:00
Thomas Petazzoni
ae2be8dbc3 infrastructure: remove support for old style hooks
Now that all old-style hooks occurences have been converted to
new-style hooks, let's get rid of the code needed to support old-style
hooks from the package infrastructure.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-09-12 19:26:54 +02:00
Malte Starostik
0383d48a5e Match whole words when changing .config options
Make KCONFIG_{ENABLE,DISABLE,SET}_OPT match whole words only.
Fixes that BR_INET_IPV6 enables CONFIG_IPV6 in the kernel's
.config, but also nukes everything with "CONFIG_IPV6" in its name, e.g.
CONFIG_IPV6_PRIVACY.  This in turn causes any IPv6 options in a custom
kernel .config to be lost and oldconfig going interactive.

Signed-off-by: Malte Starostik <m-starostik@versanet.de>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-18 22:46:06 +02:00
Peter Korsgaard
48cf66f1a2 Makefile.package.in: allow packages to override download step
E.G. for checkout from version control instead.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-01 17:31:39 +02:00
Peter Korsgaard
d39ca39269 Makefile.autotools.in fix typo (s/extrators/extractors/)
Noticed by Michael S. Zick.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-06-23 23:13:48 +02:00
Paul Jones
059f6bb68a Makefile.package.in: Add support for *.tbz2 package archives
Signed-off-by: Paul Jones <paul@pauljones.id.au>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-06-23 23:05:33 +02:00
Thomas Petazzoni
0802370746 Add generic functions to enable/set/disable options in kconfig files
The KCONFIG_ENABLE_OPT, KCONFIG_SET_OPT and KCONFIG_DISABLE_OPT are
new make functions to respectively enable, set and disable options in
Kconfig-like files (as used by the kernel, uClibc or Busybox).

They can be used as follows :

 $(call KCONFIG_ENABLE_OPT,CONFIG_FOOBAR,/path/to/.config)
 $(call KCONFIG_SET_OPT,CONFIG_BARFOO,foobar,/path/to/.config)
 $(call KCONFIG_DISABLE_OPT,CONFIG_FARBOO,/path/to/.config)

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-06-22 21:20:27 +02:00
Thomas Petazzoni
118b880d73 package: Add new <pkg>-show-depends to list dependencies
The new <pkg>-show-depends simply outputs the list of dependencies for
the given package.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-05-21 15:07:33 +02:00
Peter Korsgaard
4efdd9f3d9 Makefile.package.in: optimize UPPERCASE macro
As noticed by Thomas, we call the UPPERCASE macro a lot, and it slows down
startup quite a bit.

Optimize it by implementing it in make, rather than forking a shell + tr.
The implementation is heavily based on the 'up' macro from gmsl
(http://gmsl.sf.net)

With this in place, startup time is ~5 times lower.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-05-06 20:56:18 +02:00
Thomas Petazzoni
bb36364742 Do not remove documentation on a per-package basis
Since the documentation cleanup is done by the main Makefile in a
global way, there's no need to do that on a per-package basis in the
generic package infrastructure.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-04-11 06:01:08 +02:00
Thomas Petazzoni
e11fe847b2 Add generic package infrastructure
This new infrastructure allows to write simpler .mk files for packages
not using the autotools as their build system, by factorizing many
common steps (download, extract, patching), and will more easily allow
Buildroot-wide changes in how the packages are handled.

The main macro is called GENTARGETS and works similarly to the
AUTOTARGETS macro that already exists for autotools-based
packages. However, the set of variables to be defined before calling
the macro is different. Refer to the documentation for details.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-12-15 18:09:23 +01:00