-
Bug
-
Resolution: Not an Issue
-
P4
-
8u51
-
x86_64
-
linux
FULL PRODUCT VERSION :
N/A
ADDITIONAL OS VERSION INFORMATION :
ALL OSES
A DESCRIPTION OF THE PROBLEM :
When cloning the mercurial repository to try and build OpenJDK 1.8 u51 b16, it's impossible using the proscribed methods to obtain the source for just this release because of a bug in common/bin/hgforest.sh. Specifically, it fails to pass the command arguments to the clone command when checking out the other repositories required for building.
I.e., if you run:
hg clone -r jdk8u51-b16 http://hg.openjdk.java.net/jdk8u/jdk8u60/
./get_source.sh -r jdk8u51-b16
What you end up with is *up to date source* rather than source left at the tag specified. This is trivial to fix by patching hgforest.sh as follows:
--- hgforest.sh.orig 2015-08-10 16:29:42.271352215 +0000
+++ hgforest.sh 2015-08-10 16:36:53.427337849 +0000
@@ -334,8 +334,8 @@
done
fi
# run the clone command.
- echo "hg${global_opts} clone ${clone_newrepo} ${i}" > ${status_output}
- (PYTHONUNBUFFERED=true hg${global_opts} clone ${clone_newrepo} ${i}; echo "$?" > ${tmp}/${repopidfile}.pid.rc ) 2>&1 &
+ echo "hg${global_opts} clone ${command_args} ${clone_newrepo} ${i}" > ${status_output}
+ (PYTHONUNBUFFERED=true hg${global_opts} clone ${command_args} ${clone_newrepo} ${i}; echo "$?" > ${tmp}/${repopidfile}.pid.rc ) 2>&1 &
else
# run the command.
echo "cd ${i} && hg${global_opts} ${command} ${command_args}" > ${status_output}
I.e., add ${command_args} to the initial clone command
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
See steps above
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
I expect to be able to check out the source at the specified tag/revision
ACTUAL -
I get the source at the most latest revision
REPRODUCIBILITY :
This bug can be reproduced always.
CUSTOMER SUBMITTED WORKAROUND :
Use the following patch:
--- hgforest.sh.orig 2015-08-10 16:29:42.271352215 +0000
+++ hgforest.sh 2015-08-10 16:36:53.427337849 +0000
@@ -334,8 +334,8 @@
done
fi
# run the clone command.
- echo "hg${global_opts} clone ${clone_newrepo} ${i}" > ${status_output}
- (PYTHONUNBUFFERED=true hg${global_opts} clone ${clone_newrepo} ${i}; echo "$?" > ${tmp}/${repopidfile}.pid.rc ) 2>&1 &
+ echo "hg${global_opts} clone ${command_args} ${clone_newrepo} ${i}" > ${status_output}
+ (PYTHONUNBUFFERED=true hg${global_opts} clone ${command_args} ${clone_newrepo} ${i}; echo "$?" > ${tmp}/${repopidfile}.pid.rc ) 2>&1 &
else
# run the command.
echo "cd ${i} && hg${global_opts} ${command} ${command_args}" > ${status_output}
N/A
ADDITIONAL OS VERSION INFORMATION :
ALL OSES
A DESCRIPTION OF THE PROBLEM :
When cloning the mercurial repository to try and build OpenJDK 1.8 u51 b16, it's impossible using the proscribed methods to obtain the source for just this release because of a bug in common/bin/hgforest.sh. Specifically, it fails to pass the command arguments to the clone command when checking out the other repositories required for building.
I.e., if you run:
hg clone -r jdk8u51-b16 http://hg.openjdk.java.net/jdk8u/jdk8u60/
./get_source.sh -r jdk8u51-b16
What you end up with is *up to date source* rather than source left at the tag specified. This is trivial to fix by patching hgforest.sh as follows:
--- hgforest.sh.orig 2015-08-10 16:29:42.271352215 +0000
+++ hgforest.sh 2015-08-10 16:36:53.427337849 +0000
@@ -334,8 +334,8 @@
done
fi
# run the clone command.
- echo "hg${global_opts} clone ${clone_newrepo} ${i}" > ${status_output}
- (PYTHONUNBUFFERED=true hg${global_opts} clone ${clone_newrepo} ${i}; echo "$?" > ${tmp}/${repopidfile}.pid.rc ) 2>&1 &
+ echo "hg${global_opts} clone ${command_args} ${clone_newrepo} ${i}" > ${status_output}
+ (PYTHONUNBUFFERED=true hg${global_opts} clone ${command_args} ${clone_newrepo} ${i}; echo "$?" > ${tmp}/${repopidfile}.pid.rc ) 2>&1 &
else
# run the command.
echo "cd ${i} && hg${global_opts} ${command} ${command_args}" > ${status_output}
I.e., add ${command_args} to the initial clone command
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
See steps above
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
I expect to be able to check out the source at the specified tag/revision
ACTUAL -
I get the source at the most latest revision
REPRODUCIBILITY :
This bug can be reproduced always.
CUSTOMER SUBMITTED WORKAROUND :
Use the following patch:
--- hgforest.sh.orig 2015-08-10 16:29:42.271352215 +0000
+++ hgforest.sh 2015-08-10 16:36:53.427337849 +0000
@@ -334,8 +334,8 @@
done
fi
# run the clone command.
- echo "hg${global_opts} clone ${clone_newrepo} ${i}" > ${status_output}
- (PYTHONUNBUFFERED=true hg${global_opts} clone ${clone_newrepo} ${i}; echo "$?" > ${tmp}/${repopidfile}.pid.rc ) 2>&1 &
+ echo "hg${global_opts} clone ${command_args} ${clone_newrepo} ${i}" > ${status_output}
+ (PYTHONUNBUFFERED=true hg${global_opts} clone ${command_args} ${clone_newrepo} ${i}; echo "$?" > ${tmp}/${repopidfile}.pid.rc ) 2>&1 &
else
# run the command.
echo "cd ${i} && hg${global_opts} ${command} ${command_args}" > ${status_output}