You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Colin Patrick McCabe (JIRA)" <ji...@apache.org> on 2016/01/12 19:19:40 UTC

[jira] [Commented] (HADOOP-12662) The build should fail if a -Dbundle option fails

    [ https://issues.apache.org/jira/browse/HADOOP-12662?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15094427#comment-15094427 ] 

Colin Patrick McCabe commented on HADOOP-12662:
-----------------------------------------------

Thanks for working on this, [~drankye].

{code}
328                      # Bundle a native library if requested. Exit 1 in case error happens.
329	                      # Usage: check_bundle_lib bundleOption libOption libPattern libDir
330	                      function check_bundle_lib() {
{code}
It seems like this should be named {{bundle_native_lib}} or something like that, rather than {{check_bundle_lib}}.  It does more than just "checking," right?  It actually performs the bundling.

{code}
343                        if [[ X"${libDir}" = X ]] || [[ ! -d ${libDir} ]]; then
344	                          echo "The required option $libOption isn't given or invalid. Bundling the lib failed"
345	                          exit 1
346	                        fi
{code}
As [~aw] pointed out, the 'X' construction isn't needed in bash.  Suggest using this instead:
{code}
if [[ -z ${libDir} ]] || [[ ! -d ${libDir} ]]; then
...
{code}

{code}
404                        if [[ X"${bundle.openssl.in.bin}" = X"true" ]]; then
405	                          if [[ X"${bundle.openssl}" = X"true" ]]; then
{code}
try using this instead (note the double equals sign):
{code}
404                        if [[ "${bundle.openssl.in.bin}" == "true" ]]; then
405	                          if [[ "${bundle.openssl}" == "true" ]]; then
{code}

+1 once those are addressed.  Perhaps we should open a follow-on jira to split this out into a separate bash file, which would be a bit cleaner.

> The build should fail if a -Dbundle option fails
> ------------------------------------------------
>
>                 Key: HADOOP-12662
>                 URL: https://issues.apache.org/jira/browse/HADOOP-12662
>             Project: Hadoop Common
>          Issue Type: Improvement
>            Reporter: Kai Zheng
>            Assignee: Kai Zheng
>         Attachments: HADOOP-12662-v1.patch, HADOOP-12662-v2.patch, HADOOP-12662-v3.patch, HADOOP-12662-v4.patch
>
>
> Per some discussion with [~cmccabe], it would be good to refine and make it consistent the behaviors in bundling native libraries when building dist package.
> For all native libraries to bundle, if the bundling option like {{-Dbundle.snappy}} is specified, then the lib option like {{-Dsnappy.lib}} will be checked and ensured to be there, but if not, it will then report error and fail the building explicitly.
> {{BUILDING.txt}} would also be updated to explicitly state this behavior.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)