All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps'
@ 2015-03-29 17:33 Thomas Petazzoni
  2015-03-29 17:33 ` [Buildroot] [PATCH 01/35] linux: use the package infrastructure to download patches Thomas Petazzoni
                   ` (37 more replies)
  0 siblings, 38 replies; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

Hello,

The initial goal of this series was to change the way we recursively
go through host dependencies for the implementation of the 'source',
'external-deps', 'legal-info' and 'source-check' targets.

The implementation of such targets currently do not rely on the
package infrastructure, and the main Makefile tries to iterate through
the dependencies of all packages using the TARGETS, TARGETS_HOST_DEPS
and HOST_DEPS variable, but it does so with only a two-level
recursion, which does not guarantee that all dependencies will have
been taken into account. It is also not at all in the spirit of the
rest of the package infrastructure.

So our final goal is simply that all those targets are implemented
using per-package make targets that recursively go through their own
dependencies.

Along the way, a number of other related changes or cleanups have been
made, and we try to describe below the overall logic of the patch
series:

 - Currently, some packages do directly use the 'DOWNLOAD' macro to
   download files. This has the unfortunate effect that the package
   infrastructure is not aware that those files are being downloaded,
   which is bad.

   To fix this, patches 1 to 7 fixes the two problematic packages: the
   'linux' and 'perl' packages. In the case of the 'perl' package, an
   addition was needed to the package infrastructure: supporting full
   URLs in <pkg>_EXTRA_DOWNLOADS. Some related cleanups and
   improvements are done as part of these changes.

   Compared to the v1 of those patches: I've fixed the typos found by
   Baruch and Romain, added the Reviewed-by tags that were given,
   fixed the manual line-break issue reported by Arnout, and adjusted
   the order of the variables in perl.mk as suggested by Arnout.

 - As part of the review of the first version of this series (which
   only included patches 1 to 7), a comment was made that packages
   like Linux were only applying patches named linux-*.patch, while we
   have moved for all other packages to a convention that consists in
   applying *.patch. Therefore, patches 8 and 9 make the Linux,
   U-Boot, Barebox, AT91Bootstrap and AT91Bootstrap3 follow this
   convention, and fix the user manual accordingly.

 - Patches 10 and 11 start extending the package infrastructure by
   adding the <pkg>-external-deps, <pkg>-all-external-deps,
   <pkg>-all-source and <pkg>-all-legal-info targets.

 - Patch 12 is doing some silly cleanup of the main Makefile.

 - Patches 13 to 17 clarify and fix the way we declare the PHONY make
   targets, by making the package infrastructure responsible for doing
   that for package targets.

 - Patches 18 and 19 make some not very important cleanups (variable
   renaming, etc.)

 - Patch 20 switches the 'legal-info' target to fully use the package
   infrastructure, thanks to the <pkg>-all-legal-info target added
   previously.

 - Patch 21 simplifies show-targets a bit.

 - Patch 22, like patch 20, switches the global 'external-deps' target
   to fully use the package infrastructure, thanks to the
   <pkg>-all-external-deps target added previously.

 - Patch 23 cleans up the download infra by removing the support for
   the SHOW_EXTERNAL_DEPS DL_MODE, unneeded now that the package infra
   is in charge of the 'external-deps' feature.

 - Patches 24, 25, 26, 27, 28, 29 and 30 take care of the global
   'source-check' target, also moved to use the package infrastructure
   through newly introduced <pkg>-source-check and
   <pkg>-all-source-check targets.

 - Patch 31 does some indentation cleanup.

 - Patch 32 and 33 make some improvements to the package
   infrastructure in terms of downloading source, patches and extra
   downloads.

 - Patch 34 implements the global 'source' target using the package
   infrastructrure, thanks to <pkg>-source and <pkg>-all-source.

 - Patch 35 removes the now unneeded variables from the main Makefile,
   which was our original goal.

Thomas

Thomas Petazzoni (35):
  linux: use the package infrastructure to download patches
  pkg-generic: fix the logic showing the "Downloading" message
  pkg-generic: take into account <pkg>_EXTRA_DOWNLOADS to display
    "Downloading" message
  pkg-generic: refactor the "Downloading" message logic
  pkg-generic: allow full URLs for <pkg>_EXTRA_DOWNLOADS
  docs/manual: update documentation about <pkg>_SOURCE, <pkg>_PATCH and
    <pkg>_EXTRA_DOWNLOADS
  perl: use <pkg>_EXTRA_DOWNLOADS
  packages: apply custom patches using *.patch instead of <pkg>-*.patch
  docs/manual: update documentation about applying patches
  pkg-generic: implement a <pkg>-external-deps target
  pkg-generic: implement <pkg>-all-{source,legal-info,external-deps}
    targets
  Makefile: remove dubious comment
  Makefile: directories are not PHONY targets
  pkg-generic: declare phony targets as such
  pkg-kconfig: declare phony targets as such
  fs: declare phony targets as such
  Makefile: targets are now declared phony by the appropriate
    infrastructures
  Makefile: rename TARGETS to PACKAGES
  fs: add rootfs dependencies to PACKAGES
  Makefile: use <pkg>-all-legal-info to implement the legal-info target
  Makefile: simplify show-targets
  Makefile: use the package infra based external-deps
  pkg-download: remove support for the SHOW_EXTERNAL_DEPS DL_MODE
  Makefile: move source-check outside of noconfig_targets
  pkg-download: extend DOWNLOAD_INNER, add a SOURCE_CHECK macro
  pkg-generic: implement source-check targets
  Makefile: implement a package based source-check target
  pkg-generic: remove the .stamp_rsync_sourced fake stamp file
  pkg-generic: don't use DL_MODE in .stamp_downloaded
  pkg-download: get rid of DL_MODE
  pkg-download: fix indentation for SOURCE_CHECK_* macros
  pkg-generic: propagate <pkg>_EXTRA_DOWNLOADS from target to host
    package
  pkg-generic: introduce a <pkg>_ALL_DOWNLOADS variable and factorize
    code
  Makefile: implement the 'source' target using the package
    infrastructure
  Makefile: remove unneeded variables

 Makefile                                | 58 +++++----------------
 boot/at91bootstrap/at91bootstrap.mk     |  3 +-
 boot/at91bootstrap3/at91bootstrap3.mk   |  3 +-
 boot/barebox/barebox.mk                 |  5 +-
 boot/uboot/uboot.mk                     |  3 +-
 docs/manual/adding-packages-generic.txt | 32 +++++++-----
 docs/manual/customize-patches.txt       | 11 ++--
 fs/common.mk                            |  3 ++
 fs/initramfs/initramfs.mk               |  2 +
 fs/iso9660/iso9660.mk                   |  2 +
 linux/Config.in                         |  2 +-
 linux/linux.mk                          | 27 ++++------
 package/perl/perl.mk                    | 12 +----
 package/pkg-download.mk                 | 83 ++++++++----------------------
 package/pkg-generic.mk                  | 91 +++++++++++++++++++--------------
 package/pkg-kconfig.mk                  |  2 +
 system/system.mk                        |  2 +-
 17 files changed, 138 insertions(+), 203 deletions(-)

-- 
2.1.0

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 01/35] linux: use the package infrastructure to download patches
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-29 20:47   ` Yann E. MORIN
  2015-03-29 17:33 ` [Buildroot] [PATCH 02/35] pkg-generic: fix the logic showing the "Downloading" message Thomas Petazzoni
                   ` (36 subsequent siblings)
  37 siblings, 1 reply; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

The linux package has a special handling of patches, with quite a bit
of legacy in it. A problem caused by this special handling is that the
linux package calls directly the DOWNLOAD_WGET macro, which means that
the package infrastructure isn't aware of which patches get
downloaded, and it prevents doing changes inside the package download
infrastructure.

This commit changes the handling of patches in the linux package in
the following way:

 * The LINUX_PATCHES variable is kept as is: it lists all the patches
   mentioned in the Config.in option BR2_LINUX_KERNEL_PATCH. This
   option can contain http://, ftp://, https:// URLs, path to local
   files or local directories.

   This variable is *not* used by the generic package infrastructure,
   so it is purely internal to the Linux package.

 * The LINUX_PATCH variable is now filled in with the list of patches
   that should be downloaded. It is derived from LINUX_PATCHES by
   filtering the patches that have http://, ftp:// or https:// in
   their path. Since <pkg>_PATCH is handled by the package
   infrastructure, it means that those patches are now automatically
   downloaded and applied by the package infrastructure.

 * The LINUX_APPLY_PATCHES hook is renamed to
   LINUX_APPLY_LOCAL_PATCHES, because it is now only responsible of
   applying local patches: remote patches are handled by
   LINUX_PATCH. The implementation of the hook is changed to filter
   out the patches that have already taken care of by LINUX_PATCH, so
   that we only iterate through the list of local patches or local
   patch directories.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Romain Naour <romain.naour@openwide.fr>
---
 linux/linux.mk | 27 ++++++++++-----------------
 1 file changed, 10 insertions(+), 17 deletions(-)

diff --git a/linux/linux.mk b/linux/linux.mk
index 5a0ba01..c25d106 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -42,6 +42,11 @@ endif
 
 LINUX_PATCHES = $(call qstrip,$(BR2_LINUX_KERNEL_PATCH))
 
+# We rely on the generic package infrastructure to download and apply
+# remote patches (downloaded from ftp, http or https). For local
+# patches, we have a custom post-patch hook below.
+LINUX_PATCH = $(filter ftp://% http://% https://%,$(LINUX_PATCHES))
+
 LINUX_INSTALL_IMAGES = YES
 LINUX_DEPENDENCIES += host-kmod host-lzop
 
@@ -150,29 +155,17 @@ else
 LINUX_IMAGE_PATH = $(KERNEL_ARCH_PATH)/boot/$(LINUX_IMAGE_NAME)
 endif # BR2_LINUX_KERNEL_VMLINUX
 
-define LINUX_DOWNLOAD_PATCHES
-	$(if $(LINUX_PATCHES),
-		@$(call MESSAGE,"Download additional patches"))
-	$(foreach patch,$(filter ftp://% http://% https://%,$(LINUX_PATCHES)),\
-		$(call DOWNLOAD_WGET,$(patch),$(notdir $(patch)))$(sep))
-endef
-
-LINUX_POST_DOWNLOAD_HOOKS += LINUX_DOWNLOAD_PATCHES
-
-define LINUX_APPLY_PATCHES
-	for p in $(LINUX_PATCHES) ; do \
-		if echo $$p | grep -q -E "^ftp://|^http://|^https://" ; then \
-			$(APPLY_PATCHES) $(@D) $(DL_DIR) `basename $$p` || exit 1; \
-		elif test -d $$p ; then \
-			$(APPLY_PATCHES) $(@D) $$p linux-\*.patch || exit 1; \
+define LINUX_APPLY_LOCAL_PATCHES
+	for p in $(filter-out ftp://% http://% https://%,$(LINUX_PATCHES)) ; do \
+		if test -d $$p ; then \
+			$(APPLY_PATCHES) $(@D) $$p linux-\*.patch || exit 1 ; \
 		else \
 			$(APPLY_PATCHES) $(@D) `dirname $$p` `basename $$p` || exit 1; \
 		fi \
 	done
 endef
 
-LINUX_POST_PATCH_HOOKS += LINUX_APPLY_PATCHES
-
+LINUX_POST_PATCH_HOOKS += LINUX_APPLY_LOCAL_PATCHES
 
 ifeq ($(BR2_LINUX_KERNEL_USE_DEFCONFIG),y)
 KERNEL_SOURCE_CONFIG = $(KERNEL_ARCH_PATH)/configs/$(call qstrip,$(BR2_LINUX_KERNEL_DEFCONFIG))_defconfig
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 02/35] pkg-generic: fix the logic showing the "Downloading" message
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
  2015-03-29 17:33 ` [Buildroot] [PATCH 01/35] linux: use the package infrastructure to download patches Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-29 20:48   ` Yann E. MORIN
  2015-03-29 17:33 ` [Buildroot] [PATCH 03/35] pkg-generic: take into account <pkg>_EXTRA_DOWNLOADS to display " Thomas Petazzoni
                   ` (35 subsequent siblings)
  37 siblings, 1 reply; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

Even though the .stamp_downloaded target is executed for each package
being built, the pkg-generic infrastructure tries to not display the
"Downloading" message when there is in fact nothing to download.

Unfortunately, the logic was incorrect for the patch download: it
forgot the fact that <pkg>_PATCH can contain either file names (in
which case we assume the patch should be downloaded from <pkg>_SITE),
or full URLs. The latter case was not properly handled, as we were
checking if $(DL_DIR)/<full URL> existed, while we should be testing
if $(DL_DIR)/`basename <full URL>` exists.

This patch fixes that, which makes sure the "Downloading" message is
displayed only when necessary.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Romain Naour <romain.naour@openwide.fr>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
 package/pkg-generic.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index c1b379b..b44d476 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -77,7 +77,7 @@ ifeq ($(DL_MODE),DOWNLOAD)
 		$(call MESSAGE,"Downloading") ; \
 	else \
 		for p in $($(PKG)_PATCH) ; do \
-			if test ! -e $(DL_DIR)/$$p ; then \
+			if test ! -e $(DL_DIR)/`basename $$p` ; then \
 				$(call MESSAGE,"Downloading") ; \
 				break ; \
 			fi ; \
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 03/35] pkg-generic: take into account <pkg>_EXTRA_DOWNLOADS to display "Downloading" message
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
  2015-03-29 17:33 ` [Buildroot] [PATCH 01/35] linux: use the package infrastructure to download patches Thomas Petazzoni
  2015-03-29 17:33 ` [Buildroot] [PATCH 02/35] pkg-generic: fix the logic showing the "Downloading" message Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-29 20:49   ` Yann E. MORIN
  2015-03-29 17:33 ` [Buildroot] [PATCH 04/35] pkg-generic: refactor the "Downloading" message logic Thomas Petazzoni
                   ` (34 subsequent siblings)
  37 siblings, 1 reply; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

The .stamp_downloaded target displays the "Downloading" message even
if there is really something to download. However, this logic only
checks for <pkg>_SOURCE and <pkg>_PATCH: it does not check if
something needs to be downloaded in <pkg>_EXTRA_DOWNLOADS.

This commit fixes that, which makes sure that the "Downloading"
message is displayed if one of the items in <pkg>_EXTRA_DOWNLOADS has
not yet been downloaded.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Romain Naour <romain.naour@openwide.fr>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
 package/pkg-generic.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index b44d476..003fd69 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -76,7 +76,7 @@ ifeq ($(DL_MODE),DOWNLOAD)
 	$(Q)if test ! -e $(DL_DIR)/$($(PKG)_SOURCE); then \
 		$(call MESSAGE,"Downloading") ; \
 	else \
-		for p in $($(PKG)_PATCH) ; do \
+		for p in $($(PKG)_PATCH) $($(PKG)_EXTRA_DOWNLOADS) ; do \
 			if test ! -e $(DL_DIR)/`basename $$p` ; then \
 				$(call MESSAGE,"Downloading") ; \
 				break ; \
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 04/35] pkg-generic: refactor the "Downloading" message logic
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (2 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 03/35] pkg-generic: take into account <pkg>_EXTRA_DOWNLOADS to display " Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-29 20:50   ` Yann E. MORIN
  2015-03-29 17:33 ` [Buildroot] [PATCH 05/35] pkg-generic: allow full URLs for <pkg>_EXTRA_DOWNLOADS Thomas Petazzoni
                   ` (33 subsequent siblings)
  37 siblings, 1 reply; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

In the .stamp_downloaded hook, the logic to decide whether or not to
display the "Downloading" message is treating the check of
<pkg>_SOURCE as a special case. But in fact, there is no real reason
to do so: the existing loop used for <pkg>_PATCH and
<pkg>_EXTRA_DOWNLOADS could work just as well.

This commit therefore refactors this piece of code, to have a single
loop checking <pkg>_SOURCE, <pkg>_PATCH and <pkg>_EXTRA_DOWNLOADS.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/pkg-generic.mk | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index 003fd69..3c86878 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -73,16 +73,12 @@ $(BUILD_DIR)/%/.stamp_downloaded:
 	$(foreach hook,$($(PKG)_PRE_DOWNLOAD_HOOKS),$(call $(hook))$(sep))
 ifeq ($(DL_MODE),DOWNLOAD)
 # Only show the download message if it isn't already downloaded
-	$(Q)if test ! -e $(DL_DIR)/$($(PKG)_SOURCE); then \
-		$(call MESSAGE,"Downloading") ; \
-	else \
-		for p in $($(PKG)_PATCH) $($(PKG)_EXTRA_DOWNLOADS) ; do \
-			if test ! -e $(DL_DIR)/`basename $$p` ; then \
-				$(call MESSAGE,"Downloading") ; \
-				break ; \
-			fi ; \
-		done ; \
-	fi
+	$(Q)for p in $($(PKG)_SOURCE) $($(PKG)_PATCH) $($(PKG)_EXTRA_DOWNLOADS) ; do \
+		if test ! -e $(DL_DIR)/`basename $$p` ; then \
+			$(call MESSAGE,"Downloading") ; \
+			break ; \
+		fi ; \
+	done
 endif
 	$(if $($(PKG)_SOURCE),$(call DOWNLOAD,$($(PKG)_SITE:/=)/$($(PKG)_SOURCE)))
 	$(foreach p,$($(PKG)_EXTRA_DOWNLOADS),$(call DOWNLOAD,$($(PKG)_SITE:/=)/$(p))$(sep))
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 05/35] pkg-generic: allow full URLs for <pkg>_EXTRA_DOWNLOADS
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (3 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 04/35] pkg-generic: refactor the "Downloading" message logic Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-29 21:08   ` Yann E. MORIN
  2015-05-10 18:42   ` Bernd Kuhls
  2015-03-29 17:33 ` [Buildroot] [PATCH 06/35] docs/manual: update documentation about <pkg>_SOURCE, <pkg>_PATCH and <pkg>_EXTRA_DOWNLOADS Thomas Petazzoni
                   ` (32 subsequent siblings)
  37 siblings, 2 replies; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

The current logic for <pkg>_EXTRA_DOWNLOADS assumes that it is a list
of files, all hosted at <pkg>_SITE. However, just like for
<pkg>_PATCH, it may be useful to specify <pkg>_EXTRA_DOWNLOADS entries
that are hosted on a different site than the package <pkg>_SITE.

This commit implements this, by re-using the same logic as the one
used for <pkg>_PATCH.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Romain Naour <romain.naour@openwide.fr>
---
 package/pkg-generic.mk | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index 3c86878..22b3fb9 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -81,7 +81,12 @@ ifeq ($(DL_MODE),DOWNLOAD)
 	done
 endif
 	$(if $($(PKG)_SOURCE),$(call DOWNLOAD,$($(PKG)_SITE:/=)/$($(PKG)_SOURCE)))
-	$(foreach p,$($(PKG)_EXTRA_DOWNLOADS),$(call DOWNLOAD,$($(PKG)_SITE:/=)/$(p))$(sep))
+	$(foreach p,$($(PKG)_EXTRA_DOWNLOADS),\
+		$(if $(findstring ://,$(p)),\
+			$(call DOWNLOAD,$(p)),\
+			$(call DOWNLOAD,$($(PKG)_SITE:/=)/$(p))\
+		)\
+	$(sep))
 	$(foreach p,$($(PKG)_PATCH),\
 		$(if $(findstring ://,$(p)),\
 			$(call DOWNLOAD,$(p)),\
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 06/35] docs/manual: update documentation about <pkg>_SOURCE, <pkg>_PATCH and <pkg>_EXTRA_DOWNLOADS
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (4 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 05/35] pkg-generic: allow full URLs for <pkg>_EXTRA_DOWNLOADS Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-29 21:10   ` Yann E. MORIN
  2015-03-29 17:33 ` [Buildroot] [PATCH 07/35] perl: use <pkg>_EXTRA_DOWNLOADS Thomas Petazzoni
                   ` (31 subsequent siblings)
  37 siblings, 1 reply; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

This commit updates the Buildroot manual for the variables used to
indicate where to download the source code from:

 - It updates the description of <pkg>_SOURCE to make it clear that
   Buildroot assume that the tarball is hosted at <pkg>_SITE.

 - It updates the description of <pkg>_PATCH to indicate that not only
   file names (assumed to be hosted at <pkg>_SITE) can be used, but
   also full URLs. This allows to match with what the current code is
   doing.

 - It updates the description of <pkg>_EXTRA_DOWNLOADS to also
   indicate that full URLs are now accepted, following the change made
   in the previous commit.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Romain Naour <romain.naour@openwide.fr>
---
 docs/manual/adding-packages-generic.txt | 30 +++++++++++++++++-------------
 1 file changed, 17 insertions(+), 13 deletions(-)

diff --git a/docs/manual/adding-packages-generic.txt b/docs/manual/adding-packages-generic.txt
index 6150bf7..85c9ccd 100644
--- a/docs/manual/adding-packages-generic.txt
+++ b/docs/manual/adding-packages-generic.txt
@@ -204,18 +204,20 @@ information is (assuming the package name is +libfoo+) :
     +LIBFOO_VERSION = cb9d6aa9429e838f0e54faa3d455bcbab5eef057+ +
     +LIBFOO_VERSION = stable+
 
-* +LIBFOO_SOURCE+ may contain the name of the tarball of
-  the package. If +HOST_LIBFOO_SOURCE+ is not specified, it
-  defaults to +LIBFOO_SOURCE+. If none are specified, then
-  the value is assumed to be
-  +libfoo-$(LIBFOO_VERSION).tar.gz+. +
+* +LIBFOO_SOURCE+ may contain the name of the tarball of the package,
+  which Buildroot will use to download the tarball from
+  +LIBFOO_SITE+. If +HOST_LIBFOO_SOURCE+ is not specified, it defaults
+  to +LIBFOO_SOURCE+. If none are specified, then the value is assumed
+  to be +libfoo-$(LIBFOO_VERSION).tar.gz+. +
   Example: +LIBFOO_SOURCE = foobar-$(LIBFOO_VERSION).tar.bz2+
 
 * +LIBFOO_PATCH+ may contain a space-separated list of patch file
-  names, that will be downloaded from the same location as the tarball
-  indicated in +LIBFOO_SOURCE+, and then applied to the package source
-  code. If +HOST_LIBFOO_PATCH+ is not specified, it defaults to
-  +LIBFOO_PATCH+. Note that patches that are included in Buildroot
+  names, that Buildroot will download and apply to the package source
+  code. If an entry contains +://+, then Buildroot will assume it is a
+  full URL and download the patch from this location. Otherwise,
+  Buildroot will assume that the patch should be downloaded from
+  +LIBFOO_SITE+. If +HOST_LIBFOO_PATCH+ is not specified, it defaults
+  to +LIBFOO_PATCH+. Note that patches that are included in Buildroot
   itself use a different mechanism: all files of the form
   +<packagename>-*.patch+ present in the package directory inside
   Buildroot will be applied to the package after extraction (see
@@ -246,10 +248,12 @@ information is (assuming the package name is +libfoo+) :
     +LIBFOO_SITE=/opt/software/libfoo.tar.gz+ +
     +LIBFOO_SITE=$(TOPDIR)/../src/libfoo/+
 
-* +LIBFOO_EXTRA_DOWNLOADS+ lists a number of additional files that
-  Buildroot should download from +LIBFOO_SITE+ in addition to the main
-  +LIBFOO_SOURCE+ (which usually is a tarball). Buildroot will not do
-  anything with those additional files, except download files: it will
+* +LIBFOO_EXTRA_DOWNLOADS+ is a space-separated list of additional
+  files that Buildroot should download. If an entry contains +://+
+  then Buildroot will assume it is a complete URL and will download
+  the file using this URL. Otherwise, Buildroot will assume the file
+  to be downloaded is located at +LIBFOO_SITE+. Buildroot will not do
+  anything with those additional files, except download them: it will
   be up to the package recipe to use them from +$(BR2_DL_DIR)+.
 
 * +LIBFOO_SITE_METHOD+ determines the method used to fetch or copy the
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 07/35] perl: use <pkg>_EXTRA_DOWNLOADS
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (5 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 06/35] docs/manual: update documentation about <pkg>_SOURCE, <pkg>_PATCH and <pkg>_EXTRA_DOWNLOADS Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-29 21:15   ` Yann E. MORIN
  2015-03-29 17:33 ` [Buildroot] [PATCH 08/35] packages: apply custom patches using *.patch instead of <pkg>-*.patch Thomas Petazzoni
                   ` (30 subsequent siblings)
  37 siblings, 1 reply; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

Instead of manually using the DOWNLOAD macro (which should remain an
internal macro), this commit converts the Perl package to use
<pkg>_EXTRA_DOWNLOADS, now that it has been extended to allow full
URLs.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Romain Naour <romain.naour@openwide.fr>
---
 package/perl/perl.mk | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/package/perl/perl.mk b/package/perl/perl.mk
index 133e8aa..fb3ae6d 100644
--- a/package/perl/perl.mk
+++ b/package/perl/perl.mk
@@ -17,19 +17,11 @@ PERL_CROSS_BASE_VERSION = 5.$(PERL_VERSION_MAJOR).2
 # DO NOT refactor with the github helper (the result is not the same)
 PERL_CROSS_SITE = http://raw.github.com/arsv/perl-cross/releases
 PERL_CROSS_SOURCE = perl-$(PERL_CROSS_BASE_VERSION)-cross-$(PERL_CROSS_VERSION).tar.gz
+PERL_EXTRA_DOWNLOADS = $(PERL_CROSS_SITE)/$(PERL_CROSS_SOURCE)
+
 PERL_CROSS_OLD_POD = perl$(subst .,,$(PERL_CROSS_BASE_VERSION))delta.pod
 PERL_CROSS_NEW_POD = perl$(subst .,,$(PERL_VERSION))delta.pod
 
-# We use the perlcross hack to cross-compile perl. It should
-# be extracted over the perl sources, so we don't define that
-# as a separate package. Instead, it is downloaded and extracted
-# together with perl
-
-define PERL_CROSS_DOWNLOAD
-	$(call DOWNLOAD,$(PERL_CROSS_SITE:/=)/$(PERL_CROSS_SOURCE))
-endef
-PERL_POST_DOWNLOAD_HOOKS += PERL_CROSS_DOWNLOAD
-
 define PERL_CROSS_EXTRACT
 	$(call suitable-extractor,$(PERL_CROSS_SOURCE)) $(DL_DIR)/$(PERL_CROSS_SOURCE) | \
 	$(TAR) $(TAR_STRIP_COMPONENTS)=1 -C $(@D) $(TAR_OPTIONS) -
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 08/35] packages: apply custom patches using *.patch instead of <pkg>-*.patch
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (6 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 07/35] perl: use <pkg>_EXTRA_DOWNLOADS Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-29 21:35   ` Yann E. MORIN
  2015-03-29 17:33 ` [Buildroot] [PATCH 09/35] docs/manual: update documentation about applying patches Thomas Petazzoni
                   ` (29 subsequent siblings)
  37 siblings, 1 reply; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

Several packages have some logic to apply custom patches that existed
before the BR2_GLOBAL_PATCH_DIR mechanism: at91bootstrap,
at91bootstrap3, barebox, uboot and linux. Currently, the logic of
those packages to apply custom patches is to match
<package-name>-*.patch, which is not consistent with what we've done
for patches stored in the package directory, and for patches stored in
BR2_GLOBAL_PATCH_DIR: in such cases, we simply apply *.patch.

Therefore, for consistency reasons, this commit changes these packages
to also apply *.patch.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 boot/at91bootstrap/at91bootstrap.mk   | 3 +--
 boot/at91bootstrap3/at91bootstrap3.mk | 3 +--
 boot/barebox/barebox.mk               | 5 ++---
 boot/uboot/uboot.mk                   | 3 +--
 linux/Config.in                       | 2 +-
 linux/linux.mk                        | 2 +-
 6 files changed, 7 insertions(+), 11 deletions(-)

diff --git a/boot/at91bootstrap/at91bootstrap.mk b/boot/at91bootstrap/at91bootstrap.mk
index 50bbc26..802e85e 100644
--- a/boot/at91bootstrap/at91bootstrap.mk
+++ b/boot/at91bootstrap/at91bootstrap.mk
@@ -24,8 +24,7 @@ endef
 
 ifneq ($(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR)),)
 define AT91BOOTSTRAP_APPLY_CUSTOM_PATCHES
-	$(APPLY_PATCHES) $(@D) $(BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR) \
-		at91bootstrap-$(AT91BOOTSTRAP_VERSION)-\*.patch
+	$(APPLY_PATCHES) $(@D) $(BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR) \*.patch
 endef
 
 AT91BOOTSTRAP_POST_PATCH_HOOKS += AT91BOOTSTRAP_APPLY_CUSTOM_PATCHES
diff --git a/boot/at91bootstrap3/at91bootstrap3.mk b/boot/at91bootstrap3/at91bootstrap3.mk
index 098e7bf..b780617 100644
--- a/boot/at91bootstrap3/at91bootstrap3.mk
+++ b/boot/at91bootstrap3/at91bootstrap3.mk
@@ -21,8 +21,7 @@ AT91BOOTSTRAP3_MAKE_OPTS = CROSS_COMPILE=$(TARGET_CROSS) DESTDIR=$(BINARIES_DIR)
 
 ifneq ($(AT91BOOTSTRAP3_CUSTOM_PATCH_DIR),)
 define AT91BOOTSTRAP3_APPLY_CUSTOM_PATCHES
-	$(APPLY_PATCHES) $(@D) $(AT91BOOTSTRAP3_CUSTOM_PATCH_DIR) \
-		at91bootstrap3-\*.patch
+	$(APPLY_PATCHES) $(@D) $(AT91BOOTSTRAP3_CUSTOM_PATCH_DIR) \*.patch
 endef
 
 AT91BOOTSTRAP3_POST_PATCH_HOOKS += AT91BOOTSTRAP3_APPLY_CUSTOM_PATCHES
diff --git a/boot/barebox/barebox.mk b/boot/barebox/barebox.mk
index 5809fb0..98cb04e 100644
--- a/boot/barebox/barebox.mk
+++ b/boot/barebox/barebox.mk
@@ -26,9 +26,8 @@ BAREBOX_LICENSE_FILES = COPYING
 
 ifneq ($(call qstrip,$(BR2_TARGET_BAREBOX_CUSTOM_PATCH_DIR)),)
 define BAREBOX_APPLY_CUSTOM_PATCHES
-	$(APPLY_PATCHES) $(@D) \
-		$(BR2_TARGET_BAREBOX_CUSTOM_PATCH_DIR) \
-		barebox-$(BAREBOX_VERSION)-\*.patch
+	$(APPLY_PATCHES) $(@D)
+		$(BR2_TARGET_BAREBOX_CUSTOM_PATCH_DIR) \*.patch
 endef
 
 BAREBOX_POST_PATCH_HOOKS += BAREBOX_APPLY_CUSTOM_PATCHES
diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk
index a9ba054..8da2272 100644
--- a/boot/uboot/uboot.mk
+++ b/boot/uboot/uboot.mk
@@ -86,8 +86,7 @@ UBOOT_POST_EXTRACT_HOOKS += UBOOT_COPY_OLD_LICENSE_FILE
 
 ifneq ($(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR)),)
 define UBOOT_APPLY_CUSTOM_PATCHES
-	$(APPLY_PATCHES) $(@D) $(BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR) \
-		uboot-\*.patch
+	$(APPLY_PATCHES) $(@D) $(BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR) \*.patch
 endef
 
 UBOOT_POST_PATCH_HOOKS += UBOOT_APPLY_CUSTOM_PATCHES
diff --git a/linux/Config.in b/linux/Config.in
index a1113dd..c83a3f5 100644
--- a/linux/Config.in
+++ b/linux/Config.in
@@ -129,7 +129,7 @@ config BR2_LINUX_KERNEL_PATCH
 	  A space-separated list of patches to apply to the
 	  kernel. Each patch can be described as an URL, a local file
 	  path, or a directory. In the case of a directory, all files
-	  matching linux-*.patch in the directory will be applied.
+	  matching *.patch in the directory will be applied.
 
 #
 # Configuration selection
diff --git a/linux/linux.mk b/linux/linux.mk
index c25d106..e239ff7 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -158,7 +158,7 @@ endif # BR2_LINUX_KERNEL_VMLINUX
 define LINUX_APPLY_LOCAL_PATCHES
 	for p in $(filter-out ftp://% http://% https://%,$(LINUX_PATCHES)) ; do \
 		if test -d $$p ; then \
-			$(APPLY_PATCHES) $(@D) $$p linux-\*.patch || exit 1 ; \
+			$(APPLY_PATCHES) $(@D) $$p \*.patch || exit 1 ; \
 		else \
 			$(APPLY_PATCHES) $(@D) `dirname $$p` `basename $$p` || exit 1; \
 		fi \
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 09/35] docs/manual: update documentation about applying patches
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (7 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 08/35] packages: apply custom patches using *.patch instead of <pkg>-*.patch Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-29 21:40   ` Yann E. MORIN
  2015-03-29 17:33 ` [Buildroot] [PATCH 10/35] pkg-generic: implement a <pkg>-external-deps target Thomas Petazzoni
                   ` (28 subsequent siblings)
  37 siblings, 1 reply; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

The Buildroot manual is currently wrong when describing how patches
are applied: it says that <packagename>-*.patch is applied, and that
<packagename>-<seq>-*.patch is the recommended name for patches. This
is incorrect, since we're now using just <seq>-*.patch. This commit
adjusts the documentation accordingly.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 docs/manual/adding-packages-generic.txt |  2 +-
 docs/manual/customize-patches.txt       | 11 +++++------
 2 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/docs/manual/adding-packages-generic.txt b/docs/manual/adding-packages-generic.txt
index 85c9ccd..1aa6def 100644
--- a/docs/manual/adding-packages-generic.txt
+++ b/docs/manual/adding-packages-generic.txt
@@ -219,7 +219,7 @@ information is (assuming the package name is +libfoo+) :
   +LIBFOO_SITE+. If +HOST_LIBFOO_PATCH+ is not specified, it defaults
   to +LIBFOO_PATCH+. Note that patches that are included in Buildroot
   itself use a different mechanism: all files of the form
-  +<packagename>-*.patch+ present in the package directory inside
+  +*.patch+ present in the package directory inside
   Buildroot will be applied to the package after extraction (see
   xref:patch-policy[patching a package]). Finally, patches listed in
   the +LIBFOO_PATCH+ variable are applied _before_ the patches stored
diff --git a/docs/manual/customize-patches.txt b/docs/manual/customize-patches.txt
index e129a64..fa63541 100644
--- a/docs/manual/customize-patches.txt
+++ b/docs/manual/customize-patches.txt
@@ -33,12 +33,11 @@ follows:
 * If a +series+ file exists in the package directory, then patches are
   applied according to the +series+ file;
 +
-* Otherwise, patch files matching +<packagename>-*.patch+
-  are applied in alphabetical order.
-  So, to ensure they are applied in the right order, it is highly
-  recommended to name the patch files like this:
-  +<packagename>-<number>-<description>.patch+, where +<number>+
-  refers to the 'apply order'.
+* Otherwise, patch files matching +*.patch+ are applied in
+  alphabetical order.  So, to ensure they are applied in the right
+  order, it is highly recommended to name the patch files like this:
+  +<number>-<description>.patch+, where +<number>+ refers to the
+  'apply order'.
 
 For information about how patches are applied for a package, see
 xref:patch-apply-order[]
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 10/35] pkg-generic: implement a <pkg>-external-deps target
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (8 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 09/35] docs/manual: update documentation about applying patches Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-29 21:44   ` Yann E. MORIN
  2015-03-29 17:33 ` [Buildroot] [PATCH 11/35] pkg-generic: implement <pkg>-all-{source, legal-info, external-deps} targets Thomas Petazzoni
                   ` (27 subsequent siblings)
  37 siblings, 1 reply; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

This commit implements a new <pkg>-external-deps target in the
pkg-generic package infrastructure. This target simply displays the
list of file names that are needed for <pkg> to build (source tarball,
patches, extra downloads).

In the case of the usage of <pkg>_OVERRIDE_SRCDIR, the path to the
overriden source directory is displayed, prepended by file://. This
matches what the code is currently doing in .stamp_rsync_sourced.

This new target is not currently being used in this commit, but
followup commits will make use of it.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/pkg-generic.mk | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index 22b3fb9..08e4cad 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -546,6 +546,11 @@ $$($(2)_TARGET_EXTRACT):	$$($(2)_TARGET_SOURCE)
 $(1)-depends:		$$($(2)_FINAL_DEPENDENCIES)
 
 $(1)-source:		$$($(2)_TARGET_SOURCE)
+
+$(1)-external-deps:
+	@for p in $$($(2)_SOURCE) $$($(2)_PATCH) $$($(2)_EXTRA_DOWNLOADS) ; do \
+		echo `basename $$$$p` ; \
+	done
 else
 # In the package override case, the sequence of steps
 #  source, by rsyncing
@@ -564,6 +569,9 @@ $(1)-extract:		$(1)-rsync
 $(1)-rsync:		$$($(2)_TARGET_RSYNC)
 
 $(1)-source:		$$($(2)_TARGET_RSYNC_SOURCE)
+
+$(1)-external-deps:
+	@echo "file://$$($(2)_OVERRIDE_SRCDIR)"
 endif
 
 $(1)-show-version:
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 11/35] pkg-generic: implement <pkg>-all-{source, legal-info, external-deps} targets
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (9 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 10/35] pkg-generic: implement a <pkg>-external-deps target Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-29 21:47   ` Yann E. MORIN
  2015-03-29 17:33 ` [Buildroot] [PATCH 12/35] Makefile: remove dubious comment Thomas Petazzoni
                   ` (26 subsequent siblings)
  37 siblings, 1 reply; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

In order to implement the global 'make source', 'make legal-info' and
'make external-deps' using the package infrastructure logic, this
commit introduces a set of per-package targets that allow to
recursively run the source/legal-info/external-deps actions on the
dependencies of a given package.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/pkg-generic.mk | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index 08e4cad..ba24591 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -587,6 +587,12 @@ $(1)-graph-depends: graph-depends-requirements
 			|tee $$(O)/graphs/$$(@).dot \
 			|dot $$(BR2_GRAPH_DOT_OPTS) -T$$(BR_GRAPH_OUT) -o $$(O)/graphs/$$(@).$$(BR_GRAPH_OUT)
 
+$(1)-all-source:       $$(foreach p,$$($(2)_FINAL_DEPENDENCIES),$$(p)-all-source) $(1)-source
+
+$(1)-all-external-deps:        $$(foreach p,$$($(2)_FINAL_DEPENDENCIES),$$(p)-all-external-deps) $(1)-external-deps
+
+$(1)-all-legal-info:   $$(foreach p,$$($(2)_FINAL_DEPENDENCIES),$$(p)-all-legal-info) $(1)-legal-info
+
 $(1)-dirclean:		$$($(2)_TARGET_DIRCLEAN)
 
 $(1)-clean-for-reinstall:
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 12/35] Makefile: remove dubious comment
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (10 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 11/35] pkg-generic: implement <pkg>-all-{source, legal-info, external-deps} targets Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-29 21:50   ` Yann E. MORIN
  2015-03-29 17:33 ` [Buildroot] [PATCH 13/35] Makefile: directories are not PHONY targets Thomas Petazzoni
                   ` (25 subsequent siblings)
  37 siblings, 1 reply; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

This comment is a left-over from previous code changes, and it doesn't
make much sense where it is placed.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 Makefile | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/Makefile b/Makefile
index edb122b..5a6f825 100644
--- a/Makefile
+++ b/Makefile
@@ -375,9 +375,6 @@ endif
 include package/Makefile.in
 include support/dependencies/dependencies.mk
 
-# We also need the various per-package makefiles, which also add
-# each selected package to TARGETS if that package was selected
-# in the .config file.
 include toolchain/*.mk
 include toolchain/*/*.mk
 
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 13/35] Makefile: directories are not PHONY targets
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (11 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 12/35] Makefile: remove dubious comment Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-29 21:56   ` Yann E. MORIN
  2015-03-29 17:33 ` [Buildroot] [PATCH 14/35] pkg-generic: declare phony targets as such Thomas Petazzoni
                   ` (24 subsequent siblings)
  37 siblings, 1 reply; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

The global .PHONY specification in the main Makefile is describing a
number of directory targets as being PHONY, which doesn't make much
sense. PHONY targets are targets that do not exist on the filesystem,
and which make should always consider as not being up-to-date, so that
the commands associated to these targets are always executed by make
when the command is invoked, even if a file with the same name exists
on the filesystem.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 Makefile | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index 5a6f825..56477bb 100644
--- a/Makefile
+++ b/Makefile
@@ -433,9 +433,7 @@ world: target-post-image
 	legal-info legal-info-prepare legal-info-clean printvars \
 	target-finalize target-post-image \
 	$(TARGETS) $(TARGETS_ROOTFS) \
-	$(TARGETS_DIRCLEAN) $(TARGETS_SOURCE) $(TARGETS_LEGAL_INFO) \
-	$(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
-	$(HOST_DIR) $(BINARIES_DIR)
+	$(TARGETS_DIRCLEAN) $(TARGETS_SOURCE) $(TARGETS_LEGAL_INFO)
 
 ################################################################################
 #
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 14/35] pkg-generic: declare phony targets as such
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (12 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 13/35] Makefile: directories are not PHONY targets Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-29 22:05   ` Yann E. MORIN
  2015-03-29 17:33 ` [Buildroot] [PATCH 15/35] pkg-kconfig: " Thomas Petazzoni
                   ` (23 subsequent siblings)
  37 siblings, 1 reply; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

This commit improves the pkg-generic package infrastructure so that it
declares all the <pkg>-<something> targets as PHONY, which they
actually are.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/pkg-generic.mk | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index ba24591..e1a51e4 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -777,6 +777,15 @@ ifneq ($$(call suitable-extractor,$$($(2)_SOURCE)),$$(XZCAT))
 DL_TOOLS_DEPENDENCIES += $$(firstword $$(call suitable-extractor,$$($(2)_SOURCE)))
 endif
 
+# Ensure all virtual targets are PHONY
+.PHONY: $(1) $(1)-install $(1)-install-host $(1)-install-staging \
+	$(1)-install-target $(1)-install-images $(1)-build \
+	$(1)-configure $(1)-patch $(1)-extract $(1)-depends \
+	$(1)-source $(1)-rsync $(1)-show-depends $(1)-graph-depends \
+	$(1)-external-deps $(1)-all-source $(1)-all-external-deps \
+	$(1)-all-legal-info $(1)-dirclean $(1)-clean-for-rebuild \
+	$(1)-rebuild $(1)-clean-for-reconfigure $(1)-reconfigure
+
 endif # $(2)_KCONFIG_VAR
 endef # inner-generic-package
 
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 15/35] pkg-kconfig: declare phony targets as such
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (13 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 14/35] pkg-generic: declare phony targets as such Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-29 22:08   ` Yann E. MORIN
  2015-03-29 17:33 ` [Buildroot] [PATCH 16/35] fs: " Thomas Petazzoni
                   ` (22 subsequent siblings)
  37 siblings, 1 reply; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

Just like the previous commit did for the pkg-generic infrastructure,
this commit improves the pkg-kconfig infrastructure to declare its
custom <pkg>-<something> targets as PHONY.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/pkg-kconfig.mk | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/package/pkg-kconfig.mk b/package/pkg-kconfig.mk
index 04ac37d..69e7dc5 100644
--- a/package/pkg-kconfig.mk
+++ b/package/pkg-kconfig.mk
@@ -100,6 +100,8 @@ $(1)-update-defconfig: $(1)-savedefconfig
 
 endif # package enabled
 
+.PHONY: $(1)-update-config $$(addprefix $(1)-,$$($(2)_KCONFIG_EDITORS))
+
 endef # inner-kconfig-package
 
 ################################################################################
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 16/35] fs: declare phony targets as such
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (14 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 15/35] pkg-kconfig: " Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-29 22:16   ` Yann E. MORIN
  2015-03-29 17:33 ` [Buildroot] [PATCH 17/35] Makefile: targets are now declared phony by the appropriate infrastructures Thomas Petazzoni
                   ` (21 subsequent siblings)
  37 siblings, 1 reply; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

This commit improves the filesystem handling code to declare its
various targets as PHONY when appropriate.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 fs/common.mk              | 2 ++
 fs/initramfs/initramfs.mk | 2 ++
 fs/iso9660/iso9660.mk     | 2 ++
 3 files changed, 6 insertions(+)

diff --git a/fs/common.mk b/fs/common.mk
index 5d07f00..cac127f 100644
--- a/fs/common.mk
+++ b/fs/common.mk
@@ -102,6 +102,8 @@ rootfs-$(1)-show-depends:
 
 rootfs-$(1): $$(BINARIES_DIR)/rootfs.$(1) $$(ROOTFS_$(2)_POST_TARGETS)
 
+.PHONY: rootfs-$(1) rootfs-$(1)-show-depends
+
 ifeq ($$(BR2_TARGET_ROOTFS_$(2)),y)
 TARGETS_ROOTFS += rootfs-$(1)
 endif
diff --git a/fs/initramfs/initramfs.mk b/fs/initramfs/initramfs.mk
index 308924d..db50812 100644
--- a/fs/initramfs/initramfs.mk
+++ b/fs/initramfs/initramfs.mk
@@ -17,6 +17,8 @@ rootfs-initramfs: $(ROOTFS_INITRAMFS_DEPENDENCIES) $(ROOTFS_INITRAMFS_POST_TARGE
 rootfs-initramfs-show-depends:
 	@echo $(ROOTFS_INITRAMFS_DEPENDENCIES)
 
+.PHONY: rootfs-initramfs rootfs-initramfs-show-depends
+
 ifeq ($(BR2_TARGET_ROOTFS_INITRAMFS),y)
 TARGETS_ROOTFS += rootfs-initramfs
 endif
diff --git a/fs/iso9660/iso9660.mk b/fs/iso9660/iso9660.mk
index 5b44ba4..4ccfce9 100644
--- a/fs/iso9660/iso9660.mk
+++ b/fs/iso9660/iso9660.mk
@@ -48,6 +48,8 @@ rootfs-iso9660: $(BINARIES_DIR)/rootfs.iso9660
 rootfs-iso9660-show-depends:
 	@echo $(ROOTFS_ISO9660_DEPENDENCIES)
 
+.PHONY: rootfs-iso9660 rootfs-iso9660-show-depends
+
 ################################################################################
 #
 # Toplevel Makefile options
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 17/35] Makefile: targets are now declared phony by the appropriate infrastructures
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (15 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 16/35] fs: " Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-29 22:22   ` Yann E. MORIN
  2015-03-29 17:33 ` [Buildroot] [PATCH 18/35] Makefile: rename TARGETS to PACKAGES Thomas Petazzoni
                   ` (20 subsequent siblings)
  37 siblings, 1 reply; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

The main Makefile was declaring a subset of the per-package targets as
being PHONY, but not all of them. Now that the pkg-generic package
infrastructure is taking care of that in a much more systematic
fashion, this commit gets rid of the unneeded code from the main
Makefile.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 Makefile | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/Makefile b/Makefile
index 56477bb..15341be 100644
--- a/Makefile
+++ b/Makefile
@@ -395,7 +395,6 @@ include fs/common.mk
 include $(BR2_EXTERNAL)/external.mk
 
 TARGETS_SOURCE := $(patsubst %,%-source,$(TARGETS))
-TARGETS_DIRCLEAN := $(patsubst %,%-dirclean,$(TARGETS))
 
 # host-* dependencies have to be handled specially, as those aren't
 # visible in Kconfig and hence not added to a variable like TARGETS.
@@ -431,9 +430,7 @@ world: target-post-image
 
 .PHONY: all world toolchain dirs clean distclean source outputmakefile \
 	legal-info legal-info-prepare legal-info-clean printvars \
-	target-finalize target-post-image \
-	$(TARGETS) $(TARGETS_ROOTFS) \
-	$(TARGETS_DIRCLEAN) $(TARGETS_SOURCE) $(TARGETS_LEGAL_INFO)
+	target-finalize target-post-image
 
 ################################################################################
 #
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 18/35] Makefile: rename TARGETS to PACKAGES
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (16 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 17/35] Makefile: targets are now declared phony by the appropriate infrastructures Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-30 16:31   ` Yann E. MORIN
  2015-03-29 17:33 ` [Buildroot] [PATCH 19/35] fs: add rootfs dependencies " Thomas Petazzoni
                   ` (19 subsequent siblings)
  37 siblings, 1 reply; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

For clarity, this commit renames the TARGETS variable to the more
meaningful PACKAGES variable. Indeed, only packages (handled by one of
the package infrastructures) should be list in this variable, and not
other random non-package targets.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 Makefile               | 22 +++++++++++-----------
 package/pkg-generic.mk |  2 +-
 system/system.mk       |  2 +-
 3 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/Makefile b/Makefile
index 15341be..0577b3f 100644
--- a/Makefile
+++ b/Makefile
@@ -302,7 +302,7 @@ unexport MACHINE
 
 GNU_HOST_NAME := $(shell support/gnuconfig/config.guess)
 
-TARGETS :=
+PACKAGES :=
 
 # silent mode requested?
 QUIET := $(if $(findstring s,$(filter-out --%,$(MAKEFLAGS))),-q)
@@ -394,16 +394,16 @@ include fs/common.mk
 
 include $(BR2_EXTERNAL)/external.mk
 
-TARGETS_SOURCE := $(patsubst %,%-source,$(TARGETS))
+PACKAGES_SOURCE := $(patsubst %,%-source,$(PACKAGES))
 
 # host-* dependencies have to be handled specially, as those aren't
-# visible in Kconfig and hence not added to a variable like TARGETS.
+# visible in Kconfig and hence not added to a variable like PACKAGES.
 # instead, find all the host-* targets listed in each <PKG>_DEPENDENCIES
 # variable for each enabled target.
 # Notice: this only works for newstyle gentargets/autotargets packages
 TARGETS_HOST_DEPS = $(sort $(filter host-%,$(foreach dep,\
 		$(addsuffix _DEPENDENCIES,\
-			$(call UPPERCASE,$(TARGETS) $(TARGETS_ROOTFS))),\
+			$(call UPPERCASE,$(PACKAGES) $(TARGETS_ROOTFS))),\
 		$($(dep)))))
 # Host packages can in turn have their own dependencies. Likewise find
 # all the package names listed in the HOST_<PKG>_DEPENDENCIES for each
@@ -415,8 +415,8 @@ HOST_DEPS = $(sort $(foreach dep,\
 		$($(dep))))
 HOST_SOURCE += $(addsuffix -source,$(sort $(TARGETS_HOST_DEPS) $(HOST_DEPS)))
 
-TARGETS_LEGAL_INFO := $(patsubst %,%-legal-info,\
-		$(TARGETS) $(TARGETS_HOST_DEPS) $(HOST_DEPS))
+PACKAGES_LEGAL_INFO := $(patsubst %,%-legal-info,\
+		$(PACKAGES) $(TARGETS_HOST_DEPS) $(HOST_DEPS))
 
 dirs: $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
 	$(HOST_DIR) $(BINARIES_DIR)
@@ -510,7 +510,7 @@ endif
 ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y)
 GLIBC_GENERATE_LOCALES = $(call qstrip,$(BR2_GENERATE_LOCALE))
 ifneq ($(GLIBC_GENERATE_LOCALES),)
-TARGETS += host-localedef
+PACKAGES += host-localedef
 
 define GENERATE_GLIBC_LOCALES
 	$(Q)mkdir -p $(TARGET_DIR)/usr/lib/locale/
@@ -554,7 +554,7 @@ endif
 
 $(TARGETS_ROOTFS): target-finalize
 
-target-finalize: $(TARGETS)
+target-finalize: $(PACKAGES)
 	@$(call MESSAGE,"Finalizing target directory")
 	$(foreach hook,$(TARGET_FINALIZE_HOOKS),$($(hook))$(sep))
 	rm -rf $(TARGET_DIR)/usr/include $(TARGET_DIR)/usr/share/aclocal \
@@ -618,7 +618,7 @@ target-post-image: $(TARGETS_ROOTFS) target-finalize
 		$(call MESSAGE,"Executing post-image script $(s)"); \
 		$(EXTRA_ENV) $(s) $(BINARIES_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep))
 
-source: $(TARGETS_SOURCE) $(HOST_SOURCE)
+source: $(PACKAGES_SOURCE) $(HOST_SOURCE)
 
 external-deps:
 	@$(MAKE1) -Bs DL_MODE=SHOW_EXTERNAL_DEPS $(EXTRAMAKEARGS) source | sort -u
@@ -636,7 +636,7 @@ legal-info-prepare: $(LEGAL_INFO_DIR)
 	@$(call legal-warning,the toolchain has not been saved)
 	@cp $(BR2_CONFIG) $(LEGAL_INFO_DIR)/buildroot.config
 
-legal-info: dirs legal-info-clean legal-info-prepare $(TARGETS_LEGAL_INFO) \
+legal-info: dirs legal-info-clean legal-info-prepare $(PACKAGES_LEGAL_INFO) \
 		$(REDIST_SOURCES_DIR_TARGET) $(REDIST_SOURCES_DIR_HOST)
 	@cat support/legal-info/README.header >>$(LEGAL_REPORT)
 	@if [ -r $(LEGAL_WARNINGS) ]; then \
@@ -647,7 +647,7 @@ legal-info: dirs legal-info-clean legal-info-prepare $(TARGETS_LEGAL_INFO) \
 	@rm -f $(LEGAL_WARNINGS)
 
 show-targets:
-	@echo $(HOST_DEPS) $(TARGETS_HOST_DEPS) $(TARGETS) $(TARGETS_ROOTFS)
+	@echo $(HOST_DEPS) $(TARGETS_HOST_DEPS) $(PACKAGES) $(TARGETS_ROOTFS)
 
 graph-build: $(O)/build/build-time.log
 	@install -d $(O)/graphs
diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index e1a51e4..f87ef0b 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -743,7 +743,7 @@ $(eval $(call check-deprecated-variable,$(2)_BUILD_OPT,$(2)_BUILD_OPTS))
 $(eval $(call check-deprecated-variable,$(2)_GETTEXTIZE_OPT,$(2)_GETTEXTIZE_OPTS))
 $(eval $(call check-deprecated-variable,$(2)_KCONFIG_OPT,$(2)_KCONFIG_OPTS))
 
-TARGETS += $(1)
+PACKAGES += $(1)
 
 ifneq ($$($(2)_PERMISSIONS),)
 PACKAGES_PERMISSIONS_TABLE += $$($(2)_PERMISSIONS)$$(sep)
diff --git a/system/system.mk b/system/system.mk
index 4a1eb4a..c95e436 100644
--- a/system/system.mk
+++ b/system/system.mk
@@ -35,7 +35,7 @@ TARGET_FINALIZE_HOOKS += SYSTEM_ISSUE
 endif
 
 ifneq ($(TARGET_GENERIC_ROOT_PASSWD),)
-TARGETS += host-mkpasswd
+PACKAGES += host-mkpasswd
 endif
 
 define SET_NETWORK_LOCALHOST
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 19/35] fs: add rootfs dependencies to PACKAGES
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (17 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 18/35] Makefile: rename TARGETS to PACKAGES Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-30 16:33   ` Yann E. MORIN
  2015-03-29 17:33 ` [Buildroot] [PATCH 20/35] Makefile: use <pkg>-all-legal-info to implement the legal-info target Thomas Petazzoni
                   ` (18 subsequent siblings)
  37 siblings, 1 reply; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

The logic for creating most of the filesystem images requires a
certain number of host packages to be built. However, those packages
are not currently listed in the global PACKAGES variables, and they
are not dependencies of any other package listed in the PACKAGES
variable.

While it does not have any practical implications, it makes sense to
have those packages listed in the global PACKAGES variable, which this
commit implements.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 fs/common.mk | 1 +
 1 file changed, 1 insertion(+)

diff --git a/fs/common.mk b/fs/common.mk
index cac127f..41ee86d 100644
--- a/fs/common.mk
+++ b/fs/common.mk
@@ -106,6 +106,7 @@ rootfs-$(1): $$(BINARIES_DIR)/rootfs.$(1) $$(ROOTFS_$(2)_POST_TARGETS)
 
 ifeq ($$(BR2_TARGET_ROOTFS_$(2)),y)
 TARGETS_ROOTFS += rootfs-$(1)
+PACKAGES += $$(ROOTFS_$(2)_DEPENDENCIES)
 endif
 endef
 
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 20/35] Makefile: use <pkg>-all-legal-info to implement the legal-info target
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (18 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 19/35] fs: add rootfs dependencies " Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-30 20:59   ` Yann E. MORIN
  2015-03-29 17:33 ` [Buildroot] [PATCH 21/35] Makefile: simplify show-targets Thomas Petazzoni
                   ` (17 subsequent siblings)
  37 siblings, 1 reply; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

This commit changes the implementation of the global 'legal-info'
target to use the newly introduced per-package <pkg>-all-legal-info
target. This allows to avoid using the $(TARGET_HOST_DEPS) and
$(HOST_DEPS) variables that we are trying to remove.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 Makefile | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/Makefile b/Makefile
index 0577b3f..ab54dda 100644
--- a/Makefile
+++ b/Makefile
@@ -415,9 +415,6 @@ HOST_DEPS = $(sort $(foreach dep,\
 		$($(dep))))
 HOST_SOURCE += $(addsuffix -source,$(sort $(TARGETS_HOST_DEPS) $(HOST_DEPS)))
 
-PACKAGES_LEGAL_INFO := $(patsubst %,%-legal-info,\
-		$(PACKAGES) $(TARGETS_HOST_DEPS) $(HOST_DEPS))
-
 dirs: $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
 	$(HOST_DIR) $(BINARIES_DIR)
 
@@ -636,7 +633,7 @@ legal-info-prepare: $(LEGAL_INFO_DIR)
 	@$(call legal-warning,the toolchain has not been saved)
 	@cp $(BR2_CONFIG) $(LEGAL_INFO_DIR)/buildroot.config
 
-legal-info: dirs legal-info-clean legal-info-prepare $(PACKAGES_LEGAL_INFO) \
+legal-info: dirs legal-info-clean legal-info-prepare $(foreach p,$(PACKAGES),$(p)-all-legal-info) \
 		$(REDIST_SOURCES_DIR_TARGET) $(REDIST_SOURCES_DIR_HOST)
 	@cat support/legal-info/README.header >>$(LEGAL_REPORT)
 	@if [ -r $(LEGAL_WARNINGS) ]; then \
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 21/35] Makefile: simplify show-targets
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (19 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 20/35] Makefile: use <pkg>-all-legal-info to implement the legal-info target Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-30 21:21   ` Yann E. MORIN
  2015-04-06  9:44   ` Yann E. MORIN
  2015-03-29 17:33 ` [Buildroot] [PATCH 22/35] Makefile: use the package infra based external-deps Thomas Petazzoni
                   ` (16 subsequent siblings)
  37 siblings, 2 replies; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

show-targets is only used currently by the graph-depends script, which
already recurses into the dependencies of the selected packages to
build the dependency graph. Therefore, dumping the contents of
$(PACKAGES) and $(ROOTFS_TARGETS) is sufficient: $(HOST_DEPS) and
$(TARGET_HOST_DEPS) will contain packages that are dependencies of
packages already listed in $(PACKAGES), which graph-depends will
discover by itself.

This allows to remove one more usage of $(HOST_DEPS) and
$(TARGET_HOST_DEPS), which is one more step towards their removal.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index ab54dda..0709751 100644
--- a/Makefile
+++ b/Makefile
@@ -644,7 +644,7 @@ legal-info: dirs legal-info-clean legal-info-prepare $(foreach p,$(PACKAGES),$(p
 	@rm -f $(LEGAL_WARNINGS)
 
 show-targets:
-	@echo $(HOST_DEPS) $(TARGETS_HOST_DEPS) $(PACKAGES) $(TARGETS_ROOTFS)
+	@echo $(PACKAGES) $(TARGETS_ROOTFS)
 
 graph-build: $(O)/build/build-time.log
 	@install -d $(O)/graphs
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 22/35] Makefile: use the package infra based external-deps
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (20 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 21/35] Makefile: simplify show-targets Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-30 21:43   ` Yann E. MORIN
  2015-03-29 17:33 ` [Buildroot] [PATCH 23/35] pkg-download: remove support for the SHOW_EXTERNAL_DEPS DL_MODE Thomas Petazzoni
                   ` (15 subsequent siblings)
  37 siblings, 1 reply; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

This commit changes the global 'external-deps' target to use the newly
introduced per-package <pkg>-all-external-deps, instead of relying on
the 'source' target with a custom DL_MODE.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 0709751..8fca4b8 100644
--- a/Makefile
+++ b/Makefile
@@ -617,8 +617,9 @@ target-post-image: $(TARGETS_ROOTFS) target-finalize
 
 source: $(PACKAGES_SOURCE) $(HOST_SOURCE)
 
+_external-deps: $(foreach p,$(PACKAGES),$(p)-all-external-deps)
 external-deps:
-	@$(MAKE1) -Bs DL_MODE=SHOW_EXTERNAL_DEPS $(EXTRAMAKEARGS) source | sort -u
+	@$(MAKE1) -Bs $(EXTRAMAKEARGS) _external-deps | sort -u
 
 legal-info-clean:
 	@rm -fr $(LEGAL_INFO_DIR)
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 23/35] pkg-download: remove support for the SHOW_EXTERNAL_DEPS DL_MODE
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (21 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 22/35] Makefile: use the package infra based external-deps Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-29 17:33 ` [Buildroot] [PATCH 24/35] Makefile: move source-check outside of noconfig_targets Thomas Petazzoni
                   ` (14 subsequent siblings)
  37 siblings, 0 replies; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

Now that the external-deps implementation relies on the per-package
<pkg>-all-external-deps and <pkg>-external-deps targets and no longer
on the 'source' target with a custom DL_MODE, we can get rid of the
support for the SHOW_EXTERNAL_DEPS DL_MODE value in the pkg-download
logic.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/pkg-download.mk | 45 ++-------------------------------------------
 package/pkg-generic.mk  |  5 +----
 2 files changed, 3 insertions(+), 47 deletions(-)

diff --git a/package/pkg-download.mk b/package/pkg-download.mk
index 5e74519..20923e9 100644
--- a/package/pkg-download.mk
+++ b/package/pkg-download.mk
@@ -20,9 +20,8 @@ export LOCALFILES := $(call qstrip,$(BR2_LOCALFILES))
 
 DL_WRAPPER = support/download/dl-wrapper
 
-# Default spider mode is 'DOWNLOAD'. Other possible values are 'SOURCE_CHECK'
-# used by the _source-check target and 'SHOW_EXTERNAL_DEPS', used by the
-# external-deps target.
+# Default spider mode is 'DOWNLOAD'. Other possible value is
+# 'SOURCE_CHECK' used by the _source-check target.
 DL_MODE = DOWNLOAD
 
 # DL_DIR may have been set already from the environment
@@ -71,11 +70,6 @@ github = https://github.com/$(1)/$(2)/archive/$(3)
 # The SOURCE_CHECK_* helpers are in charge of simply checking that the source
 # is available for download. This can be used to make sure one will be able
 # to get all the sources needed for one's build configuration.
-#
-# The SHOW_EXTERNAL_DEPS_* helpers simply output to the console the names
-# of the files that will be downloaded, or path and revision of the
-# source repositories, producing a list of all the "external dependencies"
-# of a given build configuration.
 ################################################################################
 
 # Try a shallow clone - but that only works if the version is a ref (tag or
@@ -101,11 +95,6 @@ define SOURCE_CHECK_GIT
   $(GIT) ls-remote --heads $($(PKG)_SITE) > /dev/null
 endef
 
-define SHOW_EXTERNAL_DEPS_GIT
-	echo $($(PKG)_SOURCE)
-endef
-
-
 define DOWNLOAD_BZR
 	$(EXTRA_ENV) $(DL_WRAPPER) -b bzr \
 		-o $(DL_DIR)/$($(PKG)_SOURCE) \
@@ -121,10 +110,6 @@ define SOURCE_CHECK_BZR
 	$(BZR) ls --quiet $($(PKG)_SITE) > /dev/null
 endef
 
-define SHOW_EXTERNAL_DEPS_BZR
-	echo $($(PKG)_SOURCE)
-endef
-
 define DOWNLOAD_CVS
 	$(EXTRA_ENV) $(DL_WRAPPER) -b cvs \
 		-o $(DL_DIR)/$($(PKG)_SOURCE) \
@@ -142,10 +127,6 @@ define SOURCE_CHECK_CVS
 	$(CVS) -d:pserver:anonymous:@$(call stripurischeme,$(call qstrip,$($(PKG)_SITE))) login
 endef
 
-define SHOW_EXTERNAL_DEPS_CVS
-	echo $($(PKG)_SOURCE)
-endef
-
 define DOWNLOAD_SVN
 	$(EXTRA_ENV) $(DL_WRAPPER) -b svn \
 		-o $(DL_DIR)/$($(PKG)_SOURCE) \
@@ -161,10 +142,6 @@ define SOURCE_CHECK_SVN
   $(SVN) ls $($(PKG)_SITE)@$($(PKG)_DL_VERSION) > /dev/null
 endef
 
-define SHOW_EXTERNAL_DEPS_SVN
-  echo $($(PKG)_SOURCE)
-endef
-
 # SCP URIs should be of the form scp://[user@]host:filepath
 # Note that filepath is relative to the user's home directory, so you may want
 # to prepend the path with a slash: scp://[user@]host:/absolutepath
@@ -181,11 +158,6 @@ define SOURCE_CHECK_SCP
 	$(SSH) $(call domain,$(1),:) ls '$(call notdomain,$(1),:)' > /dev/null
 endef
 
-define SHOW_EXTERNAL_DEPS_SCP
-	echo $(2)
-endef
-
-
 define DOWNLOAD_HG
 	$(EXTRA_ENV) $(DL_WRAPPER) -b hg \
 		-o $(DL_DIR)/$($(PKG)_SOURCE) \
@@ -203,11 +175,6 @@ define SOURCE_CHECK_HG
   $(HG) incoming --force -l1 $($(PKG)_SITE) > /dev/null
 endef
 
-define SHOW_EXTERNAL_DEPS_HG
-  echo $($(PKG)_SOURCE)
-endef
-
-
 define DOWNLOAD_WGET
 	$(EXTRA_ENV) $(DL_WRAPPER) -b wget \
 		-o $(DL_DIR)/$(2) \
@@ -221,10 +188,6 @@ define SOURCE_CHECK_WGET
   $(WGET) --spider '$(call qstrip,$(1))'
 endef
 
-define SHOW_EXTERNAL_DEPS_WGET
-  echo $(2)
-endef
-
 define DOWNLOAD_LOCALFILES
 	$(EXTRA_ENV) $(DL_WRAPPER) -b cp \
 		-o $(DL_DIR)/$(2) \
@@ -238,10 +201,6 @@ define SOURCE_CHECK_LOCALFILES
   test -e $(call stripurischeme,$(call qstrip,$(1)))
 endef
 
-define SHOW_EXTERNAL_DEPS_LOCALFILES
-  echo $(2)
-endef
-
 ################################################################################
 # DOWNLOAD -- Download helper. Will try to download source from:
 # 1) BR2_PRIMARY_SITE if enabled
diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index f87ef0b..4ec9a06 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -122,13 +122,10 @@ $(BUILD_DIR)/%/.stamp_rsynced:
 	$(foreach hook,$($(PKG)_POST_RSYNC_HOOKS),$(call $(hook))$(sep))
 	$(Q)touch $@
 
-# Handle the SOURCE_CHECK and SHOW_EXTERNAL_DEPS cases for rsynced
-# packages
+# Handle the SOURCE_CHECK case for rsynced packages
 $(BUILD_DIR)/%/.stamp_rsync_sourced:
 ifeq ($(DL_MODE),SOURCE_CHECK)
 	test -d $(SRCDIR)
-else ifeq ($(DL_MODE),SHOW_EXTERNAL_DEPS)
-	echo "file://$(SRCDIR)"
 else
 	@true # Nothing to do to source a local package
 endif
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 24/35] Makefile: move source-check outside of noconfig_targets
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (22 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 23/35] pkg-download: remove support for the SHOW_EXTERNAL_DEPS DL_MODE Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-29 17:33 ` [Buildroot] [PATCH 25/35] pkg-download: extend DOWNLOAD_INNER, add a SOURCE_CHECK macro Thomas Petazzoni
                   ` (13 subsequent siblings)
  37 siblings, 0 replies; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

make source-check is here to check whether the remote sources for the
current selection of packages are still available. So it cannot be a
noconfig_targets, since it depends on a configuration being
available. The very fact that 'source-check' is basically the same as
'source', and one is a noconfig_target and not the other is a clear
indication that the current implementation is wrong.

So this commit moves source-check to no longer be a noconfig_target.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 Makefile | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/Makefile b/Makefile
index 8fca4b8..9b44181 100644
--- a/Makefile
+++ b/Makefile
@@ -75,7 +75,7 @@ export BR2_VERSION_FULL := $(BR2_VERSION)$(shell $(TOPDIR)/support/scripts/setlo
 noconfig_targets := menuconfig nconfig gconfig xconfig config oldconfig randconfig \
 	defconfig %_defconfig allyesconfig allnoconfig silentoldconfig release \
 	randpackageconfig allyespackageconfig allnopackageconfig \
-	source-check print-version olddefconfig
+	print-version olddefconfig
 
 # Strip quotes and then whitespaces
 qstrip = $(strip $(subst ",,$(1)))
@@ -427,7 +427,7 @@ world: target-post-image
 
 .PHONY: all world toolchain dirs clean distclean source outputmakefile \
 	legal-info legal-info-prepare legal-info-clean printvars \
-	target-finalize target-post-image
+	target-finalize target-post-image source-check
 
 ################################################################################
 #
@@ -621,6 +621,10 @@ _external-deps: $(foreach p,$(PACKAGES),$(p)-all-external-deps)
 external-deps:
 	@$(MAKE1) -Bs $(EXTRAMAKEARGS) _external-deps | sort -u
 
+# check if download URLs are outdated
+source-check:
+	$(MAKE1) DL_MODE=SOURCE_CHECK $(EXTRAMAKEARGS) source
+
 legal-info-clean:
 	@rm -fr $(LEGAL_INFO_DIR)
 
@@ -793,10 +797,6 @@ savedefconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
 		--savedefconfig=$(if $(DEFCONFIG),$(DEFCONFIG),$(CONFIG_DIR)/defconfig) \
 		$(CONFIG_CONFIG_IN)
 
-# check if download URLs are outdated
-source-check:
-	$(MAKE1) DL_MODE=SOURCE_CHECK $(EXTRAMAKEARGS) source
-
 .PHONY: defconfig savedefconfig
 
 ################################################################################
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 25/35] pkg-download: extend DOWNLOAD_INNER, add a SOURCE_CHECK macro
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (23 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 24/35] Makefile: move source-check outside of noconfig_targets Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-29 17:33 ` [Buildroot] [PATCH 26/35] pkg-generic: implement source-check targets Thomas Petazzoni
                   ` (12 subsequent siblings)
  37 siblings, 0 replies; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

As part of moving to a package infrastructure based source-check
implementation, we are going to move away from the global DL_MODE
variable to select the behavior of the DOWNLOAD_INNER macro.

As a preparation to this, this commit makes the DOWNLOAD_INNER macro
take a third argument, which is the action to be done: either DOWNLOAD
or SOURCE_CHECK. For now, the DOWNLOAD macro passes $(DL_MODE) as this
third argument, in order to keep the existing behavior.

In addition, a SOURCE_CHECK macro is added, which calls DOWNLOAD_INNER
with the appropriate action. This macro will be used in the upcoming
package infra based implementation of source-check.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/pkg-download.mk | 28 ++++++++++++++++------------
 1 file changed, 16 insertions(+), 12 deletions(-)

diff --git a/package/pkg-download.mk b/package/pkg-download.mk
index 20923e9..b5af5a2 100644
--- a/package/pkg-download.mk
+++ b/package/pkg-download.mk
@@ -214,14 +214,18 @@ endef
 ################################################################################
 
 define DOWNLOAD
-	$(call DOWNLOAD_INNER,$(1),$(notdir $(1)))
+	$(call DOWNLOAD_INNER,$(1),$(notdir $(1)),$(DL_MODE))
+endef
+
+define SOURCE_CHECK
+	$(call DOWNLOAD_INNER,$(1),$(notdir $(1)),SOURCE_CHECK)
 endef
 
 define DOWNLOAD_INNER
 	$(Q)if test -n "$(call qstrip,$(BR2_PRIMARY_SITE))" ; then \
 		case "$(call geturischeme,$(BR2_PRIMARY_SITE))" in \
-			scp) $(call $(DL_MODE)_SCP,$(BR2_PRIMARY_SITE)/$(2),$(2)) && exit ;; \
-			*) $(call $(DL_MODE)_WGET,$(BR2_PRIMARY_SITE)/$(2),$(2)) && exit ;; \
+			scp) $(call $(3)_SCP,$(BR2_PRIMARY_SITE)/$(2),$(2)) && exit ;; \
+			*) $(call $(3)_WGET,$(BR2_PRIMARY_SITE)/$(2),$(2)) && exit ;; \
 		esac ; \
 	fi ; \
 	if test "$(BR2_PRIMARY_SITE_ONLY)" = "y" ; then \
@@ -234,18 +238,18 @@ define DOWNLOAD_INNER
 			scheme="$($(PKG)_SITE_METHOD)" ; \
 		fi ; \
 		case "$$scheme" in \
-			git) $($(DL_MODE)_GIT) && exit ;; \
-			svn) $($(DL_MODE)_SVN) && exit ;; \
-			cvs) $($(DL_MODE)_CVS) && exit ;; \
-			bzr) $($(DL_MODE)_BZR) && exit ;; \
-			file) $($(DL_MODE)_LOCALFILES) && exit ;; \
-			scp) $($(DL_MODE)_SCP) && exit ;; \
-			hg) $($(DL_MODE)_HG) && exit ;; \
-			*) $(call $(DL_MODE)_WGET,$(1),$(2)) && exit ;; \
+			git) $($(3)_GIT) && exit ;; \
+			svn) $($(3)_SVN) && exit ;; \
+			cvs) $($(3)_CVS) && exit ;; \
+			bzr) $($(3)_BZR) && exit ;; \
+			file) $($(3)_LOCALFILES) && exit ;; \
+			scp) $($(3)_SCP) && exit ;; \
+			hg) $($(3)_HG) && exit ;; \
+			*) $(call $(3)_WGET,$(1),$(2)) && exit ;; \
 		esac ; \
 	fi ; \
 	if test -n "$(call qstrip,$(BR2_BACKUP_SITE))" ; then \
-		$(call $(DL_MODE)_WGET,$(BR2_BACKUP_SITE)/$(2),$(2)) && exit ; \
+		$(call $(3)_WGET,$(BR2_BACKUP_SITE)/$(2),$(2)) && exit ; \
 	fi ; \
 	exit 1
 endef
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 26/35] pkg-generic: implement source-check targets
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (24 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 25/35] pkg-download: extend DOWNLOAD_INNER, add a SOURCE_CHECK macro Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-29 17:33 ` [Buildroot] [PATCH 27/35] Makefile: implement a package based source-check target Thomas Petazzoni
                   ` (11 subsequent siblings)
  37 siblings, 0 replies; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

This commits extends the common package infrastructure with the
$(1)-source-check and $(1)-all-source-check targets.

The $(1)-source-check target simply calls the newly added
SOURCE_CHECK macro on all items to be downloaded.

The $(1)-all-source-check target will depend on the
$(1)-all-source-check targets of all dependent packages and the
$(1)-source-check target of the current package, which allows to do a
recursive source-check in the dependency tree.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/pkg-generic.mk | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index 4ec9a06..8afcff1 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -574,6 +574,16 @@ endif
 $(1)-show-version:
 			@echo $$($(2)_VERSION)
 
+$(1)-source-check:
+ifeq ($$($(2)_OVERRIDE_SRCDIR),)
+	$$(foreach p,$$($(2)_SOURCE) $$($(2)_EXTRA_DOWNLOADS) $$($(2)_PATCH),\
+		$$(if $$(findstring ://,$(p)),\
+			$$(call SOURCE_CHECK,$(p)),\
+			$$(call SOURCE_CHECK,$$($(2)_SITE:/=)/$(p))))
+else
+	test -d $$($(2)_OVERRIDE_SRCDIR)
+endif
+
 $(1)-show-depends:
 			@echo $$($(2)_FINAL_DEPENDENCIES)
 
@@ -586,6 +596,8 @@ $(1)-graph-depends: graph-depends-requirements
 
 $(1)-all-source:       $$(foreach p,$$($(2)_FINAL_DEPENDENCIES),$$(p)-all-source) $(1)-source
 
+$(1)-all-source-check:       $$(foreach p,$$($(2)_FINAL_DEPENDENCIES),$$(p)-all-source-check) $(1)-source-check
+
 $(1)-all-external-deps:        $$(foreach p,$$($(2)_FINAL_DEPENDENCIES),$$(p)-all-external-deps) $(1)-external-deps
 
 $(1)-all-legal-info:   $$(foreach p,$$($(2)_FINAL_DEPENDENCIES),$$(p)-all-legal-info) $(1)-legal-info
@@ -781,7 +793,8 @@ endif
 	$(1)-source $(1)-rsync $(1)-show-depends $(1)-graph-depends \
 	$(1)-external-deps $(1)-all-source $(1)-all-external-deps \
 	$(1)-all-legal-info $(1)-dirclean $(1)-clean-for-rebuild \
-	$(1)-rebuild $(1)-clean-for-reconfigure $(1)-reconfigure
+	$(1)-rebuild $(1)-clean-for-reconfigure $(1)-reconfigure \
+	$(1)-source-check $(1)-all-source-check
 
 endif # $(2)_KCONFIG_VAR
 endef # inner-generic-package
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 27/35] Makefile: implement a package based source-check target
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (25 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 26/35] pkg-generic: implement source-check targets Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-29 17:33 ` [Buildroot] [PATCH 28/35] pkg-generic: remove the .stamp_rsync_sourced fake stamp file Thomas Petazzoni
                   ` (10 subsequent siblings)
  37 siblings, 0 replies; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

This commit switches the implementation of the global source-check
target to use a package infrastructure based mechanism, using the
$(1)-all-source-check target added in the previous commit.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 Makefile | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 9b44181..cbfdc0b 100644
--- a/Makefile
+++ b/Makefile
@@ -622,8 +622,7 @@ external-deps:
 	@$(MAKE1) -Bs $(EXTRAMAKEARGS) _external-deps | sort -u
 
 # check if download URLs are outdated
-source-check:
-	$(MAKE1) DL_MODE=SOURCE_CHECK $(EXTRAMAKEARGS) source
+source-check: $(foreach p,$(PACKAGES),$(p)-all-source-check)
 
 legal-info-clean:
 	@rm -fr $(LEGAL_INFO_DIR)
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 28/35] pkg-generic: remove the .stamp_rsync_sourced fake stamp file
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (26 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 27/35] Makefile: implement a package based source-check target Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-29 17:33 ` [Buildroot] [PATCH 29/35] pkg-generic: don't use DL_MODE in .stamp_downloaded Thomas Petazzoni
                   ` (9 subsequent siblings)
  37 siblings, 0 replies; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

The only reason for the .stamp_rsync_sourced fake stamp file target to
exist was to handle the SOURCE_CHECK operation on packages using the
OVERRIDE_SRCDIR mechanism. Now that this is handled directly inside
$(1)-source-check, there is no longer any need for this part of the
code.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/pkg-generic.mk | 13 +------------
 1 file changed, 1 insertion(+), 12 deletions(-)

diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index 8afcff1..367a81b 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -122,14 +122,6 @@ $(BUILD_DIR)/%/.stamp_rsynced:
 	$(foreach hook,$($(PKG)_POST_RSYNC_HOOKS),$(call $(hook))$(sep))
 	$(Q)touch $@
 
-# Handle the SOURCE_CHECK case for rsynced packages
-$(BUILD_DIR)/%/.stamp_rsync_sourced:
-ifeq ($(DL_MODE),SOURCE_CHECK)
-	test -d $(SRCDIR)
-else
-	@true # Nothing to do to source a local package
-endif
-
 # Patch
 #
 # The RAWNAME variable is the lowercased package name, which allows to
@@ -438,7 +430,6 @@ $(2)_TARGET_INSTALL_HOST =      $$($(2)_DIR)/.stamp_host_installed
 $(2)_TARGET_BUILD =		$$($(2)_DIR)/.stamp_built
 $(2)_TARGET_CONFIGURE =		$$($(2)_DIR)/.stamp_configured
 $(2)_TARGET_RSYNC =	        $$($(2)_DIR)/.stamp_rsynced
-$(2)_TARGET_RSYNC_SOURCE =      $$($(2)_DIR)/.stamp_rsync_sourced
 $(2)_TARGET_PATCH =		$$($(2)_DIR)/.stamp_patched
 $(2)_TARGET_EXTRACT =		$$($(2)_DIR)/.stamp_extracted
 $(2)_TARGET_SOURCE =		$$($(2)_DIR)/.stamp_downloaded
@@ -565,7 +556,7 @@ $(1)-extract:		$(1)-rsync
 
 $(1)-rsync:		$$($(2)_TARGET_RSYNC)
 
-$(1)-source:		$$($(2)_TARGET_RSYNC_SOURCE)
+$(1)-source:
 
 $(1)-external-deps:
 	@echo "file://$$($(2)_OVERRIDE_SRCDIR)"
@@ -635,8 +626,6 @@ $$($(2)_TARGET_BUILD):			PKG=$(2)
 $$($(2)_TARGET_CONFIGURE):		PKG=$(2)
 $$($(2)_TARGET_RSYNC):                  SRCDIR=$$($(2)_OVERRIDE_SRCDIR)
 $$($(2)_TARGET_RSYNC):                  PKG=$(2)
-$$($(2)_TARGET_RSYNC_SOURCE):		SRCDIR=$$($(2)_OVERRIDE_SRCDIR)
-$$($(2)_TARGET_RSYNC_SOURCE):		PKG=$(2)
 $$($(2)_TARGET_PATCH):			PKG=$(2)
 $$($(2)_TARGET_PATCH):			RAWNAME=$$(patsubst host-%,%,$(1))
 $$($(2)_TARGET_PATCH):			PKGDIR=$(pkgdir)
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 29/35] pkg-generic: don't use DL_MODE in .stamp_downloaded
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (27 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 28/35] pkg-generic: remove the .stamp_rsync_sourced fake stamp file Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-29 17:33 ` [Buildroot] [PATCH 30/35] pkg-download: get rid of DL_MODE Thomas Petazzoni
                   ` (8 subsequent siblings)
  37 siblings, 0 replies; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

The .stamp_downloaded target is now only being used to really
download, and no longer for other activities like "source check" or
"external deps". So the check on DL_MODE being equal to DOWNLOAD is no
longer necessary.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/pkg-generic.mk | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index 367a81b..ae3668f 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -71,7 +71,6 @@ endif
 # Retrieve the archive
 $(BUILD_DIR)/%/.stamp_downloaded:
 	$(foreach hook,$($(PKG)_PRE_DOWNLOAD_HOOKS),$(call $(hook))$(sep))
-ifeq ($(DL_MODE),DOWNLOAD)
 # Only show the download message if it isn't already downloaded
 	$(Q)for p in $($(PKG)_SOURCE) $($(PKG)_PATCH) $($(PKG)_EXTRA_DOWNLOADS) ; do \
 		if test ! -e $(DL_DIR)/`basename $$p` ; then \
@@ -79,7 +78,6 @@ ifeq ($(DL_MODE),DOWNLOAD)
 			break ; \
 		fi ; \
 	done
-endif
 	$(if $($(PKG)_SOURCE),$(call DOWNLOAD,$($(PKG)_SITE:/=)/$($(PKG)_SOURCE)))
 	$(foreach p,$($(PKG)_EXTRA_DOWNLOADS),\
 		$(if $(findstring ://,$(p)),\
@@ -94,10 +92,8 @@ endif
 		)\
 	$(sep))
 	$(foreach hook,$($(PKG)_POST_DOWNLOAD_HOOKS),$(call $(hook))$(sep))
-ifeq ($(DL_MODE),DOWNLOAD)
 	$(Q)mkdir -p $(@D)
 	$(Q)touch $@
-endif
 
 # Unpack the archive
 $(BUILD_DIR)/%/.stamp_extracted:
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 30/35] pkg-download: get rid of DL_MODE
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (28 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 29/35] pkg-generic: don't use DL_MODE in .stamp_downloaded Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-29 17:33 ` [Buildroot] [PATCH 31/35] pkg-download: fix indentation for SOURCE_CHECK_* macros Thomas Petazzoni
                   ` (7 subsequent siblings)
  37 siblings, 0 replies; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

The DL_MODE variable is now no longer used with any other value than
"DOWNLOAD", so it no longer makes sense to have this variable at
all. Therefore, this commit gets rid of it.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/pkg-download.mk | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/package/pkg-download.mk b/package/pkg-download.mk
index b5af5a2..0bc98b1 100644
--- a/package/pkg-download.mk
+++ b/package/pkg-download.mk
@@ -20,10 +20,6 @@ export LOCALFILES := $(call qstrip,$(BR2_LOCALFILES))
 
 DL_WRAPPER = support/download/dl-wrapper
 
-# Default spider mode is 'DOWNLOAD'. Other possible value is
-# 'SOURCE_CHECK' used by the _source-check target.
-DL_MODE = DOWNLOAD
-
 # DL_DIR may have been set already from the environment
 ifeq ($(origin DL_DIR),undefined)
 DL_DIR ?= $(call qstrip,$(BR2_DL_DIR))
@@ -214,7 +210,7 @@ endef
 ################################################################################
 
 define DOWNLOAD
-	$(call DOWNLOAD_INNER,$(1),$(notdir $(1)),$(DL_MODE))
+	$(call DOWNLOAD_INNER,$(1),$(notdir $(1)),DOWNLOAD)
 endef
 
 define SOURCE_CHECK
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 31/35] pkg-download: fix indentation for SOURCE_CHECK_* macros
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (29 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 30/35] pkg-download: get rid of DL_MODE Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-29 17:33 ` [Buildroot] [PATCH 32/35] pkg-generic: propagate <pkg>_EXTRA_DOWNLOADS from target to host package Thomas Petazzoni
                   ` (6 subsequent siblings)
  37 siblings, 0 replies; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

Some of the SOURCE_CHECK_* macros are using a non-standard two-spaces
indentation. This commit switches them to use a single tab based
indentation, like in the rest of Buildroot.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/pkg-download.mk | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/package/pkg-download.mk b/package/pkg-download.mk
index 0bc98b1..e4fff5f 100644
--- a/package/pkg-download.mk
+++ b/package/pkg-download.mk
@@ -88,7 +88,7 @@ endef
 # TODO: improve to check that the given PKG_DL_VERSION exists on the remote
 # repository
 define SOURCE_CHECK_GIT
-  $(GIT) ls-remote --heads $($(PKG)_SITE) > /dev/null
+	$(GIT) ls-remote --heads $($(PKG)_SITE) > /dev/null
 endef
 
 define DOWNLOAD_BZR
@@ -135,7 +135,7 @@ define DOWNLOAD_SVN
 endef
 
 define SOURCE_CHECK_SVN
-  $(SVN) ls $($(PKG)_SITE)@$($(PKG)_DL_VERSION) > /dev/null
+	$(SVN) ls $($(PKG)_SITE)@$($(PKG)_DL_VERSION) > /dev/null
 endef
 
 # SCP URIs should be of the form scp://[user@]host:filepath
@@ -168,7 +168,7 @@ endef
 # TODO: improve to check that the given PKG_DL_VERSION exists on the remote
 # repository
 define SOURCE_CHECK_HG
-  $(HG) incoming --force -l1 $($(PKG)_SITE) > /dev/null
+	$(HG) incoming --force -l1 $($(PKG)_SITE) > /dev/null
 endef
 
 define DOWNLOAD_WGET
@@ -181,7 +181,7 @@ define DOWNLOAD_WGET
 endef
 
 define SOURCE_CHECK_WGET
-  $(WGET) --spider '$(call qstrip,$(1))'
+	$(WGET) --spider '$(call qstrip,$(1))'
 endef
 
 define DOWNLOAD_LOCALFILES
@@ -194,7 +194,7 @@ define DOWNLOAD_LOCALFILES
 endef
 
 define SOURCE_CHECK_LOCALFILES
-  test -e $(call stripurischeme,$(call qstrip,$(1)))
+	test -e $(call stripurischeme,$(call qstrip,$(1)))
 endef
 
 ################################################################################
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 32/35] pkg-generic: propagate <pkg>_EXTRA_DOWNLOADS from target to host package
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (30 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 31/35] pkg-download: fix indentation for SOURCE_CHECK_* macros Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-29 17:33 ` [Buildroot] [PATCH 33/35] pkg-generic: introduce a <pkg>_ALL_DOWNLOADS variable and factorize code Thomas Petazzoni
                   ` (5 subsequent siblings)
  37 siblings, 0 replies; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

Just like <pkg>_PATCH, <pkg>_SOURCE or <pkg>_SITE, the
<pkg>_EXTRA_DOWNLOADS variable of a host package should be
automatically inferred from the <pkg>_EXTRA_DOWNLOADS value of the
corresponding target package, unless an explicit value is being
defined for the host package. This commit implements this for
<pkg>_EXTRA_DOWNLOADS.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/pkg-generic.mk | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index ae3668f..be09a39 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -353,6 +353,12 @@ ifndef $(2)_PATCH
  endif
 endif
 
+ifndef $(2)_EXTRA_DOWNLOADS
+ ifdef $(3)_EXTRA_DOWNLOADS
+  $(2)_PATCH = $$($(3)_EXTRA_DOWNLOADS)
+ endif
+endif
+
 ifndef $(2)_SITE
  ifdef $(3)_SITE
   $(2)_SITE = $$($(3)_SITE)
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 33/35] pkg-generic: introduce a <pkg>_ALL_DOWNLOADS variable and factorize code
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (31 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 32/35] pkg-generic: propagate <pkg>_EXTRA_DOWNLOADS from target to host package Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-29 17:33 ` [Buildroot] [PATCH 34/35] Makefile: implement the 'source' target using the package infrastructure Thomas Petazzoni
                   ` (4 subsequent siblings)
  37 siblings, 0 replies; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

Now, both the download and source-check code are iterating over
<pkg>_SOURCE, <pkg>_PATCH and <pkg>_EXTRA_DOWNLOADS elements, figuring
out whether they contain full URLs or not. Instead of doing this
repeatdly, this patch introduces an internal <pkg>_ALL_DOWNLOADS
variable, which contains the list of everything that needs to be
downloaded, with URLs already expanded to take into account <pkg>_SITE
if needed.

This allows to simplify quite significantly the .stamp_download and
source-check implementation.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/pkg-generic.mk | 26 ++++++++------------------
 1 file changed, 8 insertions(+), 18 deletions(-)

diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index be09a39..ba0943e 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -72,25 +72,13 @@ endif
 $(BUILD_DIR)/%/.stamp_downloaded:
 	$(foreach hook,$($(PKG)_PRE_DOWNLOAD_HOOKS),$(call $(hook))$(sep))
 # Only show the download message if it isn't already downloaded
-	$(Q)for p in $($(PKG)_SOURCE) $($(PKG)_PATCH) $($(PKG)_EXTRA_DOWNLOADS) ; do \
+	$(Q)for p in $($(PKG)_ALL_DOWNLOADS); do \
 		if test ! -e $(DL_DIR)/`basename $$p` ; then \
 			$(call MESSAGE,"Downloading") ; \
 			break ; \
 		fi ; \
 	done
-	$(if $($(PKG)_SOURCE),$(call DOWNLOAD,$($(PKG)_SITE:/=)/$($(PKG)_SOURCE)))
-	$(foreach p,$($(PKG)_EXTRA_DOWNLOADS),\
-		$(if $(findstring ://,$(p)),\
-			$(call DOWNLOAD,$(p)),\
-			$(call DOWNLOAD,$($(PKG)_SITE:/=)/$(p))\
-		)\
-	$(sep))
-	$(foreach p,$($(PKG)_PATCH),\
-		$(if $(findstring ://,$(p)),\
-			$(call DOWNLOAD,$(p)),\
-			$(call DOWNLOAD,$($(PKG)_SITE:/=)/$(p))\
-		)\
-	$(sep))
+	$(foreach p,$($(PKG)_ALL_DOWNLOADS),$(call DOWNLOAD,$(p))$(sep))
 	$(foreach hook,$($(PKG)_POST_DOWNLOAD_HOOKS),$(call $(hook))$(sep))
 	$(Q)mkdir -p $(@D)
 	$(Q)touch $@
@@ -359,6 +347,11 @@ ifndef $(2)_EXTRA_DOWNLOADS
  endif
 endif
 
+$(2)_ALL_DOWNLOADS = \
+	$$(foreach p,$$($(2)_SOURCE) $$($(2)_PATCH) $$($(2)_EXTRA_DOWNLOADS),\
+		$$(if $$(findstring ://,$$(p)),$$(p),\
+			$$($(2)_SITE:/=)/$$(p)))
+
 ifndef $(2)_SITE
  ifdef $(3)_SITE
   $(2)_SITE = $$($(3)_SITE)
@@ -569,10 +562,7 @@ $(1)-show-version:
 
 $(1)-source-check:
 ifeq ($$($(2)_OVERRIDE_SRCDIR),)
-	$$(foreach p,$$($(2)_SOURCE) $$($(2)_EXTRA_DOWNLOADS) $$($(2)_PATCH),\
-		$$(if $$(findstring ://,$(p)),\
-			$$(call SOURCE_CHECK,$(p)),\
-			$$(call SOURCE_CHECK,$$($(2)_SITE:/=)/$(p))))
+	$$(foreach p,$$($(2)_ALL_DOWNLOADS),$$(call SOURCE_CHECK,$(p))$$(sep))
 else
 	test -d $$($(2)_OVERRIDE_SRCDIR)
 endif
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 34/35] Makefile: implement the 'source' target using the package infrastructure
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (32 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 33/35] pkg-generic: introduce a <pkg>_ALL_DOWNLOADS variable and factorize code Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-29 17:33 ` [Buildroot] [PATCH 35/35] Makefile: remove unneeded variables Thomas Petazzoni
                   ` (3 subsequent siblings)
  37 siblings, 0 replies; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

Now that all the bits are in place, switch the global 'source' target
to use the package infrastructure logic.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index cbfdc0b..3e58e09 100644
--- a/Makefile
+++ b/Makefile
@@ -615,7 +615,7 @@ target-post-image: $(TARGETS_ROOTFS) target-finalize
 		$(call MESSAGE,"Executing post-image script $(s)"); \
 		$(EXTRA_ENV) $(s) $(BINARIES_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep))
 
-source: $(PACKAGES_SOURCE) $(HOST_SOURCE)
+source: $(foreach p,$(PACKAGES),$(p)-all-source)
 
 _external-deps: $(foreach p,$(PACKAGES),$(p)-all-external-deps)
 external-deps:
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 35/35] Makefile: remove unneeded variables
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (33 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 34/35] Makefile: implement the 'source' target using the package infrastructure Thomas Petazzoni
@ 2015-03-29 17:33 ` Thomas Petazzoni
  2015-03-29 22:28 ` [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Yann E. MORIN
                   ` (2 subsequent siblings)
  37 siblings, 0 replies; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-29 17:33 UTC (permalink / raw)
  To: buildroot

Now that all the external-deps, source-check and source targets are
properly implemented based on the package infrastructure, the
PACKAGES_SOURCE, TARGET_HOST_DEPS, HOST_DEPS and HOST_SOURCE variables
are no longer needed. This is a good thing since they were anyway
incorrect, as they were only doing a two level recursion in the
dependencies of host packages.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 Makefile | 21 ---------------------
 1 file changed, 21 deletions(-)

diff --git a/Makefile b/Makefile
index 3e58e09..c47a5a8 100644
--- a/Makefile
+++ b/Makefile
@@ -394,27 +394,6 @@ include fs/common.mk
 
 include $(BR2_EXTERNAL)/external.mk
 
-PACKAGES_SOURCE := $(patsubst %,%-source,$(PACKAGES))
-
-# host-* dependencies have to be handled specially, as those aren't
-# visible in Kconfig and hence not added to a variable like PACKAGES.
-# instead, find all the host-* targets listed in each <PKG>_DEPENDENCIES
-# variable for each enabled target.
-# Notice: this only works for newstyle gentargets/autotargets packages
-TARGETS_HOST_DEPS = $(sort $(filter host-%,$(foreach dep,\
-		$(addsuffix _DEPENDENCIES,\
-			$(call UPPERCASE,$(PACKAGES) $(TARGETS_ROOTFS))),\
-		$($(dep)))))
-# Host packages can in turn have their own dependencies. Likewise find
-# all the package names listed in the HOST_<PKG>_DEPENDENCIES for each
-# host package found above. Ideally this should be done recursively until
-# no more packages are found, but that's hard to do in make, so limit to
-# 1 level for now.
-HOST_DEPS = $(sort $(foreach dep,\
-		$(addsuffix _DEPENDENCIES,$(call UPPERCASE,$(TARGETS_HOST_DEPS))),\
-		$($(dep))))
-HOST_SOURCE += $(addsuffix -source,$(sort $(TARGETS_HOST_DEPS) $(HOST_DEPS)))
-
 dirs: $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
 	$(HOST_DIR) $(BINARIES_DIR)
 
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 01/35] linux: use the package infrastructure to download patches
  2015-03-29 17:33 ` [Buildroot] [PATCH 01/35] linux: use the package infrastructure to download patches Thomas Petazzoni
@ 2015-03-29 20:47   ` Yann E. MORIN
  0 siblings, 0 replies; 73+ messages in thread
From: Yann E. MORIN @ 2015-03-29 20:47 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2015-03-29 19:33 +0200, Thomas Petazzoni spake thusly:
> The linux package has a special handling of patches, with quite a bit
> of legacy in it. A problem caused by this special handling is that the
> linux package calls directly the DOWNLOAD_WGET macro, which means that
> the package infrastructure isn't aware of which patches get
> downloaded, and it prevents doing changes inside the package download
> infrastructure.
> 
> This commit changes the handling of patches in the linux package in
> the following way:
> 
>  * The LINUX_PATCHES variable is kept as is: it lists all the patches
>    mentioned in the Config.in option BR2_LINUX_KERNEL_PATCH. This
>    option can contain http://, ftp://, https:// URLs, path to local
>    files or local directories.
> 
>    This variable is *not* used by the generic package infrastructure,
>    so it is purely internal to the Linux package.
> 
>  * The LINUX_PATCH variable is now filled in with the list of patches
>    that should be downloaded. It is derived from LINUX_PATCHES by
>    filtering the patches that have http://, ftp:// or https:// in
>    their path. Since <pkg>_PATCH is handled by the package
>    infrastructure, it means that those patches are now automatically
>    downloaded and applied by the package infrastructure.
> 
>  * The LINUX_APPLY_PATCHES hook is renamed to
>    LINUX_APPLY_LOCAL_PATCHES, because it is now only responsible of
>    applying local patches: remote patches are handled by
>    LINUX_PATCH. The implementation of the hook is changed to filter
>    out the patches that have already taken care of by LINUX_PATCH, so
>    that we only iterate through the list of local patches or local
>    patch directories.

I was wondering why this special-casing of local patches, since our
download and patch infras can deal with local files.

But that's because, for Linux, there can be directories in the list,
and this is what our download and patch infras can't deal with. This
should have been mentioned somewhere in the commit log, and commented
on in the code, below ...

> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Reviewed-by: Romain Naour <romain.naour@openwide.fr>
> ---
>  linux/linux.mk | 27 ++++++++++-----------------
>  1 file changed, 10 insertions(+), 17 deletions(-)
> 
> diff --git a/linux/linux.mk b/linux/linux.mk
> index 5a0ba01..c25d106 100644
> --- a/linux/linux.mk
> +++ b/linux/linux.mk
> @@ -42,6 +42,11 @@ endif
>  
>  LINUX_PATCHES = $(call qstrip,$(BR2_LINUX_KERNEL_PATCH))
>  
> +# We rely on the generic package infrastructure to download and apply
> +# remote patches (downloaded from ftp, http or https). For local
> +# patches, we have a custom post-patch hook below.

... here, something like:

    # We rely on the generic package infrastructure to download and
    # apply remote patches (downloaded from ftp, http or https). For
    # local patches, we can't rely on that infr, because there might be
    # directories in the patch list (unlike for other packages).

Otherwise, looks sane to me...

Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[tested with a local patch, then a remote patch]
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> +LINUX_PATCH = $(filter ftp://% http://% https://%,$(LINUX_PATCHES))
> +
>  LINUX_INSTALL_IMAGES = YES
>  LINUX_DEPENDENCIES += host-kmod host-lzop
>  
> @@ -150,29 +155,17 @@ else
>  LINUX_IMAGE_PATH = $(KERNEL_ARCH_PATH)/boot/$(LINUX_IMAGE_NAME)
>  endif # BR2_LINUX_KERNEL_VMLINUX
>  
> -define LINUX_DOWNLOAD_PATCHES
> -	$(if $(LINUX_PATCHES),
> -		@$(call MESSAGE,"Download additional patches"))
> -	$(foreach patch,$(filter ftp://% http://% https://%,$(LINUX_PATCHES)),\
> -		$(call DOWNLOAD_WGET,$(patch),$(notdir $(patch)))$(sep))
> -endef
> -
> -LINUX_POST_DOWNLOAD_HOOKS += LINUX_DOWNLOAD_PATCHES
> -
> -define LINUX_APPLY_PATCHES
> -	for p in $(LINUX_PATCHES) ; do \
> -		if echo $$p | grep -q -E "^ftp://|^http://|^https://" ; then \
> -			$(APPLY_PATCHES) $(@D) $(DL_DIR) `basename $$p` || exit 1; \
> -		elif test -d $$p ; then \
> -			$(APPLY_PATCHES) $(@D) $$p linux-\*.patch || exit 1; \
> +define LINUX_APPLY_LOCAL_PATCHES
> +	for p in $(filter-out ftp://% http://% https://%,$(LINUX_PATCHES)) ; do \
> +		if test -d $$p ; then \
> +			$(APPLY_PATCHES) $(@D) $$p linux-\*.patch || exit 1 ; \
>  		else \
>  			$(APPLY_PATCHES) $(@D) `dirname $$p` `basename $$p` || exit 1; \
>  		fi \
>  	done
>  endef
>  
> -LINUX_POST_PATCH_HOOKS += LINUX_APPLY_PATCHES
> -
> +LINUX_POST_PATCH_HOOKS += LINUX_APPLY_LOCAL_PATCHES
>  
>  ifeq ($(BR2_LINUX_KERNEL_USE_DEFCONFIG),y)
>  KERNEL_SOURCE_CONFIG = $(KERNEL_ARCH_PATH)/configs/$(call qstrip,$(BR2_LINUX_KERNEL_DEFCONFIG))_defconfig
> -- 
> 2.1.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 02/35] pkg-generic: fix the logic showing the "Downloading" message
  2015-03-29 17:33 ` [Buildroot] [PATCH 02/35] pkg-generic: fix the logic showing the "Downloading" message Thomas Petazzoni
@ 2015-03-29 20:48   ` Yann E. MORIN
  0 siblings, 0 replies; 73+ messages in thread
From: Yann E. MORIN @ 2015-03-29 20:48 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2015-03-29 19:33 +0200, Thomas Petazzoni spake thusly:
> Even though the .stamp_downloaded target is executed for each package
> being built, the pkg-generic infrastructure tries to not display the
> "Downloading" message when there is in fact nothing to download.
> 
> Unfortunately, the logic was incorrect for the patch download: it
> forgot the fact that <pkg>_PATCH can contain either file names (in
> which case we assume the patch should be downloaded from <pkg>_SITE),
> or full URLs. The latter case was not properly handled, as we were
> checking if $(DL_DIR)/<full URL> existed, while we should be testing
> if $(DL_DIR)/`basename <full URL>` exists.
> 
> This patch fixes that, which makes sure the "Downloading" message is
> displayed only when necessary.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Reviewed-by: Romain Naour <romain.naour@openwide.fr>
> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> ---
>  package/pkg-generic.mk | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
> index c1b379b..b44d476 100644
> --- a/package/pkg-generic.mk
> +++ b/package/pkg-generic.mk
> @@ -77,7 +77,7 @@ ifeq ($(DL_MODE),DOWNLOAD)
>  		$(call MESSAGE,"Downloading") ; \
>  	else \
>  		for p in $($(PKG)_PATCH) ; do \
> -			if test ! -e $(DL_DIR)/$$p ; then \
> +			if test ! -e $(DL_DIR)/`basename $$p` ; then \
>  				$(call MESSAGE,"Downloading") ; \
>  				break ; \
>  			fi ; \
> -- 
> 2.1.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 03/35] pkg-generic: take into account <pkg>_EXTRA_DOWNLOADS to display "Downloading" message
  2015-03-29 17:33 ` [Buildroot] [PATCH 03/35] pkg-generic: take into account <pkg>_EXTRA_DOWNLOADS to display " Thomas Petazzoni
@ 2015-03-29 20:49   ` Yann E. MORIN
  0 siblings, 0 replies; 73+ messages in thread
From: Yann E. MORIN @ 2015-03-29 20:49 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2015-03-29 19:33 +0200, Thomas Petazzoni spake thusly:
> The .stamp_downloaded target displays the "Downloading" message even
> if there is really something to download. However, this logic only
> checks for <pkg>_SOURCE and <pkg>_PATCH: it does not check if
> something needs to be downloaded in <pkg>_EXTRA_DOWNLOADS.
> 
> This commit fixes that, which makes sure that the "Downloading"
> message is displayed if one of the items in <pkg>_EXTRA_DOWNLOADS has
> not yet been downloaded.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Reviewed-by: Romain Naour <romain.naour@openwide.fr>
> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> ---
>  package/pkg-generic.mk | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
> index b44d476..003fd69 100644
> --- a/package/pkg-generic.mk
> +++ b/package/pkg-generic.mk
> @@ -76,7 +76,7 @@ ifeq ($(DL_MODE),DOWNLOAD)
>  	$(Q)if test ! -e $(DL_DIR)/$($(PKG)_SOURCE); then \
>  		$(call MESSAGE,"Downloading") ; \
>  	else \
> -		for p in $($(PKG)_PATCH) ; do \
> +		for p in $($(PKG)_PATCH) $($(PKG)_EXTRA_DOWNLOADS) ; do \
>  			if test ! -e $(DL_DIR)/`basename $$p` ; then \
>  				$(call MESSAGE,"Downloading") ; \
>  				break ; \
> -- 
> 2.1.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 04/35] pkg-generic: refactor the "Downloading" message logic
  2015-03-29 17:33 ` [Buildroot] [PATCH 04/35] pkg-generic: refactor the "Downloading" message logic Thomas Petazzoni
@ 2015-03-29 20:50   ` Yann E. MORIN
  0 siblings, 0 replies; 73+ messages in thread
From: Yann E. MORIN @ 2015-03-29 20:50 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2015-03-29 19:33 +0200, Thomas Petazzoni spake thusly:
> In the .stamp_downloaded hook, the logic to decide whether or not to
> display the "Downloading" message is treating the check of
> <pkg>_SOURCE as a special case. But in fact, there is no real reason
> to do so: the existing loop used for <pkg>_PATCH and
> <pkg>_EXTRA_DOWNLOADS could work just as well.
> 
> This commit therefore refactors this piece of code, to have a single
> loop checking <pkg>_SOURCE, <pkg>_PATCH and <pkg>_EXTRA_DOWNLOADS.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> ---
>  package/pkg-generic.mk | 16 ++++++----------
>  1 file changed, 6 insertions(+), 10 deletions(-)
> 
> diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
> index 003fd69..3c86878 100644
> --- a/package/pkg-generic.mk
> +++ b/package/pkg-generic.mk
> @@ -73,16 +73,12 @@ $(BUILD_DIR)/%/.stamp_downloaded:
>  	$(foreach hook,$($(PKG)_PRE_DOWNLOAD_HOOKS),$(call $(hook))$(sep))
>  ifeq ($(DL_MODE),DOWNLOAD)
>  # Only show the download message if it isn't already downloaded
> -	$(Q)if test ! -e $(DL_DIR)/$($(PKG)_SOURCE); then \
> -		$(call MESSAGE,"Downloading") ; \
> -	else \
> -		for p in $($(PKG)_PATCH) $($(PKG)_EXTRA_DOWNLOADS) ; do \
> -			if test ! -e $(DL_DIR)/`basename $$p` ; then \
> -				$(call MESSAGE,"Downloading") ; \
> -				break ; \
> -			fi ; \
> -		done ; \
> -	fi
> +	$(Q)for p in $($(PKG)_SOURCE) $($(PKG)_PATCH) $($(PKG)_EXTRA_DOWNLOADS) ; do \
> +		if test ! -e $(DL_DIR)/`basename $$p` ; then \
> +			$(call MESSAGE,"Downloading") ; \
> +			break ; \
> +		fi ; \
> +	done
>  endif
>  	$(if $($(PKG)_SOURCE),$(call DOWNLOAD,$($(PKG)_SITE:/=)/$($(PKG)_SOURCE)))
>  	$(foreach p,$($(PKG)_EXTRA_DOWNLOADS),$(call DOWNLOAD,$($(PKG)_SITE:/=)/$(p))$(sep))
> -- 
> 2.1.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 05/35] pkg-generic: allow full URLs for <pkg>_EXTRA_DOWNLOADS
  2015-03-29 17:33 ` [Buildroot] [PATCH 05/35] pkg-generic: allow full URLs for <pkg>_EXTRA_DOWNLOADS Thomas Petazzoni
@ 2015-03-29 21:08   ` Yann E. MORIN
  2015-03-30  7:26     ` Thomas Petazzoni
  2015-05-10 18:42   ` Bernd Kuhls
  1 sibling, 1 reply; 73+ messages in thread
From: Yann E. MORIN @ 2015-03-29 21:08 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2015-03-29 19:33 +0200, Thomas Petazzoni spake thusly:
> The current logic for <pkg>_EXTRA_DOWNLOADS assumes that it is a list
> of files, all hosted at <pkg>_SITE. However, just like for
> <pkg>_PATCH, it may be useful to specify <pkg>_EXTRA_DOWNLOADS entries
> that are hosted on a different site than the package <pkg>_SITE.
> 
> This commit implements this, by re-using the same logic as the one
> used for <pkg>_PATCH.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Reviewed-by: Romain Naour <romain.naour@openwide.fr>
> ---
>  package/pkg-generic.mk | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
> index 3c86878..22b3fb9 100644
> --- a/package/pkg-generic.mk
> +++ b/package/pkg-generic.mk
> @@ -81,7 +81,12 @@ ifeq ($(DL_MODE),DOWNLOAD)
>  	done
>  endif
>  	$(if $($(PKG)_SOURCE),$(call DOWNLOAD,$($(PKG)_SITE:/=)/$($(PKG)_SOURCE)))
> -	$(foreach p,$($(PKG)_EXTRA_DOWNLOADS),$(call DOWNLOAD,$($(PKG)_SITE:/=)/$(p))$(sep))
> +	$(foreach p,$($(PKG)_EXTRA_DOWNLOADS),\
> +		$(if $(findstring ://,$(p)),\
> +			$(call DOWNLOAD,$(p)),\
> +			$(call DOWNLOAD,$($(PKG)_SITE:/=)/$(p))\
> +		)\
> +	$(sep))
>  	$(foreach p,$($(PKG)_PATCH),\
>  		$(if $(findstring ://,$(p)),\
>  			$(call DOWNLOAD,$(p)),\

And here I was going to suggest you could squash the two together,
because they're basically doing exactly the same thing, but on
different sets. So I wondered why you did not catch this, even
though you state it explicitly in the commit log.

It would have been just possible to extend the existing loop over
_PATCH like so:

    $(foreach p,$($(PKG)_PATCH) $($(PKG)_EXTRA_DOWNLOADS),\

And then, I noticed patch 33, which eventually gets rid of it anyway.
So, OK.

Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> -- 
> 2.1.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 06/35] docs/manual: update documentation about <pkg>_SOURCE, <pkg>_PATCH and <pkg>_EXTRA_DOWNLOADS
  2015-03-29 17:33 ` [Buildroot] [PATCH 06/35] docs/manual: update documentation about <pkg>_SOURCE, <pkg>_PATCH and <pkg>_EXTRA_DOWNLOADS Thomas Petazzoni
@ 2015-03-29 21:10   ` Yann E. MORIN
  0 siblings, 0 replies; 73+ messages in thread
From: Yann E. MORIN @ 2015-03-29 21:10 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2015-03-29 19:33 +0200, Thomas Petazzoni spake thusly:
> This commit updates the Buildroot manual for the variables used to
> indicate where to download the source code from:
> 
>  - It updates the description of <pkg>_SOURCE to make it clear that
>    Buildroot assume that the tarball is hosted at <pkg>_SITE.
> 
>  - It updates the description of <pkg>_PATCH to indicate that not only
>    file names (assumed to be hosted at <pkg>_SITE) can be used, but
>    also full URLs. This allows to match with what the current code is
>    doing.
> 
>  - It updates the description of <pkg>_EXTRA_DOWNLOADS to also
>    indicate that full URLs are now accepted, following the change made
>    in the previous commit.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Reviewed-by: Romain Naour <romain.naour@openwide.fr>

Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> ---
>  docs/manual/adding-packages-generic.txt | 30 +++++++++++++++++-------------
>  1 file changed, 17 insertions(+), 13 deletions(-)
> 
> diff --git a/docs/manual/adding-packages-generic.txt b/docs/manual/adding-packages-generic.txt
> index 6150bf7..85c9ccd 100644
> --- a/docs/manual/adding-packages-generic.txt
> +++ b/docs/manual/adding-packages-generic.txt
> @@ -204,18 +204,20 @@ information is (assuming the package name is +libfoo+) :
>      +LIBFOO_VERSION = cb9d6aa9429e838f0e54faa3d455bcbab5eef057+ +
>      +LIBFOO_VERSION = stable+
>  
> -* +LIBFOO_SOURCE+ may contain the name of the tarball of
> -  the package. If +HOST_LIBFOO_SOURCE+ is not specified, it
> -  defaults to +LIBFOO_SOURCE+. If none are specified, then
> -  the value is assumed to be
> -  +libfoo-$(LIBFOO_VERSION).tar.gz+. +
> +* +LIBFOO_SOURCE+ may contain the name of the tarball of the package,
> +  which Buildroot will use to download the tarball from
> +  +LIBFOO_SITE+. If +HOST_LIBFOO_SOURCE+ is not specified, it defaults
> +  to +LIBFOO_SOURCE+. If none are specified, then the value is assumed
> +  to be +libfoo-$(LIBFOO_VERSION).tar.gz+. +
>    Example: +LIBFOO_SOURCE = foobar-$(LIBFOO_VERSION).tar.bz2+
>  
>  * +LIBFOO_PATCH+ may contain a space-separated list of patch file
> -  names, that will be downloaded from the same location as the tarball
> -  indicated in +LIBFOO_SOURCE+, and then applied to the package source
> -  code. If +HOST_LIBFOO_PATCH+ is not specified, it defaults to
> -  +LIBFOO_PATCH+. Note that patches that are included in Buildroot
> +  names, that Buildroot will download and apply to the package source
> +  code. If an entry contains +://+, then Buildroot will assume it is a
> +  full URL and download the patch from this location. Otherwise,
> +  Buildroot will assume that the patch should be downloaded from
> +  +LIBFOO_SITE+. If +HOST_LIBFOO_PATCH+ is not specified, it defaults
> +  to +LIBFOO_PATCH+. Note that patches that are included in Buildroot
>    itself use a different mechanism: all files of the form
>    +<packagename>-*.patch+ present in the package directory inside
>    Buildroot will be applied to the package after extraction (see
> @@ -246,10 +248,12 @@ information is (assuming the package name is +libfoo+) :
>      +LIBFOO_SITE=/opt/software/libfoo.tar.gz+ +
>      +LIBFOO_SITE=$(TOPDIR)/../src/libfoo/+
>  
> -* +LIBFOO_EXTRA_DOWNLOADS+ lists a number of additional files that
> -  Buildroot should download from +LIBFOO_SITE+ in addition to the main
> -  +LIBFOO_SOURCE+ (which usually is a tarball). Buildroot will not do
> -  anything with those additional files, except download files: it will
> +* +LIBFOO_EXTRA_DOWNLOADS+ is a space-separated list of additional
> +  files that Buildroot should download. If an entry contains +://+
> +  then Buildroot will assume it is a complete URL and will download
> +  the file using this URL. Otherwise, Buildroot will assume the file
> +  to be downloaded is located at +LIBFOO_SITE+. Buildroot will not do
> +  anything with those additional files, except download them: it will
>    be up to the package recipe to use them from +$(BR2_DL_DIR)+.
>  
>  * +LIBFOO_SITE_METHOD+ determines the method used to fetch or copy the
> -- 
> 2.1.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 07/35] perl: use <pkg>_EXTRA_DOWNLOADS
  2015-03-29 17:33 ` [Buildroot] [PATCH 07/35] perl: use <pkg>_EXTRA_DOWNLOADS Thomas Petazzoni
@ 2015-03-29 21:15   ` Yann E. MORIN
  0 siblings, 0 replies; 73+ messages in thread
From: Yann E. MORIN @ 2015-03-29 21:15 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2015-03-29 19:33 +0200, Thomas Petazzoni spake thusly:
> Instead of manually using the DOWNLOAD macro (which should remain an
> internal macro), this commit converts the Perl package to use
> <pkg>_EXTRA_DOWNLOADS, now that it has been extended to allow full
> URLs.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Reviewed-by: Romain Naour <romain.naour@openwide.fr>
> ---
>  package/perl/perl.mk | 12 ++----------
>  1 file changed, 2 insertions(+), 10 deletions(-)
> 
> diff --git a/package/perl/perl.mk b/package/perl/perl.mk
> index 133e8aa..fb3ae6d 100644
> --- a/package/perl/perl.mk
> +++ b/package/perl/perl.mk
> @@ -17,19 +17,11 @@ PERL_CROSS_BASE_VERSION = 5.$(PERL_VERSION_MAJOR).2
>  # DO NOT refactor with the github helper (the result is not the same)
>  PERL_CROSS_SITE = http://raw.github.com/arsv/perl-cross/releases
>  PERL_CROSS_SOURCE = perl-$(PERL_CROSS_BASE_VERSION)-cross-$(PERL_CROSS_VERSION).tar.gz
> +PERL_EXTRA_DOWNLOADS = $(PERL_CROSS_SITE)/$(PERL_CROSS_SOURCE)
> +
>  PERL_CROSS_OLD_POD = perl$(subst .,,$(PERL_CROSS_BASE_VERSION))delta.pod
>  PERL_CROSS_NEW_POD = perl$(subst .,,$(PERL_VERSION))delta.pod
>  
> -# We use the perlcross hack to cross-compile perl. It should
> -# be extracted over the perl sources, so we don't define that
> -# as a separate package. Instead, it is downloaded and extracted
> -# together with perl

I would have kept part of the comment, which states that perl-cross
should be extracted over the perl sources. But I don;t much care either,
the code is pretty explicit.

Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> -define PERL_CROSS_DOWNLOAD
> -	$(call DOWNLOAD,$(PERL_CROSS_SITE:/=)/$(PERL_CROSS_SOURCE))
> -endef
> -PERL_POST_DOWNLOAD_HOOKS += PERL_CROSS_DOWNLOAD
> -
>  define PERL_CROSS_EXTRACT
>  	$(call suitable-extractor,$(PERL_CROSS_SOURCE)) $(DL_DIR)/$(PERL_CROSS_SOURCE) | \
>  	$(TAR) $(TAR_STRIP_COMPONENTS)=1 -C $(@D) $(TAR_OPTIONS) -
> -- 
> 2.1.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 08/35] packages: apply custom patches using *.patch instead of <pkg>-*.patch
  2015-03-29 17:33 ` [Buildroot] [PATCH 08/35] packages: apply custom patches using *.patch instead of <pkg>-*.patch Thomas Petazzoni
@ 2015-03-29 21:35   ` Yann E. MORIN
  2015-03-30  7:29     ` Thomas Petazzoni
  0 siblings, 1 reply; 73+ messages in thread
From: Yann E. MORIN @ 2015-03-29 21:35 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2015-03-29 19:33 +0200, Thomas Petazzoni spake thusly:
> Several packages have some logic to apply custom patches that existed
> before the BR2_GLOBAL_PATCH_DIR mechanism: at91bootstrap,
> at91bootstrap3, barebox, uboot and linux. Currently, the logic of
> those packages to apply custom patches is to match
> <package-name>-*.patch, which is not consistent with what we've done
> for patches stored in the package directory, and for patches stored in
> BR2_GLOBAL_PATCH_DIR: in such cases, we simply apply *.patch.
> 
> Therefore, for consistency reasons, this commit changes these packages
> to also apply *.patch.

At first, I was wondering if we could not simply get rid of al those
custom hooks, and do something like:

    BR2_GLOBAL_PATCH_DIR += $(BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR)

and so on for the others.

But it turns out that we're only looking into sub-directories of
BR2_GLOBAL_PATCH_DIR, so the above sould not work.

Second, I'm afraid this would break the case where someone has all the
patches in a single directory, and use the 'package' prefix to
differentiate what package a patch would apply, like so:

    /path/to/my/patches/at91bootstrap-patch-1.patch
    /path/to/my/patches/at91bootstrap3-patch-1.patch
    /path/to/my/patches/barebox-patch-1.patch
    /path/to/my/patches/linux-patch-1.patch
    ...

This change would break that setup, would it not?

Still, I think the change is a good and sound improvement in principle,
so I would not care much about the use-case above.

> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> ---
>  boot/at91bootstrap/at91bootstrap.mk   | 3 +--
>  boot/at91bootstrap3/at91bootstrap3.mk | 3 +--
>  boot/barebox/barebox.mk               | 5 ++---
>  boot/uboot/uboot.mk                   | 3 +--
>  linux/Config.in                       | 2 +-
>  linux/linux.mk                        | 2 +-
>  6 files changed, 7 insertions(+), 11 deletions(-)
> 
> diff --git a/boot/at91bootstrap/at91bootstrap.mk b/boot/at91bootstrap/at91bootstrap.mk
> index 50bbc26..802e85e 100644
> --- a/boot/at91bootstrap/at91bootstrap.mk
> +++ b/boot/at91bootstrap/at91bootstrap.mk
> @@ -24,8 +24,7 @@ endef
>  
>  ifneq ($(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR)),)
>  define AT91BOOTSTRAP_APPLY_CUSTOM_PATCHES
> -	$(APPLY_PATCHES) $(@D) $(BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR) \
> -		at91bootstrap-$(AT91BOOTSTRAP_VERSION)-\*.patch
> +	$(APPLY_PATCHES) $(@D) $(BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR) \*.patch
>  endef
>  
>  AT91BOOTSTRAP_POST_PATCH_HOOKS += AT91BOOTSTRAP_APPLY_CUSTOM_PATCHES
> diff --git a/boot/at91bootstrap3/at91bootstrap3.mk b/boot/at91bootstrap3/at91bootstrap3.mk
> index 098e7bf..b780617 100644
> --- a/boot/at91bootstrap3/at91bootstrap3.mk
> +++ b/boot/at91bootstrap3/at91bootstrap3.mk
> @@ -21,8 +21,7 @@ AT91BOOTSTRAP3_MAKE_OPTS = CROSS_COMPILE=$(TARGET_CROSS) DESTDIR=$(BINARIES_DIR)
>  
>  ifneq ($(AT91BOOTSTRAP3_CUSTOM_PATCH_DIR),)
>  define AT91BOOTSTRAP3_APPLY_CUSTOM_PATCHES
> -	$(APPLY_PATCHES) $(@D) $(AT91BOOTSTRAP3_CUSTOM_PATCH_DIR) \
> -		at91bootstrap3-\*.patch
> +	$(APPLY_PATCHES) $(@D) $(AT91BOOTSTRAP3_CUSTOM_PATCH_DIR) \*.patch
>  endef
>  
>  AT91BOOTSTRAP3_POST_PATCH_HOOKS += AT91BOOTSTRAP3_APPLY_CUSTOM_PATCHES
> diff --git a/boot/barebox/barebox.mk b/boot/barebox/barebox.mk
> index 5809fb0..98cb04e 100644
> --- a/boot/barebox/barebox.mk
> +++ b/boot/barebox/barebox.mk
> @@ -26,9 +26,8 @@ BAREBOX_LICENSE_FILES = COPYING
>  
>  ifneq ($(call qstrip,$(BR2_TARGET_BAREBOX_CUSTOM_PATCH_DIR)),)
>  define BAREBOX_APPLY_CUSTOM_PATCHES
> -	$(APPLY_PATCHES) $(@D) \
> -		$(BR2_TARGET_BAREBOX_CUSTOM_PATCH_DIR) \
> -		barebox-$(BAREBOX_VERSION)-\*.patch
> +	$(APPLY_PATCHES) $(@D)
> +		$(BR2_TARGET_BAREBOX_CUSTOM_PATCH_DIR) \*.patch
>  endef
>  
>  BAREBOX_POST_PATCH_HOOKS += BAREBOX_APPLY_CUSTOM_PATCHES
> diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk
> index a9ba054..8da2272 100644
> --- a/boot/uboot/uboot.mk
> +++ b/boot/uboot/uboot.mk
> @@ -86,8 +86,7 @@ UBOOT_POST_EXTRACT_HOOKS += UBOOT_COPY_OLD_LICENSE_FILE
>  
>  ifneq ($(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR)),)
>  define UBOOT_APPLY_CUSTOM_PATCHES
> -	$(APPLY_PATCHES) $(@D) $(BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR) \
> -		uboot-\*.patch
> +	$(APPLY_PATCHES) $(@D) $(BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR) \*.patch
>  endef
>  
>  UBOOT_POST_PATCH_HOOKS += UBOOT_APPLY_CUSTOM_PATCHES
> diff --git a/linux/Config.in b/linux/Config.in
> index a1113dd..c83a3f5 100644
> --- a/linux/Config.in
> +++ b/linux/Config.in
> @@ -129,7 +129,7 @@ config BR2_LINUX_KERNEL_PATCH
>  	  A space-separated list of patches to apply to the
>  	  kernel. Each patch can be described as an URL, a local file
>  	  path, or a directory. In the case of a directory, all files
> -	  matching linux-*.patch in the directory will be applied.
> +	  matching *.patch in the directory will be applied.
>  
>  #
>  # Configuration selection
> diff --git a/linux/linux.mk b/linux/linux.mk
> index c25d106..e239ff7 100644
> --- a/linux/linux.mk
> +++ b/linux/linux.mk
> @@ -158,7 +158,7 @@ endif # BR2_LINUX_KERNEL_VMLINUX
>  define LINUX_APPLY_LOCAL_PATCHES
>  	for p in $(filter-out ftp://% http://% https://%,$(LINUX_PATCHES)) ; do \
>  		if test -d $$p ; then \
> -			$(APPLY_PATCHES) $(@D) $$p linux-\*.patch || exit 1 ; \
> +			$(APPLY_PATCHES) $(@D) $$p \*.patch || exit 1 ; \
>  		else \
>  			$(APPLY_PATCHES) $(@D) `dirname $$p` `basename $$p` || exit 1; \
>  		fi \
> -- 
> 2.1.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 09/35] docs/manual: update documentation about applying patches
  2015-03-29 17:33 ` [Buildroot] [PATCH 09/35] docs/manual: update documentation about applying patches Thomas Petazzoni
@ 2015-03-29 21:40   ` Yann E. MORIN
  2015-04-06  9:06     ` Thomas Petazzoni
  0 siblings, 1 reply; 73+ messages in thread
From: Yann E. MORIN @ 2015-03-29 21:40 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2015-03-29 19:33 +0200, Thomas Petazzoni spake thusly:
> The Buildroot manual is currently wrong when describing how patches
> are applied: it says that <packagename>-*.patch is applied, and that
> <packagename>-<seq>-*.patch is the recommended name for patches. This
> is incorrect, since we're now using just <seq>-*.patch. This commit
> adjusts the documentation accordingly.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
>  docs/manual/adding-packages-generic.txt |  2 +-
>  docs/manual/customize-patches.txt       | 11 +++++------
>  2 files changed, 6 insertions(+), 7 deletions(-)
> 
> diff --git a/docs/manual/adding-packages-generic.txt b/docs/manual/adding-packages-generic.txt
> index 85c9ccd..1aa6def 100644
> --- a/docs/manual/adding-packages-generic.txt
> +++ b/docs/manual/adding-packages-generic.txt
> @@ -219,7 +219,7 @@ information is (assuming the package name is +libfoo+) :
>    +LIBFOO_SITE+. If +HOST_LIBFOO_PATCH+ is not specified, it defaults
>    to +LIBFOO_PATCH+. Note that patches that are included in Buildroot
>    itself use a different mechanism: all files of the form
> -  +<packagename>-*.patch+ present in the package directory inside
> +  +*.patch+ present in the package directory inside
>    Buildroot will be applied to the package after extraction (see
>    xref:patch-policy[patching a package]). Finally, patches listed in
>    the +LIBFOO_PATCH+ variable are applied _before_ the patches stored
> diff --git a/docs/manual/customize-patches.txt b/docs/manual/customize-patches.txt
> index e129a64..fa63541 100644
> --- a/docs/manual/customize-patches.txt
> +++ b/docs/manual/customize-patches.txt
> @@ -33,12 +33,11 @@ follows:
>  * If a +series+ file exists in the package directory, then patches are
>    applied according to the +series+ file;
>  +
> -* Otherwise, patch files matching +<packagename>-*.patch+
> -  are applied in alphabetical order.
> -  So, to ensure they are applied in the right order, it is highly
> -  recommended to name the patch files like this:
> -  +<packagename>-<number>-<description>.patch+, where +<number>+
> -  refers to the 'apply order'.
> +* Otherwise, patch files matching +*.patch+ are applied in
> +  alphabetical order.  So, to ensure they are applied in the right
> +  order, it is highly recommended to name the patch files like this:
> +  +<number>-<description>.patch+, where +<number>+ refers to the
> +  'apply order'.

Patches bundled in Buildroot have a four-number sequence. Should we
suggest this as well for patches in BR2_GLOBAL_PATCH_DIR ?

Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

>  For information about how patches are applied for a package, see
>  xref:patch-apply-order[]
> -- 
> 2.1.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 10/35] pkg-generic: implement a <pkg>-external-deps target
  2015-03-29 17:33 ` [Buildroot] [PATCH 10/35] pkg-generic: implement a <pkg>-external-deps target Thomas Petazzoni
@ 2015-03-29 21:44   ` Yann E. MORIN
  0 siblings, 0 replies; 73+ messages in thread
From: Yann E. MORIN @ 2015-03-29 21:44 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2015-03-29 19:33 +0200, Thomas Petazzoni spake thusly:
> This commit implements a new <pkg>-external-deps target in the
> pkg-generic package infrastructure. This target simply displays the
> list of file names that are needed for <pkg> to build (source tarball,
> patches, extra downloads).
> 
> In the case of the usage of <pkg>_OVERRIDE_SRCDIR, the path to the
> overriden source directory is displayed, prepended by file://. This
> matches what the code is currently doing in .stamp_rsync_sourced.
> 
> This new target is not currently being used in this commit, but
> followup commits will make use of it.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> ---
>  package/pkg-generic.mk | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
> index 22b3fb9..08e4cad 100644
> --- a/package/pkg-generic.mk
> +++ b/package/pkg-generic.mk
> @@ -546,6 +546,11 @@ $$($(2)_TARGET_EXTRACT):	$$($(2)_TARGET_SOURCE)
>  $(1)-depends:		$$($(2)_FINAL_DEPENDENCIES)
>  
>  $(1)-source:		$$($(2)_TARGET_SOURCE)
> +
> +$(1)-external-deps:
> +	@for p in $$($(2)_SOURCE) $$($(2)_PATCH) $$($(2)_EXTRA_DOWNLOADS) ; do \
> +		echo `basename $$$$p` ; \
> +	done
>  else
>  # In the package override case, the sequence of steps
>  #  source, by rsyncing
> @@ -564,6 +569,9 @@ $(1)-extract:		$(1)-rsync
>  $(1)-rsync:		$$($(2)_TARGET_RSYNC)
>  
>  $(1)-source:		$$($(2)_TARGET_RSYNC_SOURCE)
> +
> +$(1)-external-deps:
> +	@echo "file://$$($(2)_OVERRIDE_SRCDIR)"
>  endif
>  
>  $(1)-show-version:
> -- 
> 2.1.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 11/35] pkg-generic: implement <pkg>-all-{source, legal-info, external-deps} targets
  2015-03-29 17:33 ` [Buildroot] [PATCH 11/35] pkg-generic: implement <pkg>-all-{source, legal-info, external-deps} targets Thomas Petazzoni
@ 2015-03-29 21:47   ` Yann E. MORIN
  2015-03-30 17:45     ` Yann E. MORIN
  0 siblings, 1 reply; 73+ messages in thread
From: Yann E. MORIN @ 2015-03-29 21:47 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2015-03-29 19:33 +0200, Thomas Petazzoni spake thusly:
> In order to implement the global 'make source', 'make legal-info' and
> 'make external-deps' using the package infrastructure logic, this
> commit introduces a set of per-package targets that allow to
> recursively run the source/legal-info/external-deps actions on the
> dependencies of a given package.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> ---
>  package/pkg-generic.mk | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
> index 08e4cad..ba24591 100644
> --- a/package/pkg-generic.mk
> +++ b/package/pkg-generic.mk
> @@ -587,6 +587,12 @@ $(1)-graph-depends: graph-depends-requirements
>  			|tee $$(O)/graphs/$$(@).dot \
>  			|dot $$(BR2_GRAPH_DOT_OPTS) -T$$(BR_GRAPH_OUT) -o $$(O)/graphs/$$(@).$$(BR_GRAPH_OUT)
>  
> +$(1)-all-source:       $$(foreach p,$$($(2)_FINAL_DEPENDENCIES),$$(p)-all-source) $(1)-source
> +
> +$(1)-all-external-deps:        $$(foreach p,$$($(2)_FINAL_DEPENDENCIES),$$(p)-all-external-deps) $(1)-external-deps
> +
> +$(1)-all-legal-info:   $$(foreach p,$$($(2)_FINAL_DEPENDENCIES),$$(p)-all-legal-info) $(1)-legal-info
> +
>  $(1)-dirclean:		$$($(2)_TARGET_DIRCLEAN)
>  
>  $(1)-clean-for-reinstall:
> -- 
> 2.1.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 12/35] Makefile: remove dubious comment
  2015-03-29 17:33 ` [Buildroot] [PATCH 12/35] Makefile: remove dubious comment Thomas Petazzoni
@ 2015-03-29 21:50   ` Yann E. MORIN
  0 siblings, 0 replies; 73+ messages in thread
From: Yann E. MORIN @ 2015-03-29 21:50 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2015-03-29 19:33 +0200, Thomas Petazzoni spake thusly:
> This comment is a left-over from previous code changes, and it doesn't
> make much sense where it is placed.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> ---
>  Makefile | 3 ---
>  1 file changed, 3 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index edb122b..5a6f825 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -375,9 +375,6 @@ endif
>  include package/Makefile.in
>  include support/dependencies/dependencies.mk
>  
> -# We also need the various per-package makefiles, which also add
> -# each selected package to TARGETS if that package was selected
> -# in the .config file.
>  include toolchain/*.mk
>  include toolchain/*/*.mk
>  
> -- 
> 2.1.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 13/35] Makefile: directories are not PHONY targets
  2015-03-29 17:33 ` [Buildroot] [PATCH 13/35] Makefile: directories are not PHONY targets Thomas Petazzoni
@ 2015-03-29 21:56   ` Yann E. MORIN
  0 siblings, 0 replies; 73+ messages in thread
From: Yann E. MORIN @ 2015-03-29 21:56 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2015-03-29 19:33 +0200, Thomas Petazzoni spake thusly:
> The global .PHONY specification in the main Makefile is describing a
> number of directory targets as being PHONY, which doesn't make much
> sense. PHONY targets are targets that do not exist on the filesystem,
> and which make should always consider as not being up-to-date, so that
> the commands associated to these targets are always executed by make
> when the command is invoked, even if a file with the same name exists
> on the filesystem.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

After refreshing my memory on .PHONY targets:

Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> ---
>  Makefile | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index 5a6f825..56477bb 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -433,9 +433,7 @@ world: target-post-image
>  	legal-info legal-info-prepare legal-info-clean printvars \
>  	target-finalize target-post-image \
>  	$(TARGETS) $(TARGETS_ROOTFS) \
> -	$(TARGETS_DIRCLEAN) $(TARGETS_SOURCE) $(TARGETS_LEGAL_INFO) \
> -	$(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
> -	$(HOST_DIR) $(BINARIES_DIR)
> +	$(TARGETS_DIRCLEAN) $(TARGETS_SOURCE) $(TARGETS_LEGAL_INFO)
>  
>  ################################################################################
>  #
> -- 
> 2.1.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 14/35] pkg-generic: declare phony targets as such
  2015-03-29 17:33 ` [Buildroot] [PATCH 14/35] pkg-generic: declare phony targets as such Thomas Petazzoni
@ 2015-03-29 22:05   ` Yann E. MORIN
  0 siblings, 0 replies; 73+ messages in thread
From: Yann E. MORIN @ 2015-03-29 22:05 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2015-03-29 19:33 +0200, Thomas Petazzoni spake thusly:
> This commit improves the pkg-generic package infrastructure so that it
> declares all the <pkg>-<something> targets as PHONY, which they
> actually are.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
>  package/pkg-generic.mk | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
> index ba24591..e1a51e4 100644
> --- a/package/pkg-generic.mk
> +++ b/package/pkg-generic.mk
> @@ -777,6 +777,15 @@ ifneq ($$(call suitable-extractor,$$($(2)_SOURCE)),$$(XZCAT))
>  DL_TOOLS_DEPENDENCIES += $$(firstword $$(call suitable-extractor,$$($(2)_SOURCE)))
>  endif
>  
> +# Ensure all virtual targets are PHONY
> +.PHONY: $(1) $(1)-install $(1)-install-host $(1)-install-staging \
> +	$(1)-install-target $(1)-install-images $(1)-build \
> +	$(1)-configure $(1)-patch $(1)-extract $(1)-depends \
> +	$(1)-source $(1)-rsync $(1)-show-depends $(1)-graph-depends \
> +	$(1)-external-deps $(1)-all-source $(1)-all-external-deps \
> +	$(1)-all-legal-info $(1)-dirclean $(1)-clean-for-rebuild \
> +	$(1)-rebuild $(1)-clean-for-reconfigure $(1)-reconfigure

You're missing a few:

    $(1)-clean-for-reinstall
    $(1)-legal-info
    $(1)-reinstall
    $(1)-show-version

Noticed with:

    diff -du \
        <(sed -r -e '/^(\$\(1\)-[^:]+):.*/!d; s//\1/;' package/pkg-generic.mk |sort -u)
        <(sort -u kos_tom.list)

(kos_tom.list contains your list, obviously ;-) )

Regards,
Yann E. MORIN.

>  endif # $(2)_KCONFIG_VAR
>  endef # inner-generic-package
>  
> -- 
> 2.1.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 15/35] pkg-kconfig: declare phony targets as such
  2015-03-29 17:33 ` [Buildroot] [PATCH 15/35] pkg-kconfig: " Thomas Petazzoni
@ 2015-03-29 22:08   ` Yann E. MORIN
  0 siblings, 0 replies; 73+ messages in thread
From: Yann E. MORIN @ 2015-03-29 22:08 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2015-03-29 19:33 +0200, Thomas Petazzoni spake thusly:
> Just like the previous commit did for the pkg-generic infrastructure,
> this commit improves the pkg-kconfig infrastructure to declare its
> custom <pkg>-<something> targets as PHONY.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
>  package/pkg-kconfig.mk | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/package/pkg-kconfig.mk b/package/pkg-kconfig.mk
> index 04ac37d..69e7dc5 100644
> --- a/package/pkg-kconfig.mk
> +++ b/package/pkg-kconfig.mk
> @@ -100,6 +100,8 @@ $(1)-update-defconfig: $(1)-savedefconfig
>  
>  endif # package enabled
>  
> +.PHONY: $(1)-update-config $$(addprefix $(1)-,$$($(2)_KCONFIG_EDITORS))

What about:

    $(1)-savedefconfig
    $(1)-update-defconfig

Regards,
Yann E. MORIN.

>  endef # inner-kconfig-package
>  
>  ################################################################################
> -- 
> 2.1.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 16/35] fs: declare phony targets as such
  2015-03-29 17:33 ` [Buildroot] [PATCH 16/35] fs: " Thomas Petazzoni
@ 2015-03-29 22:16   ` Yann E. MORIN
  0 siblings, 0 replies; 73+ messages in thread
From: Yann E. MORIN @ 2015-03-29 22:16 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2015-03-29 19:33 +0200, Thomas Petazzoni spake thusly:
> This commit improves the filesystem handling code to declare its
> various targets as PHONY when appropriate.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
>  fs/common.mk              | 2 ++
>  fs/initramfs/initramfs.mk | 2 ++
>  fs/iso9660/iso9660.mk     | 2 ++

You're missing a kludge in ext2:

    rootfs-ext2-symlink:
        ln -sf blablabla...

Regards,
Yann E. MORIN.

>  3 files changed, 6 insertions(+)
> 
> diff --git a/fs/common.mk b/fs/common.mk
> index 5d07f00..cac127f 100644
> --- a/fs/common.mk
> +++ b/fs/common.mk
> @@ -102,6 +102,8 @@ rootfs-$(1)-show-depends:
>  
>  rootfs-$(1): $$(BINARIES_DIR)/rootfs.$(1) $$(ROOTFS_$(2)_POST_TARGETS)
>  
> +.PHONY: rootfs-$(1) rootfs-$(1)-show-depends
> +
>  ifeq ($$(BR2_TARGET_ROOTFS_$(2)),y)
>  TARGETS_ROOTFS += rootfs-$(1)
>  endif
> diff --git a/fs/initramfs/initramfs.mk b/fs/initramfs/initramfs.mk
> index 308924d..db50812 100644
> --- a/fs/initramfs/initramfs.mk
> +++ b/fs/initramfs/initramfs.mk
> @@ -17,6 +17,8 @@ rootfs-initramfs: $(ROOTFS_INITRAMFS_DEPENDENCIES) $(ROOTFS_INITRAMFS_POST_TARGE
>  rootfs-initramfs-show-depends:
>  	@echo $(ROOTFS_INITRAMFS_DEPENDENCIES)
>  
> +.PHONY: rootfs-initramfs rootfs-initramfs-show-depends
> +
>  ifeq ($(BR2_TARGET_ROOTFS_INITRAMFS),y)
>  TARGETS_ROOTFS += rootfs-initramfs
>  endif
> diff --git a/fs/iso9660/iso9660.mk b/fs/iso9660/iso9660.mk
> index 5b44ba4..4ccfce9 100644
> --- a/fs/iso9660/iso9660.mk
> +++ b/fs/iso9660/iso9660.mk
> @@ -48,6 +48,8 @@ rootfs-iso9660: $(BINARIES_DIR)/rootfs.iso9660
>  rootfs-iso9660-show-depends:
>  	@echo $(ROOTFS_ISO9660_DEPENDENCIES)
>  
> +.PHONY: rootfs-iso9660 rootfs-iso9660-show-depends
> +
>  ################################################################################
>  #
>  # Toplevel Makefile options
> -- 
> 2.1.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 17/35] Makefile: targets are now declared phony by the appropriate infrastructures
  2015-03-29 17:33 ` [Buildroot] [PATCH 17/35] Makefile: targets are now declared phony by the appropriate infrastructures Thomas Petazzoni
@ 2015-03-29 22:22   ` Yann E. MORIN
  0 siblings, 0 replies; 73+ messages in thread
From: Yann E. MORIN @ 2015-03-29 22:22 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2015-03-29 19:33 +0200, Thomas Petazzoni spake thusly:
> The main Makefile was declaring a subset of the per-package targets as
> being PHONY, but not all of them. Now that the pkg-generic package
> infrastructure is taking care of that in a much more systematic
> fashion, this commit gets rid of the unneeded code from the main
> Makefile.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
>  Makefile | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index 56477bb..15341be 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -395,7 +395,6 @@ include fs/common.mk
>  include $(BR2_EXTERNAL)/external.mk
>  
>  TARGETS_SOURCE := $(patsubst %,%-source,$(TARGETS))
> -TARGETS_DIRCLEAN := $(patsubst %,%-dirclean,$(TARGETS))
>  
>  # host-* dependencies have to be handled specially, as those aren't
>  # visible in Kconfig and hence not added to a variable like TARGETS.
> @@ -431,9 +430,7 @@ world: target-post-image
>  
>  .PHONY: all world toolchain dirs clean distclean source outputmakefile \
>  	legal-info legal-info-prepare legal-info-clean printvars \
> -	target-finalize target-post-image \
> -	$(TARGETS) $(TARGETS_ROOTFS) \
> -	$(TARGETS_DIRCLEAN) $(TARGETS_SOURCE) $(TARGETS_LEGAL_INFO)

Not true, wince your previous patch forgot to add $(1)-legal-info as
.PHONY.

However, when that's fixed in the previous patch:

Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> +	target-finalize target-post-image
>  
>  ################################################################################
>  #
> -- 
> 2.1.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps'
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (34 preceding siblings ...)
  2015-03-29 17:33 ` [Buildroot] [PATCH 35/35] Makefile: remove unneeded variables Thomas Petazzoni
@ 2015-03-29 22:28 ` Yann E. MORIN
  2015-03-30  7:23   ` Thomas Petazzoni
  2015-03-30 21:42 ` Thomas Petazzoni
  2015-04-06  9:33 ` Thomas Petazzoni
  37 siblings, 1 reply; 73+ messages in thread
From: Yann E. MORIN @ 2015-03-29 22:28 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2015-03-29 19:33 +0200, Thomas Petazzoni spake thusly:
> The initial goal of this series was to change the way we recursively
> go through host dependencies for the implementation of the 'source',
> 'external-deps', 'legal-info' and 'source-check' targets.

Pfeww... I've gone through about half of it. I'll review the remaining
parts tomorow evening.

I will ask that you no longer fly too far away from .fr: when the
flights are too long, you come back with huge patch series. Come on,
drink a whiskey and look through the window, like anyone else! ;-)

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps'
  2015-03-29 22:28 ` [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Yann E. MORIN
@ 2015-03-30  7:23   ` Thomas Petazzoni
  0 siblings, 0 replies; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-30  7:23 UTC (permalink / raw)
  To: buildroot

Hello,

On Mon, 30 Mar 2015 00:28:05 +0200, Yann E. MORIN wrote:

> Pfeww... I've gone through about half of it. I'll review the remaining
> parts tomorow evening.

Thanks for the review!

> I will ask that you no longer fly too far away from .fr: when the
> flights are too long, you come back with huge patch series. Come on,
> drink a whiskey and look through the window, like anyone else! ;-)

Actually, this series is not the result of one flight. I started it a
long time ago, and never had the time of finishing it. The recent
flights only allowed me to finalize the last bits of it.

Regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 05/35] pkg-generic: allow full URLs for <pkg>_EXTRA_DOWNLOADS
  2015-03-29 21:08   ` Yann E. MORIN
@ 2015-03-30  7:26     ` Thomas Petazzoni
  0 siblings, 0 replies; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-30  7:26 UTC (permalink / raw)
  To: buildroot

Dear Yann E. MORIN,

On Sun, 29 Mar 2015 23:08:31 +0200, Yann E. MORIN wrote:

> And here I was going to suggest you could squash the two together,
> because they're basically doing exactly the same thing, but on
> different sets. So I wondered why you did not catch this, even
> though you state it explicitly in the commit log.
> 
> It would have been just possible to extend the existing loop over
> _PATCH like so:
> 
>     $(foreach p,$($(PKG)_PATCH) $($(PKG)_EXTRA_DOWNLOADS),\
> 
> And then, I noticed patch 33, which eventually gets rid of it anyway.
> So, OK.
> 
> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Yes, exactly, a later patch refactors completely this part of the code.

I must admit that the organization of the patches may not be optimal,
but it's not easy to find a good split of things, while keeping patches
small and minimal.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 08/35] packages: apply custom patches using *.patch instead of <pkg>-*.patch
  2015-03-29 21:35   ` Yann E. MORIN
@ 2015-03-30  7:29     ` Thomas Petazzoni
  2015-03-30 16:22       ` Yann E. MORIN
  0 siblings, 1 reply; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-30  7:29 UTC (permalink / raw)
  To: buildroot

Dear Yann E. MORIN,

On Sun, 29 Mar 2015 23:35:51 +0200, Yann E. MORIN wrote:

> At first, I was wondering if we could not simply get rid of al those
> custom hooks, and do something like:
> 
>     BR2_GLOBAL_PATCH_DIR += $(BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR)
> 
> and so on for the others.
> 
> But it turns out that we're only looking into sub-directories of
> BR2_GLOBAL_PATCH_DIR, so the above sould not work.

No, it does not work, because BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR
is directly the directory where the patches are, while
BR2_GLOBAL_PATCH_DIR expects the at91bootstrap patches to be in an
at91boostrap/ directory.

> Second, I'm afraid this would break the case where someone has all the
> patches in a single directory, and use the 'package' prefix to
> differentiate what package a patch would apply, like so:
> 
>     /path/to/my/patches/at91bootstrap-patch-1.patch
>     /path/to/my/patches/at91bootstrap3-patch-1.patch
>     /path/to/my/patches/barebox-patch-1.patch
>     /path/to/my/patches/linux-patch-1.patch
>     ...
> 
> This change would break that setup, would it not?

Yes, it would. But on the previous iterations of those patches, Arnout
said it was OK to break this setup. See
http://lists.busybox.net/pipermail/buildroot/2015-March/123006.html.

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 08/35] packages: apply custom patches using *.patch instead of <pkg>-*.patch
  2015-03-30  7:29     ` Thomas Petazzoni
@ 2015-03-30 16:22       ` Yann E. MORIN
  0 siblings, 0 replies; 73+ messages in thread
From: Yann E. MORIN @ 2015-03-30 16:22 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2015-03-30 09:29 +0200, Thomas Petazzoni spake thusly:
> On Sun, 29 Mar 2015 23:35:51 +0200, Yann E. MORIN wrote:
> 
> > At first, I was wondering if we could not simply get rid of al those
> > custom hooks, and do something like:
> > 
> >     BR2_GLOBAL_PATCH_DIR += $(BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR)
> > 
> > and so on for the others.
> > 
> > But it turns out that we're only looking into sub-directories of
> > BR2_GLOBAL_PATCH_DIR, so the above sould not work.
> 
> No, it does not work, because BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR
> is directly the directory where the patches are, while
> BR2_GLOBAL_PATCH_DIR expects the at91bootstrap patches to be in an
> at91boostrap/ directory.

Yup, that was my conclusion, too.

> > Second, I'm afraid this would break the case where someone has all the
> > patches in a single directory, and use the 'package' prefix to
> > differentiate what package a patch would apply, like so:
> > 
> >     /path/to/my/patches/at91bootstrap-patch-1.patch
> >     /path/to/my/patches/at91bootstrap3-patch-1.patch
> >     /path/to/my/patches/barebox-patch-1.patch
> >     /path/to/my/patches/linux-patch-1.patch
> >     ...
> > 
> > This change would break that setup, would it not?
> 
> Yes, it would. But on the previous iterations of those patches, Arnout
> said it was OK to break this setup. See
> http://lists.busybox.net/pipermail/buildroot/2015-March/123006.html.

Yup, that was my conclusion, too.

:-)

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 18/35] Makefile: rename TARGETS to PACKAGES
  2015-03-29 17:33 ` [Buildroot] [PATCH 18/35] Makefile: rename TARGETS to PACKAGES Thomas Petazzoni
@ 2015-03-30 16:31   ` Yann E. MORIN
  0 siblings, 0 replies; 73+ messages in thread
From: Yann E. MORIN @ 2015-03-30 16:31 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2015-03-29 19:33 +0200, Thomas Petazzoni spake thusly:
> For clarity, this commit renames the TARGETS variable to the more
> meaningful PACKAGES variable. Indeed, only packages (handled by one of
> the package infrastructures) should be list in this variable, and not

... should be listed...

> other random non-package targets.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
>  Makefile               | 22 +++++++++++-----------
>  package/pkg-generic.mk |  2 +-
>  system/system.mk       |  2 +-

You're missing matchbox, which has (probably legacy) hand-written
TARGETS:

    ifeq ($(BR2_PACKAGE_MATCHBOX),y)
    include $(sort $(wildcard package/matchbox/*/*.mk))
    TARGETS += matchbox-lib matchbox-wm
    endif

This assignment should probably just go away now.

Also, there is a reference to TARGETS in support/scripts/graph-depends:

    # Execute the "make show-targets" command to get the list of the main
    # Buildroot TARGETS and return it formatted as a Python list. This
    # list is used as the starting point for full dependency graphs

Regards,
Yann E. MORIN.

>  3 files changed, 13 insertions(+), 13 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index 15341be..0577b3f 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -302,7 +302,7 @@ unexport MACHINE
>  
>  GNU_HOST_NAME := $(shell support/gnuconfig/config.guess)
>  
> -TARGETS :=
> +PACKAGES :=
>  
>  # silent mode requested?
>  QUIET := $(if $(findstring s,$(filter-out --%,$(MAKEFLAGS))),-q)
> @@ -394,16 +394,16 @@ include fs/common.mk
>  
>  include $(BR2_EXTERNAL)/external.mk
>  
> -TARGETS_SOURCE := $(patsubst %,%-source,$(TARGETS))
> +PACKAGES_SOURCE := $(patsubst %,%-source,$(PACKAGES))
>  
>  # host-* dependencies have to be handled specially, as those aren't
> -# visible in Kconfig and hence not added to a variable like TARGETS.
> +# visible in Kconfig and hence not added to a variable like PACKAGES.
>  # instead, find all the host-* targets listed in each <PKG>_DEPENDENCIES
>  # variable for each enabled target.
>  # Notice: this only works for newstyle gentargets/autotargets packages
>  TARGETS_HOST_DEPS = $(sort $(filter host-%,$(foreach dep,\
>  		$(addsuffix _DEPENDENCIES,\
> -			$(call UPPERCASE,$(TARGETS) $(TARGETS_ROOTFS))),\
> +			$(call UPPERCASE,$(PACKAGES) $(TARGETS_ROOTFS))),\
>  		$($(dep)))))
>  # Host packages can in turn have their own dependencies. Likewise find
>  # all the package names listed in the HOST_<PKG>_DEPENDENCIES for each
> @@ -415,8 +415,8 @@ HOST_DEPS = $(sort $(foreach dep,\
>  		$($(dep))))
>  HOST_SOURCE += $(addsuffix -source,$(sort $(TARGETS_HOST_DEPS) $(HOST_DEPS)))
>  
> -TARGETS_LEGAL_INFO := $(patsubst %,%-legal-info,\
> -		$(TARGETS) $(TARGETS_HOST_DEPS) $(HOST_DEPS))
> +PACKAGES_LEGAL_INFO := $(patsubst %,%-legal-info,\
> +		$(PACKAGES) $(TARGETS_HOST_DEPS) $(HOST_DEPS))
>  
>  dirs: $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
>  	$(HOST_DIR) $(BINARIES_DIR)
> @@ -510,7 +510,7 @@ endif
>  ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y)
>  GLIBC_GENERATE_LOCALES = $(call qstrip,$(BR2_GENERATE_LOCALE))
>  ifneq ($(GLIBC_GENERATE_LOCALES),)
> -TARGETS += host-localedef
> +PACKAGES += host-localedef
>  
>  define GENERATE_GLIBC_LOCALES
>  	$(Q)mkdir -p $(TARGET_DIR)/usr/lib/locale/
> @@ -554,7 +554,7 @@ endif
>  
>  $(TARGETS_ROOTFS): target-finalize
>  
> -target-finalize: $(TARGETS)
> +target-finalize: $(PACKAGES)
>  	@$(call MESSAGE,"Finalizing target directory")
>  	$(foreach hook,$(TARGET_FINALIZE_HOOKS),$($(hook))$(sep))
>  	rm -rf $(TARGET_DIR)/usr/include $(TARGET_DIR)/usr/share/aclocal \
> @@ -618,7 +618,7 @@ target-post-image: $(TARGETS_ROOTFS) target-finalize
>  		$(call MESSAGE,"Executing post-image script $(s)"); \
>  		$(EXTRA_ENV) $(s) $(BINARIES_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep))
>  
> -source: $(TARGETS_SOURCE) $(HOST_SOURCE)
> +source: $(PACKAGES_SOURCE) $(HOST_SOURCE)
>  
>  external-deps:
>  	@$(MAKE1) -Bs DL_MODE=SHOW_EXTERNAL_DEPS $(EXTRAMAKEARGS) source | sort -u
> @@ -636,7 +636,7 @@ legal-info-prepare: $(LEGAL_INFO_DIR)
>  	@$(call legal-warning,the toolchain has not been saved)
>  	@cp $(BR2_CONFIG) $(LEGAL_INFO_DIR)/buildroot.config
>  
> -legal-info: dirs legal-info-clean legal-info-prepare $(TARGETS_LEGAL_INFO) \
> +legal-info: dirs legal-info-clean legal-info-prepare $(PACKAGES_LEGAL_INFO) \
>  		$(REDIST_SOURCES_DIR_TARGET) $(REDIST_SOURCES_DIR_HOST)
>  	@cat support/legal-info/README.header >>$(LEGAL_REPORT)
>  	@if [ -r $(LEGAL_WARNINGS) ]; then \
> @@ -647,7 +647,7 @@ legal-info: dirs legal-info-clean legal-info-prepare $(TARGETS_LEGAL_INFO) \
>  	@rm -f $(LEGAL_WARNINGS)
>  
>  show-targets:
> -	@echo $(HOST_DEPS) $(TARGETS_HOST_DEPS) $(TARGETS) $(TARGETS_ROOTFS)
> +	@echo $(HOST_DEPS) $(TARGETS_HOST_DEPS) $(PACKAGES) $(TARGETS_ROOTFS)
>  
>  graph-build: $(O)/build/build-time.log
>  	@install -d $(O)/graphs
> diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
> index e1a51e4..f87ef0b 100644
> --- a/package/pkg-generic.mk
> +++ b/package/pkg-generic.mk
> @@ -743,7 +743,7 @@ $(eval $(call check-deprecated-variable,$(2)_BUILD_OPT,$(2)_BUILD_OPTS))
>  $(eval $(call check-deprecated-variable,$(2)_GETTEXTIZE_OPT,$(2)_GETTEXTIZE_OPTS))
>  $(eval $(call check-deprecated-variable,$(2)_KCONFIG_OPT,$(2)_KCONFIG_OPTS))
>  
> -TARGETS += $(1)
> +PACKAGES += $(1)
>  
>  ifneq ($$($(2)_PERMISSIONS),)
>  PACKAGES_PERMISSIONS_TABLE += $$($(2)_PERMISSIONS)$$(sep)
> diff --git a/system/system.mk b/system/system.mk
> index 4a1eb4a..c95e436 100644
> --- a/system/system.mk
> +++ b/system/system.mk
> @@ -35,7 +35,7 @@ TARGET_FINALIZE_HOOKS += SYSTEM_ISSUE
>  endif
>  
>  ifneq ($(TARGET_GENERIC_ROOT_PASSWD),)
> -TARGETS += host-mkpasswd
> +PACKAGES += host-mkpasswd
>  endif
>  
>  define SET_NETWORK_LOCALHOST
> -- 
> 2.1.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 19/35] fs: add rootfs dependencies to PACKAGES
  2015-03-29 17:33 ` [Buildroot] [PATCH 19/35] fs: add rootfs dependencies " Thomas Petazzoni
@ 2015-03-30 16:33   ` Yann E. MORIN
  0 siblings, 0 replies; 73+ messages in thread
From: Yann E. MORIN @ 2015-03-30 16:33 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2015-03-29 19:33 +0200, Thomas Petazzoni spake thusly:
> The logic for creating most of the filesystem images requires a
> certain number of host packages to be built. However, those packages
> are not currently listed in the global PACKAGES variables, and they
> are not dependencies of any other package listed in the PACKAGES
> variable.
> 
> While it does not have any practical implications, it makes sense to
> have those packages listed in the global PACKAGES variable, which this
> commit implements.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> ---
>  fs/common.mk | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/fs/common.mk b/fs/common.mk
> index cac127f..41ee86d 100644
> --- a/fs/common.mk
> +++ b/fs/common.mk
> @@ -106,6 +106,7 @@ rootfs-$(1): $$(BINARIES_DIR)/rootfs.$(1) $$(ROOTFS_$(2)_POST_TARGETS)
>  
>  ifeq ($$(BR2_TARGET_ROOTFS_$(2)),y)
>  TARGETS_ROOTFS += rootfs-$(1)
> +PACKAGES += $$(ROOTFS_$(2)_DEPENDENCIES)
>  endif
>  endef
>  
> -- 
> 2.1.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 11/35] pkg-generic: implement <pkg>-all-{source, legal-info, external-deps} targets
  2015-03-29 21:47   ` Yann E. MORIN
@ 2015-03-30 17:45     ` Yann E. MORIN
  2015-03-30 18:56       ` Thomas Petazzoni
  2015-04-06  9:14       ` Yann E. MORIN
  0 siblings, 2 replies; 73+ messages in thread
From: Yann E. MORIN @ 2015-03-30 17:45 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2015-03-29 23:47 +0200, Yann E. MORIN spake thusly:
> On 2015-03-29 19:33 +0200, Thomas Petazzoni spake thusly:
> > In order to implement the global 'make source', 'make legal-info' and
> > 'make external-deps' using the package infrastructure logic, this
> > commit introduces a set of per-package targets that allow to
> > recursively run the source/legal-info/external-deps actions on the
> > dependencies of a given package.
> > 
> > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> 
> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Actually, I may have to withdraw that reviewed tag of mine...

Testing patch 20/35 (Makefile: use <pkg>-all-legal-info to implement the
legal-info target) does not give the same result as previously:

  - some packages that are not enabled get their legal-info "installed"
  - some non-existing or disabled host packages have their legal-info
    isntalled as well...

Not sure this is due to theis patch 11/35, or really due to 20/35 (even
though I have some clues as to incriminate patch 11...).

I'll be investigating this a bit later...

Regards,
Yann E. MORIN.

> Regards,
> Yann E. MORIN.
> 
> > ---
> >  package/pkg-generic.mk | 6 ++++++
> >  1 file changed, 6 insertions(+)
> > 
> > diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
> > index 08e4cad..ba24591 100644
> > --- a/package/pkg-generic.mk
> > +++ b/package/pkg-generic.mk
> > @@ -587,6 +587,12 @@ $(1)-graph-depends: graph-depends-requirements
> >  			|tee $$(O)/graphs/$$(@).dot \
> >  			|dot $$(BR2_GRAPH_DOT_OPTS) -T$$(BR_GRAPH_OUT) -o $$(O)/graphs/$$(@).$$(BR_GRAPH_OUT)
> >  
> > +$(1)-all-source:       $$(foreach p,$$($(2)_FINAL_DEPENDENCIES),$$(p)-all-source) $(1)-source
> > +
> > +$(1)-all-external-deps:        $$(foreach p,$$($(2)_FINAL_DEPENDENCIES),$$(p)-all-external-deps) $(1)-external-deps
> > +
> > +$(1)-all-legal-info:   $$(foreach p,$$($(2)_FINAL_DEPENDENCIES),$$(p)-all-legal-info) $(1)-legal-info
> > +
> >  $(1)-dirclean:		$$($(2)_TARGET_DIRCLEAN)
> >  
> >  $(1)-clean-for-reinstall:
> > -- 
> > 2.1.0
> > 
> > _______________________________________________
> > buildroot mailing list
> > buildroot at busybox.net
> > http://lists.busybox.net/mailman/listinfo/buildroot
> 
> -- 
> .-----------------.--------------------.------------------.--------------------.
> |  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
> | +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
> | +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
> '------------------------------^-------^------------------^--------------------'
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 11/35] pkg-generic: implement <pkg>-all-{source, legal-info, external-deps} targets
  2015-03-30 17:45     ` Yann E. MORIN
@ 2015-03-30 18:56       ` Thomas Petazzoni
  2015-04-06  9:14       ` Yann E. MORIN
  1 sibling, 0 replies; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-30 18:56 UTC (permalink / raw)
  To: buildroot

Dear Yann E. MORIN,

On Mon, 30 Mar 2015 19:45:12 +0200, Yann E. MORIN wrote:

> Actually, I may have to withdraw that reviewed tag of mine...
> 
> Testing patch 20/35 (Makefile: use <pkg>-all-legal-info to implement the
> legal-info target) does not give the same result as previously:
> 
>   - some packages that are not enabled get their legal-info "installed"
>   - some non-existing or disabled host packages have their legal-info
>     isntalled as well...
> 
> Not sure this is due to theis patch 11/35, or really due to 20/35 (even
> though I have some clues as to incriminate patch 11...).
> 
> I'll be investigating this a bit later...

Can you give some specific example, i.e a defconfig that exhibits the
problem?

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 20/35] Makefile: use <pkg>-all-legal-info to implement the legal-info target
  2015-03-29 17:33 ` [Buildroot] [PATCH 20/35] Makefile: use <pkg>-all-legal-info to implement the legal-info target Thomas Petazzoni
@ 2015-03-30 20:59   ` Yann E. MORIN
  0 siblings, 0 replies; 73+ messages in thread
From: Yann E. MORIN @ 2015-03-30 20:59 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2015-03-29 19:33 +0200, Thomas Petazzoni spake thusly:
> This commit changes the implementation of the global 'legal-info'
> target to use the newly introduced per-package <pkg>-all-legal-info
> target. This allows to avoid using the $(TARGET_HOST_DEPS) and
> $(HOST_DEPS) variables that we are trying to remove.

To be noted:

  - this patch exposes some bugs we have in our packages, whereby the
    dependencies are not properly expressed: the Config.in missese
    either a 'depends on' or a 'select', but the .mk has an
    unconditional _DEPENDENCIES (like xfont_font-adobe-100dpi missing a
    select on xfont_font-util, and at least quitre a bunch of others...)

    This is not a problem with the patch, but bugs in our packages.

  - more host packages are exposed in legal-info than were previously.

    This is a new feature! :-)

What I meant is, maybe the commit log should be extended to mention that
previously forgottent packages will now show up in legal-info, mostly
host-packages, and mention (in a post-commit note) that some target
packages may also appear.

> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Otherwise:

Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> ---
>  Makefile | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index 0577b3f..ab54dda 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -415,9 +415,6 @@ HOST_DEPS = $(sort $(foreach dep,\
>  		$($(dep))))
>  HOST_SOURCE += $(addsuffix -source,$(sort $(TARGETS_HOST_DEPS) $(HOST_DEPS)))
>  
> -PACKAGES_LEGAL_INFO := $(patsubst %,%-legal-info,\
> -		$(PACKAGES) $(TARGETS_HOST_DEPS) $(HOST_DEPS))
> -
>  dirs: $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
>  	$(HOST_DIR) $(BINARIES_DIR)
>  
> @@ -636,7 +633,7 @@ legal-info-prepare: $(LEGAL_INFO_DIR)
>  	@$(call legal-warning,the toolchain has not been saved)
>  	@cp $(BR2_CONFIG) $(LEGAL_INFO_DIR)/buildroot.config
>  
> -legal-info: dirs legal-info-clean legal-info-prepare $(PACKAGES_LEGAL_INFO) \
> +legal-info: dirs legal-info-clean legal-info-prepare $(foreach p,$(PACKAGES),$(p)-all-legal-info) \
>  		$(REDIST_SOURCES_DIR_TARGET) $(REDIST_SOURCES_DIR_HOST)
>  	@cat support/legal-info/README.header >>$(LEGAL_REPORT)
>  	@if [ -r $(LEGAL_WARNINGS) ]; then \
> -- 
> 2.1.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 21/35] Makefile: simplify show-targets
  2015-03-29 17:33 ` [Buildroot] [PATCH 21/35] Makefile: simplify show-targets Thomas Petazzoni
@ 2015-03-30 21:21   ` Yann E. MORIN
  2015-03-30 21:40     ` Yann E. MORIN
  2015-04-06  9:40     ` Thomas Petazzoni
  2015-04-06  9:44   ` Yann E. MORIN
  1 sibling, 2 replies; 73+ messages in thread
From: Yann E. MORIN @ 2015-03-30 21:21 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2015-03-29 19:33 +0200, Thomas Petazzoni spake thusly:
> show-targets is only used currently by the graph-depends script, which
> already recurses into the dependencies of the selected packages to
> build the dependency graph. Therefore, dumping the contents of
> $(PACKAGES) and $(ROOTFS_TARGETS) is sufficient: $(HOST_DEPS) and
> $(TARGET_HOST_DEPS) will contain packages that are dependencies of
> packages already listed in $(PACKAGES), which graph-depends will
> discover by itself.
> 
> This allows to remove one more usage of $(HOST_DEPS) and
> $(TARGET_HOST_DEPS), which is one more step towards their removal.

This means a lot of host packages no longer show up in show-targets.

See attached .config , and run show-targets before and after that patch
is applied:

    $ make show-targets |sed -r -e 's/ /\n/g' |sort >targets.before
    [apply patch]
    $ make show-targets |sed -r -e 's/ /\n/g' |sort >targets.after
    $ diff -du targets.before targets.after |diffstat
     targets.after |  110     0   110     0 ----------------------------------------------------------
     1 file changed, 110 deletions(-)
    $ diff -du targets.before targets.after
    --- targets.before2015-03-30 23:11:42.295462498 +0200
    +++ ta  rgets.after2015-03-30 23:11:51.587574784 +0200
    @@ -154,133 +154,23  @@
     hans
     harfbuzz
     /home/ymorin/dev/buildroot/buildroot
    -host-autoconf
    -host-autoconf
    -host-autoconf-archive
    -host-automake
    -host-automake
    -host-bdwgc
    [--SNIP--]
    -host-xutil_makedepend
    -host-xz
    -host-yasm
    -host-zic
    -host-zlib
    -host-zlib
     icu
     igmpproxy
     imagemagick

I've done the same check with all your series applied, and those host
packages do not reappear later...

That's unfortunate, because a side effect is that graph-depends is now
missing host packages (that do not have a Config.in entry).

Regards,
Yann E. MORIN.

> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
>  Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/Makefile b/Makefile
> index ab54dda..0709751 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -644,7 +644,7 @@ legal-info: dirs legal-info-clean legal-info-prepare $(foreach p,$(PACKAGES),$(p
>  	@rm -f $(LEGAL_WARNINGS)
>  
>  show-targets:
> -	@echo $(HOST_DEPS) $(TARGETS_HOST_DEPS) $(PACKAGES) $(TARGETS_ROOTFS)
> +	@echo $(PACKAGES) $(TARGETS_ROOTFS)
>  
>  graph-build: $(O)/build/build-time.log
>  	@install -d $(O)/graphs
> -- 
> 2.1.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 21/35] Makefile: simplify show-targets
  2015-03-30 21:21   ` Yann E. MORIN
@ 2015-03-30 21:40     ` Yann E. MORIN
  2015-04-06  9:40     ` Thomas Petazzoni
  1 sibling, 0 replies; 73+ messages in thread
From: Yann E. MORIN @ 2015-03-30 21:40 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2015-03-30 23:21 +0200, Yann E. MORIN spake thusly:
> On 2015-03-29 19:33 +0200, Thomas Petazzoni spake thusly:
> > show-targets is only used currently by the graph-depends script, which
> > already recurses into the dependencies of the selected packages to
> > build the dependency graph. Therefore, dumping the contents of
> > $(PACKAGES) and $(ROOTFS_TARGETS) is sufficient: $(HOST_DEPS) and
> > $(TARGET_HOST_DEPS) will contain packages that are dependencies of
> > packages already listed in $(PACKAGES), which graph-depends will
> > discover by itself.
> > 
> > This allows to remove one more usage of $(HOST_DEPS) and
> > $(TARGET_HOST_DEPS), which is one more step towards their removal.
> 
> This means a lot of host packages no longer show up in show-targets.
> 
> See attached .config

Attached, now... Sorry for the noise... :-/

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
-------------- next part --------------
#
# Automatically generated file; DO NOT EDIT.
# Buildroot 2015.05-git-00019-gb8cbe89 Configuration
#
BR2_HAVE_DOT_CONFIG=y
BR2_NEEDS_HOST_JAVAC=y
BR2_NEEDS_HOST_JAR=y
BR2_HOSTARCH_NEEDS_IA32_LIBS=y

#
# Target options
#
# BR2_arcle is not set
# BR2_arceb is not set
# BR2_arm is not set
# BR2_armeb is not set
# BR2_aarch64 is not set
# BR2_bfin is not set
BR2_i386=y
# BR2_microblazeel is not set
# BR2_microblazebe is not set
# BR2_mips is not set
# BR2_mipsel is not set
# BR2_mips64 is not set
# BR2_mips64el is not set
# BR2_nios2 is not set
# BR2_powerpc is not set
# BR2_powerpc64 is not set
# BR2_powerpc64le is not set
# BR2_sh is not set
# BR2_sh64 is not set
# BR2_sparc is not set
# BR2_x86_64 is not set
# BR2_xtensa is not set
BR2_ARCH="i686"
BR2_ENDIAN="LITTLE"
BR2_GCC_TARGET_ARCH="i686"
BR2_ARCH_HAS_ATOMICS=y
BR2_BINFMT_SUPPORTS_SHARED=y
BR2_BINFMT_ELF=y
# BR2_x86_i386 is not set
# BR2_x86_i486 is not set
# BR2_x86_i586 is not set
BR2_x86_i686=y
# BR2_x86_pentiumpro is not set
# BR2_x86_pentium_mmx is not set
# BR2_x86_pentium_m is not set
# BR2_x86_pentium2 is not set
# BR2_x86_pentium3 is not set
# BR2_x86_pentium4 is not set
# BR2_x86_prescott is not set
# BR2_x86_nocona is not set
# BR2_x86_core2 is not set
# BR2_x86_corei7 is not set
# BR2_x86_atom is not set
# BR2_x86_k6 is not set
# BR2_x86_k6_2 is not set
# BR2_x86_athlon is not set
# BR2_x86_athlon_4 is not set
# BR2_x86_opteron is not set
# BR2_x86_opteron_sse3 is not set
# BR2_x86_barcelona is not set
# BR2_x86_jaguar is not set
# BR2_x86_steamroller is not set
# BR2_x86_geode is not set
# BR2_x86_c3 is not set
# BR2_x86_c32 is not set
# BR2_x86_winchip_c6 is not set
# BR2_x86_winchip2 is not set

#
# Build options
#

#
# Commands
#
BR2_WGET="wget --passive-ftp -nd -t 3"
BR2_SVN="svn"
BR2_BZR="bzr"
BR2_GIT="git"
BR2_CVS="cvs"
BR2_LOCALFILES="cp"
BR2_SCP="scp"
BR2_SSH="ssh"
BR2_HG="hg"
BR2_ZCAT="gzip -d -c"
BR2_BZCAT="bzcat"
BR2_XZCAT="xzcat"
BR2_TAR_OPTIONS=""
BR2_DEFCONFIG="$(CONFIG_DIR)/defconfig"
BR2_DL_DIR="$(TOPDIR)/dl"
BR2_HOST_DIR="$(BASE_DIR)/host"

#
# Mirrors and Download locations
#
BR2_PRIMARY_SITE=""
BR2_BACKUP_SITE="http://sources.buildroot.net"
BR2_KERNEL_MIRROR="https://www.kernel.org/pub"
BR2_GNU_MIRROR="http://ftp.gnu.org/pub/gnu"
BR2_LUAROCKS_MIRROR="http://rocks.moonscript.org"
BR2_CPAN_MIRROR="http://cpan.metacpan.org"
BR2_JLEVEL=0
# BR2_CCACHE is not set
# BR2_DEPRECATED is not set
# BR2_ENABLE_DEBUG is not set
BR2_STRIP_strip=y
# BR2_STRIP_none is not set
BR2_STRIP_EXCLUDE_FILES=""
BR2_STRIP_EXCLUDE_DIRS=""
# BR2_OPTIMIZE_0 is not set
# BR2_OPTIMIZE_1 is not set
# BR2_OPTIMIZE_2 is not set
# BR2_OPTIMIZE_3 is not set
BR2_OPTIMIZE_S=y
# BR2_GOOGLE_BREAKPAD_ENABLE is not set
# BR2_ENABLE_SSP is not set
# BR2_STATIC_LIBS is not set
BR2_SHARED_LIBS=y
# BR2_SHARED_STATIC_LIBS is not set
BR2_PACKAGE_OVERRIDE_FILE="$(CONFIG_DIR)/local.mk"
BR2_GLOBAL_PATCH_DIR=""

#
# Advanced
#
# BR2_COMPILER_PARANOID_UNSAFE_PATH is not set

#
# Toolchain
#
BR2_TOOLCHAIN=y
BR2_TOOLCHAIN_USES_GLIBC=y
# BR2_TOOLCHAIN_BUILDROOT is not set
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201209=y
# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201203 is not set
# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201109 is not set
# BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS is not set
# BR2_TOOLCHAIN_EXTERNAL_CUSTOM is not set
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
# BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED is not set
BR2_TOOLCHAIN_EXTERNAL_PREFIX="i686-pc-linux-gnu"
BR2_TOOLCHAIN_EXTERNAL_GLIBC=y
# BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY is not set
BR2_PACKAGE_HOST_GDB=y
# BR2_PACKAGE_HOST_GDB_TUI is not set
# BR2_PACKAGE_HOST_GDB_PYTHON is not set
BR2_GDB_VERSION_7_8=y
# BR2_GDB_VERSION_7_9 is not set
BR2_GDB_VERSION="7.8.2"
BR2_LARGEFILE=y
BR2_INET_IPV6=y
BR2_TOOLCHAIN_HAS_NATIVE_RPC=y
BR2_USE_WCHAR=y
BR2_ENABLE_LOCALE=y
BR2_INSTALL_LIBSTDCPP=y
BR2_TOOLCHAIN_HAS_THREADS=y
BR2_TOOLCHAIN_HAS_THREADS_DEBUG=y
BR2_TOOLCHAIN_HAS_THREADS_NPTL=y
BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS=y
BR2_TOOLCHAIN_HAS_SSP=y
# BR2_ENABLE_LOCALE_PURGE is not set
BR2_GENERATE_LOCALE=""
# BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY is not set
BR2_USE_MMU=y
BR2_TARGET_OPTIMIZATION=""
BR2_TARGET_LDFLAGS=""
# BR2_ECLIPSE_REGISTER is not set
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST="3.5"

#
# System configuration
#
BR2_TARGET_GENERIC_HOSTNAME="buildroot"
BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot"
# BR2_TARGET_GENERIC_PASSWD_DES is not set
BR2_TARGET_GENERIC_PASSWD_MD5=y
# BR2_TARGET_GENERIC_PASSWD_SHA256 is not set
# BR2_TARGET_GENERIC_PASSWD_SHA512 is not set
BR2_TARGET_GENERIC_PASSWD_METHOD="md5"
BR2_INIT_BUSYBOX=y
# BR2_INIT_SYSV is not set

#
# systemd needs an (e)glibc toolchain, headers >= 3.7
#
# BR2_INIT_NONE is not set
# BR2_ROOTFS_DEVICE_CREATION_STATIC is not set
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS=y
# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV is not set
# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV is not set
BR2_ROOTFS_DEVICE_TABLE="system/device_table.txt"
BR2_ROOTFS_SKELETON_DEFAULT=y
# BR2_ROOTFS_SKELETON_CUSTOM is not set
BR2_TARGET_GENERIC_ROOT_PASSWD=""
BR2_SYSTEM_BIN_SH_BUSYBOX=y

#
# bash, dash, zsh need BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
#
# BR2_SYSTEM_BIN_SH_NONE is not set
BR2_SYSTEM_BIN_SH="/bin/busybox"
BR2_TARGET_GENERIC_GETTY=y

#
# getty options
#
BR2_TARGET_GENERIC_GETTY_PORT="console"
BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP=y
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_9600 is not set
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_19200 is not set
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_38400 is not set
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600 is not set
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200 is not set
BR2_TARGET_GENERIC_GETTY_BAUDRATE="0"
BR2_TARGET_GENERIC_GETTY_TERM="vt100"
BR2_TARGET_GENERIC_GETTY_OPTIONS=""
BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW=y
BR2_SYSTEM_DHCP=""
# BR2_TARGET_TZ_INFO is not set
BR2_ROOTFS_USERS_TABLES=""
BR2_ROOTFS_OVERLAY=""
BR2_ROOTFS_POST_BUILD_SCRIPT=""
BR2_ROOTFS_POST_IMAGE_SCRIPT=""

#
# Kernel
#
# BR2_LINUX_KERNEL is not set

#
# Target packages
#
BR2_PACKAGE_BUSYBOX=y
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox.config"
# BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is not set
BR2_PACKAGE_BUSYBOX_WATCHDOG=y
BR2_PACKAGE_BUSYBOX_WATCHDOG_PERIOD="5"

#
# Audio and video applications
#
BR2_PACKAGE_ALSA_UTILS=y

#
# ALSA utils selection
#
# BR2_PACKAGE_ALSA_UTILS_ALSACONF is not set
BR2_PACKAGE_ALSA_UTILS_ALSACTL=y
# BR2_PACKAGE_ALSA_UTILS_ALSAMIXER is not set
# BR2_PACKAGE_ALSA_UTILS_AMIDI is not set
# BR2_PACKAGE_ALSA_UTILS_AMIXER is not set
# BR2_PACKAGE_ALSA_UTILS_APLAY is not set
BR2_PACKAGE_ALSA_UTILS_IECSET=y
# BR2_PACKAGE_ALSA_UTILS_ACONNECT is not set
# BR2_PACKAGE_ALSA_UTILS_APLAYMIDI is not set
BR2_PACKAGE_ALSA_UTILS_ARECORDMIDI=y
# BR2_PACKAGE_ALSA_UTILS_ASEQDUMP is not set
BR2_PACKAGE_ALSA_UTILS_ASEQNET=y
BR2_PACKAGE_ALSA_UTILS_SPEAKER_TEST=y
BR2_PACKAGE_AUMIX=y
BR2_PACKAGE_BELLAGIO=y
BR2_PACKAGE_PROVIDES_LIBOPENMAX="bellagio"
# BR2_PACKAGE_DVDAUTHOR is not set
BR2_PACKAGE_DVDRW_TOOLS=y
BR2_PACKAGE_DVDRW_TOOLS_CDRKIT_BACKEND=y
# BR2_PACKAGE_DVDRW_TOOLS_XORRISO_BACKEND is not set
# BR2_PACKAGE_ESPEAK is not set
BR2_PACKAGE_FAAD2=y
BR2_PACKAGE_FFMPEG=y
BR2_PACKAGE_FFMPEG_GPL=y
BR2_PACKAGE_FFMPEG_NONFREE=y
BR2_PACKAGE_FFMPEG_FFMPEG=y
# BR2_PACKAGE_FFMPEG_FFPLAY is not set
BR2_PACKAGE_FFMPEG_FFSERVER=y
# BR2_PACKAGE_FFMPEG_FFPROBE is not set
BR2_PACKAGE_FFMPEG_AVRESAMPLE=y
BR2_PACKAGE_FFMPEG_POSTPROC=y
BR2_PACKAGE_FFMPEG_SWSCALE=y
BR2_PACKAGE_FFMPEG_ENCODERS="all"
BR2_PACKAGE_FFMPEG_DECODERS="all"
BR2_PACKAGE_FFMPEG_MUXERS="all"
BR2_PACKAGE_FFMPEG_DEMUXERS="all"
BR2_PACKAGE_FFMPEG_PARSERS="all"
BR2_PACKAGE_FFMPEG_BSFS="all"
BR2_PACKAGE_FFMPEG_PROTOCOLS="all"
BR2_PACKAGE_FFMPEG_FILTERS="all"
BR2_PACKAGE_FFMPEG_INDEVS=y
# BR2_PACKAGE_FFMPEG_OUTDEVS is not set
BR2_PACKAGE_FFMPEG_EXTRACONF=""
BR2_PACKAGE_FLAC=y
# BR2_PACKAGE_FLITE is not set
# BR2_PACKAGE_GSTREAMER is not set
BR2_PACKAGE_GSTREAMER1=y
# BR2_PACKAGE_GSTREAMER1_PARSE is not set
BR2_PACKAGE_GSTREAMER1_TRACE=y
BR2_PACKAGE_GSTREAMER1_GST_DEBUG=y
BR2_PACKAGE_GSTREAMER1_PLUGIN_REGISTRY=y
BR2_PACKAGE_GSTREAMER1_INSTALL_TOOLS=y
BR2_PACKAGE_GST1_PLUGINS_BASE=y

#
# dependency-less plugins
#
# BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ADDER is not set
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOCONVERT=y
# BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORATE is not set
# BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOTESTSRC is not set
# BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ENCODING is not set
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERT=y
# BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_GIO is not set
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_PLAYBACK=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORESAMPLE=y
# BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_SUBPARSE is not set
# BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_TCP is not set
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_TYPEFIND=y
# BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOTESTSRC is not set
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEORATE=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOSCALE=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VOLUME=y

#
# plugins with external dependencies
#
# BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA is not set
# BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_TREMOR is not set
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OGG=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_PANGO=y
# BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_THEORA is not set
# BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VORBIS is not set
BR2_PACKAGE_GST1_PLUGINS_GOOD=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_JPEG=y
# BR2_PACKAGE_GST1_PLUGINS_GOOD_PNG is not set
# BR2_PACKAGE_GST1_PLUGINS_GOOD_ZLIB is not set

#
# dependency-less plugins
#
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ALPHA=y
# BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_APETAG is not set
# BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUDIOFX is not set
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUDIOPARSERS=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUPARSE=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUTODETECT=y
# BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AVI is not set
# BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_CUTTER is not set
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DEBUGUTILS=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DEINTERLACE=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DTMF=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_EFFECTV=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_EQUALIZER=y
# BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_FLV is not set
# BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_FLX is not set
# BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_GOOM is not set
# BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_GOOM2K1 is not set
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ICYDEMUX=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ID3DEMUX=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_IMAGEFREEZE=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_INTERLEAVE=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ISOMP4=y
# BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAW is not set
# BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LEVEL is not set
# BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MATROSKA is not set
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MONOSCOPE=y
# BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MULTIFILE is not set
# BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MULTIPART is not set
# BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_REPLAYGAIN is not set
# BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTP is not set
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTPMANAGER=y
# BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTSP is not set
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SHAPEWIPE=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SMPTE=y
# BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SPECTRUM is not set
# BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_UDP is not set
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOBOX=y
# BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOCROP is not set
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOFILTER=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOMIXER=y
# BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_WAVENC is not set
# BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_WAVPARSE is not set
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_Y4M=y

#
# plugins with external dependencies
#
# BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_OSS is not set
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_OSS4=y
# BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2 is not set
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_CAIRO=y
# BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_FLAC is not set
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_GDKPIXBUF=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_PULSE=y
# BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SOUPHTTPSRC is not set
# BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SPEEX is not set
# BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_TAGLIB is not set
# BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VPX is not set
# BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_WAVPACK is not set
BR2_PACKAGE_GST1_PLUGINS_BAD=y

#
# dependency-less plugins
#
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ACCURIP is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ADPCMDEC is not set
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ADPCMENC=y
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AIFF is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ASFMUX is not set
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOFXBAD=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXER=y
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_COMPOSITOR is not set
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOVISUALIZERS=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUTOCONVERT=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BAYER=y
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CAMERABIN2 is not set
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CDXAPARSE=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_COLOREFFECTS=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DATAURISRC=y
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DCCP is not set
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DEBUGUTILS=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DVBSUBOVERLAY=y
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DVDSPU is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FACEOVERLAY is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FESTIVAL is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FIELDANALYSIS is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FREEVERB is not set
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FREI0R=y
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GAUDIEFFECTS is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GEOMETRICTRANSFORM is not set
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GDP=y
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_HDVPARSE is not set
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ID3TAG=y
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_INTER is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_INTERLACE is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_IVFPARSE is not set
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_IVTC=y
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_JP2KDECIMATOR is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_JPEGFORMAT is not set
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_LIBRFB=y
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_LIVEADDER is not set
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MIDI=y
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGDEMUX is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSDEMUX is not set
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSMUX=y
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGPSMUX is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MVE is not set
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MXF=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NUVDEMUX=y
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PATCHDETECT is not set
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PCAPPARSE=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PNM=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RAWPARSE=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_REAL=y
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_REMOVESILENCE is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDI is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDP is not set
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SEGMENTCLIP=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SIREN=y
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SMOOTH is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SPEED is not set
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SUBENC=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_STEREO=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TTA=y
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOFILTERS is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOMEASURE is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOPARSERS is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOSIGNAL is not set
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VMNC=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_Y4M=y
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_YADIF is not set

#
# plugins with external dependencies
#
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SHM=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VCD=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_APEXSINK=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ASSRENDER=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VOAACENC=y
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_BZ2 is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CURL is not set
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DASH=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DECKLINK=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DIRECTFB=y
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBP is not set
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FAAD=y
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_FBDEV is not set
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_LIBMMS=y
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEG2ENC is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPG123 is not set
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MUSEPACK=y
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NEON is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENCV is not set
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPUS=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RSVG=y
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDL is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SNDFILE is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DVB is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_HLS is not set
BR2_PACKAGE_GST1_PLUGINS_UGLY=y

#
# dependency-less plugins
#
# BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_ASFDEMUX is not set
# BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_DVDLPCMDEC is not set
# BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_DVDSUB is not set
# BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_XINGMUX is not set
BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_REALMEDIA=y

#
# plugins with external dependencies (there may be more available)
#
# BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_DVDREAD is not set
BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_LAME=y
BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MAD=y
BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MPEG2DEC=y
# BR2_PACKAGE_GST1_LIBAV is not set
BR2_PACKAGE_GST1_VALIDATE=y
BR2_PACKAGE_GST_OMX=y
BR2_PACKAGE_JACK2=y
BR2_PACKAGE_KODI_ARCH_SUPPORTS=y

#
# kodi needs an OpenGL or an openGL ES and EGL backend
#
BR2_PACKAGE_LAME=y
BR2_PACKAGE_LIBVPX=y
BR2_PACKAGE_MADPLAY=y
BR2_PACKAGE_MADPLAY_ALSA=y
# BR2_PACKAGE_MJPEGTOOLS is not set
# BR2_PACKAGE_MODPLUGTOOLS is not set
BR2_PACKAGE_MPD=y

#
# Archive plugins
#
# BR2_PACKAGE_MPD_BZIP2 is not set
BR2_PACKAGE_MPD_SQLITE=y

#
# Converter plugins
#
BR2_PACKAGE_MPD_LIBSAMPLERATE=y
BR2_PACKAGE_MPD_LIBSOXR=y

#
# Decoder plugins
#
BR2_PACKAGE_MPD_AUDIOFILE=y
BR2_PACKAGE_MPD_DSD=y
BR2_PACKAGE_MPD_FAAD2=y
# BR2_PACKAGE_MPD_FFMPEG is not set
# BR2_PACKAGE_MPD_FLAC is not set
BR2_PACKAGE_MPD_LIBSNDFILE=y
# BR2_PACKAGE_MPD_MAD is not set
BR2_PACKAGE_MPD_MPG123=y
# BR2_PACKAGE_MPD_MUSEPACK is not set
# BR2_PACKAGE_MPD_OPUS is not set
# BR2_PACKAGE_MPD_TREMOR is not set
BR2_PACKAGE_MPD_VORBIS=y
BR2_PACKAGE_MPD_WAVPACK=y

#
# Encoder plugins
#
# BR2_PACKAGE_MPD_LAME is not set
BR2_PACKAGE_MPD_TWOLAME=y

#
# Input plugins
#
BR2_PACKAGE_MPD_CURL=y
# BR2_PACKAGE_MPD_LIBNFS is not set
BR2_PACKAGE_MPD_LIBSMBCLIENT=y
# BR2_PACKAGE_MPD_SOUNDCLOUD is not set

#
# Output plugins
#
# BR2_PACKAGE_MPD_ALSA is not set
BR2_PACKAGE_MPD_AO=y
# BR2_PACKAGE_MPD_JACK2 is not set
# BR2_PACKAGE_MPD_OSS is not set
BR2_PACKAGE_MPD_PULSEAUDIO=y

#
# Miscellaneous plugins
#
BR2_PACKAGE_MPD_AVAHI_SUPPORT=y
BR2_PACKAGE_MPD_NEIGHBOR_DISCOVERY_SUPPORT=y
# BR2_PACKAGE_MPD_TCP is not set
# BR2_PACKAGE_MPD_UPNP is not set
BR2_PACKAGE_MPD_MPC=y
BR2_PACKAGE_MPG123=y
BR2_PACKAGE_MPLAYER=y
BR2_PACKAGE_MPLAYER_MPLAYER=y
# BR2_PACKAGE_MPLAYER_MENCODER is not set
BR2_PACKAGE_MUSEPACK=y
BR2_PACKAGE_NCMPC=y
# BR2_PACKAGE_OPUS_TOOLS is not set
BR2_PACKAGE_PULSEAUDIO=y
BR2_PACKAGE_PULSEAUDIO_DAEMON=y
# BR2_PACKAGE_SOX is not set
BR2_PACKAGE_TSTOOLS=y
BR2_PACKAGE_TWOLAME=y
BR2_PACKAGE_UPMPDCLI=y
# BR2_PACKAGE_VLC is not set
BR2_PACKAGE_VORBIS_TOOLS=y
BR2_PACKAGE_WAVPACK=y
BR2_PACKAGE_YAVTA=y
# BR2_PACKAGE_YMPD is not set

#
# Compressors and decompressors
#
BR2_PACKAGE_BZIP2=y
# BR2_PACKAGE_INFOZIP is not set
# BR2_PACKAGE_LZ4 is not set
BR2_PACKAGE_LZIP=y
# BR2_PACKAGE_LZOP is not set
# BR2_PACKAGE_XZ is not set

#
# Debugging, profiling and benchmark
#
# BR2_PACKAGE_BLKTRACE is not set
# BR2_PACKAGE_BONNIE is not set
BR2_PACKAGE_CACHE_CALIBRATOR=y
# BR2_PACKAGE_DHRYSTONE is not set
# BR2_PACKAGE_DMALLOC is not set
# BR2_PACKAGE_DROPWATCH is not set
BR2_PACKAGE_DSTAT=y
BR2_PACKAGE_DUMA=y
BR2_PACKAGE_DUMA_NO_LEAKDETECTION=y
BR2_PACKAGE_FIO=y
BR2_PACKAGE_GDB=y
BR2_PACKAGE_GDB_SERVER=y
BR2_PACKAGE_GDB_DEBUGGER=y
BR2_PACKAGE_GDB_TUI=y
BR2_PACKAGE_GDB_PYTHON=y
BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS=y
BR2_PACKAGE_GOOGLE_BREAKPAD=y
# BR2_PACKAGE_IOZONE is not set
BR2_PACKAGE_KEXEC=y
BR2_PACKAGE_KEXEC_ZLIB=y

#
# ktap needs a Linux kernel to be built
#
BR2_PACKAGE_LATENCYTOP=y
# BR2_PACKAGE_LMBENCH is not set
# BR2_PACKAGE_LTP_TESTSUITE is not set
# BR2_PACKAGE_LTRACE is not set
# BR2_PACKAGE_LTTNG_BABELTRACE is not set

#
# lttng-modules needs a Linux kernel to be built
#
BR2_PACKAGE_LTTNG_TOOLS=y
# BR2_PACKAGE_MCELOG is not set
# BR2_PACKAGE_MEMSTAT is not set
BR2_PACKAGE_NETPERF=y
BR2_PACKAGE_OPROFILE=y
BR2_PACKAGE_PAX_UTILS=y

#
# perf needs a toolchain w/ largefile and a Linux kernel to be built
#
BR2_PACKAGE_PV=y
BR2_PACKAGE_RAMSMP=y
BR2_PACKAGE_RAMSPEED=y
# BR2_PACKAGE_RT_TESTS is not set
BR2_PACKAGE_SPIDEV_TEST=y
BR2_PACKAGE_STRACE=y
# BR2_PACKAGE_STRESS is not set
BR2_PACKAGE_SYSPROF=y
# BR2_PACKAGE_SYSPROF_GUI is not set
# BR2_PACKAGE_TINYMEMBENCH is not set
BR2_PACKAGE_TRACE_CMD=y
# BR2_PACKAGE_TRINITY is not set
# BR2_PACKAGE_VALGRIND is not set
BR2_PACKAGE_WHETSTONE=y

#
# Development tools
#
BR2_PACKAGE_BINUTILS=y
# BR2_PACKAGE_BINUTILS_TARGET is not set
# BR2_PACKAGE_BSDIFF is not set
# BR2_PACKAGE_BUSTLE is not set
BR2_PACKAGE_CMAKE_ARCH_SUPPORTS=y
# BR2_PACKAGE_CMAKE_CTEST is not set
# BR2_PACKAGE_CPPUNIT is not set
BR2_PACKAGE_CVS=y
BR2_PACKAGE_CVS_SERVER=y
BR2_PACKAGE_FLEX=y
# BR2_PACKAGE_GETTEXT is not set
BR2_PACKAGE_GIT=y
# BR2_PACKAGE_GPERF is not set
# BR2_PACKAGE_JQ is not set
BR2_PACKAGE_LIBTOOL=y
# BR2_PACKAGE_MAKE is not set
BR2_PACKAGE_PKGCONF=y
# BR2_PACKAGE_SSTRIP is not set
BR2_PACKAGE_SUBVERSION=y
BR2_PACKAGE_TREE=y
BR2_PACKAGE_YASM=y

#
# Filesystem and flash utilities
#
# BR2_PACKAGE_BTRFS_PROGS is not set
# BR2_PACKAGE_CIFS_UTILS is not set
# BR2_PACKAGE_CRAMFS is not set
# BR2_PACKAGE_CURLFTPFS is not set
BR2_PACKAGE_DOSFSTOOLS=y
BR2_PACKAGE_DOSFSTOOLS_FATLABEL=y
BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y
BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y
BR2_PACKAGE_E2FSPROGS=y
BR2_PACKAGE_E2FSPROGS_BADBLOCKS=y
# BR2_PACKAGE_E2FSPROGS_CHATTR is not set
# BR2_PACKAGE_E2FSPROGS_DEBUGFS is not set
BR2_PACKAGE_E2FSPROGS_DUMPE2FS=y
# BR2_PACKAGE_E2FSPROGS_E2FREEFRAG is not set
BR2_PACKAGE_E2FSPROGS_E2FSCK=y
BR2_PACKAGE_E2FSPROGS_E2IMAGE=y
BR2_PACKAGE_E2FSPROGS_E2LABEL=y
# BR2_PACKAGE_E2FSPROGS_E2UNDO is not set
BR2_PACKAGE_E2FSPROGS_E4DEFRAG=y
BR2_PACKAGE_E2FSPROGS_FILEFRAG=y
# BR2_PACKAGE_E2FSPROGS_FINDFS is not set
BR2_PACKAGE_E2FSPROGS_FSCK=y
# BR2_PACKAGE_E2FSPROGS_LOGSAVE is not set
BR2_PACKAGE_E2FSPROGS_LSATTR=y
# BR2_PACKAGE_E2FSPROGS_MKE2FS is not set
# BR2_PACKAGE_E2FSPROGS_MKLOSTFOUND is not set
# BR2_PACKAGE_E2FSPROGS_RESIZE2FS is not set
BR2_PACKAGE_E2FSPROGS_TUNE2FS=y
BR2_PACKAGE_E2FSPROGS_UUIDGEN=y
# BR2_PACKAGE_E2TOOLS is not set
# BR2_PACKAGE_ECRYPTFS_UTILS is not set
BR2_PACKAGE_EXFAT=y
BR2_PACKAGE_EXFAT_UTILS=y
BR2_PACKAGE_F2FS_TOOLS=y
BR2_PACKAGE_FLASHBENCH=y
# BR2_PACKAGE_GENEXT2FS is not set
BR2_PACKAGE_GENPART=y
BR2_PACKAGE_GENROMFS=y
# BR2_PACKAGE_MAKEDEVS is not set
# BR2_PACKAGE_MMC_UTILS is not set
BR2_PACKAGE_MTD=y

#
# MTD tools selection
#
# BR2_PACKAGE_MTD_DOCFDISK is not set
# BR2_PACKAGE_MTD_DOC_LOADBIOS is not set
BR2_PACKAGE_MTD_FLASHCP=y
# BR2_PACKAGE_MTD_FLASH_ERASE is not set
BR2_PACKAGE_MTD_FLASH_LOCK=y
BR2_PACKAGE_MTD_FLASH_OTP_DUMP=y
# BR2_PACKAGE_MTD_FLASH_OTP_INFO is not set
# BR2_PACKAGE_MTD_FLASH_OTP_LOCK is not set
BR2_PACKAGE_MTD_FLASH_OTP_WRITE=y
# BR2_PACKAGE_MTD_FLASH_UNLOCK is not set
BR2_PACKAGE_MTD_FTL_CHECK=y
BR2_PACKAGE_MTD_FTL_FORMAT=y
BR2_PACKAGE_MTD_JFFS2DUMP=y
BR2_PACKAGE_MTD_MKFSJFFS2=y
# BR2_PACKAGE_MTD_MKFSUBIFS is not set
BR2_PACKAGE_MTD_MTD_DEBUG=y
# BR2_PACKAGE_MTD_NANDDUMP is not set
# BR2_PACKAGE_MTD_NANDTEST is not set
BR2_PACKAGE_MTD_NANDWRITE=y
BR2_PACKAGE_MTD_NFTLDUMP=y
BR2_PACKAGE_MTD_NFTL_FORMAT=y
BR2_PACKAGE_MTD_RECV_IMAGE=y
# BR2_PACKAGE_MTD_RFDDUMP is not set
BR2_PACKAGE_MTD_RFDFORMAT=y
BR2_PACKAGE_MTD_SERVE_IMAGE=y
BR2_PACKAGE_MTD_SUMTOOL=y
BR2_PACKAGE_MTD_MTDINFO=y
BR2_PACKAGE_MTD_UBIATTACH=y
BR2_PACKAGE_MTD_UBICRC32=y
# BR2_PACKAGE_MTD_UBIDETACH is not set
BR2_PACKAGE_MTD_UBIFORMAT=y
# BR2_PACKAGE_MTD_UBIMKVOL is not set
# BR2_PACKAGE_MTD_UBINFO is not set
BR2_PACKAGE_MTD_UBINIZE=y
BR2_PACKAGE_MTD_UBIRENAME=y
# BR2_PACKAGE_MTD_UBIRMVOL is not set
BR2_PACKAGE_MTD_UBIRSVOL=y
BR2_PACKAGE_MTD_UBIUPDATEVOL=y
# BR2_PACKAGE_MTD_UBIBLOCK is not set
BR2_PACKAGE_MTOOLS=y
BR2_PACKAGE_NFS_UTILS=y

#
# NFS utilities selection
#
BR2_PACKAGE_NFS_UTILS_RPCDEBUG=y
# BR2_PACKAGE_NFS_UTILS_RPC_LOCKD is not set
# BR2_PACKAGE_NFS_UTILS_RPC_RQUOTAD is not set
# BR2_PACKAGE_NTFS_3G is not set

#
# simicsfs needs a Linux kernel to be built
#
# BR2_PACKAGE_SQUASHFS is not set
BR2_PACKAGE_SSHFS=y
BR2_PACKAGE_UNIONFS=y

#
# Note that xfsprogs needs a toolchain with UCLIBC_SV4_DEPRECATED and UCLIBC_HAS_OBSOLETE_BSD_SIGNAL enabled
#
BR2_PACKAGE_XFSPROGS=y

#
# Games
#
BR2_PACKAGE_DOOM_WAD=y
BR2_PACKAGE_GNUCHESS=y
# BR2_PACKAGE_LBREAKOUT2 is not set
# BR2_PACKAGE_LTRIS is not set
# BR2_PACKAGE_OPENTYRIAN is not set
BR2_PACKAGE_PRBOOM=y
BR2_PACKAGE_RUBIX=y

#
# Graphic libraries and applications (graphic/text)
#

#
# Graphic applications
#
BR2_PACKAGE_FSWEBCAM=y

#
# glmark2 needs an OpenGL or an openGL ES and EGL backend provided by mesa3d
#

#
# glmark2 needs udev /dev management and a toolchain w/ C++, largefile, NPTL
#
# BR2_PACKAGE_GNUPLOT is not set
BR2_PACKAGE_JHEAD=y
# BR2_PACKAGE_RRDTOOL is not set

#
# Graphic libraries
#
BR2_PACKAGE_CEGUI06=y
BR2_PACKAGE_DIRECTFB=y

#
# directfb multi application needs a Linux kernel to be built
#
# BR2_PACKAGE_DIRECTFB_DEBUG is not set
# BR2_PACKAGE_DIRECTFB_TRACE is not set
BR2_PACKAGE_DIRECTFB_XSERVER=y
BR2_PACKAGE_DIRECTFB_ATI128=y
# BR2_PACKAGE_DIRECTFB_CLE266 is not set
BR2_PACKAGE_DIRECTFB_MATROX=y
# BR2_PACKAGE_DIRECTFB_UNICHROME is not set
BR2_PACKAGE_DIRECTFB_I830=y
BR2_PACKAGE_DIRECTFB_LINUXINPUT=y
BR2_PACKAGE_DIRECTFB_KEYBOARD=y
# BR2_PACKAGE_DIRECTFB_PS2MOUSE is not set
# BR2_PACKAGE_DIRECTFB_SERIALMOUSE is not set
BR2_PACKAGE_DIRECTFB_TSLIB=y
BR2_PACKAGE_DIRECTFB_GIF=y
# BR2_PACKAGE_DIRECTFB_IMLIB2 is not set
# BR2_PACKAGE_DIRECTFB_JPEG is not set
# BR2_PACKAGE_DIRECTFB_PNG is not set
BR2_PACKAGE_DIRECTFB_SVG=y
BR2_PACKAGE_DIRECTFB_DITHER_RGB16=y
# BR2_PACKAGE_DIRECTFB_TESTS is not set
BR2_PACKAGE_DIRECTFB_EXAMPLES=y
# BR2_PACKAGE_DIRECTFB_EXAMPLES_ANDI is not set
BR2_PACKAGE_DIRECTFB_EXAMPLES_BLTLOAD=y
# BR2_PACKAGE_DIRECTFB_EXAMPLES_CPULOAD is not set
BR2_PACKAGE_DIRECTFB_EXAMPLES_DATABUFFER=y
# BR2_PACKAGE_DIRECTFB_EXAMPLES_DIOLOAD is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_DOK is not set
BR2_PACKAGE_DIRECTFB_EXAMPLES_DRIVERTEST=y
BR2_PACKAGE_DIRECTFB_EXAMPLES_FIRE=y
# BR2_PACKAGE_DIRECTFB_EXAMPLES_FLIP is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_FONTS is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_INPUT is not set
BR2_PACKAGE_DIRECTFB_EXAMPLES_JOYSTICK=y
BR2_PACKAGE_DIRECTFB_EXAMPLES_KNUCKLES=y
BR2_PACKAGE_DIRECTFB_EXAMPLES_LAYER=y
# BR2_PACKAGE_DIRECTFB_EXAMPLES_MATRIX is not set
BR2_PACKAGE_DIRECTFB_EXAMPLES_MATRIX_WATER=y
BR2_PACKAGE_DIRECTFB_EXAMPLES_NEO=y
# BR2_PACKAGE_DIRECTFB_EXAMPLES_NETLOAD is not set
BR2_PACKAGE_DIRECTFB_EXAMPLES_PALETTE=y
# BR2_PACKAGE_DIRECTFB_EXAMPLES_PARTICLE is not set
BR2_PACKAGE_DIRECTFB_EXAMPLES_PORTER=y
BR2_PACKAGE_DIRECTFB_EXAMPLES_STRESS=y
BR2_PACKAGE_DIRECTFB_EXAMPLES_TEXTURE=y
# BR2_PACKAGE_DIRECTFB_EXAMPLES_VIDEO is not set
BR2_PACKAGE_DIRECTFB_EXAMPLES_VIDEO_PARTICLE=y
# BR2_PACKAGE_DIRECTFB_EXAMPLES_WINDOW is not set
# BR2_PACKAGE_DIVINE is not set
# BR2_PACKAGE_FBDUMP is not set
# BR2_PACKAGE_FBGRAB is not set
BR2_PACKAGE_FB_TEST_APP=y
BR2_PACKAGE_FBTERM=y
BR2_PACKAGE_FBV=y
# BR2_PACKAGE_FBV_PNG is not set
# BR2_PACKAGE_FBV_JPEG is not set
BR2_PACKAGE_FBV_GIF=y
BR2_PACKAGE_FREERDP=y
BR2_PACKAGE_FREERDP_SERVER=y
# BR2_PACKAGE_FREERDP_CLIENT is not set
BR2_PACKAGE_IMAGEMAGICK=y

#
# linux-fusion needs a Linux kernel to be built
#
BR2_PACKAGE_LITE=y

#
# mesa3d needs udev /dev management and a toolchain w/ C++, largefile, NPTL
#
BR2_PACKAGE_OCRAD=y
BR2_PACKAGE_PSPLASH=y
BR2_PACKAGE_SAWMAN=y
BR2_PACKAGE_SDL=y
BR2_PACKAGE_SDL_FBCON=y
BR2_PACKAGE_SDL_DIRECTFB=y
# BR2_PACKAGE_SDL_QTOPIA is not set
# BR2_PACKAGE_SDL_X11 is not set
# BR2_PACKAGE_SDL_GFX is not set
BR2_PACKAGE_SDL_IMAGE=y

#
# SDL_image file format support
#
BR2_PACKAGE_SDL_IMAGE_BMP=y
BR2_PACKAGE_SDL_IMAGE_GIF=y
BR2_PACKAGE_SDL_IMAGE_JPEG=y
# BR2_PACKAGE_SDL_IMAGE_LBM is not set
# BR2_PACKAGE_SDL_IMAGE_PCX is not set
# BR2_PACKAGE_SDL_IMAGE_PNG is not set
BR2_PACKAGE_SDL_IMAGE_PNM=y
# BR2_PACKAGE_SDL_IMAGE_TARGA is not set
# BR2_PACKAGE_SDL_IMAGE_TIFF is not set
# BR2_PACKAGE_SDL_IMAGE_WEBP is not set
# BR2_PACKAGE_SDL_IMAGE_XCF is not set
BR2_PACKAGE_SDL_IMAGE_XPM=y
BR2_PACKAGE_SDL_IMAGE_XV=y
BR2_PACKAGE_SDL_MIXER=y
BR2_PACKAGE_SDL_NET=y
# BR2_PACKAGE_SDL_SOUND is not set
# BR2_PACKAGE_SDL_TTF is not set

#
# Other GUIs
#
# BR2_PACKAGE_EFL is not set
BR2_PACKAGE_QT=y
BR2_PACKAGE_QT_EMBEDDED=y
# BR2_PACKAGE_QT_X11 is not set
BR2_PACKAGE_QT_DEBUG=y
# BR2_PACKAGE_QT_DEMOS is not set
BR2_PACKAGE_QT_TRANSLATION_FILES=y
# BR2_PACKAGE_QT_EXAMPLES is not set
BR2_PACKAGE_QT_SHARED=y
# BR2_PACKAGE_QT_STATIC is not set
# BR2_PACKAGE_QT_LICENSE_APPROVED is not set
BR2_PACKAGE_QT_CONFIG_FILE=""
# BR2_PACKAGE_QT_QT3SUPPORT is not set
BR2_PACKAGE_QT_GUI_MODULE=y

#
# Pixel depths
#

#
# Deselecting each option leads to Qt's default (8,16,32)
#
# BR2_PACKAGE_QT_PIXEL_DEPTH_1 is not set
BR2_PACKAGE_QT_PIXEL_DEPTH_4=y
BR2_PACKAGE_QT_PIXEL_DEPTH_8=y
# BR2_PACKAGE_QT_PIXEL_DEPTH_12 is not set
BR2_PACKAGE_QT_PIXEL_DEPTH_15=y
BR2_PACKAGE_QT_PIXEL_DEPTH_16=y
# BR2_PACKAGE_QT_PIXEL_DEPTH_18 is not set
BR2_PACKAGE_QT_PIXEL_DEPTH_24=y
BR2_PACKAGE_QT_PIXEL_DEPTH_32=y

#
# Fonts
#
BR2_PACKAGE_QT_FONT_MICRO=y
BR2_PACKAGE_QT_FONT_FIXED=y
# BR2_PACKAGE_QT_FONT_HELVETICA is not set
# BR2_PACKAGE_QT_FONT_JAPANESE is not set
BR2_PACKAGE_QT_FONT_UNIFONT=y
BR2_PACKAGE_QT_NOFREETYPE=y
# BR2_PACKAGE_QT_QTFREETYPE is not set
# BR2_PACKAGE_QT_SYSTEMFREETYPE is not set
BR2_PACKAGE_QT_GIF=y
# BR2_PACKAGE_QT_LIBMNG is not set
BR2_PACKAGE_QT_NOJPEG=y
# BR2_PACKAGE_QT_SYSTEMJPEG is not set
# BR2_PACKAGE_QT_QTJPEG is not set
BR2_PACKAGE_QT_NOPNG=y
# BR2_PACKAGE_QT_SYSTEMPNG is not set
# BR2_PACKAGE_QT_QTPNG is not set
BR2_PACKAGE_QT_NOTIFF=y
# BR2_PACKAGE_QT_SYSTEMTIFF is not set
# BR2_PACKAGE_QT_QTTIFF is not set
BR2_PACKAGE_QT_QTZLIB=y
# BR2_PACKAGE_QT_SYSTEMZLIB is not set
BR2_PACKAGE_QT_SQL_MODULE=y
BR2_PACKAGE_QT_MYSQL=y
BR2_PACKAGE_QT_PSQL=y
BR2_PACKAGE_QT_SQLITE_NONE=y
# BR2_PACKAGE_QT_SQLITE_QT is not set
# BR2_PACKAGE_QT_SQLITE_SYSTEM is not set

#
# Graphics drivers
#
BR2_PACKAGE_QT_GFX_LINUXFB=y
BR2_PACKAGE_QT_GFX_TRANSFORMED=y
# BR2_PACKAGE_QT_GFX_QVFB is not set
BR2_PACKAGE_QT_GFX_VNC=y
# BR2_PACKAGE_QT_GFX_MULTISCREEN is not set
BR2_PACKAGE_QT_GFX_DIRECTFB=y

#
# Mouse drivers
#
BR2_PACKAGE_QT_MOUSE_PC=y
BR2_PACKAGE_QT_MOUSE_LINUXTP=y
# BR2_PACKAGE_QT_MOUSE_LINUXINPUT is not set
BR2_PACKAGE_QT_MOUSE_TSLIB=y
# BR2_PACKAGE_QT_MOUSE_QVFB is not set

#
# Mouse Options
#
# BR2_PACKAGE_QT_MOUSE_NO_QWS_CURSOR is not set

#
# Keyboard drivers
#
BR2_PACKAGE_QT_KEYBOARD_TTY=y
BR2_PACKAGE_QT_KEYBOARD_LINUXINPUT=y
# BR2_PACKAGE_QT_KEYBOARD_QVFB is not set

#
# Phonon module needs gstreamer
#
BR2_PACKAGE_QT_DBUS=y
BR2_PACKAGE_QT_XML=y
BR2_PACKAGE_QT_XMLPATTERNS=y
# BR2_PACKAGE_QT_MULTIMEDIA is not set
BR2_PACKAGE_QT_SVG=y
BR2_PACKAGE_QT_NETWORK=y
BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT=y
# BR2_PACKAGE_QT_WEBKIT is not set
BR2_PACKAGE_QT_STL=y
# BR2_PACKAGE_QT_OPENSSL is not set
BR2_PACKAGE_QT_ARCH_SUPPORTS_SCRIPT=y
BR2_PACKAGE_QT_SCRIPT=y
# BR2_PACKAGE_QT_SCRIPTTOOLS is not set
BR2_PACKAGE_QT_DECLARATIVE=y
BR2_PACKAGE_QT_TEST=y
BR2_PACKAGE_QT5_JSCORE_AVAILABLE=y

#
# QT libraries and helper libraries
#
BR2_PACKAGE_GRANTLEE=y
# BR2_PACKAGE_QEXTSERIALPORT is not set
# BR2_PACKAGE_QJSON is not set
# BR2_PACKAGE_QTUIO is not set
# BR2_PACKAGE_QWT is not set

#
# weston needs udev and a toolchain w/ threads, dynamic library, headers >= 3.0
#
BR2_PACKAGE_XORG7=y

#
# X11R7 Servers
#
BR2_PACKAGE_XSERVER_XORG_SERVER=y
# BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR is not set
BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE=y
BR2_PACKAGE_XSERVER_XORG_SERVER_AIGLX=y
# BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_EVDEV is not set
# BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_KBD is not set
# BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_MOUSE is not set

#
# Optional Servers
#
# BR2_PACKAGE_XSERVER_XORG_SERVER_XVFB is not set

#
# X11R7 Libraries
#
BR2_PACKAGE_LIBXCB=y
BR2_PACKAGE_XCB_UTIL=y
# BR2_PACKAGE_XCB_UTIL_IMAGE is not set
# BR2_PACKAGE_XCB_UTIL_KEYSYMS is not set
BR2_PACKAGE_XCB_UTIL_WM=y
BR2_PACKAGE_XLIB_LIBFS=y
BR2_PACKAGE_XLIB_LIBICE=y
BR2_PACKAGE_XLIB_LIBSM=y
BR2_PACKAGE_XLIB_LIBX11=y
BR2_PACKAGE_XLIB_LIBXSCRNSAVER=y
BR2_PACKAGE_XLIB_LIBXAU=y
BR2_PACKAGE_XLIB_LIBXAW=y
# BR2_PACKAGE_XLIB_LIBXCOMPOSITE is not set
BR2_PACKAGE_XLIB_LIBXCURSOR=y
BR2_PACKAGE_XLIB_LIBXDAMAGE=y
BR2_PACKAGE_XLIB_LIBXDMCP=y
BR2_PACKAGE_XLIB_LIBXEXT=y
BR2_PACKAGE_XLIB_LIBXFIXES=y
BR2_PACKAGE_XLIB_LIBXFONT=y
BR2_PACKAGE_XLIB_LIBXFT=y
BR2_PACKAGE_XLIB_LIBXI=y
BR2_PACKAGE_XLIB_LIBXINERAMA=y
BR2_PACKAGE_XLIB_LIBXMU=y
BR2_PACKAGE_XLIB_LIBXPM=y
BR2_PACKAGE_XLIB_LIBXRANDR=y
BR2_PACKAGE_XLIB_LIBXRENDER=y
BR2_PACKAGE_XLIB_LIBXRES=y
BR2_PACKAGE_XLIB_LIBXT=y
BR2_PACKAGE_XLIB_LIBXTST=y
BR2_PACKAGE_XLIB_LIBXV=y
# BR2_PACKAGE_XLIB_LIBXVMC is not set
# BR2_PACKAGE_XLIB_LIBXXF86DGA is not set
BR2_PACKAGE_XLIB_LIBXXF86VM=y
# BR2_PACKAGE_XLIB_LIBDMX is not set
BR2_PACKAGE_XLIB_LIBFONTENC=y
BR2_PACKAGE_XLIB_LIBXKBFILE=y
BR2_PACKAGE_XLIB_LIBXSHMFENCE=y
BR2_PACKAGE_XLIB_XTRANS=y

#
# X11R7 Applications
#
BR2_PACKAGE_XAPP_APPRES=y
# BR2_PACKAGE_XAPP_BDFTOPCF is not set
BR2_PACKAGE_XAPP_BEFORELIGHT=y
# BR2_PACKAGE_XAPP_BITMAP is not set
BR2_PACKAGE_XAPP_EDITRES=y
# BR2_PACKAGE_XAPP_FONTTOSFNT is not set
BR2_PACKAGE_XAPP_FSLSFONTS=y
BR2_PACKAGE_XAPP_FSTOBDF=y
BR2_PACKAGE_XAPP_ICEAUTH=y
# BR2_PACKAGE_XAPP_ICO is not set
# BR2_PACKAGE_XAPP_LISTRES is not set
# BR2_PACKAGE_XAPP_LUIT is not set
BR2_PACKAGE_XAPP_MKFONTDIR=y
BR2_PACKAGE_XAPP_MKFONTSCALE=y
# BR2_PACKAGE_XAPP_OCLOCK is not set
BR2_PACKAGE_XAPP_RGB=y
BR2_PACKAGE_XAPP_RSTART=y
# BR2_PACKAGE_XAPP_SCRIPTS is not set
BR2_PACKAGE_XAPP_SESSREG=y
# BR2_PACKAGE_XAPP_SETXKBMAP is not set
BR2_PACKAGE_XAPP_SHOWFONT=y
BR2_PACKAGE_XAPP_SMPROXY=y
BR2_PACKAGE_XAPP_TWM=y
BR2_PACKAGE_XAPP_VIEWRES=y
BR2_PACKAGE_XAPP_X11PERF=y
BR2_PACKAGE_XAPP_XAUTH=y
# BR2_PACKAGE_XAPP_XBACKLIGHT is not set
# BR2_PACKAGE_XAPP_XBIFF is not set
# BR2_PACKAGE_XAPP_XCALC is not set
# BR2_PACKAGE_XAPP_XCLIPBOARD is not set
BR2_PACKAGE_XAPP_XCLOCK=y
BR2_PACKAGE_XAPP_XCMSDB=y
# BR2_PACKAGE_XAPP_XCONSOLE is not set
# BR2_PACKAGE_XAPP_XCURSORGEN is not set
# BR2_PACKAGE_XAPP_XDBEDIZZY is not set
BR2_PACKAGE_XAPP_XDITVIEW=y
BR2_PACKAGE_XAPP_XDM=y
# BR2_PACKAGE_XAPP_XDPYINFO is not set

#
# xdriinfo needs an OpenGL backend
#
# BR2_PACKAGE_XAPP_XEDIT is not set
BR2_PACKAGE_XAPP_XEV=y
BR2_PACKAGE_XAPP_XEYES=y
# BR2_PACKAGE_XAPP_XF86DGA is not set
BR2_PACKAGE_XAPP_XFD=y
# BR2_PACKAGE_XAPP_XFONTSEL is not set
# BR2_PACKAGE_XAPP_XFS is not set
# BR2_PACKAGE_XAPP_XFSINFO is not set
BR2_PACKAGE_XAPP_XGAMMA=y
# BR2_PACKAGE_XAPP_XGC is not set
BR2_PACKAGE_XAPP_XHOST=y
BR2_PACKAGE_XAPP_XINIT=y
BR2_PACKAGE_XAPP_XINPUT=y
BR2_PACKAGE_XAPP_XINPUT_CALIBRATOR=y
BR2_PACKAGE_XAPP_XKBCOMP=y
# BR2_PACKAGE_XAPP_XKBEVD is not set
# BR2_PACKAGE_XAPP_XKBPRINT is not set
BR2_PACKAGE_XAPP_XKBUTILS=y
# BR2_PACKAGE_XAPP_XKILL is not set
# BR2_PACKAGE_XAPP_XLOAD is not set
BR2_PACKAGE_XAPP_XLOGO=y
BR2_PACKAGE_XAPP_XLSATOMS=y
BR2_PACKAGE_XAPP_XLSCLIENTS=y
# BR2_PACKAGE_XAPP_XLSFONTS is not set
BR2_PACKAGE_XAPP_XMAG=y
# BR2_PACKAGE_XAPP_XMAN is not set
BR2_PACKAGE_XAPP_XMESSAGE=y
BR2_PACKAGE_XAPP_XMH=y
BR2_PACKAGE_XAPP_XMODMAP=y
BR2_PACKAGE_XAPP_XMORE=y
# BR2_PACKAGE_XAPP_XPR is not set
# BR2_PACKAGE_XAPP_XPROP is not set
# BR2_PACKAGE_XAPP_XRANDR is not set
BR2_PACKAGE_XAPP_XRDB=y
BR2_PACKAGE_XAPP_XREFRESH=y
BR2_PACKAGE_XAPP_XSET=y
# BR2_PACKAGE_XAPP_XSETMODE is not set
BR2_PACKAGE_XAPP_XSETPOINTER=y
# BR2_PACKAGE_XAPP_XSETROOT is not set
BR2_PACKAGE_XAPP_XSM=y
BR2_PACKAGE_XAPP_XSTDCMAP=y
BR2_PACKAGE_XAPP_XVIDTUNE=y
# BR2_PACKAGE_XAPP_XVINFO is not set
BR2_PACKAGE_XAPP_XWD=y
BR2_PACKAGE_XAPP_XWININFO=y
# BR2_PACKAGE_XAPP_XWUD is not set

#
# X11R7 Fonts
#
# BR2_PACKAGE_XFONT_FONT_UTIL is not set
BR2_PACKAGE_XFONT_ENCODINGS=y
# BR2_PACKAGE_XFONT_FONT_ADOBE_100DPI is not set
# BR2_PACKAGE_XFONT_FONT_ADOBE_75DPI is not set
BR2_PACKAGE_XFONT_FONT_ADOBE_UTOPIA_100DPI=y
# BR2_PACKAGE_XFONT_FONT_ADOBE_UTOPIA_75DPI is not set
BR2_PACKAGE_XFONT_FONT_ADOBE_UTOPIA_TYPE1=y
BR2_PACKAGE_XFONT_FONT_ALIAS=y
# BR2_PACKAGE_XFONT_FONT_ARABIC_MISC is not set
BR2_PACKAGE_XFONT_FONT_BH_100DPI=y
BR2_PACKAGE_XFONT_FONT_BH_75DPI=y
BR2_PACKAGE_XFONT_FONT_BH_LUCIDATYPEWRITER_100DPI=y
# BR2_PACKAGE_XFONT_FONT_BH_LUCIDATYPEWRITER_75DPI is not set
# BR2_PACKAGE_XFONT_FONT_BH_TTF is not set
# BR2_PACKAGE_XFONT_FONT_BH_TYPE1 is not set
BR2_PACKAGE_XFONT_FONT_BITSTREAM_100DPI=y
# BR2_PACKAGE_XFONT_FONT_BITSTREAM_75DPI is not set
BR2_PACKAGE_XFONT_FONT_BITSTREAM_TYPE1=y
BR2_PACKAGE_XFONT_FONT_CRONYX_CYRILLIC=y
BR2_PACKAGE_XFONT_FONT_CURSOR_MISC=y
BR2_PACKAGE_XFONT_FONT_DAEWOO_MISC=y
# BR2_PACKAGE_XFONT_FONT_DEC_MISC is not set
BR2_PACKAGE_XFONT_FONT_IBM_TYPE1=y
# BR2_PACKAGE_XFONT_FONT_ISAS_MISC is not set
# BR2_PACKAGE_XFONT_FONT_JIS_MISC is not set
# BR2_PACKAGE_XFONT_FONT_MICRO_MISC is not set
BR2_PACKAGE_XFONT_FONT_MISC_CYRILLIC=y
BR2_PACKAGE_XFONT_FONT_MISC_ETHIOPIC=y
# BR2_PACKAGE_XFONT_FONT_MISC_MELTHO is not set
BR2_PACKAGE_XFONT_FONT_MISC_MISC=y
BR2_PACKAGE_XFONT_FONT_MUTT_MISC=y
BR2_PACKAGE_XFONT_FONT_SCHUMACHER_MISC=y
BR2_PACKAGE_XFONT_FONT_SCREEN_CYRILLIC=y
BR2_PACKAGE_XFONT_FONT_SONY_MISC=y
BR2_PACKAGE_XFONT_FONT_SUN_MISC=y
BR2_PACKAGE_XFONT_FONT_WINITZKI_CYRILLIC=y
# BR2_PACKAGE_XFONT_FONT_XFREE86_TYPE1 is not set

#
# X11R7 X protocols
#
BR2_PACKAGE_XCB_PROTO=y
# BR2_PACKAGE_XPROTO_APPLEWMPROTO is not set
BR2_PACKAGE_XPROTO_BIGREQSPROTO=y
BR2_PACKAGE_XPROTO_COMPOSITEPROTO=y
BR2_PACKAGE_XPROTO_DAMAGEPROTO=y
BR2_PACKAGE_XPROTO_DMXPROTO=y
# BR2_PACKAGE_XPROTO_DRI2PROTO is not set
# BR2_PACKAGE_XPROTO_DRI3PROTO is not set
BR2_PACKAGE_XPROTO_FIXESPROTO=y
# BR2_PACKAGE_XPROTO_FONTCACHEPROTO is not set
BR2_PACKAGE_XPROTO_FONTSPROTO=y
BR2_PACKAGE_XPROTO_GLPROTO=y
BR2_PACKAGE_XPROTO_INPUTPROTO=y
BR2_PACKAGE_XPROTO_KBPROTO=y
BR2_PACKAGE_XPROTO_PRESENTPROTO=y
BR2_PACKAGE_XPROTO_RANDRPROTO=y
BR2_PACKAGE_XPROTO_RECORDPROTO=y
BR2_PACKAGE_XPROTO_RENDERPROTO=y
BR2_PACKAGE_XPROTO_RESOURCEPROTO=y
BR2_PACKAGE_XPROTO_SCRNSAVERPROTO=y
BR2_PACKAGE_XPROTO_VIDEOPROTO=y
BR2_PACKAGE_XPROTO_WINDOWSWMPROTO=y
BR2_PACKAGE_XPROTO_XCMISCPROTO=y
BR2_PACKAGE_XPROTO_XEXTPROTO=y
BR2_PACKAGE_XPROTO_XF86BIGFONTPROTO=y
BR2_PACKAGE_XPROTO_XF86DGAPROTO=y
# BR2_PACKAGE_XPROTO_XF86DRIPROTO is not set
BR2_PACKAGE_XPROTO_XF86VIDMODEPROTO=y
BR2_PACKAGE_XPROTO_XINERAMAPROTO=y
BR2_PACKAGE_XPROTO_XPROTO=y

#
# X11R7 Utilities
#
# BR2_PACKAGE_XUTIL_MAKEDEPEND is not set
BR2_PACKAGE_XUTIL_UTIL_MACROS=y
BR2_PACKAGE_MCOOKIE=y

#
# X11R7 Other data
#
BR2_PACKAGE_XDATA_XBITMAPS=y
# BR2_PACKAGE_XDATA_XCURSOR_THEMES is not set
BR2_PACKAGE_XCURSOR_TRANSPARENT_THEME=y

#
# X applications
#
# BR2_PACKAGE_ALSAMIXERGUI is not set
# BR2_PACKAGE_APITRACE is not set
# BR2_PACKAGE_DILLO is not set
BR2_PACKAGE_DOCKER=y
# BR2_PACKAGE_FEH is not set
# BR2_PACKAGE_GMPC is not set
# BR2_PACKAGE_GQVIEW is not set
# BR2_PACKAGE_GTKPERF is not set
BR2_PACKAGE_LEAFPAD=y
# BR2_PACKAGE_MIDORI is not set
# BR2_PACKAGE_PCMANFM is not set
# BR2_PACKAGE_RDESKTOP is not set
# BR2_PACKAGE_SYNERGY is not set
# BR2_PACKAGE_TORSMO is not set
# BR2_PACKAGE_WMCTRL is not set
BR2_PACKAGE_X11VNC=y
BR2_PACKAGE_XSCREENSAVER=y
# BR2_PACKAGE_XTERM is not set
# BR2_PACKAGE_XVKBD is not set

#
# X libraries and helper libraries
#
BR2_PACKAGE_DEJAVU=y
BR2_PACKAGE_DEJAVU_MONO=y
BR2_PACKAGE_DEJAVU_SANS=y
BR2_PACKAGE_DEJAVU_SERIF=y
BR2_PACKAGE_DEJAVU_SANS_CONDENSED=y
BR2_PACKAGE_DEJAVU_SERIF_CONDENSED=y
BR2_PACKAGE_GHOSTSCRIPT_FONTS=y
BR2_PACKAGE_LIBERATION=y
# BR2_PACKAGE_LIBERATION_MONO is not set
BR2_PACKAGE_LIBERATION_SANS=y
# BR2_PACKAGE_LIBERATION_SERIF is not set
# BR2_PACKAGE_LIBSEXY is not set
BR2_PACKAGE_XKEYBOARD_CONFIG=y

#
# X window managers
#
# BR2_PACKAGE_ENLIGHTENMENT is not set
# BR2_PACKAGE_FLUXBOX is not set
# BR2_PACKAGE_MATCHBOX is not set
# BR2_PACKAGE_METACITY is not set

#
# Hardware handling
#

#
# Firmware
#
# BR2_PACKAGE_B43_FIRMWARE is not set
BR2_PACKAGE_LINUX_FIRMWARE=y

#
# Audio firmware
#
BR2_PACKAGE_LINUX_FIRMWARE_INTEL_SST_DSP=y

#
# WiFi firmware
#
BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6002=y
# BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6003 is not set
# BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6004 is not set
# BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_7010 is not set
BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9170=y
BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9271=y
# BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX is not set
BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX=y
# BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160 is not set
# BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_5000 is not set
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7260=y
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7265=y
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_NEED_REV=y
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_REV_8=y
# BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_REV_9 is not set
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_REV=8
# BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V8 is not set
# BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V9 is not set
# BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8688 is not set
BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8787=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y
# BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX is not set
# BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX is not set
# BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX is not set
BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX=y
# BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X is not set
# BR2_PACKAGE_LINUX_FIRMWARE_TI_WL128X is not set
# BR2_PACKAGE_LINUX_FIRMWARE_TI_WL18XX is not set

#
# Ethernet firmware
#
BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y
BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4=y
# BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T5 is not set
BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y

#
# DVB firmware
#
BR2_PACKAGE_LINUX_FIRMWARE_AS102=y
BR2_PACKAGE_LINUX_FIRMWARE_DIB0700=y
BR2_PACKAGE_LINUX_FIRMWARE_ITETECH_IT9135=y
BR2_PACKAGE_LINUX_FIRMWARE_H5_DRXK=y
BR2_PACKAGE_LINUX_FIRMWARE_XCx000=y
BR2_PACKAGE_UX500_FIRMWARE=y
# BR2_PACKAGE_ZD1211_FIRMWARE is not set
BR2_PACKAGE_ACPID=y
# BR2_PACKAGE_AVRDUDE is not set

#
# bcache-tools needs udev /dev management and a toolchain w/ largefile, wchar
#
BR2_PACKAGE_CDRKIT=y
# BR2_PACKAGE_CRYPTSETUP is not set
# BR2_PACKAGE_CWIID is not set
BR2_PACKAGE_DBUS=y
BR2_PACKAGE_DBUS_CPP=y
BR2_PACKAGE_DBUS_GLIB=y
BR2_PACKAGE_DBUS_PYTHON=y
BR2_PACKAGE_DBUS_TRIGGERD=y
BR2_PACKAGE_DMIDECODE=y
BR2_PACKAGE_DMRAID=y
BR2_PACKAGE_DTV_SCAN_TABLES=y
BR2_PACKAGE_DVB_APPS=y
# BR2_PACKAGE_DVBSNOOP is not set
# BR2_PACKAGE_EEPROG is not set

#
# eudev needs eudev /dev management
#
# BR2_PACKAGE_EVEMU is not set
# BR2_PACKAGE_EVTEST is not set
BR2_PACKAGE_FAN_CTRL=y
BR2_PACKAGE_FCONFIG=y
# BR2_PACKAGE_FIS is not set
BR2_PACKAGE_FLASHROM=y
BR2_PACKAGE_FMTOOLS=y
# BR2_PACKAGE_FXLOAD is not set
# BR2_PACKAGE_GADGETFS_TEST is not set
# BR2_PACKAGE_GPM is not set
BR2_PACKAGE_GPSD=y
BR2_PACKAGE_GPSD_DEVICES="/dev/ttyS1"

#
# Features
#
BR2_PACKAGE_GPSD_CLIENT_DEBUG=y
BR2_PACKAGE_GPSD_OLDSTYLE=y
BR2_PACKAGE_GPSD_PROFILING=y
BR2_PACKAGE_GPSD_NTP_SHM=y
# BR2_PACKAGE_GPSD_PPS is not set
# BR2_PACKAGE_GPSD_USER is not set
BR2_PACKAGE_GPSD_GROUP=y
BR2_PACKAGE_GPSD_GROUP_VALUE="nobody"
BR2_PACKAGE_GPSD_FIXED_PORT_SPEED=y
BR2_PACKAGE_GPSD_FIXED_PORT_SPEED_VALUE="9600"
# BR2_PACKAGE_GPSD_MAX_CLIENT is not set
# BR2_PACKAGE_GPSD_MAX_DEV is not set
BR2_PACKAGE_GPSD_RECONFIGURE=y
# BR2_PACKAGE_GPSD_CONTROLSEND is not set
# BR2_PACKAGE_GPSD_SQUELCH is not set

#
# Protocols
#
BR2_PACKAGE_GPSD_AIVDM=y
BR2_PACKAGE_GPSD_ASHTECH=y
BR2_PACKAGE_GPSD_EARTHMATE=y
BR2_PACKAGE_GPSD_EVERMORE=y
BR2_PACKAGE_GPSD_FURY=y
# BR2_PACKAGE_GPSD_FV18 is not set
BR2_PACKAGE_GPSD_GARMIN=y
BR2_PACKAGE_GPSD_GARMIN_SIMPLE_TXT=y
BR2_PACKAGE_GPSD_GEOSTAR=y
# BR2_PACKAGE_GPSD_GPSCLOCK is not set
# BR2_PACKAGE_GPSD_ITRAX is not set
BR2_PACKAGE_GPSD_MTK3301=y
# BR2_PACKAGE_GPSD_NAVCOM is not set
BR2_PACKAGE_GPSD_NMEA=y
# BR2_PACKAGE_GPSD_NMEA2000 is not set
BR2_PACKAGE_GPSD_NTRIP=y
BR2_PACKAGE_GPSD_OCEANSERVER=y
# BR2_PACKAGE_GPSD_ONCORE is not set
# BR2_PACKAGE_GPSD_RTCM104V2 is not set
BR2_PACKAGE_GPSD_RTCM104V3=y
# BR2_PACKAGE_GPSD_SIRF is not set
BR2_PACKAGE_GPSD_SUPERSTAR2=y
BR2_PACKAGE_GPSD_TRIMBLE_TSIP=y
# BR2_PACKAGE_GPSD_TRIPMATE is not set
BR2_PACKAGE_GPSD_TRUE_NORTH=y
# BR2_PACKAGE_GPSD_UBX is not set
# BR2_PACKAGE_GPTFDISK is not set
BR2_PACKAGE_GVFS=y
# BR2_PACKAGE_HWDATA is not set
# BR2_PACKAGE_HWLOC is not set

#
# hwloc needs a toolchain w/ threads
#
# BR2_PACKAGE_I2C_TOOLS is not set
BR2_PACKAGE_INPUT_EVENT_DAEMON=y
# BR2_PACKAGE_INPUT_TOOLS is not set
# BR2_PACKAGE_INTEL_MICROCODE is not set
# BR2_PACKAGE_IOSTAT is not set
BR2_PACKAGE_IPMITOOL=y
# BR2_PACKAGE_IPMITOOL_LANPLUS is not set
BR2_PACKAGE_IPMITOOL_IPMIEVD=y
# BR2_PACKAGE_IRDA_UTILS is not set
# BR2_PACKAGE_IUCODE_TOOL is not set
# BR2_PACKAGE_KBD is not set
# BR2_PACKAGE_LCDPROC is not set
# BR2_PACKAGE_LM_SENSORS is not set
# BR2_PACKAGE_LSHW is not set
BR2_PACKAGE_LSUIO=y
BR2_PACKAGE_LVM2=y
BR2_PACKAGE_LVM2_STANDARD_INSTALL=y
BR2_PACKAGE_LVM2_APP_LIBRARY=y
# BR2_PACKAGE_MDADM is not set
# BR2_PACKAGE_MEDIA_CTL is not set
# BR2_PACKAGE_MEMTEST86 is not set
BR2_PACKAGE_MEMTESTER=y
BR2_PACKAGE_MINICOM=y
BR2_PACKAGE_NANOCOM=y
BR2_PACKAGE_NEARD=y
# BR2_PACKAGE_NEARD_TOOLS is not set

#
# nvidia-driver needs an (e)glibc toolchain and a modular Xorg server
#
# BR2_PACKAGE_OFONO is not set
# BR2_PACKAGE_OLA is not set
# BR2_PACKAGE_OPEN2300 is not set
BR2_PACKAGE_OPENOCD=y

#
# Adapters
#
BR2_PACKAGE_OPENOCD_FTDI=y
# BR2_PACKAGE_OPENOCD_STLINK is not set
# BR2_PACKAGE_OPENOCD_TI_ICDI is not set
BR2_PACKAGE_OPENOCD_ULINK=y
BR2_PACKAGE_OPENOCD_UBLASTER2=y
BR2_PACKAGE_OPENOCD_JLINK=y
# BR2_PACKAGE_OPENOCD_OSDBM is not set
# BR2_PACKAGE_OPENOCD_OPENDOUS is not set
BR2_PACKAGE_OPENOCD_AICE=y
# BR2_PACKAGE_OPENOCD_VSLLINK is not set
BR2_PACKAGE_OPENOCD_USBPROG=y
BR2_PACKAGE_OPENOCD_RLINK=y
# BR2_PACKAGE_OPENOCD_ARMEW is not set
# BR2_PACKAGE_OPENOCD_PARPORT is not set
BR2_PACKAGE_OPENOCD_FT2XXX=y
# BR2_PACKAGE_OPENOCD_VPI is not set
# BR2_PACKAGE_OPENOCD_UBLASTER is not set
BR2_PACKAGE_OPENOCD_AMTJT=y
BR2_PACKAGE_OPENOCD_GW16012=y
# BR2_PACKAGE_OPENOCD_PRESTO is not set
BR2_PACKAGE_OPENOCD_OPENJTAG=y
# BR2_PACKAGE_OPENOCD_BUSPIRATE is not set
BR2_PACKAGE_OPENOCD_SYSFS=y
BR2_PACKAGE_OPENPOWERLINK=y
BR2_PACKAGE_OPENPOWERLINK_LIBPCAP=y
BR2_PACKAGE_OPENPOWERLINK_MN=y
# BR2_PACKAGE_OPENPOWERLINK_CN is not set

#
# openpowerlink demos
#
# BR2_PACKAGE_OPENPOWERLINK_DEMO_MN_CONSOLE is not set
BR2_PACKAGE_OPENPOWERLINK_DEMO_MN_QT=y
BR2_PACKAGE_OPENPOWERLINK_DEBUG_LEVEL="0xEC000000L"
# BR2_PACKAGE_PARTED is not set
BR2_PACKAGE_PCIUTILS=y
BR2_PACKAGE_PICOCOM=y
BR2_PACKAGE_POWERTOP=y
BR2_PACKAGE_PPS_TOOLS=y
# BR2_PACKAGE_READ_EDID is not set
BR2_PACKAGE_RNG_TOOLS=y
# BR2_PACKAGE_SANE_BACKENDS is not set
BR2_PACKAGE_SDPARM=y
# BR2_PACKAGE_SETSERIAL is not set
# BR2_PACKAGE_SG3_UTILS is not set
BR2_PACKAGE_SIGROK_CLI=y
BR2_PACKAGE_SISPMCTL=y
# BR2_PACKAGE_SMARTMONTOOLS is not set
# BR2_PACKAGE_SMSTOOLS3 is not set
# BR2_PACKAGE_SNOWBALL_HDMISERVICE is not set
BR2_PACKAGE_SREDIRD=y
# BR2_PACKAGE_STATSERIAL is not set
BR2_PACKAGE_SYSSTAT=y
BR2_PACKAGE_TARGETCLI_FB=y
# BR2_PACKAGE_TI_UIM is not set
BR2_PACKAGE_TI_UTILS=y
BR2_PACKAGE_TRIGGERHAPPY=y
BR2_PACKAGE_UBOOT_TOOLS=y
BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE=y
BR2_PACKAGE_UBOOT_TOOLS_MKENVIMAGE=y
# BR2_PACKAGE_UBOOT_TOOLS_FWPRINTENV is not set

#
# udisks needs udev /dev management
#
# BR2_PACKAGE_USB_MODESWITCH is not set
# BR2_PACKAGE_USB_MODESWITCH_DATA is not set

#
# usbmount requires udev to be enabled
#

#
# usbutils needs udev /dev management and toolchain w/ threads
#

#
# w_scan needs a toolchain w/ headers >= 3.7
#
BR2_PACKAGE_WIPE=y
BR2_PACKAGE_XORRISO=y

#
# Interpreter languages and scripting
#
# BR2_PACKAGE_ENSCRIPT is not set
BR2_PACKAGE_ERLANG=y
BR2_PACKAGE_ERLANG_SMP=y
BR2_PACKAGE_ERLANG_MEGACO=y

#
# Erlang libraries/modules
#
BR2_PACKAGE_ERLANG_GOLDRUSH=y
# BR2_PACKAGE_ERLANG_LAGER is not set
BR2_PACKAGE_ERLANG_P1_CACHE_TAB=y
BR2_PACKAGE_ERLANG_P1_ICONV=y
BR2_PACKAGE_ERLANG_P1_SIP=y
BR2_PACKAGE_ERLANG_P1_STRINGPREP=y
BR2_PACKAGE_ERLANG_P1_STUN=y
BR2_PACKAGE_ERLANG_P1_TLS=y
BR2_PACKAGE_ERLANG_P1_UTILS=y
# BR2_PACKAGE_ERLANG_P1_XML is not set
BR2_PACKAGE_ERLANG_P1_YAML=y
# BR2_PACKAGE_ERLANG_P1_ZLIB is not set
BR2_PACKAGE_GUILE=y
# BR2_PACKAGE_HASERL is not set
BR2_PACKAGE_JAMVM=y
BR2_PACKAGE_JIMTCL=y
BR2_PACKAGE_LUA=y
BR2_PACKAGE_PROVIDES_LUAINTERPRETER="lua"
BR2_PACKAGE_LUA_5_1=y
# BR2_PACKAGE_LUA_5_2 is not set
# BR2_PACKAGE_LUA_5_3 is not set
BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION="5.1"
BR2_PACKAGE_LUA_EDITING_NONE=y
# BR2_PACKAGE_LUA_READLINE is not set
# BR2_PACKAGE_LUA_LINENOISE is not set
BR2_PACKAGE_HAS_LUAINTERPRETER=y
BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS=y
# BR2_PACKAGE_LUAJIT is not set

#
# Lua libraries/modules
#
# BR2_PACKAGE_CGILUA is not set
BR2_PACKAGE_COPAS=y
BR2_PACKAGE_COXPCALL=y
BR2_PACKAGE_DADO=y
BR2_PACKAGE_LBASE64=y

#
# ljlinenoise needs LuaJIT
#

#
# ljsyscall needs LuaJIT
#
BR2_PACKAGE_LPEG=y
BR2_PACKAGE_LPTY=y
BR2_PACKAGE_LRANDOM=y
# BR2_PACKAGE_LSQLITE3 is not set
BR2_PACKAGE_LUA_CJSON=y
BR2_PACKAGE_LUA_COAT=y
BR2_PACKAGE_LUA_COATPERSISTENT=y
# BR2_PACKAGE_LUA_CSNAPPY is not set
# BR2_PACKAGE_LUA_EV is not set
BR2_PACKAGE_LUA_MESSAGEPACK=y
BR2_PACKAGE_LUA_MSGPACK_NATIVE=y
BR2_PACKAGE_LUA_PERIPHERY=y
# BR2_PACKAGE_LUA_TESTMORE is not set
BR2_PACKAGE_LUABITOP=y
# BR2_PACKAGE_LUACRYPTO is not set
# BR2_PACKAGE_LUAEXPAT is not set
# BR2_PACKAGE_LUAEXPATUTILS is not set
BR2_PACKAGE_LUAFILESYSTEM=y
# BR2_PACKAGE_LUAJSON is not set
# BR2_PACKAGE_LUALOGGING is not set
BR2_PACKAGE_LUAPOSIX=y
BR2_PACKAGE_LUASEC=y
BR2_PACKAGE_LUASOCKET=y
BR2_PACKAGE_LUASQL_SQLITE3=y
BR2_PACKAGE_LUNIT=y
# BR2_PACKAGE_LZLIB is not set
BR2_PACKAGE_ORBIT=y
BR2_PACKAGE_RINGS=y
BR2_PACKAGE_WSAPI=y
# BR2_PACKAGE_XAVANTE is not set
BR2_PACKAGE_MONO_ARCH_SUPPORTS=y
BR2_PACKAGE_MONO=y
# BR2_PACKAGE_MONO_20 is not set
# BR2_PACKAGE_MONO_40 is not set
BR2_PACKAGE_MONO_45=y
BR2_PACKAGE_NODEJS=y

#
# Module Selection
#
# BR2_PACKAGE_NODEJS_NPM is not set
# BR2_PACKAGE_NODEJS_MODULES_EXPRESS is not set
# BR2_PACKAGE_NODEJS_MODULES_COFFEESCRIPT is not set
BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL=""
BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL_DEPS=""
# BR2_PACKAGE_PERL is not set
# BR2_PACKAGE_PHP is not set
BR2_PACKAGE_PYTHON=y
# BR2_PACKAGE_PYTHON_PY_ONLY is not set
BR2_PACKAGE_PYTHON_PYC_ONLY=y
# BR2_PACKAGE_PYTHON_PY_PYC is not set

#
# core python modules
#

#
# The following modules are unusual or require extra libraries
#
BR2_PACKAGE_PYTHON_BZIP2=y
# BR2_PACKAGE_PYTHON_BSDDB is not set
# BR2_PACKAGE_PYTHON_CODECSCJK is not set
BR2_PACKAGE_PYTHON_CURSES=y
BR2_PACKAGE_PYTHON_OSSAUDIODEV=y
BR2_PACKAGE_PYTHON_READLINE=y
# BR2_PACKAGE_PYTHON_SSL is not set
BR2_PACKAGE_PYTHON_UNICODEDATA=y
BR2_PACKAGE_PYTHON_UCS2=y
# BR2_PACKAGE_PYTHON_UCS4 is not set
BR2_PACKAGE_PYTHON_SQLITE=y
BR2_PACKAGE_PYTHON_PYEXPAT=y
BR2_PACKAGE_PYTHON_ZLIB=y
# BR2_PACKAGE_PYTHON_HASHLIB is not set

#
# external python modules
#
BR2_PACKAGE_PYTHON_ALSAAUDIO=y
# BR2_PACKAGE_PYTHON_BOTTLE is not set
BR2_PACKAGE_PYTHON_CERTIFI=y
# BR2_PACKAGE_PYTHON_CFFI is not set
# BR2_PACKAGE_PYTHON_CHEETAH is not set
# BR2_PACKAGE_PYTHON_CHERRYPY is not set
# BR2_PACKAGE_PYTHON_COHERENCE is not set
# BR2_PACKAGE_PYTHON_CONFIGOBJ is not set
BR2_PACKAGE_PYTHON_CONFIGSHELL_FB=y
BR2_PACKAGE_PYTHON_CRC16=y
# BR2_PACKAGE_PYTHON_DAEMON is not set
BR2_PACKAGE_PYTHON_DIALOG=y
# BR2_PACKAGE_PYTHON_DJANGO is not set
# BR2_PACKAGE_PYTHON_DOCOPT is not set
BR2_PACKAGE_PYTHON_DPKT=y
BR2_PACKAGE_PYTHON_ENUM=y
# BR2_PACKAGE_PYTHON_ENUM34 is not set
# BR2_PACKAGE_PYTHON_FLASK is not set
# BR2_PACKAGE_PYTHON_FLUP is not set
# BR2_PACKAGE_PYTHON_GOBJECT is not set
# BR2_PACKAGE_PYTHON_HTTPLIB2 is not set
BR2_PACKAGE_PYTHON_ID3=y
BR2_PACKAGE_PYTHON_IPADDR=y
BR2_PACKAGE_PYTHON_IPY=y
# BR2_PACKAGE_PYTHON_IPYTHON is not set
BR2_PACKAGE_PYTHON_ITSDANGEROUS=y
# BR2_PACKAGE_PYTHON_JINJA2 is not set
BR2_PACKAGE_PYTHON_JSON_SCHEMA_VALIDATOR=y
# BR2_PACKAGE_PYTHON_KEYRING is not set
# BR2_PACKAGE_PYTHON_LIBCONFIG is not set
# BR2_PACKAGE_PYTHON_LXML is not set
BR2_PACKAGE_PYTHON_MAKO=y
BR2_PACKAGE_PYTHON_MAD=y
# BR2_PACKAGE_PYTHON_MARKDOWN is not set
# BR2_PACKAGE_PYTHON_MARKUPSAFE is not set
BR2_PACKAGE_PYTHON_MELD3=y
# BR2_PACKAGE_PYTHON_MSGPACK is not set
# BR2_PACKAGE_PYTHON_NETIFACES is not set
# BR2_PACKAGE_PYTHON_NFC is not set
# BR2_PACKAGE_PYTHON_NUMPY is not set
BR2_PACKAGE_PYTHON_PAM=y
BR2_PACKAGE_PYTHON_POSIX_IPC=y
# BR2_PACKAGE_PYTHON_PROTOBUF is not set
BR2_PACKAGE_PYTHON_PSUTIL=y
BR2_PACKAGE_PYTHON_PYASN=y
BR2_PACKAGE_PYTHON_PYCRYPTO=y
# BR2_PACKAGE_PYTHON_PYFTPDLIB is not set
# BR2_PACKAGE_PYTHON_PYGAME is not set
# BR2_PACKAGE_PYTHON_PYINOTIFY is not set
BR2_PACKAGE_PYTHON_PYPARSING=y
BR2_PACKAGE_PYTHON_PYPCAP=y
BR2_PACKAGE_PYTHON_PYRO=y
BR2_PACKAGE_PYTHON_PYSENDFILE=y
BR2_PACKAGE_PYTHON_PYSNMP=y
# BR2_PACKAGE_PYTHON_PYSNMP_APPS is not set
# BR2_PACKAGE_PYTHON_PYSNMP_MIBS is not set
BR2_PACKAGE_PYTHON_PYUSB=y
# BR2_PACKAGE_PYTHON_PYXB is not set
BR2_PACKAGE_PYTHON_PYZMQ=y
BR2_PACKAGE_PYTHON_REQUESTS=y
BR2_PACKAGE_PYTHON_RTSLIB_FB=y
# BR2_PACKAGE_PYTHON_SERIAL is not set
BR2_PACKAGE_PYTHON_SETUPTOOLS=y
# BR2_PACKAGE_PYTHON_SIMPLEJSON is not set
# BR2_PACKAGE_PYTHON_SIX is not set
BR2_PACKAGE_PYTHON_SPIDEV=y
BR2_PACKAGE_PYTHON_THRIFT=y
# BR2_PACKAGE_PYTHON_TORNADO is not set
# BR2_PACKAGE_PYTHON_TWISTED is not set
BR2_PACKAGE_PYTHON_URWID=y
BR2_PACKAGE_PYTHON_VERSIONTOOLS=y
# BR2_PACKAGE_PYTHON_WEBPY is not set
# BR2_PACKAGE_PYTHON_WERKZEUG is not set
BR2_PACKAGE_PYTHON_ZOPE_INTERFACE=y
BR2_PACKAGE_RUBY=y
BR2_PACKAGE_TCL=y
# BR2_PACKAGE_TCL_DEL_ENCODINGS is not set
BR2_PACKAGE_TCL_SHLIB_ONLY=y

#
# tcl libraries/modules
#
# BR2_PACKAGE_EXPECT is not set
# BR2_PACKAGE_TCLLIB is not set

#
# Libraries
#

#
# Audio/Sound
#
BR2_PACKAGE_ALSA_LIB=y
BR2_PACKAGE_ALSA_LIB_PYTHON=y

#
# ALSA lib selection
#
BR2_PACKAGE_ALSA_LIB_DEVDIR="/dev/snd"
BR2_PACKAGE_ALSA_LIB_PCM_PLUGINS="all"
BR2_PACKAGE_ALSA_LIB_CTL_PLUGINS="all"
# BR2_PACKAGE_ALSA_LIB_ALOAD is not set
BR2_PACKAGE_ALSA_LIB_MIXER=y
BR2_PACKAGE_ALSA_LIB_PCM=y
BR2_PACKAGE_ALSA_LIB_RAWMIDI=y
BR2_PACKAGE_ALSA_LIB_HWDEP=y
BR2_PACKAGE_ALSA_LIB_SEQ=y
BR2_PACKAGE_ALSA_LIB_ALISP=y
BR2_PACKAGE_ALSA_LIB_OLD_SYMBOLS=y
BR2_PACKAGE_AUDIOFILE=y
# BR2_PACKAGE_CELT051 is not set
# BR2_PACKAGE_FDK_AAC is not set
BR2_PACKAGE_LIBAO=y
BR2_PACKAGE_LIBCDAUDIO=y
BR2_PACKAGE_LIBCDIO=y
BR2_PACKAGE_LIBCUE=y
BR2_PACKAGE_LIBCUEFILE=y
BR2_PACKAGE_LIBID3TAG=y
BR2_PACKAGE_LIBLO=y
BR2_PACKAGE_LIBMAD=y
BR2_PACKAGE_LIBMAD_OPTIMIZATION_DEFAULT=y
# BR2_PACKAGE_LIBMAD_OPTIMIZATION_SPEED is not set
# BR2_PACKAGE_LIBMAD_OPTIMIZATION_ACCURACY is not set
# BR2_PACKAGE_LIBMAD_SSO is not set
BR2_PACKAGE_LIBMAD_ASO=y
# BR2_PACKAGE_LIBMAD_STRICT_ISO is not set
# BR2_PACKAGE_LIBMODPLUG is not set
BR2_PACKAGE_LIBMPD=y
BR2_PACKAGE_LIBMPDCLIENT=y
BR2_PACKAGE_LIBREPLAYGAIN=y
BR2_PACKAGE_LIBSAMPLERATE=y
BR2_PACKAGE_LIBSIDPLAY2=y
BR2_PACKAGE_LIBSNDFILE=y
BR2_PACKAGE_LIBSOXR=y
BR2_PACKAGE_LIBVORBIS=y
# BR2_PACKAGE_MP4V2 is not set
# BR2_PACKAGE_OPENCORE_AMR is not set
BR2_PACKAGE_OPUS=y
# BR2_PACKAGE_OPUS_FIXED_POINT is not set
# BR2_PACKAGE_OPUSFILE is not set
# BR2_PACKAGE_PORTAUDIO is not set
BR2_PACKAGE_SPEEX=y
# BR2_PACKAGE_TAGLIB is not set
BR2_PACKAGE_TINYALSA=y
# BR2_PACKAGE_TREMOR is not set
BR2_PACKAGE_VO_AACENC=y
# BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING is not set

#
# Compression and decompression
#
BR2_PACKAGE_LIBARCHIVE=y
# BR2_PACKAGE_LIBARCHIVE_BSDTAR is not set
BR2_PACKAGE_LIBARCHIVE_BSDCPIO=y
BR2_PACKAGE_LIBZIP=y
BR2_PACKAGE_LZO=y
# BR2_PACKAGE_SNAPPY is not set
BR2_PACKAGE_SZIP=y
BR2_PACKAGE_ZLIB=y

#
# Crypto
#
BR2_PACKAGE_BEECRYPT=y
# BR2_PACKAGE_BEECRYPT_CPP is not set
BR2_PACKAGE_BOTAN_ARCH_SUPPORTS=y
# BR2_PACKAGE_BOTAN is not set
BR2_PACKAGE_CA_CERTIFICATES=y

#
# cryptodev needs a Linux kernel to be built
#
BR2_PACKAGE_GNUTLS=y
# BR2_PACKAGE_GNUTLS_TOOLS is not set
BR2_PACKAGE_LIBASSUAN=y
BR2_PACKAGE_LIBGCRYPT=y
BR2_PACKAGE_LIBGPG_ERROR=y
BR2_PACKAGE_LIBGPGME=y
BR2_PACKAGE_LIBKSBA=y
# BR2_PACKAGE_LIBMCRYPT is not set
BR2_PACKAGE_LIBMHASH=y
BR2_PACKAGE_LIBNSS=y
BR2_PACKAGE_LIBSECRET=y
BR2_PACKAGE_LIBSHA1=y
# BR2_PACKAGE_LIBSSH2 is not set
BR2_PACKAGE_NETTLE=y
BR2_PACKAGE_OPENSSL=y
# BR2_PACKAGE_OPENSSL_BIN is not set
# BR2_PACKAGE_OPENSSL_ENGINES is not set
BR2_PACKAGE_POLARSSL=y
# BR2_PACKAGE_POLARSSL_PROGRAMS is not set

#
# Database
#
# BR2_PACKAGE_BERKELEYDB is not set
BR2_PACKAGE_CPPDB=y
# BR2_PACKAGE_GDBM is not set
BR2_PACKAGE_MYSQL=y
# BR2_PACKAGE_MYSQL_SERVER is not set
BR2_PACKAGE_POSTGRESQL=y
BR2_PACKAGE_REDIS=y

#
# sqlcipher conflicts with sqlite
#
BR2_PACKAGE_SQLITE=y
BR2_PACKAGE_SQLITE_READLINE=y
# BR2_PACKAGE_SQLITE_STAT3 is not set
# BR2_PACKAGE_SQLITE_ENABLE_FTS3 is not set
BR2_PACKAGE_SQLITE_ENABLE_UNLOCK_NOTIFY=y
BR2_PACKAGE_SQLITE_SECURE_DELETE=y
# BR2_PACKAGE_SQLITE_NO_SYNC is not set
# BR2_PACKAGE_UNIXODBC is not set

#
# Filesystem
#
BR2_PACKAGE_GAMIN=y
BR2_PACKAGE_LIBCONFIG=y
BR2_PACKAGE_LIBCONFUSE=y
BR2_PACKAGE_LIBFUSE=y
BR2_PACKAGE_LIBLOCKFILE=y
# BR2_PACKAGE_LIBNFS is not set
BR2_PACKAGE_LIBSYSFS=y
BR2_PACKAGE_LOCKDEV=y

#
# Graphics
#
BR2_PACKAGE_ADWAITA_ICON_THEME=y
BR2_PACKAGE_ATK=y
BR2_PACKAGE_CAIRO=y
BR2_PACKAGE_CAIRO_PS=y
BR2_PACKAGE_CAIRO_PDF=y
BR2_PACKAGE_CAIRO_PNG=y
BR2_PACKAGE_CAIRO_SCRIPT=y
BR2_PACKAGE_CAIRO_SVG=y
BR2_PACKAGE_CAIRO_TEE=y
BR2_PACKAGE_CAIRO_XML=y
# BR2_PACKAGE_EXIV2 is not set
# BR2_PACKAGE_FLTK is not set
BR2_PACKAGE_FONTCONFIG=y
BR2_PACKAGE_FREETYPE=y
BR2_PACKAGE_GD=y

#
# gd tools
#
BR2_PACKAGE_GD_ANNOTATE=y
BR2_PACKAGE_GD_GD2COPYPAL=y
BR2_PACKAGE_GD_GD2TOGIF=y
BR2_PACKAGE_GD_GD2TOPNG=y
BR2_PACKAGE_GD_GDCMPGIF=y
# BR2_PACKAGE_GD_GDPARTTOPNG is not set
BR2_PACKAGE_GD_GDTOPNG=y
BR2_PACKAGE_GD_GIFTOGD2=y
# BR2_PACKAGE_GD_PNGTOGD is not set
BR2_PACKAGE_GD_PNGTOGD2=y
# BR2_PACKAGE_GD_WEBPNG is not set
BR2_PACKAGE_GDK_PIXBUF=y
# BR2_PACKAGE_GIBLIB is not set
BR2_PACKAGE_GIFLIB=y
BR2_PACKAGE_GTK2_ENGINES=y

#
# GTK Themes
#
# BR2_PACKAGE_GTK2_THEME_HICOLOR is not set
BR2_PACKAGE_HARFBUZZ=y
# BR2_PACKAGE_HICOLOR_ICON_THEME is not set
BR2_PACKAGE_IMLIB2=y
BR2_PACKAGE_IMLIB2_JPEG=y
# BR2_PACKAGE_IMLIB2_PNG is not set
# BR2_PACKAGE_IMLIB2_GIF is not set
# BR2_PACKAGE_IMLIB2_TIFF is not set
# BR2_PACKAGE_IMLIB2_ID3 is not set
BR2_PACKAGE_IMLIB2_X=y
# BR2_PACKAGE_JASPER is not set
BR2_PACKAGE_JPEG=y
BR2_PACKAGE_LIBJPEG=y
# BR2_PACKAGE_JPEG_TURBO is not set
BR2_PACKAGE_HAS_JPEG=y
BR2_PACKAGE_PROVIDES_JPEG="libjpeg"
# BR2_PACKAGE_LCMS2 is not set
# BR2_PACKAGE_LESSTIF is not set
BR2_PACKAGE_LIBART=y
BR2_PACKAGE_LIBDMTX=y
# BR2_PACKAGE_LIBDRI2 is not set
BR2_PACKAGE_LIBDRM=y
BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y

#
# DRM Drivers
#
BR2_PACKAGE_LIBDRM_INTEL=y
# BR2_PACKAGE_LIBDRM_RADEON is not set
BR2_PACKAGE_LIBDRM_NOUVEAU=y
# BR2_PACKAGE_LIBDRM_VMWGFX is not set
BR2_PACKAGE_LIBEXIF=y
BR2_PACKAGE_LIBGAIL=y
BR2_PACKAGE_LIBGEOTIFF=y
BR2_PACKAGE_LIBGLADE=y

#
# libglew depends on X.org and needs an OpenGL backend
#

#
# libglu needs an OpenGL backend
#
BR2_PACKAGE_LIBGTK2=y
BR2_PACKAGE_LIBGTK2_DEMO=y
BR2_PACKAGE_LIBGTK3=y

#
# GDK backend
#
BR2_PACKAGE_LIBGTK3_X11=y
# BR2_PACKAGE_LIBGTK3_WAYLAND is not set
BR2_PACKAGE_LIBGTK3_BROADWAY=y
# BR2_PACKAGE_LIBGTK3_DEMO is not set
BR2_PACKAGE_LIBGTK3_TESTS=y
BR2_PACKAGE_LIBPNG=y
BR2_PACKAGE_LIBQRENCODE=y
# BR2_PACKAGE_LIBQRENCODE_TOOLS is not set
BR2_PACKAGE_LIBRAW=y
BR2_PACKAGE_LIBRSVG=y
BR2_PACKAGE_LIBSVG=y
BR2_PACKAGE_LIBSVG_CAIRO=y
# BR2_PACKAGE_LIBSVGTINY is not set
BR2_PACKAGE_LIBUNGIF=y
BR2_PACKAGE_LIBVA=y
BR2_PACKAGE_LIBVA_INTEL_DRIVER=y
# BR2_PACKAGE_LIBVIPS is not set
# BR2_PACKAGE_OPENCV is not set
BR2_PACKAGE_HAS_LIBOPENMAX=y
BR2_PACKAGE_PANGO=y
BR2_PACKAGE_PIXMAN=y
BR2_PACKAGE_POPPLER=y
BR2_PACKAGE_POPPLER_QT=y
BR2_PACKAGE_TIFF=y

#
# tiff Options
#
BR2_PACKAGE_TIFF_CCITT=y
BR2_PACKAGE_TIFF_PACKBITS=y
# BR2_PACKAGE_TIFF_LZW is not set
# BR2_PACKAGE_TIFF_THUNDER is not set
BR2_PACKAGE_TIFF_NEXT=y
BR2_PACKAGE_TIFF_LOGLUV=y
BR2_PACKAGE_TIFF_MDI=y
BR2_PACKAGE_TIFF_ZLIB=y
BR2_PACKAGE_TIFF_PIXARLOG=y
# BR2_PACKAGE_TIFF_JPEG is not set
# BR2_PACKAGE_TIFF_OLD_JPEG is not set
BR2_PACKAGE_TIFF_JBIG=y
# BR2_PACKAGE_TIFF_TIFF2PDF is not set
# BR2_PACKAGE_TIFF_TIFFCP is not set
BR2_PACKAGE_WAYLAND=y
BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS=y
BR2_PACKAGE_WEBKIT=y
BR2_PACKAGE_WEBP=y
# BR2_PACKAGE_ZXING is not set

#
# Hardware handling
#
# BR2_PACKAGE_CCID is not set
# BR2_PACKAGE_DTC is not set
# BR2_PACKAGE_GNU_EFI is not set
# BR2_PACKAGE_LCDAPI is not set
BR2_PACKAGE_LIBAIO=y

#
# libatasmart requires udev to be enabled
#
# BR2_PACKAGE_LIBCEC is not set
# BR2_PACKAGE_LIBFREEFARE is not set
BR2_PACKAGE_LIBFTDI=y
BR2_PACKAGE_LIBTFDI_CPP=y
BR2_PACKAGE_LIBFTDI1=y
# BR2_PACKAGE_LIBTFDI1_LIBFTDIPP1 is not set
BR2_PACKAGE_LIBTFDI1_PYTHON_BINDINGS=y
BR2_PACKAGE_LIBTFDI1_FDTI_EEPROM=y
# BR2_PACKAGE_LIBHID is not set
# BR2_PACKAGE_LIBIIO is not set

#
# libinput needs udev /dev management
#
# BR2_PACKAGE_LIBIQRF is not set
BR2_PACKAGE_LIBLLCP=y

#
# libmbim needs udev /dev management and a toolchain w/ wchar, threads
#
BR2_PACKAGE_LIBNFC=y
# BR2_PACKAGE_LIBNFC_EXAMPLES is not set
BR2_PACKAGE_LIBPCIACCESS=y
BR2_PACKAGE_LIBPHIDGET=y
BR2_PACKAGE_LIBQMI=y
# BR2_PACKAGE_LIBRAW1394 is not set
# BR2_PACKAGE_LIBRTLSDR is not set
# BR2_PACKAGE_LIBSERIAL is not set
BR2_PACKAGE_LIBSERIALPORT=y
BR2_PACKAGE_LIBSIGROK=y
BR2_PACKAGE_LIBSIGROKCXX=y

#
# libsigrokdecode is not compatible with python
#
BR2_PACKAGE_LIBSOC=y
BR2_PACKAGE_LIBUSB=y
BR2_PACKAGE_LIBUSB_COMPAT=y
BR2_PACKAGE_LIBV4L=y
BR2_PACKAGE_LIBV4L_UTILS=y
# BR2_PACKAGE_LIBXKBCOMMON is not set
BR2_PACKAGE_MTDEV=y
# BR2_PACKAGE_NEARDAL is not set
BR2_PACKAGE_PCSC_LITE=y
BR2_PACKAGE_PCSC_LITE_FORCE_LIBUSB=y
BR2_PACKAGE_PCSC_LITE_DEBUGATR=y
# BR2_PACKAGE_PCSC_LITE_EMBEDDED is not set
BR2_PACKAGE_TSLIB=y
# BR2_PACKAGE_URG is not set

#
# Javascript
#
BR2_PACKAGE_BOOTSTRAP=y
BR2_PACKAGE_EXPLORERCANVAS=y
# BR2_PACKAGE_FLOT is not set
BR2_PACKAGE_JQUERY=y
BR2_PACKAGE_JQUERY_KEYBOARD=y
BR2_PACKAGE_JQUERY_MOBILE=y
BR2_PACKAGE_JQUERY_MOBILE_FULL=y
# BR2_PACKAGE_JQUERY_MOBILE_DEMOS is not set
BR2_PACKAGE_JQUERY_SPARKLINE=y
BR2_PACKAGE_JQUERY_UI=y
BR2_PACKAGE_JQUERY_UI_THEMES=y
BR2_PACKAGE_JQUERY_UI_THEME_BLACK_TIE=y
# BR2_PACKAGE_JQUERY_UI_THEME_BLITZER is not set
# BR2_PACKAGE_JQUERY_UI_THEME_CUPERTINO is not set
# BR2_PACKAGE_JQUERY_UI_THEME_DARK_HIVE is not set
# BR2_PACKAGE_JQUERY_UI_THEME_DOT_LUV is not set
# BR2_PACKAGE_JQUERY_UI_THEME_EGGPLANT is not set
# BR2_PACKAGE_JQUERY_UI_THEME_EXCITE_BIKE is not set
# BR2_PACKAGE_JQUERY_UI_THEME_FLICK is not set
# BR2_PACKAGE_JQUERY_UI_THEME_HOT_SNEAKS is not set
# BR2_PACKAGE_JQUERY_UI_THEME_HUMANITY is not set
# BR2_PACKAGE_JQUERY_UI_THEME_LE_FROG is not set
# BR2_PACKAGE_JQUERY_UI_THEME_MINT_CHOC is not set
# BR2_PACKAGE_JQUERY_UI_THEME_OVERCAST is not set
# BR2_PACKAGE_JQUERY_UI_THEME_PEPPER_GRINDER is not set
# BR2_PACKAGE_JQUERY_UI_THEME_REDMOND is not set
# BR2_PACKAGE_JQUERY_UI_THEME_SMOOTHNESS is not set
# BR2_PACKAGE_JQUERY_UI_THEME_SOUTH_STREET is not set
# BR2_PACKAGE_JQUERY_UI_THEME_START is not set
# BR2_PACKAGE_JQUERY_UI_THEME_SUNNY is not set
# BR2_PACKAGE_JQUERY_UI_THEME_SWANKY_PURSE is not set
# BR2_PACKAGE_JQUERY_UI_THEME_TRONTASTIC is not set
# BR2_PACKAGE_JQUERY_UI_THEME_UI_DARKNESS is not set
# BR2_PACKAGE_JQUERY_UI_THEME_UI_LIGHTNESS is not set
# BR2_PACKAGE_JQUERY_UI_THEME_VADER is not set
BR2_PACKAGE_JQUERY_UI_THEMES_THEME="black-tie"
# BR2_PACKAGE_JQUERY_VALIDATION is not set
BR2_PACKAGE_JSMIN=y
# BR2_PACKAGE_JSON_JAVASCRIPT is not set

#
# JSON/XML
#
BR2_PACKAGE_BENEJSON=y
# BR2_PACKAGE_CJSON is not set
BR2_PACKAGE_EXPAT=y
BR2_PACKAGE_EZXML=y
BR2_PACKAGE_JANSSON=y
BR2_PACKAGE_JSON_C=y
# BR2_PACKAGE_JSON_GLIB is not set
# BR2_PACKAGE_JSONCPP is not set
# BR2_PACKAGE_LIBJSON is not set
# BR2_PACKAGE_LIBROXML is not set
BR2_PACKAGE_LIBXML2=y
# BR2_PACKAGE_LIBXMLPP is not set
BR2_PACKAGE_LIBXMLRPC=y
BR2_PACKAGE_LIBXSLT=y
BR2_PACKAGE_LIBYAML=y
BR2_PACKAGE_MXML=y
BR2_PACKAGE_RAPIDJSON=y
# BR2_PACKAGE_TINYXML is not set
BR2_PACKAGE_XERCES=y
# BR2_PACKAGE_YAJL is not set
BR2_PACKAGE_YAML_CPP=y

#
# Logging
#
# BR2_PACKAGE_LIBLOG4C_LOCALTIME is not set
# BR2_PACKAGE_LIBLOGGING is not set
# BR2_PACKAGE_LOG4CPLUS is not set
# BR2_PACKAGE_LOG4CXX is not set
# BR2_PACKAGE_ZLOG is not set

#
# Multimedia
#
BR2_PACKAGE_LIBASS=y
# BR2_PACKAGE_LIBBLURAY is not set
# BR2_PACKAGE_LIBDVBCSA is not set
BR2_PACKAGE_LIBDVBSI=y
BR2_PACKAGE_LIBDVDNAV=y
BR2_PACKAGE_LIBDVDREAD=y
# BR2_PACKAGE_LIBEBML is not set
# BR2_PACKAGE_LIBMATROSKA is not set
BR2_PACKAGE_LIBMMS=y
BR2_PACKAGE_LIBMPEG2=y
BR2_PACKAGE_LIBMPEG2_BINS=y
BR2_PACKAGE_LIBOGG=y
# BR2_PACKAGE_LIBPLAYER is not set
BR2_PACKAGE_LIBTHEORA=y
# BR2_PACKAGE_LIVE555 is not set
BR2_PACKAGE_MEDIASTREAMER=y
BR2_PACKAGE_X264=y
# BR2_PACKAGE_X264_CLI is not set

#
# Networking
#
BR2_PACKAGE_AGENTPP=y
BR2_PACKAGE_C_ARES=y
BR2_PACKAGE_CANFESTIVAL_ARCH_SUPPORTS=y
# BR2_PACKAGE_CANFESTIVAL is not set
# BR2_PACKAGE_CGIC is not set
# BR2_PACKAGE_CPPZMQ is not set
# BR2_PACKAGE_CZMQ is not set
# BR2_PACKAGE_FILEMQ is not set
BR2_PACKAGE_FLICKCURL=y
BR2_PACKAGE_FLICKCURL_UTILS=y
BR2_PACKAGE_FREERADIUS_CLIENT=y
BR2_PACKAGE_GEOIP=y
BR2_PACKAGE_GLIB_NETWORKING=y
# BR2_PACKAGE_LIBCGI is not set
# BR2_PACKAGE_LIBCGICC is not set
BR2_PACKAGE_LIBCURL=y
# BR2_PACKAGE_CURL is not set
BR2_PACKAGE_LIBDNET=y
BR2_PACKAGE_LIBDNET_PYTHON=y
BR2_PACKAGE_LIBEXOSIP2=y
# BR2_PACKAGE_LIBFCGI is not set
# BR2_PACKAGE_LIBGSASL is not set
BR2_PACKAGE_LIBIDN=y
# BR2_PACKAGE_LIBIDN_BINARY is not set
BR2_PACKAGE_LIBISCSI=y
BR2_PACKAGE_LIBMBUS=y
# BR2_PACKAGE_LIBMEMCACHED is not set
BR2_PACKAGE_LIBMICROHTTPD=y
BR2_PACKAGE_LIBMICROHTTPD_SSL=y
BR2_PACKAGE_LIBMNL=y
BR2_PACKAGE_LIBMODBUS=y
# BR2_PACKAGE_LIBNDP is not set
BR2_PACKAGE_LIBNICE=y
# BR2_PACKAGE_LIBNETFILTER_ACCT is not set
BR2_PACKAGE_LIBNETFILTER_CONNTRACK=y
# BR2_PACKAGE_LIBNETFILTER_CTHELPER is not set
# BR2_PACKAGE_LIBNETFILTER_CTTIMEOUT is not set
# BR2_PACKAGE_LIBNETFILTER_LOG is not set
# BR2_PACKAGE_LIBNETFILTER_QUEUE is not set
BR2_PACKAGE_LIBNFNETLINK=y
# BR2_PACKAGE_LIBNFTNL is not set
BR2_PACKAGE_LIBNL=y
BR2_PACKAGE_LIBNL_TOOLS=y
# BR2_PACKAGE_LIBOAUTH is not set
BR2_PACKAGE_LIBOPING=y
BR2_PACKAGE_LIBOSIP2=y
BR2_PACKAGE_LIBPCAP=y
BR2_PACKAGE_LIBRSYNC=y
# BR2_PACKAGE_LIBSHAIRPLAY is not set
# BR2_PACKAGE_LIBSHOUT is not set
BR2_PACKAGE_LIBSOCKETCAN=y
BR2_PACKAGE_LIBSOUP=y
# BR2_PACKAGE_LIBSOUP_GNOME is not set
# BR2_PACKAGE_LIBSOUP_SSL is not set
BR2_PACKAGE_LIBSRTP=y
# BR2_PACKAGE_LIBSTROPHE is not set
BR2_PACKAGE_LIBTIRPC=y
# BR2_PACKAGE_LIBTORRENT is not set
BR2_PACKAGE_LIBUPNP=y
BR2_PACKAGE_LIBUPNPP=y
BR2_PACKAGE_LIBURIPARSER=y
# BR2_PACKAGE_LIBVNCSERVER is not set
# BR2_PACKAGE_LIBWEBSOCK is not set
# BR2_PACKAGE_LIBWEBSOCKETS is not set
BR2_PACKAGE_NEON=y
BR2_PACKAGE_NEON_ZLIB=y
BR2_PACKAGE_NEON_SSL=y
BR2_PACKAGE_NEON_XML=y
BR2_PACKAGE_NEON_LIBXML2=y
BR2_PACKAGE_NSS_MDNS=y
BR2_PACKAGE_OMNIORB=y
BR2_PACKAGE_OMNIORB_WITH_APPS=y
# BR2_PACKAGE_OPENLDAP is not set
BR2_PACKAGE_OPENPGM=y
BR2_PACKAGE_ORTP=y
# BR2_PACKAGE_QDECODER is not set
BR2_PACKAGE_RTMPDUMP=y
# BR2_PACKAGE_SLIRP is not set
BR2_PACKAGE_SNMPPP=y
# BR2_PACKAGE_SNMPPP_LOGGING is not set
BR2_PACKAGE_SNMPPP_SNMPV3=y
BR2_PACKAGE_SOFIA_SIP=y
# BR2_PACKAGE_THRIFT is not set
BR2_PACKAGE_USBREDIR=y
BR2_PACKAGE_USBREDIR_SERVER=y
BR2_PACKAGE_WVSTREAMS=y
BR2_PACKAGE_ZEROMQ=y
BR2_PACKAGE_ZEROMQ_PGM=y
# BR2_PACKAGE_ZMQPP is not set
# BR2_PACKAGE_ZYRE is not set

#
# Other
#
BR2_PACKAGE_APR=y
BR2_PACKAGE_APR_UTIL=y
BR2_PACKAGE_ARGP_STANDALONE=y
# BR2_PACKAGE_ARMADILLO is not set
BR2_PACKAGE_BDWGC=y
BR2_PACKAGE_BOOST=y
BR2_PACKAGE_BOOST_LAYOUT_SYSTEM=y
# BR2_PACKAGE_BOOST_LAYOUT_TAGGED is not set
# BR2_PACKAGE_BOOST_LAYOUT_VERSIONED is not set
BR2_PACKAGE_BOOST_LAYOUT="system"
BR2_PACKAGE_BOOST_ATOMIC=y
BR2_PACKAGE_BOOST_CHRONO=y
# BR2_PACKAGE_BOOST_CONTEXT is not set
BR2_PACKAGE_BOOST_DATE_TIME=y
# BR2_PACKAGE_BOOST_EXCEPTION is not set
BR2_PACKAGE_BOOST_FILESYSTEM=y
BR2_PACKAGE_BOOST_GRAPH=y
# BR2_PACKAGE_BOOST_GRAPH_PARALLEL is not set
# BR2_PACKAGE_BOOST_IOSTREAMS is not set
# BR2_PACKAGE_BOOST_LOCALE is not set
# BR2_PACKAGE_BOOST_LOG is not set
# BR2_PACKAGE_BOOST_MATH is not set
BR2_PACKAGE_BOOST_MPI=y
BR2_PACKAGE_BOOST_PROGRAM_OPTIONS=y
# BR2_PACKAGE_BOOST_PYTHON is not set
# BR2_PACKAGE_BOOST_RANDOM is not set
BR2_PACKAGE_BOOST_REGEX=y
# BR2_PACKAGE_BOOST_SERIALIZATION is not set
# BR2_PACKAGE_BOOST_SIGNALS is not set
# BR2_PACKAGE_BOOST_SYSTEM is not set
# BR2_PACKAGE_BOOST_TEST is not set
# BR2_PACKAGE_BOOST_THREAD is not set
# BR2_PACKAGE_BOOST_TIMER is not set
BR2_PACKAGE_BOOST_WAVE=y
# BR2_PACKAGE_CLAPACK is not set
BR2_PACKAGE_CLASSPATH=y
# BR2_PACKAGE_CPPCMS is not set
BR2_PACKAGE_DING_LIBS=y
# BR2_PACKAGE_EIGEN is not set
# BR2_PACKAGE_ELFUTILS is not set
# BR2_PACKAGE_FFTW is not set
BR2_PACKAGE_FLANN=y
BR2_PACKAGE_FLANN_EXAMPLES=y
BR2_PACKAGE_GLIBMM=y
# BR2_PACKAGE_GLM is not set
BR2_PACKAGE_GMP=y
BR2_PACKAGE_GSL=y
# BR2_PACKAGE_GTEST is not set
# BR2_PACKAGE_LIBARGTABLE2 is not set
BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS=y
BR2_PACKAGE_LIBATOMIC_OPS=y
BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS=y
# BR2_PACKAGE_LIBBSD is not set
BR2_PACKAGE_LIBCAP=y
# BR2_PACKAGE_LIBCAP_TOOLS is not set
BR2_PACKAGE_LIBCAP_NG=y
# BR2_PACKAGE_LIBCGROUP is not set
BR2_PACKAGE_LIBDAEMON=y
BR2_PACKAGE_LIBEE=y
# BR2_PACKAGE_LIBEV is not set
# BR2_PACKAGE_LIBEVDEV is not set
BR2_PACKAGE_LIBEVENT=y
BR2_PACKAGE_LIBFFI=y
BR2_PACKAGE_LIBGLIB2=y
BR2_PACKAGE_LIBICAL=y
# BR2_PACKAGE_LIBLINEAR is not set
BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT=y
BR2_PACKAGE_LIBNSPR=y
BR2_PACKAGE_LIBPFM4=y
BR2_PACKAGE_LIBPLIST=y
BR2_PACKAGE_LIBPTHREAD_STUBS=y
BR2_PACKAGE_LIBPTHSEM=y
BR2_PACKAGE_LIBPTHSEM_COMPAT=y
# BR2_PACKAGE_LIBSECCOMP is not set
BR2_PACKAGE_LIBSIGC=y
# BR2_PACKAGE_LIBSIGSEGV is not set
BR2_PACKAGE_LIBTASN1=y
# BR2_PACKAGE_LIBTPL is not set
BR2_PACKAGE_LIBUBOX=y
BR2_PACKAGE_LIBUCI=y
BR2_PACKAGE_LIBUNWIND=y
BR2_PACKAGE_LIBURCU=y
# BR2_PACKAGE_LIBUV is not set
# BR2_PACKAGE_LIGHTNING is not set
BR2_PACKAGE_LINUX_PAM=y
BR2_PACKAGE_LTTNG_LIBUST=y
BR2_PACKAGE_MPC=y
# BR2_PACKAGE_MPDECIMAL is not set
BR2_PACKAGE_MPFR=y
# BR2_PACKAGE_MSGPACK is not set
BR2_PACKAGE_MTDEV2TUIO=y
BR2_PACKAGE_ORC=y
BR2_PACKAGE_P11_KIT=y
# BR2_PACKAGE_POCO is not set
BR2_PACKAGE_PROTOBUF=y
# BR2_PACKAGE_PROTOBUF_C is not set
# BR2_PACKAGE_QHULL is not set
# BR2_PACKAGE_QLIBC is not set
BR2_PACKAGE_STARTUP_NOTIFICATION=y

#
# Security
#
BR2_PACKAGE_LIBSELINUX=y
BR2_PACKAGE_LIBSEMANAGE=y
# BR2_PACKAGE_LIBSEMANAGE_PYTHON_BINDINGS is not set
BR2_PACKAGE_LIBSEPOL=y

#
# Text and terminal handling
#
BR2_PACKAGE_ENCHANT=y
BR2_PACKAGE_ICU=y
BR2_PACKAGE_ICU_CUSTOM_DATA_PATH=""
# BR2_PACKAGE_LIBCLI is not set
# BR2_PACKAGE_LIBEDIT is not set
# BR2_PACKAGE_LIBENCA is not set
BR2_PACKAGE_LIBESTR=y
BR2_PACKAGE_LIBFRIBIDI=y
BR2_PACKAGE_LIBUNISTRING=y
BR2_PACKAGE_LINENOISE=y
BR2_PACKAGE_NCURSES=y
# BR2_PACKAGE_NCURSES_WCHAR is not set
BR2_PACKAGE_NCURSES_TARGET_PANEL=y
BR2_PACKAGE_NCURSES_TARGET_FORM=y
BR2_PACKAGE_NCURSES_TARGET_MENU=y
BR2_PACKAGE_NCURSES_TARGET_PROGS=y
# BR2_PACKAGE_NEWT is not set
BR2_PACKAGE_PCRE=y
BR2_PACKAGE_PCRE_16=y
BR2_PACKAGE_PCRE_32=y
BR2_PACKAGE_PCRE_UTF=y
BR2_PACKAGE_PCRE_UCP=y
BR2_PACKAGE_POPT=y
BR2_PACKAGE_READLINE=y
# BR2_PACKAGE_SLANG is not set
# BR2_PACKAGE_TCLAP is not set
BR2_PACKAGE_USTR=y

#
# Mail
#
BR2_PACKAGE_DOVECOT=y
BR2_PACKAGE_DOVECOT_BZIP2=y
BR2_PACKAGE_DOVECOT_MYSQL=y
# BR2_PACKAGE_DOVECOT_OPENSSL is not set
# BR2_PACKAGE_DOVECOT_SQLITE is not set
BR2_PACKAGE_DOVECOT_ZLIB=y
BR2_PACKAGE_DOVECOT_PIGEONHOLE=y
# BR2_PACKAGE_EXIM is not set
BR2_PACKAGE_FETCHMAIL=y
# BR2_PACKAGE_HEIRLOOM_MAILX is not set
BR2_PACKAGE_LIBESMTP=y
BR2_PACKAGE_MSMTP=y
# BR2_PACKAGE_MUTT is not set
BR2_PACKAGE_SYLPHEED=y

#
# Miscellaneous
#
BR2_PACKAGE_AESPIPE=y
# BR2_PACKAGE_BC is not set
BR2_PACKAGE_CLAMAV=y
# BR2_PACKAGE_COLLECTD is not set
# BR2_PACKAGE_EMPTY is not set
# BR2_PACKAGE_GNURADIO is not set
BR2_PACKAGE_GOOGLEFONTDIRECTORY=y
BR2_PACKAGE_GOOGLEFONTDIRECTORY_FONTS="droid"
# BR2_PACKAGE_HAVEGED is not set
# BR2_PACKAGE_MCRYPT is not set
# BR2_PACKAGE_MOBILE_BROADBAND_PROVIDER_INFO is not set
# BR2_PACKAGE_QEMU is not set
BR2_PACKAGE_SHARED_MIME_INFO=y
BR2_PACKAGE_SNOWBALL_INIT=y
# BR2_PACKAGE_SOUND_THEME_BOREALIS is not set
BR2_PACKAGE_SOUND_THEME_FREEDESKTOP=y
BR2_PACKAGE_WINE=y

#
# Networking applications
#
BR2_PACKAGE_AICCU=y
BR2_PACKAGE_AIRCRACK_NG=y
BR2_PACKAGE_APACHE=y
BR2_PACKAGE_ARGUS=y
# BR2_PACKAGE_ARPTABLES is not set
BR2_PACKAGE_ATFTP=y
BR2_PACKAGE_AUTOSSH=y
BR2_PACKAGE_AVAHI=y
BR2_PACKAGE_AVAHI_AUTOIPD=y
BR2_PACKAGE_AVAHI_DAEMON=y
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y
# BR2_PACKAGE_AXEL is not set
BR2_PACKAGE_BANDWIDTHD=y
# BR2_PACKAGE_BANDWIDTHD_POSTGRESQL is not set
# BR2_PACKAGE_BANDWIDTHD_SQLITE3 is not set
# BR2_PACKAGE_BATCTL is not set
# BR2_PACKAGE_BCUSDK is not set
# BR2_PACKAGE_BIND is not set
BR2_PACKAGE_BLUEZ_UTILS=y
# BR2_PACKAGE_BLUEZ_UTILS_COMPAT is not set
BR2_PACKAGE_BLUEZ_UTILS_AUDIO=y
# BR2_PACKAGE_BLUEZ_UTILS_USB is not set
BR2_PACKAGE_BLUEZ_UTILS_GATT=y

#
# bluez5-utils conflicts with older bluez-utils version
#
# BR2_PACKAGE_BMON is not set
# BR2_PACKAGE_BOA is not set
BR2_PACKAGE_BRIDGE_UTILS=y
BR2_PACKAGE_BWM_NG=y
# BR2_PACKAGE_CAN_UTILS is not set
BR2_PACKAGE_CHRONY=y
# BR2_PACKAGE_CIVETWEB is not set
# BR2_PACKAGE_CONNMAN is not set
# BR2_PACKAGE_CONNTRACK_TOOLS is not set
# BR2_PACKAGE_CRDA is not set
# BR2_PACKAGE_CTORRENT is not set
BR2_PACKAGE_DHCPCD=y
BR2_PACKAGE_DHCPDUMP=y
BR2_PACKAGE_DNSMASQ=y
BR2_PACKAGE_DNSMASQ_TFTP=y
BR2_PACKAGE_DNSMASQ_DHCP=y
# BR2_PACKAGE_DNSMASQ_DNSSEC is not set
BR2_PACKAGE_DNSMASQ_IDN=y
BR2_PACKAGE_DNSMASQ_LUA=y
BR2_PACKAGE_DNSMASQ_CONNTRACK=y
# BR2_PACKAGE_DROPBEAR is not set
# BR2_PACKAGE_EBTABLES is not set
# BR2_PACKAGE_EJABBERD is not set
BR2_PACKAGE_ETHTOOL=y
BR2_PACKAGE_FAIFA=y
BR2_PACKAGE_FPING=y
BR2_PACKAGE_GESFTPSERVER=y
BR2_PACKAGE_HANS=y
# BR2_PACKAGE_HIAWATHA is not set
# BR2_PACKAGE_HOSTAPD is not set
# BR2_PACKAGE_HTTPING is not set
# BR2_PACKAGE_IFTOP is not set

#
# igh-ethercat needs a Linux kernel to be built
#
BR2_PACKAGE_IGMPPROXY=y
# BR2_PACKAGE_INADYN is not set
BR2_PACKAGE_IODINE=y
# BR2_PACKAGE_IPERF is not set
# BR2_PACKAGE_IPERF3 is not set
# BR2_PACKAGE_IPROUTE2 is not set
BR2_PACKAGE_IPSEC_TOOLS=y
BR2_PACKAGE_IPSEC_TOOLS_ADMINPORT=y
# BR2_PACKAGE_IPSEC_TOOLS_NATT is not set
# BR2_PACKAGE_IPSEC_TOOLS_FRAG is not set
BR2_PACKAGE_IPSEC_TOOLS_DPD=y
BR2_PACKAGE_IPSEC_TOOLS_STATS=y
BR2_PACKAGE_IPSEC_TOOLS_READLINE=y
BR2_PACKAGE_IPSEC_TOOLS_HYBRID=y
BR2_PACKAGE_IPSEC_SECCTX_DISABLE=y
# BR2_PACKAGE_IPSEC_SECCTX_ENABLE is not set
# BR2_PACKAGE_IPSEC_SECCTX_KERNEL is not set
BR2_PACKAGE_IPSET=y
BR2_PACKAGE_IPTABLES=y
# BR2_PACKAGE_IPTRAF_NG is not set
BR2_PACKAGE_IPUTILS=y
BR2_PACKAGE_IW=y
BR2_PACKAGE_JANUS_GATEWAY=y
BR2_PACKAGE_KISMET=y
BR2_PACKAGE_KISMET_CLIENT=y
# BR2_PACKAGE_KISMET_DRONE is not set
BR2_PACKAGE_KISMET_SERVER=y
BR2_PACKAGE_KNOCK=y
BR2_PACKAGE_LEAFNODE2=y
# BR2_PACKAGE_LFTP is not set
BR2_PACKAGE_LIGHTTPD=y
BR2_PACKAGE_LIGHTTPD_OPENSSL=y
BR2_PACKAGE_LIGHTTPD_ZLIB=y
BR2_PACKAGE_LIGHTTPD_BZIP2=y
BR2_PACKAGE_LIGHTTPD_PCRE=y
# BR2_PACKAGE_LIGHTTPD_WEBDAV is not set
BR2_PACKAGE_LIGHTTPD_LUA=y
# BR2_PACKAGE_LINKNX is not set
# BR2_PACKAGE_LINKS is not set
BR2_PACKAGE_LINPHONE=y
BR2_PACKAGE_LINUX_ZIGBEE=y
BR2_PACKAGE_LINUX_ZIGBEE_TESTS=y
BR2_PACKAGE_LINUX_ZIGBEE_OLD_KERNEL_COMPAT=y
BR2_PACKAGE_LINUX_ZIGBEE_LEASEFILE="/var/run/izcoordinator.leases"
# BR2_PACKAGE_LRZSZ is not set
# BR2_PACKAGE_MACCHANGER is not set
BR2_PACKAGE_MEMCACHED=y
BR2_PACKAGE_MII_DIAG=y
BR2_PACKAGE_MINIDLNA=y
BR2_PACKAGE_MJPG_STREAMER=y

#
# modemmanager needs udev /dev management and a toolchain w/ largefile, wchar, threads, IPv6
#
BR2_PACKAGE_MONGOOSE=y
BR2_PACKAGE_MONGREL2=y
# BR2_PACKAGE_MROUTED is not set
# BR2_PACKAGE_MTR is not set
# BR2_PACKAGE_NBD is not set
BR2_PACKAGE_NCFTP=y

#
# ncFTP tools selection
#
# BR2_PACKAGE_NCFTP_GET is not set
BR2_PACKAGE_NCFTP_PUT=y
BR2_PACKAGE_NCFTP_LS=y
BR2_PACKAGE_NCFTP_BATCH=y
BR2_PACKAGE_NCFTP_BOOKMARKS=y
# BR2_PACKAGE_NDISC6 is not set
# BR2_PACKAGE_NETATALK is not set
# BR2_PACKAGE_NETPLUG is not set
BR2_PACKAGE_NETSNMP=y
# BR2_PACKAGE_NETSNMP_SERVER is not set
BR2_PACKAGE_NETSNMP_CLIENTS=y
BR2_PACKAGE_NETSNMP_ENABLE_MIBS=y
BR2_PACKAGE_NETSNMP_WITH_MIB_MODULES="host ucd-snmp/dlmod agentx"
BR2_PACKAGE_NETSNMP_WITHOUT_MIB_MODULES="disman/event disman/schedule utilities"
BR2_PACKAGE_NETSNMP_ENABLE_DEBUGGING=y
BR2_PACKAGE_NETSTAT_NAT=y

#
# NetworkManager needs udev /dev management and a toolchain w/ IPv6, largefile, wchar, threads, headers >= 3.7
#
# BR2_PACKAGE_NFACCT is not set
# BR2_PACKAGE_NFTABLES is not set
# BR2_PACKAGE_NGINX is not set
BR2_PACKAGE_NGIRCD=y
# BR2_PACKAGE_NGREP is not set
# BR2_PACKAGE_NMAP is not set
BR2_PACKAGE_NOIP=y
BR2_PACKAGE_NTP=y
# BR2_PACKAGE_NTP_SNTP is not set
BR2_PACKAGE_NTP_NTP_KEYGEN=y
# BR2_PACKAGE_NTP_NTPD is not set
BR2_PACKAGE_NTP_NTPDATE=y
# BR2_PACKAGE_NTP_NTPDC is not set
BR2_PACKAGE_NTP_NTPQ=y
BR2_PACKAGE_NTP_NTPSNMPD=y
BR2_PACKAGE_NTP_TICKADJ=y
# BR2_PACKAGE_NUTTCP is not set
BR2_PACKAGE_ODHCP6C=y
# BR2_PACKAGE_ODHCPLOC is not set
BR2_PACKAGE_OLSR=y
# BR2_PACKAGE_OPENOBEX is not set
BR2_PACKAGE_OPENSSH=y
# BR2_PACKAGE_OPENSWAN is not set
# BR2_PACKAGE_OPENVPN is not set
# BR2_PACKAGE_P910ND is not set
# BR2_PACKAGE_PHIDGETWEBSERVICE is not set
BR2_PACKAGE_PORTMAP=y
# BR2_PACKAGE_PPPD is not set
BR2_PACKAGE_PPTP_LINUX=y
BR2_PACKAGE_PROFTPD=y
BR2_PACKAGE_PROFTPD_MOD_REWRITE=y
# BR2_PACKAGE_PROXYCHAINS_NG is not set
# BR2_PACKAGE_PTPD is not set
# BR2_PACKAGE_PTPD2 is not set
BR2_PACKAGE_PURE_FTPD=y
# BR2_PACKAGE_QUAGGA is not set
BR2_PACKAGE_RADVD=y
# BR2_PACKAGE_RPCBIND is not set
BR2_PACKAGE_RSH_REDONE=y
# BR2_PACKAGE_RSH_REDONE_RLOGIN is not set
# BR2_PACKAGE_RSH_REDONE_RLOGIND is not set
BR2_PACKAGE_RSH_REDONE_RSH=y
BR2_PACKAGE_RSH_REDONE_RSHD=y
BR2_PACKAGE_RSYNC=y
# BR2_PACKAGE_RTORRENT is not set
# BR2_PACKAGE_RTPTOOLS is not set
BR2_PACKAGE_SAMBA=y
BR2_PACKAGE_SAMBA_MAX_DEBUGLEVEL=-1

#
# Samba tools selection
#
BR2_PACKAGE_SAMBA_EVENTLOGADM=y

#
# findsmb       - disabled (requires nmblookup, smbclient and perl)
#
# BR2_PACKAGE_SAMBA_NET is not set
BR2_PACKAGE_SAMBA_NMBD=y
BR2_PACKAGE_SAMBA_NMBLOOKUP=y
# BR2_PACKAGE_SAMBA_NTLM_AUTH is not set
# BR2_PACKAGE_SAMBA_PDBEDIT is not set
BR2_PACKAGE_SAMBA_PROFILES=y
BR2_PACKAGE_SAMBA_RPCCLIENT=y
BR2_PACKAGE_SAMBA_SMBCACLS=y
BR2_PACKAGE_SAMBA_SMBCLIENT=y
# BR2_PACKAGE_SAMBA_SMBCONTROL is not set
BR2_PACKAGE_SAMBA_SMBCQUOTAS=y
# BR2_PACKAGE_SAMBA_SMBD is not set
BR2_PACKAGE_SAMBA_SMBGET=y
BR2_PACKAGE_SAMBA_SMBLDBTOOLS=y
# BR2_PACKAGE_SAMBA_SMBPASSWD is not set
# BR2_PACKAGE_SAMBA_SMBSHARESEC is not set
BR2_PACKAGE_SAMBA_SMBSPOOL=y
# BR2_PACKAGE_SAMBA_SMBSTATUS is not set
# BR2_PACKAGE_SAMBA_SMBTREE is not set
# BR2_PACKAGE_SAMBA_SWAT is not set
# BR2_PACKAGE_SAMBA_SMBTA_UTIL is not set
# BR2_PACKAGE_SAMBA_SMBTAR is not set
# BR2_PACKAGE_SAMBA_TDB is not set
# BR2_PACKAGE_SAMBA_TESTPARM is not set
# BR2_PACKAGE_SAMBA_WINBINDD is not set

#
# Samba libraries selection
#
BR2_PACKAGE_SAMBA_LIBSMBCLIENT=y

#
# Samba support selection
#
# BR2_PACKAGE_SAMBA_AVAHI is not set
BR2_PACKAGE_SAMBA_GAMIN=y
BR2_PACKAGE_SCONESERVER=y

#
# Sconeserver modules
#
BR2_PACKAGE_SCONESERVER_EXAMPLES=y
BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE=y
BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE_IMAGE=y
# BR2_PACKAGE_SCONESERVER_MYSQL is not set
# BR2_PACKAGE_SCONESERVER_BLUETOOTH is not set
# BR2_PACKAGE_SCONESERVER_RSS is not set
BR2_PACKAGE_SCONESERVER_LOCATION=y
BR2_PACKAGE_SCONESERVER_LETTUCE=y
# BR2_PACKAGE_SCONESERVER_MATHS is not set
# BR2_PACKAGE_SCONESERVER_TESTBUILDER is not set
# BR2_PACKAGE_SCONESERVER_UI is not set
BR2_PACKAGE_SER2NET=y
BR2_PACKAGE_SHAIRPORT_SYNC=y
BR2_PACKAGE_SHAIRPORT_SYNC_LIBSOXR=y
# BR2_PACKAGE_SMCROUTE is not set
BR2_PACKAGE_SOCAT=y
BR2_PACKAGE_SOCKETCAND=y
# BR2_PACKAGE_SOFTETHER is not set
BR2_PACKAGE_SPAWN_FCGI=y
# BR2_PACKAGE_SPICE is not set
BR2_PACKAGE_SPICE_PROTOCOL=y
BR2_PACKAGE_SQUID=y
BR2_PACKAGE_SSHPASS=y
# BR2_PACKAGE_STRONGSWAN is not set
# BR2_PACKAGE_STUNNEL is not set
BR2_PACKAGE_TCPDUMP=y
BR2_PACKAGE_TCPDUMP_SMB=y
# BR2_PACKAGE_TCPING is not set
# BR2_PACKAGE_TCPREPLAY is not set
BR2_PACKAGE_THTTPD=y
# BR2_PACKAGE_TINC is not set
# BR2_PACKAGE_TINYHTTPD is not set
# BR2_PACKAGE_TN5250 is not set
BR2_PACKAGE_TRANSMISSION=y
# BR2_PACKAGE_TRANSMISSION_UTP is not set
BR2_PACKAGE_TRANSMISSION_CLI=y
# BR2_PACKAGE_TRANSMISSION_DAEMON is not set
# BR2_PACKAGE_TRANSMISSION_REMOTE is not set
BR2_PACKAGE_TRANSMISSION_GTK=y
BR2_PACKAGE_TVHEADEND=y
# BR2_PACKAGE_UDPCAST is not set
# BR2_PACKAGE_ULOGD is not set
BR2_PACKAGE_USHARE=y
# BR2_PACKAGE_USSP_PUSH is not set
# BR2_PACKAGE_VDE2 is not set
# BR2_PACKAGE_VNSTAT is not set
BR2_PACKAGE_VPNC=y
# BR2_PACKAGE_VSFTPD is not set
BR2_PACKAGE_VTUN=y
BR2_PACKAGE_WIRELESS_REGDB=y
BR2_PACKAGE_WIRELESS_TOOLS=y
BR2_PACKAGE_WIRELESS_TOOLS_LIB=y
# BR2_PACKAGE_WIRESHARK is not set
# BR2_PACKAGE_WPA_SUPPLICANT is not set
# BR2_PACKAGE_WVDIAL is not set
# BR2_PACKAGE_XINETD is not set
# BR2_PACKAGE_XL2TP is not set

#
# xtables-addons needs a Linux kernel to be built
#
BR2_PACKAGE_ZNC=y

#
# Package managers
#
# BR2_PACKAGE_IPKG is not set
# BR2_PACKAGE_OPKG is not set

#
# Real-Time
#
BR2_PACKAGE_XENOMAI=y
BR2_PACKAGE_XENOMAI_VERSION=""
# BR2_PACKAGE_XENOMAI_TESTSUITE is not set
# BR2_PACKAGE_XENOMAI_RTCAN is not set
# BR2_PACKAGE_XENOMAI_ANALOGY is not set
BR2_PACKAGE_XENOMAI_NATIVE_SKIN=y
# BR2_PACKAGE_XENOMAI_POSIX_SKIN is not set
# BR2_PACKAGE_XENOMAI_VXWORKS_SKIN is not set
# BR2_PACKAGE_XENOMAI_PSOS_SKIN is not set
# BR2_PACKAGE_XENOMAI_RTAI_SKIN is not set
# BR2_PACKAGE_XENOMAI_UITRON_SKIN is not set
BR2_PACKAGE_XENOMAI_VRTX_SKIN=y

#
# Shell and utilities
#

#
# Shells
#

#
# Utilities
#
# BR2_PACKAGE_AT is not set
# BR2_PACKAGE_CCRYPT is not set
BR2_PACKAGE_DIALOG=y
BR2_PACKAGE_DTACH=y
BR2_PACKAGE_FILE=y
BR2_PACKAGE_GNUPG2=y
# BR2_PACKAGE_GNUPG2_GPGV2 is not set
# BR2_PACKAGE_INOTIFY_TOOLS is not set
BR2_PACKAGE_LOCKFILE_PROGS=y
# BR2_PACKAGE_LOGROTATE is not set
BR2_PACKAGE_LOGSURFER=y
BR2_PACKAGE_PINENTRY=y
BR2_PACKAGE_PINENTRY_NCURSES=y
# BR2_PACKAGE_PINENTRY_GTK2 is not set
# BR2_PACKAGE_PINENTRY_QT4 is not set
BR2_PACKAGE_SCREEN=y
BR2_PACKAGE_SUDO=y
# BR2_PACKAGE_TMUX is not set
# BR2_PACKAGE_XMLSTARLET is not set

#
# System tools
#
BR2_PACKAGE_ACL=y
BR2_PACKAGE_ATTR=y
BR2_PACKAGE_CPULOAD=y
BR2_PACKAGE_FTOP=y
# BR2_PACKAGE_GETENT is not set
# BR2_PACKAGE_HTOP is not set
# BR2_PACKAGE_IOTOP is not set
BR2_PACKAGE_IPRUTILS=y
BR2_PACKAGE_IRQBALANCE=y
BR2_PACKAGE_KEYUTILS=y
# BR2_PACKAGE_KMOD is not set
# BR2_PACKAGE_LXC is not set
BR2_PACKAGE_MONIT=y
# BR2_PACKAGE_NCDU is not set
BR2_PACKAGE_NUMACTL=y
BR2_PACKAGE_NUT=y
BR2_PACKAGE_NUT_DRIVERS=""
# BR2_PACKAGE_OPENVMTOOLS is not set
BR2_PACKAGE_POLKIT=y
BR2_PACKAGE_PWGEN=y
# BR2_PACKAGE_QUOTA is not set
# BR2_PACKAGE_SMACK is not set
BR2_PACKAGE_SUPERVISOR=y
BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS=y
BR2_PACKAGE_UTIL_LINUX=y
BR2_PACKAGE_UTIL_LINUX_LIBBLKID=y
# BR2_PACKAGE_UTIL_LINUX_LIBMOUNT is not set
BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS=y
BR2_PACKAGE_UTIL_LINUX_LIBUUID=y
# BR2_PACKAGE_UTIL_LINUX_BINARIES is not set

#
# Text editors and viewers
#
BR2_PACKAGE_ED=y
# BR2_PACKAGE_JOE is not set
BR2_PACKAGE_MC=y
BR2_PACKAGE_NANO=y
# BR2_PACKAGE_NANO_TINY is not set
BR2_PACKAGE_UEMACS=y

#
# Filesystem images
#
# BR2_TARGET_ROOTFS_CLOOP is not set
# BR2_TARGET_ROOTFS_CPIO is not set
# BR2_TARGET_ROOTFS_CRAMFS is not set
# BR2_TARGET_ROOTFS_EXT2 is not set

#
# initramfs needs a Linux kernel to be built
#

#
# iso image needs a Linux kernel to be built
#
# BR2_TARGET_ROOTFS_JFFS2 is not set
# BR2_TARGET_ROOTFS_ROMFS is not set
# BR2_TARGET_ROOTFS_SQUASHFS is not set
BR2_TARGET_ROOTFS_TAR=y
BR2_TARGET_ROOTFS_TAR_NONE=y
# BR2_TARGET_ROOTFS_TAR_GZIP is not set
# BR2_TARGET_ROOTFS_TAR_BZIP2 is not set
# BR2_TARGET_ROOTFS_TAR_LZMA is not set
# BR2_TARGET_ROOTFS_TAR_LZO is not set
# BR2_TARGET_ROOTFS_TAR_XZ is not set
BR2_TARGET_ROOTFS_TAR_OPTIONS=""
# BR2_TARGET_ROOTFS_UBIFS is not set
# BR2_TARGET_ROOTFS_YAFFS2 is not set

#
# Bootloaders
#
# BR2_TARGET_BAREBOX is not set
# BR2_TARGET_GRUB is not set
# BR2_TARGET_GRUB2 is not set
# BR2_TARGET_GUMMIBOOT is not set
# BR2_TARGET_SYSLINUX is not set
# BR2_TARGET_UBOOT is not set

#
# Host utilities
#
# BR2_PACKAGE_HOST_CHECKPOLICY is not set
BR2_PACKAGE_HOST_CRAMFS=y
# BR2_PACKAGE_HOST_DFU_UTIL is not set
BR2_PACKAGE_HOST_DOS2UNIX=y
# BR2_PACKAGE_HOST_DOSFSTOOLS is not set
BR2_PACKAGE_HOST_E2FSPROGS=y
# BR2_PACKAGE_HOST_E2TOOLS is not set
BR2_PACKAGE_HOST_GENEXT2FS=y
# BR2_PACKAGE_HOST_GENIMAGE is not set
BR2_PACKAGE_HOST_GENPART=y
# BR2_PACKAGE_HOST_LPC3250LOADER is not set
# BR2_PACKAGE_HOST_MKE2IMG is not set
BR2_PACKAGE_HOST_MTD=y
BR2_PACKAGE_HOST_MTOOLS=y
BR2_PACKAGE_HOST_OPENOCD=y
BR2_PACKAGE_HOST_PARTED=y
BR2_PACKAGE_HOST_PATCHELF=y
BR2_PACKAGE_HOST_PWGEN=y
BR2_PACKAGE_HOST_QEMU=y
# BR2_PACKAGE_HOST_SAM_BA is not set
BR2_PACKAGE_HOST_SQUASHFS=y
# BR2_PACKAGE_HOST_UBOOT_TOOLS is not set
# BR2_PACKAGE_HOST_UTIL_LINUX is not set

#
# Legacy config options
#

#
# Legacy options removed in 2015.05
#
# BR2_PACKAGE_VALGRIND_PTRCHECK is not set

#
# Legacy options removed in 2015.02
#
# BR2_PACKAGE_LIBGC is not set
# BR2_PACKAGE_WDCTL is not set
# BR2_PACKAGE_RPM_BZIP2_PAYLOADS is not set
# BR2_PACKAGE_RPM_XZ_PAYLOADS is not set
# BR2_PACKAGE_M4 is not set
# BR2_PACKAGE_FLEX_BINARY is not set
# BR2_PACKAGE_BISON is not set
# BR2_PACKAGE_GOB2 is not set
# BR2_PACKAGE_DISTCC is not set
# BR2_PACKAGE_HASERL_VERSION_0_8_X is not set
# BR2_PACKAGE_STRONGSWAN_TOOLS is not set
# BR2_PACKAGE_XBMC_ADDON_XVDR is not set
# BR2_PACKAGE_XBMC_PVR_ADDONS is not set
# BR2_PACKAGE_XBMC is not set
# BR2_PACKAGE_XBMC_ALSA_LIB is not set
# BR2_PACKAGE_XBMC_AVAHI is not set
# BR2_PACKAGE_XBMC_DBUS is not set
# BR2_PACKAGE_XBMC_LIBBLURAY is not set
# BR2_PACKAGE_XBMC_GOOM is not set
# BR2_PACKAGE_XBMC_RSXS is not set
# BR2_PACKAGE_XBMC_LIBCEC is not set
# BR2_PACKAGE_XBMC_LIBMICROHTTPD is not set
# BR2_PACKAGE_XBMC_LIBNFS is not set
# BR2_PACKAGE_XBMC_RTMPDUMP is not set
# BR2_PACKAGE_XBMC_LIBSHAIRPLAY is not set
# BR2_PACKAGE_XBMC_LIBSMBCLIENT is not set
# BR2_PACKAGE_XBMC_LIBTHEORA is not set
# BR2_PACKAGE_XBMC_LIBUSB is not set
# BR2_PACKAGE_XBMC_LIBVA is not set
# BR2_PACKAGE_XBMC_WAVPACK is not set
# BR2_PREFER_STATIC_LIB is not set

#
# Legacy options removed in 2014.11
#
# BR2_x86_generic is not set
# BR2_GCC_VERSION_4_4_X is not set
# BR2_sparc_sparchfleon is not set
# BR2_sparc_sparchfleonv8 is not set
# BR2_sparc_sparcsfleon is not set
# BR2_sparc_sparcsfleonv8 is not set
# BR2_PACKAGE_XLIB_LIBPCIACCESS is not set
# BR2_PACKAGE_LINUX_FIRMWARE_XC5000 is not set
# BR2_PACKAGE_LINUX_FIRMWARE_CXGB4 is not set
# BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160_7260_7 is not set
# BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160_7260_8 is not set

#
# Legacy options removed in 2014.08
#
# BR2_PACKAGE_LIBELF is not set
# BR2_KERNEL_HEADERS_3_8 is not set
# BR2_PACKAGE_GETTEXT_TOOLS is not set
# BR2_PACKAGE_PROCPS is not set
# BR2_BINUTILS_VERSION_2_20_1 is not set
# BR2_BINUTILS_VERSION_2_21 is not set
# BR2_BINUTILS_VERSION_2_23_1 is not set
# BR2_UCLIBC_VERSION_0_9_32 is not set
# BR2_GCC_VERSION_4_3_X is not set
# BR2_GCC_VERSION_4_6_X is not set
# BR2_GDB_VERSION_7_4 is not set
# BR2_GDB_VERSION_7_5 is not set
# BR2_BUSYBOX_VERSION_1_19_X is not set
# BR2_BUSYBOX_VERSION_1_20_X is not set
# BR2_BUSYBOX_VERSION_1_21_X is not set
# BR2_PACKAGE_LIBV4L_DECODE_TM6000 is not set
# BR2_PACKAGE_LIBV4L_IR_KEYTABLE is not set
# BR2_PACKAGE_LIBV4L_V4L2_COMPLIANCE is not set
# BR2_PACKAGE_LIBV4L_V4L2_CTL is not set
# BR2_PACKAGE_LIBV4L_V4L2_DBG is not set

#
# Legacy options removed in 2014.05
#
# BR2_PACKAGE_EVTEST_CAPTURE is not set
# BR2_KERNEL_HEADERS_3_6 is not set
# BR2_KERNEL_HEADERS_3_7 is not set
# BR2_PACKAGE_VALA is not set
BR2_PACKAGE_TZDATA_ZONELIST=""
# BR2_PACKAGE_LUA_INTERPRETER_EDITING_NONE is not set
# BR2_PACKAGE_LUA_INTERPRETER_READLINE is not set
# BR2_PACKAGE_LUA_INTERPRETER_LINENOISE is not set
# BR2_PACKAGE_DVB_APPS_UTILS is not set
# BR2_KERNEL_HEADERS_SNAP is not set
# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV is not set
# BR2_PACKAGE_UDEV is not set
# BR2_PACKAGE_UDEV_RULES_GEN is not set
# BR2_PACKAGE_UDEV_ALL_EXTRAS is not set
# BR2_PACKAGE_XLIB_LIBPTHREAD_STUBS is not set

#
# Legacy options removed in 2014.02
#
# BR2_sh2 is not set
# BR2_sh3 is not set
# BR2_sh3eb is not set
# BR2_KERNEL_HEADERS_3_1 is not set
# BR2_KERNEL_HEADERS_3_3 is not set
# BR2_KERNEL_HEADERS_3_5 is not set
# BR2_GDB_VERSION_7_2 is not set
# BR2_GDB_VERSION_7_3 is not set
# BR2_PACKAGE_CCACHE is not set
# BR2_HAVE_DOCUMENTATION is not set
# BR2_PACKAGE_AUTOMAKE is not set
# BR2_PACKAGE_AUTOCONF is not set
# BR2_PACKAGE_XSTROKE is not set
# BR2_PACKAGE_LZMA is not set
# BR2_PACKAGE_TTCP is not set
# BR2_PACKAGE_LIBNFC_LLCP is not set
# BR2_PACKAGE_MYSQL_CLIENT is not set
# BR2_PACKAGE_SQUASHFS3 is not set
# BR2_TARGET_ROOTFS_SQUASHFS3 is not set
# BR2_PACKAGE_NETKITBASE is not set
# BR2_PACKAGE_NETKITTELNET is not set
# BR2_PACKAGE_LUASQL is not set
# BR2_PACKAGE_LUACJSON is not set

#
# Legacy options removed in 2013.11
#
# BR2_PACKAGE_LVM2_DMSETUP_ONLY is not set
# BR2_PACKAGE_QT_JAVASCRIPTCORE is not set
# BR2_PACKAGE_MODULE_INIT_TOOLS is not set
BR2_TARGET_UBOOT_CUSTOM_GIT_REPO_URL=""
BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION=""
BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL=""
BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION=""

#
# Legacy options removed in 2013.08
#
# BR2_ARM_OABI is not set
# BR2_PACKAGE_DOSFSTOOLS_DOSFSCK is not set
# BR2_PACKAGE_DOSFSTOOLS_DOSFSLABEL is not set
# BR2_PACKAGE_DOSFSTOOLS_MKDOSFS is not set
# BR2_ELF2FLT is not set
# BR2_VFP_FLOAT is not set
# BR2_PACKAGE_GCC_TARGET is not set
# BR2_HAVE_DEVFILES is not set

#
# Legacy options removed in 2013.05
#
# BR2_PACKAGE_LINUX_FIRMWARE_RTL_8192 is not set
# BR2_PACKAGE_LINUX_FIRMWARE_RTL_8712 is not set

#
# Legacy options removed in 2013.02
#
# BR2_sa110 is not set
# BR2_sa1100 is not set
# BR2_PACKAGE_GDISK is not set
# BR2_PACKAGE_GDISK_GDISK is not set
# BR2_PACKAGE_GDISK_SGDISK is not set
# BR2_PACKAGE_GDB_HOST is not set
# BR2_PACKAGE_DIRECTB_DITHER_RGB16 is not set
# BR2_PACKAGE_DIRECTB_TESTS is not set

#
# Legacy options removed in 2012.11
#
# BR2_PACKAGE_CUSTOMIZE is not set
# BR2_PACKAGE_XSERVER_xorg is not set
# BR2_PACKAGE_XSERVER_tinyx is not set
# BR2_PACKAGE_PTHREAD_STUBS is not set

#
# Legacy options removed in 2012.08
#
# BR2_PACKAGE_GETTEXT_STATIC is not set
# BR2_PACKAGE_LIBINTL is not set
# BR2_PACKAGE_INPUT_TOOLS_EVTEST is not set
# BR2_BFIN_FDPIC is not set
# BR2_BFIN_FLAT is not set

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps'
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (35 preceding siblings ...)
  2015-03-29 22:28 ` [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Yann E. MORIN
@ 2015-03-30 21:42 ` Thomas Petazzoni
  2015-04-06  9:33 ` Thomas Petazzoni
  37 siblings, 0 replies; 73+ messages in thread
From: Thomas Petazzoni @ 2015-03-30 21:42 UTC (permalink / raw)
  To: buildroot

Hello,

On Sun, 29 Mar 2015 19:33:14 +0200, Thomas Petazzoni wrote:

> Thomas Petazzoni (35):
>   linux: use the package infrastructure to download patches
>   pkg-generic: fix the logic showing the "Downloading" message
>   pkg-generic: take into account <pkg>_EXTRA_DOWNLOADS to display
>     "Downloading" message
>   pkg-generic: refactor the "Downloading" message logic
>   pkg-generic: allow full URLs for <pkg>_EXTRA_DOWNLOADS
>   docs/manual: update documentation about <pkg>_SOURCE, <pkg>_PATCH and
>     <pkg>_EXTRA_DOWNLOADS
>   perl: use <pkg>_EXTRA_DOWNLOADS

I've applied those 7 first patches, since they were part of the
previous smaller version of the patch series. For the remaining
patches, I'll give a bit more time for people to react before applying.

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 22/35] Makefile: use the package infra based external-deps
  2015-03-29 17:33 ` [Buildroot] [PATCH 22/35] Makefile: use the package infra based external-deps Thomas Petazzoni
@ 2015-03-30 21:43   ` Yann E. MORIN
  0 siblings, 0 replies; 73+ messages in thread
From: Yann E. MORIN @ 2015-03-30 21:43 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2015-03-29 19:33 +0200, Thomas Petazzoni spake thusly:
> This commit changes the global 'external-deps' target to use the newly
> introduced per-package <pkg>-all-external-deps, instead of relying on
> the 'source' target with a custom DL_MODE.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Still our incorrect dependencies showing up, though; but expected...

Regards,
Yann E. MORIN.

> ---
>  Makefile | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/Makefile b/Makefile
> index 0709751..8fca4b8 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -617,8 +617,9 @@ target-post-image: $(TARGETS_ROOTFS) target-finalize
>  
>  source: $(PACKAGES_SOURCE) $(HOST_SOURCE)
>  
> +_external-deps: $(foreach p,$(PACKAGES),$(p)-all-external-deps)
>  external-deps:
> -	@$(MAKE1) -Bs DL_MODE=SHOW_EXTERNAL_DEPS $(EXTRAMAKEARGS) source | sort -u
> +	@$(MAKE1) -Bs $(EXTRAMAKEARGS) _external-deps | sort -u
>  
>  legal-info-clean:
>  	@rm -fr $(LEGAL_INFO_DIR)
> -- 
> 2.1.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 09/35] docs/manual: update documentation about applying patches
  2015-03-29 21:40   ` Yann E. MORIN
@ 2015-04-06  9:06     ` Thomas Petazzoni
  0 siblings, 0 replies; 73+ messages in thread
From: Thomas Petazzoni @ 2015-04-06  9:06 UTC (permalink / raw)
  To: buildroot

Dear Yann E. MORIN,

On Sun, 29 Mar 2015 23:40:38 +0200, Yann E. MORIN wrote:

> Patches bundled in Buildroot have a four-number sequence. Should we
> suggest this as well for patches in BR2_GLOBAL_PATCH_DIR ?

Yes, this could be a recommendation added to the manual.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 11/35] pkg-generic: implement <pkg>-all-{source, legal-info, external-deps} targets
  2015-03-30 17:45     ` Yann E. MORIN
  2015-03-30 18:56       ` Thomas Petazzoni
@ 2015-04-06  9:14       ` Yann E. MORIN
  1 sibling, 0 replies; 73+ messages in thread
From: Yann E. MORIN @ 2015-04-06  9:14 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2015-03-30 19:45 +0200, Yann E. MORIN spake thusly:
> On 2015-03-29 23:47 +0200, Yann E. MORIN spake thusly:
> > On 2015-03-29 19:33 +0200, Thomas Petazzoni spake thusly:
> > > In order to implement the global 'make source', 'make legal-info' and
> > > 'make external-deps' using the package infrastructure logic, this
> > > commit introduces a set of per-package targets that allow to
> > > recursively run the source/legal-info/external-deps actions on the
> > > dependencies of a given package.
> > > 
> > > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> > 
> > Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> 
> Actually, I may have to withdraw that reviewed tag of mine...
> 
> Testing patch 20/35 (Makefile: use <pkg>-all-legal-info to implement the
> legal-info target) does not give the same result as previously:
> 
>   - some packages that are not enabled get their legal-info "installed"
>   - some non-existing or disabled host packages have their legal-info
>     isntalled as well...
> 
> Not sure this is due to theis patch 11/35, or really due to 20/35 (even
> though I have some clues as to incriminate patch 11...).
> 
> I'll be investigating this a bit later...

Now for good:

Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

That series just exposes some inconsistencies in the current state of
affairs regarding legal-info in some packages.

Most notably, as Thomas explained, host-packages legal-info was only at
most two-lefvel deep, so we were missing parts of the host-packages
legel-info, now exposed by this series. Also, some of our target
packages have inconsistent depend/select in kconfig, that do not match
the _DEPENDENCIES in their .mk file (and vice-versa), also exposed now.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps'
  2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
                   ` (36 preceding siblings ...)
  2015-03-30 21:42 ` Thomas Petazzoni
@ 2015-04-06  9:33 ` Thomas Petazzoni
  37 siblings, 0 replies; 73+ messages in thread
From: Thomas Petazzoni @ 2015-04-06  9:33 UTC (permalink / raw)
  To: buildroot

Hello,

On Sun, 29 Mar 2015 19:33:14 +0200, Thomas Petazzoni wrote:

>   packages: apply custom patches using *.patch instead of <pkg>-*.patch
>   docs/manual: update documentation about applying patches
>   pkg-generic: implement a <pkg>-external-deps target
>   pkg-generic: implement <pkg>-all-{source,legal-info,external-deps}
>     targets
>   Makefile: remove dubious comment
>   Makefile: directories are not PHONY targets
>   pkg-generic: declare phony targets as such

Following the reviews from Yann, I've now also applied those patches.
It means that from this series, patches 1 to 14 included are applied.
Patches 15 and beyond are not applied for now.

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 21/35] Makefile: simplify show-targets
  2015-03-30 21:21   ` Yann E. MORIN
  2015-03-30 21:40     ` Yann E. MORIN
@ 2015-04-06  9:40     ` Thomas Petazzoni
  1 sibling, 0 replies; 73+ messages in thread
From: Thomas Petazzoni @ 2015-04-06  9:40 UTC (permalink / raw)
  To: buildroot

Dear Yann E. MORIN,

On Mon, 30 Mar 2015 23:21:07 +0200, Yann E. MORIN wrote:
> Thomas, All,
> 
> On 2015-03-29 19:33 +0200, Thomas Petazzoni spake thusly:
> > show-targets is only used currently by the graph-depends script, which
> > already recurses into the dependencies of the selected packages to
> > build the dependency graph. Therefore, dumping the contents of
> > $(PACKAGES) and $(ROOTFS_TARGETS) is sufficient: $(HOST_DEPS) and
> > $(TARGET_HOST_DEPS) will contain packages that are dependencies of
> > packages already listed in $(PACKAGES), which graph-depends will
> > discover by itself.
> > 
> > This allows to remove one more usage of $(HOST_DEPS) and
> > $(TARGET_HOST_DEPS), which is one more step towards their removal.
> 
> This means a lot of host packages no longer show up in show-targets.

This is expected. "make show-targets" has *never* guaranteed you that
it would list *all* packages.

Remember, before this patch series, the main Makefile only had some
logic to do a two-level recursion on the dependencies of host packages.
So what the graph-depends script does is that it takes the output of
"make show-targets" as an initial list of packages, and then walks the
dependency tree by itself by calling "make <pkg>-show-depends"
recursively, starting from the list of packages listed by "make
show-targets".

So, from this commit, "make show-targets" will only list the target
packages selected by menuconfig (i.e all those listed in the
global PACKAGES variable). All other packages will be figured out by
iterating recursively using "make <pkg>-show-depends".

So indeed, this changes the output of "make show-targets", but this
output was wrong. And there is no way to make it correct without
iterating recursively through dependencies.

Note that this target is actually called "make show-targets" and not
"make show-packages". So it does not give the guarantee that all
packages will be listed.

For me, this target is only an internal details of the graph-depends
logic. As long as the global graph-depends graph remains the same, then
I believe this is fine.

Let me know what you think,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 21/35] Makefile: simplify show-targets
  2015-03-29 17:33 ` [Buildroot] [PATCH 21/35] Makefile: simplify show-targets Thomas Petazzoni
  2015-03-30 21:21   ` Yann E. MORIN
@ 2015-04-06  9:44   ` Yann E. MORIN
  1 sibling, 0 replies; 73+ messages in thread
From: Yann E. MORIN @ 2015-04-06  9:44 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2015-03-29 19:33 +0200, Thomas Petazzoni spake thusly:
> show-targets is only used currently by the graph-depends script, which
> already recurses into the dependencies of the selected packages to
> build the dependency graph. Therefore, dumping the contents of
> $(PACKAGES) and $(ROOTFS_TARGETS) is sufficient: $(HOST_DEPS) and
> $(TARGET_HOST_DEPS) will contain packages that are dependencies of
> packages already listed in $(PACKAGES), which graph-depends will
> discover by itself.
> 
> This allows to remove one more usage of $(HOST_DEPS) and
> $(TARGET_HOST_DEPS), which is one more step towards their removal.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

After reading your convining explanations about my previous concerns:

Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Thanks! :-)

Regards,
Yann E. MORIN.

> ---
>  Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/Makefile b/Makefile
> index ab54dda..0709751 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -644,7 +644,7 @@ legal-info: dirs legal-info-clean legal-info-prepare $(foreach p,$(PACKAGES),$(p
>  	@rm -f $(LEGAL_WARNINGS)
>  
>  show-targets:
> -	@echo $(HOST_DEPS) $(TARGETS_HOST_DEPS) $(PACKAGES) $(TARGETS_ROOTFS)
> +	@echo $(PACKAGES) $(TARGETS_ROOTFS)
>  
>  graph-build: $(O)/build/build-time.log
>  	@install -d $(O)/graphs
> -- 
> 2.1.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 73+ messages in thread

* [Buildroot] [PATCH 05/35] pkg-generic: allow full URLs for <pkg>_EXTRA_DOWNLOADS
  2015-03-29 17:33 ` [Buildroot] [PATCH 05/35] pkg-generic: allow full URLs for <pkg>_EXTRA_DOWNLOADS Thomas Petazzoni
  2015-03-29 21:08   ` Yann E. MORIN
@ 2015-05-10 18:42   ` Bernd Kuhls
  1 sibling, 0 replies; 73+ messages in thread
From: Bernd Kuhls @ 2015-05-10 18:42 UTC (permalink / raw)
  To: buildroot

Thomas Petazzoni <thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8
@public.gmane.org> wrote in news:1427650429-9293-6-git-send-email-
thomas.petazzoni at free-electrons.com:

> The current logic for <pkg>_EXTRA_DOWNLOADS assumes that it is a list
> of files, all hosted at <pkg>_SITE. However, just like for
> <pkg>_PATCH, it may be useful to specify <pkg>_EXTRA_DOWNLOADS entries
> that are hosted on a different site than the package <pkg>_SITE.
> 
> This commit implements this, by re-using the same logic as the one
> used for <pkg>_PATCH.

Hi,

is there a way to download _EXTRA_FILES via wget while the main package uses 
_SITE_METHOD = git? For example:

FREESWITCH_VERSION = 359ff2ac70788594a321eac856c85011baed017d
FREESWITCH_SITE = git://freeswitch.org/stash/scm/fs/freeswitch.git

FREESWITCH_EXTRA_SITE = http://files.freeswitch.org
FREESWITCH_EXTRA_DOWNLOADS = \
        $(FREESWITCH_EXTRA_SITE)/freeswitch-sounds-music-8000-1.0.50.tar.gz

In this case _EXTRA_DOWNLOADS are not downloaded at all.

Regards, Bernd

^ permalink raw reply	[flat|nested] 73+ messages in thread

end of thread, other threads:[~2015-05-10 18:42 UTC | newest]

Thread overview: 73+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
2015-03-29 17:33 ` [Buildroot] [PATCH 01/35] linux: use the package infrastructure to download patches Thomas Petazzoni
2015-03-29 20:47   ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 02/35] pkg-generic: fix the logic showing the "Downloading" message Thomas Petazzoni
2015-03-29 20:48   ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 03/35] pkg-generic: take into account <pkg>_EXTRA_DOWNLOADS to display " Thomas Petazzoni
2015-03-29 20:49   ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 04/35] pkg-generic: refactor the "Downloading" message logic Thomas Petazzoni
2015-03-29 20:50   ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 05/35] pkg-generic: allow full URLs for <pkg>_EXTRA_DOWNLOADS Thomas Petazzoni
2015-03-29 21:08   ` Yann E. MORIN
2015-03-30  7:26     ` Thomas Petazzoni
2015-05-10 18:42   ` Bernd Kuhls
2015-03-29 17:33 ` [Buildroot] [PATCH 06/35] docs/manual: update documentation about <pkg>_SOURCE, <pkg>_PATCH and <pkg>_EXTRA_DOWNLOADS Thomas Petazzoni
2015-03-29 21:10   ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 07/35] perl: use <pkg>_EXTRA_DOWNLOADS Thomas Petazzoni
2015-03-29 21:15   ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 08/35] packages: apply custom patches using *.patch instead of <pkg>-*.patch Thomas Petazzoni
2015-03-29 21:35   ` Yann E. MORIN
2015-03-30  7:29     ` Thomas Petazzoni
2015-03-30 16:22       ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 09/35] docs/manual: update documentation about applying patches Thomas Petazzoni
2015-03-29 21:40   ` Yann E. MORIN
2015-04-06  9:06     ` Thomas Petazzoni
2015-03-29 17:33 ` [Buildroot] [PATCH 10/35] pkg-generic: implement a <pkg>-external-deps target Thomas Petazzoni
2015-03-29 21:44   ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 11/35] pkg-generic: implement <pkg>-all-{source, legal-info, external-deps} targets Thomas Petazzoni
2015-03-29 21:47   ` Yann E. MORIN
2015-03-30 17:45     ` Yann E. MORIN
2015-03-30 18:56       ` Thomas Petazzoni
2015-04-06  9:14       ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 12/35] Makefile: remove dubious comment Thomas Petazzoni
2015-03-29 21:50   ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 13/35] Makefile: directories are not PHONY targets Thomas Petazzoni
2015-03-29 21:56   ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 14/35] pkg-generic: declare phony targets as such Thomas Petazzoni
2015-03-29 22:05   ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 15/35] pkg-kconfig: " Thomas Petazzoni
2015-03-29 22:08   ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 16/35] fs: " Thomas Petazzoni
2015-03-29 22:16   ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 17/35] Makefile: targets are now declared phony by the appropriate infrastructures Thomas Petazzoni
2015-03-29 22:22   ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 18/35] Makefile: rename TARGETS to PACKAGES Thomas Petazzoni
2015-03-30 16:31   ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 19/35] fs: add rootfs dependencies " Thomas Petazzoni
2015-03-30 16:33   ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 20/35] Makefile: use <pkg>-all-legal-info to implement the legal-info target Thomas Petazzoni
2015-03-30 20:59   ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 21/35] Makefile: simplify show-targets Thomas Petazzoni
2015-03-30 21:21   ` Yann E. MORIN
2015-03-30 21:40     ` Yann E. MORIN
2015-04-06  9:40     ` Thomas Petazzoni
2015-04-06  9:44   ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 22/35] Makefile: use the package infra based external-deps Thomas Petazzoni
2015-03-30 21:43   ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 23/35] pkg-download: remove support for the SHOW_EXTERNAL_DEPS DL_MODE Thomas Petazzoni
2015-03-29 17:33 ` [Buildroot] [PATCH 24/35] Makefile: move source-check outside of noconfig_targets Thomas Petazzoni
2015-03-29 17:33 ` [Buildroot] [PATCH 25/35] pkg-download: extend DOWNLOAD_INNER, add a SOURCE_CHECK macro Thomas Petazzoni
2015-03-29 17:33 ` [Buildroot] [PATCH 26/35] pkg-generic: implement source-check targets Thomas Petazzoni
2015-03-29 17:33 ` [Buildroot] [PATCH 27/35] Makefile: implement a package based source-check target Thomas Petazzoni
2015-03-29 17:33 ` [Buildroot] [PATCH 28/35] pkg-generic: remove the .stamp_rsync_sourced fake stamp file Thomas Petazzoni
2015-03-29 17:33 ` [Buildroot] [PATCH 29/35] pkg-generic: don't use DL_MODE in .stamp_downloaded Thomas Petazzoni
2015-03-29 17:33 ` [Buildroot] [PATCH 30/35] pkg-download: get rid of DL_MODE Thomas Petazzoni
2015-03-29 17:33 ` [Buildroot] [PATCH 31/35] pkg-download: fix indentation for SOURCE_CHECK_* macros Thomas Petazzoni
2015-03-29 17:33 ` [Buildroot] [PATCH 32/35] pkg-generic: propagate <pkg>_EXTRA_DOWNLOADS from target to host package Thomas Petazzoni
2015-03-29 17:33 ` [Buildroot] [PATCH 33/35] pkg-generic: introduce a <pkg>_ALL_DOWNLOADS variable and factorize code Thomas Petazzoni
2015-03-29 17:33 ` [Buildroot] [PATCH 34/35] Makefile: implement the 'source' target using the package infrastructure Thomas Petazzoni
2015-03-29 17:33 ` [Buildroot] [PATCH 35/35] Makefile: remove unneeded variables Thomas Petazzoni
2015-03-29 22:28 ` [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Yann E. MORIN
2015-03-30  7:23   ` Thomas Petazzoni
2015-03-30 21:42 ` Thomas Petazzoni
2015-04-06  9:33 ` Thomas Petazzoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.