You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@bigtop.apache.org by "KWON BYUNGCHANG (Jira)" <ji...@apache.org> on 2026/07/10 00:36:00 UTC
[jira] [Created] (BIGTOP-4545) hbase: versionless jar symlinks broken for version strings with extra "-" suffix
KWON BYUNGCHANG created BIGTOP-4545:
---------------------------------------
Summary: hbase: versionless jar symlinks broken for version strings with extra "-<digit>" suffix
Key: BIGTOP-4545
URL: https://issues.apache.org/jira/browse/BIGTOP-4545
Project: Bigtop
Issue Type: Bug
Reporter: KWON BYUNGCHANG
The hbase RPM creates versionless symlinks for jars using a sed pattern:
{code}
for i in `ls hbase*jar | grep -v tests.jar`
do
ln -s $i `echo $i | sed -n 's/\(.*\)\(-[0-9].*\)\(.jar\)/\1\3/p'`
done
{code}
The greedy \(.*\) makes the pattern strip only from the *last* "-<digit>" occurrence. This breaks for version strings that contain an additional "-<digit>" segment, e.g. a downstream/vendor version like 2.6.5-custom-1:
{code}
$ echo hbase-common-2.6.5-custom-1.jar | sed -n 's/\(.*\)\(-[0-9].*\)\(.jar\)/\1\3/p'
hbase-common-2.6.5-custom.jar
{code}
The expected link name is hbase-common.jar, but hbase-common-2.6.5-custom.jar is created instead.
Fix: match against the known HBASE_VERSION explicitly instead of guessing where the version starts:
{code}
for i in `ls hbase*jar | grep -v tests.jar`
do
if [[ $i =~ hbase-(.*)-${HBASE_VERSION}.jar ]]; then
name=${BASH_REMATCH[1]}
ln -s $i hbase-$name.jar
fi
done
{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)