I’ll sponsor it. I’ve filed 
JDK-8215966<https://bugs.openjdk.java.net/browse/JDK-8215966> for it: it’s a 
simple forward port.

Bug: https://bugs.openjdk.java.net/browse/JDK-8215966
Webrev: http://cr.openjdk.java.net/~phh/8215966/webrev.00/

While I agree with Martin that we might as well specify bash, imo in this 
specific case it’s better to do a forward port since the code already exists in 
JDK9. The webrev therefore dups the 
JDK-8025886<https://bugs.openjdk.java.net/browse/JDK-8025886> patch. If we want 
to make scripts explicitly depend on bash, I’d prefer to see a separate RFE for 
it.

Lgtm, so that’s one review. May we have another please?

Thanks,

Paul

From: serviceability-dev <serviceability-dev-boun...@openjdk.java.net> on 
behalf of Sergei Ustimenko <merke...@gmail.com>
Date: Friday, December 28, 2018 at 8:40 AM
To: serviceability-dev <serviceability-dev@openjdk.java.net>
Subject: Re: [PATCH] JDK-8025886: Replace [[ and == bash extensions in tests

Hi,

Could anyone please help with review?

Regards,
Sergei

On Sat, 22 Dec 2018 at 17:09, Sergei Ustimenko 
<merke...@gmail.com<mailto:merke...@gmail.com>> wrote:
Hi,

Could anyone please review and sponsor
this small patch to add a shebang line to
the test script?

diff --git 
a/test/jdk/sun/management/jmxremote/bootstrap/GeneratePropertyPassword.sh 
b/test/jdk/sun/management/jmxremote/bootstrap/GeneratePropertyPassword.sh
--- a/test/jdk/sun/management/jmxremote/bootstrap/GeneratePropertyPassword.sh
+++ b/test/jdk/sun/management/jmxremote/bootstrap/GeneratePropertyPassword.sh
@@ -1,3 +1,5 @@
+#!/bin/bash
+
 #
 # Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.

Thanks,
Sergei

On Wed, Dec 19, 2018, 21:04 Sergei Ustimenko 
<merke...@gmail.com<mailto:merke...@gmail.com> wrote:
Quickfix on my previous mail: I've found no scripts
with the same problem, except this one in the patch.

>Yeah, let's fix !

Perfect!

I will just need some help with sponsorship to push this.
I've signed the OCA, so no problems from my side.

Regards,
Sergei

On Wed, 19 Dec 2018 at 20:22, Martin Buchholz 
<marti...@google.com<mailto:marti...@google.com>> wrote:
Did we really have shell scripts without a shebang line?
Yeah, let's fix !

On Wed, Dec 19, 2018 at 11:03 AM Sergei Ustimenko 
<merke...@gmail.com<mailto:merke...@gmail.com>> wrote:
HI Martin,

As you've suggested I've simply added bash's shebang.
It wouldn't add any problem since, as David have mentioned,
no bash - no build. I've also quickly checked for similar cases
and found one.

An updated patch is below.

diff --git 
a/test/jdk/sun/management/jmxremote/bootstrap/GeneratePropertyPassword.sh 
b/test/jdk/sun/management/jmxremote/bootstrap/GeneratePropertyPassword.sh
--- a/test/jdk/sun/management/jmxremote/bootstrap/GeneratePropertyPassword.sh
+++ b/test/jdk/sun/management/jmxremote/bootstrap/GeneratePropertyPassword.sh
@@ -1,3 +1,5 @@
+#!/bin/bash
+
 #
 # Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.


Regards,
Sergei

On Mon, 10 Dec 2018 at 22:27, Martin Buchholz 
<marti...@google.com<mailto:marti...@google.com>> wrote:
I don't know if there's an official policy on how ultra-portable tests are 
supposed to be.  In practice, you probably won't be able to build openjdk on a 
system without bash.

On Mon, Dec 10, 2018 at 1:12 PM Sergei Ustimenko 
<merke...@gmail.com<mailto:merke...@gmail.com>> wrote:
Hi Martin,

That sounds good!

I've counted all the sh-shebangs and it appears that
there are at least 66 of them inside the test/ directory,
where only 12 bashes.

I've also ran the search  in order to identify all the
occurrences that use either [[ or == and found only
three of them that use "==". That one for example:
http://hg.openjdk.java.net/jdk/sandbox/file/f94276ccc9fc/test/hotspot/jtreg/vmTestbase/jit/tiered/tieredTest.sh#l63
of course `dash` reports failure in that case.

So I'm quite hesitant in that case and not really sure
what to do. I haven't also found any existent JBS ticket
for such /bin/sh => /bin/bash a replacement.

So any advise in this case would be appreciated!

Regards,
Sergei

On Mon, 10 Dec 2018 at 18:32, Martin Buchholz 
<marti...@google.com<mailto:marti...@google.com>> wrote:
I would not try to remove all bash-isms from openjdk. Instead I would find 
instances of /bin/sh that need to be changed to /bin/bash.

(Ubuntu's use of /bin/sh -> /bin/dash is technically correct, but caused much 
suffering
https://bugs.launchpad.net/ubuntu/+source/dash/+bug/61463
)

Reply via email to