Update the grep tests used to determine the package type.
The package name and directory are now worked out magically due to:
package: add helper functions to get package name and directory magically
Because of this the extra arguments were removed by patches:
package: remove useless arguments from GENTARGETS
package: remove useless arguments from AUTOTARGETS
package: remove useless arguments from CMAKETARGETS
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Otherwise we end up with libbfd/libopcodes in host/usr/$BUILD/$TARGET/lib,
used by the binaries. Unfortunately it also adds rpaths, which first look
in the build directory before here, causing trouble if the toolchain is
used outside BR (E.G. for a SDK) and the build directory location reused
for another incompatible build (E.G. another ARCH), as the binutils
binaries then end up using the wrong libs.
Fix it by linking statically instead.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Fix sample mpd.conf so that the playlists directory lives inside the
main mpd data directory.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Bump mpg123 to version 1.13.4, fixes for very long files (endless
streams).
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The changes in e055aea216 and
0849e8193e have broken the bootloader
support.
This is because the 'pkgparentdir' macro returns the string 'boot/'
for bootloaders, while the GENTARGETS_INNER macro was testing this
against 'boot' to know if the configuration option to check for this
package is BR2_PACKAGE_* or BR2_TARGET_*.
So, instead of testing against 'boot', we test against 'boot/'.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The recent update added some new plugins. This commit makes
them selectable in buildroot.
Signed-off-by: Sven Neumann <s.neumann@raumfeld.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Parallel builds sometimes break when audio/testchannels is
compiled before the gstinterfaces library.
Signed-off-by: Sven Neumann <s.neumann@raumfeld.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
For wget-downloaded packages, only the tarball name was displayed,
while for svn/git/bzr packages, the complete repository URL was
shown. As discussed on the list, what we want for 'make external-deps'
is only the tarball name even for git/svn/bzr downloads.
For local packages, we of course keep the full path since it's the
only information that we can provide.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
[Peter: fix missing newline at eof]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This can be used this way :
<pkg>_VERSION = 42
<pkg>_SITE = file:///some/local/directory
<pkg>_SOURCE = mypkg-$(<pkg>_VERSION).tar.bz2
Can be useful to integrate a home-made project or for testing purposes.
The default command to retrieve files is 'cp' but 'rsync' could also be used.
Through sshfs, it should also be possible to get non-public remote files on a
ssh server.
[ Thomas Petazzoni: use $(PKG)_SITE and $(PKG)_SOURCE variables
instead of $(1) and $(2) ]
[ Peter: don't append $(QUIET), cp doesn't handle -q]
Signed-off-by: David Wagner <david.wagner@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Thanks to the pkgparentdir and pkgname functions, we can rewrite the
GENTARGETS macro in a way that avoids the need for each package to
repeat its name and the directory in which it is present.
[Peter: pkgdir->pkgparentdir]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Thanks to the pkgparentdir and pkgname functions, we can rewrite the
AUTOTARGETS macro in a way that avoids the need for each package to
repeat its name and the directory in which it is present.
[Peter: pkgdir->pkgparentdir]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Thanks to the pkgparentdir and pkgname functions, we can rewrite the
GENTARGETS macro in a way that avoids the need for each package to
repeat its name and the directory in which it is present.
[Peter: pkgdir->pkgparentdir]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit adds the functions "pkgname" and "pkgdir", which can then
be used to automatically find the name of the package and the
directory of the package which does the call to
GENTARGETS/AUTOTARGETS/CMAKETARGETS. These functions use the
$(MAKEFILE_LIST) variable, which make automatically makes available,
and which contains the list of included Makefiles, with the current
Makefile being last. Thanks to this variable and a little bit of
string manipulation, we can easily find out automatically the package
name and the directory it is part of.
These functions are used in later commits to simplify the GENTARGETS,
AUTOTARGETS and CMAKETARGETS calls.
[Peter: Rename to pkgmakefile->pkgdir, pkgdir->pkgparentdir as that's what it is]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The new override source directory mechanism allows to tell Buildroot
to use a particular directory as the source directory for a
package. However, this mechanism works with a local override makefile
and not directly within the package recipe itself.
For some use cases, it might be desirable to write a package recipe
which always refers to a local source directory (and not a http, git,
svn or bazaar download). This commit makes this possible by adding the
'local' site method. It allows to write package recipes as follows:
MYPKG_SITE = /tmp/mypkg-source-code
MYPKG_SITE_METHOD = local
[...]
$(eval $(call GENTARGETS,package,mypkg))
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
We are often asked "how can I restart the build of a package ?" or
"how can I restart the build of package from the configure part
?". Obviously, tweaking with stamp files is possible, but not very
user friendly.
Therefore this patch adds two new per-package targets: <pkg>-rebuild
and <pkg>-reconfigure. They will remove the right stamp files and
restart the complete build process (by using the 'all' target, so that
not only the package is reconfigured, recompiled and reinstalled, but
the root filesystem images are also regenerated).
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The user can now create a custom local override file to override the
source directory for various packages.
An example override file:
ZLIB_OVERRIDE_SRCDIR = /tmp/zlib
STRACE_OVERRIDE_SRCDIR = /opt/strace-4.5.20
would tell Buildroot to use the zlib and strace source code from the
specified directories, instead of download, extracting and patching
the code has done usually by Buildroot.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
When a variable <pkg>_OVERRIDE_SRCDIR is defined, then Buildroot will
no longer try to download, extract and patch the package. It will
simply use the value of this variable as the source directory for the
package. The contents of the package sources will be rsynced to the
package build directory in $(O)/build/pkg-version/.
This can be used to tell Buildroot that the sources for a given
package are inside some directory that you control, and which can be
versioned in Git/SVN, or handled in whichever way you want.
Those <pkg>_OVERRIDE_SRCDIR variables will be defined by a local
makefile included by Buildroot, which will be handled in a later
commit.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Disable GPM support for host ncurses build since it sometimes breaks the
build.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
An initramfs is in fact the same as a cpio archive, but embedded in
the kernel. So instead of duplicating the cpio infrastructure,
we can simply build images/rootfs.cpio and link that into the
kernel.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Devtmpfs doesn't get automounted by the kernel when an initramfs is used.
Since cpio archives are used almost exclusively as an initramfs, the same
fix should be applied to it as for the initramfs.
Cfr. commit 424888e474 and
10a130f91e.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>