summaryrefslogtreecommitdiffstats
path: root/package/pkg-generic.mk
Commit message (Collapse)AuthorAgeFilesLines
* rework patch modelSimon Dawson2013-03-191-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | At the Buildroot Developers Meeting (4-5 February 2013, in Brussels) a change to the patch logic was discussed. See http://elinux.org/Buildroot:DeveloperDaysFOSDEM2013 for details. In summary: * For patches stored in the package directory, if package/<pkg>/<version>/ does exist, apply package/<pkg>/<version>/*.patch, otherwise, apply package/<pkg>/*.patch * For patches stored in the global patches directory, if $(GLOBAL_PATCH_DIR)/<pkg>/<version>/ does exist, apply $(GLOBAL_PATCH_DIR)/<pkg>/<version>/*.patch, otherwise, apply $(GLOBAL_PATCH_DIR)/<pkg>/*.patch This patch adds the new BR2_GLOBAL_PATCH_DIR configuration item, and reworks the generic package infrastructure to implement the new patch logic. [Peter: fixup doc nits as pointed out by Thomas] Signed-off-by: Simon Dawson <spdawson@gmail.com> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* <pkg>-rsync: exclude version control filesThomas De Schampheleire2013-03-171-1/+1
| | | | | | | | | | | | | | | | When using rsync to import package sources (typically with PKG_OVERRIDE_SRCDIR), it often happens that these external sources are under version control, and contain directories like .git, .hg, etc. Depending on the project, these directories can become pretty large and typically have a lot of files. Moreover, they are not necessary in the context of building the package. Therefore, this commit adds the --cvs-exclude option to the rsync call, saving both disk space and sync time. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package: remove scripts listed in <pkg>_CONFIG_SCRIPTS from targetThomas Petazzoni2013-02-081-0/+5
| | | | | | | | | | The <foo>-config scripts are useless on the target, since they are only needed for development, so we remove them automatically. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Acked-by: "Samuel Martin" <s.martin49@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package: rename <pkg>_CONFIG_FIXUP to <pkg>_CONFIG_SCRIPTSThomas Petazzoni2013-02-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | This commit renames the newly introduced <pkg>_CONFIG_FIXUP variable to <pkg>_CONFIG_SCRIPTS, for two reasons: * <pkg>_CONFIG_SCRIPTS will not only "fixup" the scripts in $(STAGING_DIR)/usr/bin, but also remove them from $(TARGET_DIR)/usr/bin. So it is not only about doing a "fixup". * On the principle, it is strange that the variable carries an indication of the action that will take place on those files. It should rather be named to say "Here are the <foo>-config scripts", and let the package infrastructure decide if it should fix them up, remove them, etc. This commit also updates the documentation accordingly. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Acked-by: "Samuel Martin" <s.martin49@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* pkg-infra: add <pkg>_CONFIG_FIXUP to fix *-config filesStefan Fröberg2013-02-041-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch will add <pkg>_CONFIG_FIXUP variable to buildroot infra. It's purpose is to inform buildroot that the package in question contains some $(STAGING_DIR)/usr/bin/*-config files and that we want to automatically fix prefixes of such files. It is often the case that many packages call these files during their configuration step to determine 3rd party library package locations and any flags needed to link against them. For example: Some package might try to check the existense and linking flags of NSPR package by calling $(STAGING_DIR)/usr/bin/nspr-config --prefix. Without this fix. NSPR would return /usr/ as it's prefix which is wrong when cross-compiling. Correct would be $(STAGING_DIR)/usr. All packages that have <pkg>_INSTALL_STAGING = YES defined and also install some config file(s) into $(STAGING_DIR)/usr/bin must hereafter also define <pkg>_CONFIG_FIXUP with the correspondig filename(s). For example: DIVINE_CONFIG_FIXUP = divine-config or for multiple files: IMAGEMAGICK_CONFIG_FIXUP = Magick-config Wand-config Signed-off-by: Stefan Fröberg <stefan.froberg@petroprogram.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package: support multiple patchesThomas Petazzoni2013-01-071-5/+12
| | | | | | | | | | | | With this commit, we extend the behaviour of the <pkg>_PATCH variable so that it now allows to list several patches to be downloaded and applied, and no longer just one patch. This will be useful for the elfutils package, and should anyway not break the existing behaviour for packages using just one patch. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* pkg-infra: add <pkg>-extract and <pkg>-patch targets to OVERRIDE supportArnout Vandecappelle (Essensium/Mind)2012-12-061-0/+3
| | | | | | | | | | | | | | | | | The legal-info target (and possibly others as well) depends on <pkg>-extract to make sure the license file is available. However, when <PKG>_OVERRIDE_SRCDIR is active, the <pkg>-extract target doesn't exist. To solve this, we add <pkg>-extract which depends on <pkg>-rsync. While we're at it, we do the same for <pkg>-patch. That avoids the same problem in the future if something starts depending on <pkg>-patch. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* make legal-info: fails with OVERRIDE_SRCDIRStephan Hoffmann2012-12-051-1/+1
| | | | | | | | | | | | | | There is a check for OVERRIDE_SRCDIR in pkg-generic.mk that is supposed to produce a warning when OVERRIDE_SRCDIR is active. This does not work and instead the whole make terminates with an error message. This patch changes the check for active OVERRIDE_SRCDIR so that it works as expected. Signed-off-by: Stephan Hoffmann <sho@relinux.de> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* legal-info: split _LICENSE and _REDISTRIBUTE constantsLuca Ceresoli2012-11-041-9/+18
| | | | | | | | | | | | | Currently packages can be described in two ways: proprietary (tarball not saved, license not described in further detail), and others (tarball saved, license described). Split the logic to allow the license to be always described whether or not the source code can be redistributed. Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* legal-info: move $(2)_LICENSE to a proper lineLuca Ceresoli2012-11-041-2/+2
| | | | | Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* legal-info: support per-package hooksLuca Ceresoli2012-11-041-0/+2
| | | | | | | | | Useful to produce extra warnings for packages that have special licensing-related issues. Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* pkg-infra: correct the source name for host-only packagesArnout Vandecappelle2012-10-151-1/+1
| | | | | | | | | | | | | | | | Host-only package that don't define their <PKG>_SOURCE variable would default to host-<pkg>-<version>.tar.gz. It's more logical to remove the host- prefix in this case. This problem is most apparent with host-only packages downloaded from version control, because they never define <PKG>_SOURCE. Reported by Thomas Petazzoni and initial analysis by Luca Ceresoli. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Remove BR2_SOURCEFORGE_MIRROR variableThomas Petazzoni2012-08-291-3/+0
| | | | | | | | | Now that all packages have been converted to use the downloads.sourceforge.net URLs that automatically selects an available Sourceforge mirror, we can get rid of the BR2_SOURCEFORGE_MIRROR configuration variable. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Rework of the init systemMaxime Ripard2012-07-301-0/+8
| | | | | | | | | | | | | Since we have now two uncompatible init systems, and we want only one of them at the same time in use in the rootfs, we need to select a particular init system. This patch also adds $(PKG)_INSTALL_INIT_SYSTEMD and $(PKG)_INSTALL_INIT_SYSV hooks that are called when the matching init systems are selected to install properly the init scripts of the package. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* pkg-generic: fix SUBDIR handlingThomas Petazzoni2012-07-241-4/+4
| | | | | | | | Commit 9ba9bfb9a02706fa414bcf4c6dcceac1b68a5c9a inverted the logic to define $(2)_SUBDIR, breaking the build of things using the _SUBDIR feature, like the tcl package. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* pkg-*targets.mk: factorize and fix $(PKG)_SRCDIR and $(PKG)_BUILDDIR declarationSamuel Martin2012-07-221-0/+11
| | | | | Signed-off-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Clean up naming of old GENTARGETS infrastructureArnout Vandecappelle (Essensium/Mind)2012-07-171-0/+510
With the renaming of XXXTARGETS to xxx-package, the names of the pkg-xxx.mk files is inconsistent, as well as some internal names in the documentation. These inconsistencies are cleaned up here. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> ...kages-autotargets.txt => adding-packages-autotools.txt} | 4 ++-- ...packages-cmaketargets.txt => adding-packages-cmake.txt} | 4 ++-- docs/manual/adding-packages-directory.txt | 12 ++++++------ ...packages-gentargets.txt => adding-packages-generic.txt} | 4 ++-- docs/manual/adding-packages.txt | 6 +++--- package/Makefile.in | 6 +++--- package/{pkg-autotargets.mk => pkg-autotools.mk} | 0 package/{pkg-cmaketargets.mk => pkg-cmake.mk} | 0 package/{pkg-gentargets.mk => pkg-generic.mk} | 0 9 files changed, 18 insertions(+), 18 deletions(-) Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>