This file is indexed.

/usr/bin/mh_linkrepojar is in maven-repo-helper 1.9.2.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
#!/bin/bash --

# Copyright 2009 Ludovic Claude.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

set -e

. /usr/share/maven-repo-helper/mh_lib.sh

syntax()
{
   echo -e "Usage: mh_linkrepojar [option]... [pom] [link]..."
   echo -e "Create symlinks from the jar in the Maven repository to any location,"
   echo -e "usually to a file located in /usr/share/java."
   echo -e ""
   echo -e "Where"
   echo -e "\t[pom] is the location of the POM associated with the jar to install."
   echo -e "\t  GroupId, artifactId and version will be extracted from this file."
   echo -e "\t[link] is a link to the jar to install, usually there should"
   echo -e "\t  be a link to usr/share/java/\$jar.jar and"
   echo -e "\t  usr/share/java/\$jar-\$version.jar to comply with the Java packaging"
   echo -e "\t  guidelines. Note that there is no need to specify those particular"
   echo -e "\t  links if the --java-lib option is used."
   echo -e "Options:"
   echo -e "\t-h --help: show this text"
   echo -e "\t-V --version: show the version"
   echo -e "\t-p<package> --package=<package>: package to act on "
   echo -e "\t-r<rules> --rules=<rules>: gives the location of the rules file for"
   echo -e "\t  special properties. Optional, the default location is"
   echo -e "\t  debian/maven.rules"
   echo -e "\t-c<classifier> --classifier=<classifier>: Optional, the classifier for"
   echo -e "\t  the jar in the Maven repository. Empty by default."
   echo -e "\t-v --verbose: show more information while running"
   echo -e "\t-n --no-act: don't actually do anything, just print the results"
   exit 1
}

ARGS="p package r rules c classifier v verbose n no-act" parseargs "$@"

if [ "$ARGC" -lt "1" ]; then
   syntax
fi

RULES=$(getarg r rules)
PACKAGE=$(getarg p package)
PACKAGE=${PACKAGE:?"Package parameter (-p) is mandatory"}
CLASSIFIER=$(getarg c classifier)
VERBOSE=$(getarg v verbose)
NOACT=$(getarg n no-act)
POM="${ARGV[0]}"

DH_OPTS="${VERBOSE:+-v} ${NOACT:+-n}"
CLEAN_ARGS="--package=${PACKAGE} ${RULES:+--rules=$RULES}"

mkdir -p debian/.mh 2> /dev/null

if [[ ! -z "$VERBOSE" || "$DH_VERBOSE" = "1" ]]; then
    echo -e "\tmh_cleanpom $DH_OPTS $CLEAN_ARGS $POM debian/.mh/pom.xml debian/.mh/pom.properties"
fi

mh_cleanpom $DH_OPTS $CLEAN_ARGS $POM debian/.mh/pom.xml debian/.mh/pom.properties
source debian/.mh/pom.properties

groupPath=$(echo $groupId | tr . / )

VERSIONED_JAR_NAME="${artifactId}-${version}.jar"
if [ ! -z "$CLASSIFIER" ]; then
    VERSIONED_JAR_NAME="${artifactId}-${version}-${CLASSIFIER}.jar"
fi

MVN_VERSIONED_DIR=usr/share/maven-repo/${groupPath}/${artifactId}/${version}
MVN_VERSIONED_JAR=$MVN_VERSIONED_DIR/$VERSIONED_JAR_NAME

link_jar ()
{
	local src=$1
	local dest=$2

	if [[ "$src" == "$dest" ]]; then
		return
	fi

	if [[ ! -z "$VERBOSE" || "$DH_VERBOSE" = "1" ]]; then
		echo -e "\tdh_link $DH_OPTS -p${PACKAGE} ${src} ${dest}"
	fi
	dh_link $DH_OPTS -p${PACKAGE} ${src} ${dest}
}

# Create the links supplied on the argument list
for (( i=1; i < $ARGC; i++ )); do
    LINK_JAR="${ARGV[i]}"
    link_jar "$MVN_VERSIONED_JAR" "$LINK_JAR"
done