This file is indexed.

/usr/bin/rebuild-gcj-db is in libgcj-common 1:4.8.2-1ubuntu6.

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
105
106
#! /bin/bash

set -e

if [ $# -gt 1 ]; then
    cat 1>&2 <<-EOF
	rebuild-gcj-db: re-build the gcj classmap database
	
	usage: $0 [install|remove]
	EOF
    exit 1
fi

mode=install
case "$1" in
    install|remove)
	mode=$1;;
esac

uname=$(uname -m)

rebuild_db()
{
    dbtool=$1; shift
    dbLocation=$1; shift
    dirs=

    for dir; do [ -d $dir ] && dirs="$dirs $dir"; done
    if [ -z "$dirs" ]; then
	# no more dirs with .db files on the system
	return 0
    fi
    mkdir -p $(dirname $dbLocation)
    if $dbtool -n $dbLocation.tmp 64; then
	:
	#case "$uname" in parisc*)
	#    echo >&2 "$dbtool succeeded unexpectedly"
	#esac
    else
	case "$uname" in
	    m68k)
	        echo >&2 "ERROR: $dbtool did fail; known problem on $uname"
		return 0;;
	    *)
		exit 2
	esac
    fi
    find $dirs -follow -name '*.db' -print0 | \
	xargs -r -0 $dbtool -m $dbLocation.tmp $dbLocation.tmp || exit 1
    mv $dbLocation.tmp $dbLocation
}


rebuild_databases()
{
    v=$1
    dbtool=gcj-dbtool-$1
    dbLocation=`$dbtool -p || true`

    if [ -n "$dbLocation" ]; then
	case "$uname" in m68k)
	    echo >&2 "$dbtool succeeded unexpectedly"
	esac
    else
	case "$uname" in
	    m68k)
	        echo >&2 "ERROR: $dbtool did fail; known problem on $uname"
		return 0;;
	    *)
		exit 2
	esac
    fi

    if [ "$mode" = remove ] && [ ! -f "$dbLocation" ]; then
	# libgcj7-0 or libgcj8 are already removed; no need
	# to rebuild anything
	return 0
    fi
    rebuild_db \
	$dbtool \
	$dbLocation \
	/usr/share/gcj/classmap.d \
	/usr/share/gcj-$v/classmap.d
}

# still different databases for each gcj-4.x

if which gcj-dbtool-4.9 >/dev/null 2>&1; then
    rebuild_databases 4.9
fi

if which gcj-dbtool-4.8 >/dev/null 2>&1; then
    rebuild_databases 4.8
fi

if which gcj-dbtool-4.7 >/dev/null 2>&1; then
    rebuild_databases 4.7
fi

if which gcj-dbtool-4.6 >/dev/null 2>&1; then
    rebuild_databases 4.6
fi

if which gcj-dbtool-4.4 >/dev/null 2>&1; then
    rebuild_databases 4.4
fi