[java-sig-commits] [javapackages] Don't hardcode absolute paths
Mikolaj Izdebski
mizdebsk at fedoraproject.org
Mon Sep 16 08:55:10 UTC 2013
commit ae7f8565ed2316e1af4f5c95dc779dbcb877b7da
Author: Mikolaj Izdebski <mizdebsk at redhat.com>
Date: Mon Sep 16 10:01:16 2013 +0200
Don't hardcode absolute paths
There is a need for variable prefixes so that relocatable RPMs can be
created for javapackages-tools.
bin/build-classpath | 6 +++---
bin/build-jar-repository | 6 +++---
bin/check-binary-files | 6 +++---
bin/clean-binary-files | 8 ++++----
bin/create-jar-links | 8 ++++----
bin/diff-jars | 4 ++--
bin/find-jar | 6 +++---
bin/jvmjar | 12 ++++++------
bin/mvn-rpmbuild | 2 +-
bin/rebuild-jar-repository | 6 +++---
build | 19 ++++++++++++++++++-
etc/macros.fjava | 4 ++--
install | 28 ++++++++++++++--------------
java-utils/java-functions | 28 ++++++++++++++--------------
test/xmvn | 4 ++--
15 files changed, 82 insertions(+), 65 deletions(-)
---
diff --git a/bin/build-classpath b/bin/build-classpath
index f825cd2..8bb9e9b 100755
--- a/bin/build-classpath
+++ b/bin/build-classpath
@@ -7,12 +7,12 @@
# $Id: build-classpath,v 1.2 2005/09/17 07:06:19 david Exp $
# Import java functions
-[ -r /usr/share/java-utils/java-functions ] \
- && . /usr/share/java-utils/java-functions || exit 1
+[ -r "%{javadir}-utils/java-functions" ] \
+ && . "%{javadir}-utils/java-functions" || exit 1
# Prints help message
usage() {
-/bin/cat >&2 << EOF_USAGE
+cat >&2 << EOF_USAGE
Usage: $0 <jar1> [<jar2> .. <jarn>]
jarX: name of a jar
Example: jndi
diff --git a/bin/build-jar-repository b/bin/build-jar-repository
index 780be9e..a6fba32 100755
--- a/bin/build-jar-repository
+++ b/bin/build-jar-repository
@@ -7,12 +7,12 @@
# $Id: build-jar-repository,v 1.2 2005/09/17 07:06:19 david Exp $
# Import java functions
-[ -r /usr/share/java-utils/java-functions ] \
- && . /usr/share/java-utils/java-functions || exit 1
+[ -r "%{javadir}-utils/java-functions" ] \
+ && . "%{javadir}-utils/java-functions" || exit 1
# Prints help message
usage() {
-/bin/cat >&2 << EOF_USAGE
+cat >&2 << EOF_USAGE
Usage: $0 [<linktype>] <directory> <jar1> [<jar2> .. <jarn>]
With:
diff --git a/bin/check-binary-files b/bin/check-binary-files
index c7872d7..b1f7e5b 100755
--- a/bin/check-binary-files
+++ b/bin/check-binary-files
@@ -7,12 +7,12 @@
# $Id: check-binary-files,v 1.1 2006/09/19 19:39:37 fnasser Exp $
# Import java functions
-[ -r /usr/share/java-utils/java-functions ] \
- && . /usr/share/java-utils/java-functions || exit 1
+[ -r "%{javadir}-utils/java-functions" ] \
+ && . "%{javadir}-utils/java-functions" || exit 1
# Prints help message
usage() {
- /bin/cat >&2 << EOF_USAGE
+ cat >&2 << EOF_USAGE
Usage: $0 -f instructions_file [-a archive_file]
diff --git a/bin/clean-binary-files b/bin/clean-binary-files
index e844119..3afe7a1 100755
--- a/bin/clean-binary-files
+++ b/bin/clean-binary-files
@@ -7,12 +7,12 @@
# $Id: clean-binary-files,v 1.1 2006/09/19 19:39:37 fnasser Exp $
# Import java functions
-[ -r /usr/share/java-utils/java-functions ] \
- && . /usr/share/java-utils/java-functions || exit 1
+[ -r "%{javadir}-utils/java-functions" ] \
+ && . "%{javadir}-utils/java-functions" || exit 1
# Prints help message
usage() {
- /bin/cat >&2 << EOF_USAGE
+ cat >&2 << EOF_USAGE
Usage: $0 {[-f {-, instructions_file}], [-e exclusion_file] [-l]} [-a archive_file] [-d custom_jar_map] [-n] [-p] [-s]
@@ -44,7 +44,7 @@ set_jvm_dirs || exit 5
_WORKING_DIR=`pwd`
# Default jar map
-_JAR_MAP_FILE=/usr/share/java-utils/jarname-jpp-map
+_JAR_MAP_FILE="%{javadir}-utils/jarname-jpp-map"
# Variables used for comparing file lists
_TEMP_COMPARISON_FILE=/tmp/_temp_comparison_file.$$
diff --git a/bin/create-jar-links b/bin/create-jar-links
index fb1fcd1..5f50d0e 100755
--- a/bin/create-jar-links
+++ b/bin/create-jar-links
@@ -7,12 +7,12 @@
# $Id: create-jar-links,v 1.1 2006/09/19 19:39:37 fnasser Exp $
# Import java functions
-[ -r /usr/share/java-utils/java-functions ] \
- && . /usr/share/java-utils/java-functions || exit 1
+[ -r "%{javadir}-utils/java-functions" ] \
+ && . "%{javadir}-utils/java-functions" || exit 1
# Prints help message
usage() {
- /bin/cat >&2 << EOF_USAGE
+ cat >&2 << EOF_USAGE
Usage: $0 -f instructions_file [-a archive_file] [-p]
@@ -34,7 +34,7 @@ check_java_env || exit 4
set_jvm_dirs || exit 5
# Default jar map
-_JAR_MAP_FILE=/usr/share/java-utils/jarname-jpp-map
+_JAR_MAP_FILE="%{javadir}-utils/jarname-jpp-map"
# Directory in which script was invoked
_WORKING_DIR=`pwd`
diff --git a/bin/diff-jars b/bin/diff-jars
index d378bb5..bd5ef03 100755
--- a/bin/diff-jars
+++ b/bin/diff-jars
@@ -13,8 +13,8 @@
# 1.3 - fix java-functions location
# Source functions library
-if [ -r /usr/share/java-utils/java-functions ] ; then
- . /usr/share/java-utils/java-functions
+if [ -r "%{javadir}-utils/java-functions" ] ; then
+ . "%{javadir}-utils/java-functions"
else
echo "Can't find functions library, aborting"
exit 1
diff --git a/bin/find-jar b/bin/find-jar
index 86447a4..87e58f0 100755
--- a/bin/find-jar
+++ b/bin/find-jar
@@ -6,12 +6,12 @@
# $Id: find-jar,v 1.2 2005/09/17 07:06:19 david Exp $
# Import java functions
-[ -r /usr/share/java-utils/java-functions ] \
- && . /usr/share/java-utils/java-functions || exit 1
+[ -r "%{javadir}-utils/java-functions" ] \
+ && . "%{javadir}-utils/java-functions" || exit 1
# Prints help message
usage() {
-/bin/cat << EOF_USAGE
+cat << EOF_USAGE
Usage: $0 <jar>
jarX: name of a jar or a jar directory
Example: javamail
diff --git a/bin/jvmjar b/bin/jvmjar
index 778e325..9addea0 100755
--- a/bin/jvmjar
+++ b/bin/jvmjar
@@ -7,14 +7,14 @@
# $Id: jvmjar,v 1.1 2004/12/15 16:23:45 robert Exp $
# System-wide java configuration
-JAVA_CONF=/etc/java/java.conf
+JAVA_CONF="%{sysconfdir}/java/java.conf"
if [ -z "$JAVA_LIBDIR" ] ; then
- [ -r "$JAVA_CONF" ] && . "$JAVA_CONF" || JAVA_LIBDIR=/usr/share/java
+ [ -r "$JAVA_CONF" ] && . "$JAVA_CONF" || JAVA_LIBDIR="%{javadir}"
fi
usage() {
-/bin/cat << EOF_USAGE
+cat << EOF_USAGE
Usage: $0 <l|u> <jar> <extension> <version> [<versionB> ... <versionZ>]
- l|u: link/unlink jars
- jar: name of the jar present in $JAVA_LIBDIR-ext to install as a jvm extension
@@ -57,10 +57,10 @@ shift
for version in "$@" ; do
if [ $LINK = "true" ] ; then
- [ -d $JAVA_LIBDIR-$version ] || /usr/bin/install -d -m 755 $JAVA_LIBDIR-$version
- /bin/ln -fs "../java-ext/$ORIGINAL_JAR_NAME.jar" \
+ [ -d $JAVA_LIBDIR-$version ] || install -d -m 755 $JAVA_LIBDIR-$version
+ ln -fs "../java-ext/$ORIGINAL_JAR_NAME.jar" \
$JAVA_LIBDIR-$version/$EXTENSION_NAME.jar
else
- /bin/rm -f "$JAVA_LIBDIR-$version/$EXTENSION_NAME.jar"
+ rm -f "$JAVA_LIBDIR-$version/$EXTENSION_NAME.jar"
fi
done
diff --git a/bin/mvn-rpmbuild b/bin/mvn-rpmbuild
index 921f841..4844293 100755
--- a/bin/mvn-rpmbuild
+++ b/bin/mvn-rpmbuild
@@ -76,7 +76,7 @@ export XMVN_COMPAT
# used without giving groupId prefix.
for groupId in org/apache/maven/plugins org/codehaus/mojo; do
mkdir -p "$repo"/${groupId}
- ln -sf /etc/maven/metadata-${groupId////-}.xml \
+ ln -sf "%{sysconfdir}"/maven/metadata-${groupId////-}.xml \
"$repo"/${groupId}/maven-metadata-central.xml
done
diff --git a/bin/rebuild-jar-repository b/bin/rebuild-jar-repository
index 65c1cd2..770ddf1 100755
--- a/bin/rebuild-jar-repository
+++ b/bin/rebuild-jar-repository
@@ -7,12 +7,12 @@
# $Id: rebuild-jar-repository,v 1.3 2006/03/29 19:45:09 jasonc Exp $
# Import java functions
-[ -r /usr/share/java-utils/java-functions ] \
- && . /usr/share/java-utils/java-functions || exit 1
+[ -r "%{javadir}-utils/java-functions" ] \
+ && . "%{javadir}-utils/java-functions" || exit 1
# Prints help message
usage() {
-/bin/cat >&2 << EOF_USAGE
+cat >&2 << EOF_USAGE
Usage: $0 [<linktype>] <directory>
With:
diff --git a/build b/build
index 8a2205d..f2f1ef3 100755
--- a/build
+++ b/build
@@ -52,14 +52,31 @@ expand()
{
local target=target/$(basename "${1}")
- sed -e "s|%{javadir}|${javadir}|" \
+ sed \
+ -e "s|%{bindir}|${bindir}|" \
+ -e "s|%{datadir}|${datadir}|" \
+ -e "s|%{javadir}|${javadir}|" \
-e "s|%{jnidir}|${jnidir}|" \
-e "s|%{jvmdir}|${jvmdir}|" \
-e "s|%{sysconfdir}|${sysconfdir}|" \
"${1}" >"${target}"
}
+expand bin/abs2rel
+expand bin/build-classpath
+expand bin/build-classpath-directory
+expand bin/build-jar-repository
+expand bin/check-binary-files
+expand bin/clean-binary-files
+expand bin/create-jar-links
+expand bin/diff-jars
+expand bin/find-jar
+expand bin/jvmjar
+expand bin/mvn-local
+expand bin/mvn-rpmbuild
+expand bin/rebuild-jar-repository
expand etc/java.conf
+expand java-utils/java-functions
manpage abs2rel
manpage find-jar
diff --git a/etc/macros.fjava b/etc/macros.fjava
index 171a849..18e954d 100644
--- a/etc/macros.fjava
+++ b/etc/macros.fjava
@@ -71,7 +71,7 @@ for _dir in %{_jnidir} %{_javajnidir} %{_javadir}; do \
_jpath="%{buildroot}$_dir/$_jarpart" \
fi \
done \
-python -m /usr/share/java-utils/maven_depmap %{-a} %{-v*:-r %{-v*}} \\\
+python -m %{javadir}-utils/maven_depmap %{-a} %{-v*:-r %{-v*}} \\\
%{-m:-m %{buildroot}%{_maven_repository}} \\\
%{buildroot}%{_mavendepmapfragdir}/%{name}%{-f*:-%{-f*}} \\\
%{buildroot}%{_mavenpomdir}/$_pompart \\\
@@ -188,7 +188,7 @@ fi \
#
# Private macro, shouldn't be used directly
-%__pom_call . /usr/share/java-utils/pom_editor.sh; pom_
+%__pom_call . %{javadir}-utils/pom_editor.sh; pom_
# %pom_remove_dep - remove dependency on Maven artifact from POM file
diff --git a/install b/install
index 3aa9b47..9344644 100755
--- a/install
+++ b/install
@@ -99,24 +99,24 @@ for ver in 1.5.0 1.6.0 1.7.0 1.8.0; do
dir "${jnidir}-${ver}"
done
-inst_exec bin/abs2rel "${bindir}"
-inst_exec bin/build-classpath "${bindir}"
-inst_exec bin/build-classpath-directory "${bindir}"
-inst_exec bin/build-jar-repository "${bindir}"
-inst_exec bin/check-binary-files "${bindir}"
-inst_exec bin/clean-binary-files "${bindir}"
-inst_exec bin/create-jar-links "${bindir}"
-inst_exec bin/diff-jars "${bindir}"
-inst_exec bin/find-jar "${bindir}"
-inst_exec bin/jvmjar "${bindir}"
-inst_exec bin/rebuild-jar-repository "${bindir}"
+inst_exec target/abs2rel "${bindir}"
+inst_exec target/build-classpath "${bindir}"
+inst_exec target/build-classpath-directory "${bindir}"
+inst_exec target/build-jar-repository "${bindir}"
+inst_exec target/check-binary-files "${bindir}"
+inst_exec target/clean-binary-files "${bindir}"
+inst_exec target/create-jar-links "${bindir}"
+inst_exec target/diff-jars "${bindir}"
+inst_exec target/find-jar "${bindir}"
+inst_exec target/jvmjar "${bindir}"
+inst_exec target/rebuild-jar-repository "${bindir}"
link "${bindir}/abs2rel" "${javadir}-utils/abs2rel.sh"
inst_config etc/font.properties "${sysconfdir}/java"
inst_config target/java.conf "${sysconfdir}/java"
-inst_data java-utils/java-functions "${javadir}-utils"
+inst_data target/java-functions "${javadir}-utils"
inst_exec java-utils/mvn_alias.py "${javadir}-utils"
inst_exec java-utils/mvn_build.py "${javadir}-utils"
inst_exec java-utils/mvn_compat_version.py "${javadir}-utils"
@@ -177,8 +177,8 @@ inst_data etc/macros.xmvn "${sysconfdir}/rpm"
inst_data metadata/metadata-org-apache-maven-plugins.xml "${sysconfdir}/maven"
inst_data metadata/metadata-org-codehaus-mojo.xml "${sysconfdir}/maven"
-inst_exec bin/mvn-local "${bindir}"
-inst_exec bin/mvn-rpmbuild "${bindir}"
+inst_exec target/mvn-local "${bindir}"
+inst_exec target/mvn-rpmbuild "${bindir}"
inst_data configs/configuration-20.xml "${datadir}/xmvn"
inst_data configs/configuration-20-rpmbuild.xml "${datadir}/xmvn"
diff --git a/java-utils/java-functions b/java-utils/java-functions
index eeed64a..da576a9 100644
--- a/java-utils/java-functions
+++ b/java-utils/java-functions
@@ -14,8 +14,8 @@
_JAVA_HOME="$JAVA_HOME"
# Read configuration or die.
-if [ -f /etc/java/java.conf ] ; then
- . /etc/java/java.conf
+if [ -f "%{sysconfdir}/java/java.conf" ] ; then
+ . "%{sysconfdir}/java/java.conf"
else
echo "Can't find configuration file, aborting"
exit 1
@@ -89,7 +89,7 @@ set_classpath() {
if [ -n "$ADDITIONAL_JARS" ] ; then
jars="$jars $ADDITIONAL_JARS"
fi
- LOCAL_CLASSPATH=$(/usr/bin/build-classpath $jars)
+ LOCAL_CLASSPATH=$("%{bindir}/build-classpath" $jars)
# append original classpath if defined
CLASSPATH=$LOCAL_CLASSPATH:$CLASSPATH
}
@@ -210,17 +210,17 @@ link_jar_repository() {
while [ $# -gt 0 ] ; do
case "$1" in
-h|--hard)
- _LINK_CMD="/bin/ln -f"
+ _LINK_CMD="ln -f"
;;
-s|--soft|--symbolic)
- _LINK_CMD="/bin/ln -fs"
+ _LINK_CMD="ln -fs"
;;
-c|--copy)
- _LINK_CMD="/bin/cp -f"
+ _LINK_CMD="cp -f"
;;
-p|--preserve-naming)
_PRESERVE_NAMING="true"
- [ -z "$_LINK_CMD" ] && _LINK_CMD="/bin/cp -f"
+ [ -z "$_LINK_CMD" ] && _LINK_CMD="cp -f"
;;
--|-)
break
@@ -240,7 +240,7 @@ link_jar_repository() {
shift
done
- [ -z "$_LINK_CMD" ] && _LINK_CMD="/bin/ln -fs"
+ [ -z "$_LINK_CMD" ] && _LINK_CMD="ln -fs"
extension_list="$extension_list $@"
pushd $repository > /dev/null
@@ -255,18 +255,18 @@ link_jar_repository() {
if [ $found -eq 0 ] ; then
if [ -d "$found_extension" ] ; then
for jar in $(find "$found_extension" -follow -name "*.jar") ; do
- /bin/rm -fr "$extension$(basename $jar)"
+ rm -fr "$extension$(basename $jar)"
$_LINK_CMD $jar "$extension$(basename $jar)"
done
else
- /bin/rm -fr $extension.jar
+ rm -fr $extension.jar
$_LINK_CMD $found_extension $extension.jar
fi
else
# Defer failure to get list of all errors in one shot
# Do create a symlink so we can recover with another jvm
- /bin/rm -fr $extension.jar
- /bin/ln -fs /could/not/find/extension/for/this/jvm $extension.jar
+ rm -fr $extension.jar
+ ln -fs /could/not/find/extension/for/this/jvm $extension.jar
_ALLFOUND=1
fi
done
@@ -282,13 +282,13 @@ find_jar() {
# If extension contains semicolon then assume it specifies Maven
# artifact coordinates.
if echo "$1" | grep -q ':'; then
- if ! [ -x "${M2_HOME:-/usr/share/xmvn}/bin/xmvn-resolve" ]; then
+ if ! [ -x "${M2_HOME:-%{datadir}/xmvn}/bin/xmvn-resolve" ]; then
echo "$0: Unable to execute xmvn-resolve." >&2
echo "$0: Make sure that XMvn is installed and M2_HOME is set correctly." >&2
return 1
fi
- found_extension=$("${M2_HOME:-/usr/share/xmvn}/bin/xmvn-resolve" -c "$1")
+ found_extension=$("${M2_HOME:-%{datadir}/xmvn}/bin/xmvn-resolve" -c "$1")
found=$?
else
# Remove jar extension if present
diff --git a/test/xmvn b/test/xmvn
index 0961c8f..7ea8c03 100755
--- a/test/xmvn
+++ b/test/xmvn
@@ -1,4 +1,4 @@
#!/bin/sh
#mock script for testing arguments passed to xmvn
-/bin/mkdir -p .xmvn
-/bin/echo "${@}">.xmvn/out
+mkdir -p .xmvn
+echo "${@}">.xmvn/out
More information about the java-sig-commits
mailing list