You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@knox.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2024/03/21 10:44:00 UTC
[jira] [Work logged] (KNOX-3024) Fix findJava in knox-functions.sh
[ https://issues.apache.org/jira/browse/KNOX-3024?focusedWorklogId=910850&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-910850 ]
ASF GitHub Bot logged work on KNOX-3024:
----------------------------------------
Author: ASF GitHub Bot
Created on: 21/Mar/24 10:43
Start Date: 21/Mar/24 10:43
Worklog Time Spent: 10m
Work Description: smolnar82 opened a new pull request, #891:
URL: https://github.com/apache/knox/pull/891
## What changes were proposed in this pull request?
I updated the existing login in `knox-functions.sh` to successfully check Java executables under `/usr` if no `JAVA_HOME` is set or Java is not available on the path.
In addition to fixing the issue, I added an option to display the Java with the `--verbose` option (when using KnoxCLI, `--verbose true` should be used.
## How was this patch tested?
Checked the updated scripts on [shellcheck.net](https://www.shellcheck.net/) and tested them manually:
- `gateway.sh`
```
$ bin/gateway.sh restart --verbose
Found Java at /usr/local/opt/openjdk@8/bin/java
Stopping Gateway with PID 12173 succeeded.
Starting Gateway succeeded with PID 12346.
$ bin/gateway.sh restart
Stopping Gateway with PID 12346 succeeded.
Starting Gateway succeeded with PID 12419.
```
- `knoxcli.sh`
```
$ bin/knoxcli.sh export-cert --type JKS --verbose true
Found Java at /usr/local/opt/openjdk@8/bin/java
Certificate gateway-identity has been successfully exported to: /Users/sandormolnar/test/knoxGateway/data/security/keystores/gateway-client-trust.jks
$ bin/knoxcli.sh export-cert --type JKS
Certificate gateway-identity has been successfully exported to: /Users/sandormolnar/test/knoxGateway/data/security/keystores/gateway-client-trust.jks
```
- `ldap.sh`
```
$ bin/ldap.sh start --verbose
Found Java at /usr/local/opt/openjdk@8/bin/java
Starting LDAP succeeded with PID 12531.
$ bin/ldap.sh stop
Stopping LDAP with PID 12531 succeeded.
$ bin/ldap.sh start
Starting LDAP succeeded with PID 12573.
```
Issue Time Tracking
-------------------
Worklog Id: (was: 910850)
Remaining Estimate: 0h
Time Spent: 10m
> Fix findJava in knox-functions.sh
> ---------------------------------
>
> Key: KNOX-3024
> URL: https://issues.apache.org/jira/browse/KNOX-3024
> Project: Apache Knox
> Issue Type: Bug
> Components: Release
> Affects Versions: 1.4.0, 1.5.0, 2.0.0, 1.6.0, 1.6.1, 1.6.2
> Reporter: Sandor Molnar
> Assignee: Sandor Molnar
> Priority: Blocker
> Fix For: 2.1.0
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> 5 years ago, when I added {{shellcheck}} support to our build in the scope of KNOX-1816, I introduced a bug in the {{findJava}} function in {{{}knox-functions.sh{}}}: when $JAVA_HOME is not set, and Java is not available on the path, the function tries to find java executables under {{{}/usr{}}}. However, the current implementation is wrong:
> {noformat}
> $ which java
> /usr/bin/which: no java in (/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
> $ echo $JAVA_HOME
> $ bin/knoxcli.sh export-cert --type JKS
> Warning: JAVA is not set and could not be found.
> ... {noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)