Bug 12321

Summary: host-generic-package: PKG_DL_OPTS not used for host package
Product: buildroot Reporter: Matthias <porto.rio>
Component: OtherAssignee: Yann E. MORIN <yann.morin.1998>
Status: RESOLVED FIXED    
Severity: minor CC: buildroot
Priority: P5    
Version: 2019.02.7   
Target Milestone: ---   
Hardware: All   
OS: Linux   
Host: Target:
Build:

Description Matthias 2019-11-18 15:44:13 UTC
Hi,

I have a custom .mk file with some PKG_DL_OPTS defined (username and password for wget download). The .mk file contains the classical rules for target and host package:

$(eval $(generic-package))
$(eval $(host-generic-package))

When I trigger a download of the host package first (e.g. make host-PKG-source) I detected that PKG_DL_OPTS is not passed to the dl-wrapper script that buildroot uses to download the src. I explicitly have to define a HOST_PKG_DL_OPTS = $(PKG_DL_OPTS) in my .mk file for the download to be successful for the host package.

I've looked into the sources and I found the following comment in pkg-generic.mk which seems to be related to this question:

[...]
# Define default values for various package-related variables, if not
# already defined. For some variables (version, source, site and
# subdir), if they are undefined, we try to see if a variable without
# the HOST_ prefix is defined. If so, we use such a variable, so that
# this information has only to be specified once, for both the
# target and host packages of a given .mk file.
[...]

Maybe some handling similar to the other variables has to be added for _DL_OPTS (i.e. if HOST_PKG_DL_OPTS is undefined set it to the value of PKG_DL_OPTS)?

Kind regards,
Matthias
Comment 1 Thomas Petazzoni 2019-11-18 16:09:54 UTC
Thanks Matthias for your bug report, and good catch!

As you suggested, could you try applying a change like the below patch, and see if it helps? If it does, it would be nice if you could submit the patch on the Buildroot mailing list (if you don't want to do it, let us know, and we'll handle that). Thanks!

diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index 7d6fa08418..7b3294a09a 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -541,6 +541,12 @@ ifndef $(2)_SITE_METHOD
  endif
 endif
 
+ifndef $(2)_DL_OPTS
+ ifdef $(3)_DL_OPTS
+  $(2)_DL_OPTS = $$($(3)_DL_OPTS)
+ endif
+endif
+
 ifneq ($$(filter bzr cvs hg svn,$$($(2)_SITE_METHOD)),)
 BR_NO_CHECK_HASH_FOR += $$($(2)_SOURCE)
 endif
Comment 2 Matthias 2019-11-19 07:55:55 UTC
Hi Thomas,

thanks for the quick reply. I tested the patch. It works perfectly.

If it doesn't cause you any problems, it would be very nice if you could submit the patch, because I currently have not the right tools in place here (suitable E-Mail client...).

Thank you!
Kind regards,
Matthias
Comment 3 Thomas Petazzoni 2019-11-28 18:56:34 UTC
Thanks, I have submitted the patch at http://patchwork.ozlabs.org/patch/1202262/