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)