View | Details | Raw Unified | Return to bug 259468 | Differences between
and this patch

Collapse All | Expand All

(-)java/javavmwrapper/Makefile (+2 lines)
Lines 2-7 Link Here
2
2
3
PORTNAME=	javavmwrapper
3
PORTNAME=	javavmwrapper
4
PORTVERSION=	2.7.7
4
PORTVERSION=	2.7.7
5
PORTREVISION=	1
5
CATEGORIES=	java
6
CATEGORIES=	java
6
MASTER_SITES=	# none
7
MASTER_SITES=	# none
7
DISTFILES=	# none
8
DISTFILES=	# none
Lines 46-51 do-install: Link Here
46
	${INSTALL_SCRIPT} ${WRKSRC}/classpath.sh ${STAGEDIR}${PREFIX}/bin/classpath
47
	${INSTALL_SCRIPT} ${WRKSRC}/classpath.sh ${STAGEDIR}${PREFIX}/bin/classpath
47
	${INSTALL_SCRIPT} ${WRKSRC}/javavmwrapper.sh ${STAGEDIR}${PREFIX}/bin/javavm
48
	${INSTALL_SCRIPT} ${WRKSRC}/javavmwrapper.sh ${STAGEDIR}${PREFIX}/bin/javavm
48
	${LN} -sf javavm ${STAGEDIR}${PREFIX}/bin/checkvms
49
	${LN} -sf javavm ${STAGEDIR}${PREFIX}/bin/checkvms
50
	${LN} -sf javavm ${STAGEDIR}${PREFIX}/bin/java_home
49
	${LN} -sf javavm ${STAGEDIR}${PREFIX}/bin/manvm
51
	${LN} -sf javavm ${STAGEDIR}${PREFIX}/bin/manvm
50
	${LN} -sf javavm ${STAGEDIR}${PREFIX}/bin/registervm
52
	${LN} -sf javavm ${STAGEDIR}${PREFIX}/bin/registervm
51
	${LN} -sf javavm ${STAGEDIR}${PREFIX}/bin/unregistervm
53
	${LN} -sf javavm ${STAGEDIR}${PREFIX}/bin/unregistervm
(-)java/javavmwrapper/pkg-plist (+1 lines)
Lines 1-5 Link Here
1
bin/checkvms
1
bin/checkvms
2
bin/classpath
2
bin/classpath
3
bin/java_home
3
bin/javavm
4
bin/javavm
4
bin/manvm
5
bin/manvm
5
bin/registervm
6
bin/registervm
(-)java/javavmwrapper/src/javavmwrapper.sh (-35 / +101 lines)
Lines 424-434 manualpageVM () { Link Here
424
    # Look for an appropriate JAVA_HOME
424
    # Look for an appropriate JAVA_HOME
425
    _JAVAVM_SAVE_PROG=${_JAVAVM_PROG}
425
    _JAVAVM_SAVE_PROG=${_JAVAVM_PROG}
426
    _JAVAVM_PROG="../man/man1/${1}.1"
426
    _JAVAVM_PROG="../man/man1/${1}.1"
427
    setJavaHome
427
    ensureJavaHome
428
    if [ $? != 0 ]; then
429
        echo "${_JAVAVM_SAVE_PROG}: error: no suitable JavaVMs found" 1>&2
430
        exit 1
431
    fi
432
428
433
    # Run man(1)
429
    # Run man(1)
434
    MANPATH="${JAVA_HOME}/man:${MANPATH}"
430
    MANPATH="${JAVA_HOME}/man:${MANPATH}"
Lines 442-447 manualpageVM () { Link Here
442
    fi
438
    fi
443
}
439
}
444
440
441
#
442
# Handle the java_home command
443
#
444
# This works similarly to the command of the same name on macOS
445
#
446
javaHome() {
447
    _JAVAVM_SAVE_PROG=${_JAVAVM_PROG}
448
    _JAVAVM_PROG=java
449
    # options:
450
    # -v VERSION: Override JAVA_VERSION
451
    # -o OS: override JAVA_OS
452
    # -e COMMAND: Set JAVA_HOME according to settings and exec the given command
453
    # -h: Print usage and exit
454
    while getopts eho:v: OPT; do
455
        case "${OPT}" in
456
            v )
457
                if [ -z "${OPTARG}" ]; then
458
                    echo "${_JAVAVM_SAVE_PROG}: error: No version specified for ${OPT}" 1>&2
459
                    exit 1
460
                fi
461
                export JAVA_VERSION="${OPTARG}"
462
                ;;
463
            o )
464
                if [ -z "${OPTARG}" ]; then
465
                    echo "${_JAVAVM_SAVE_PROG}: error: No platform specified for ${OPT}" 1>&2
466
                    exit 1
467
                fi
468
                export JAVA_OS="${OPTARG}"
469
                ;;
470
            e )
471
                if [ -n "${_JAVAVM_SAVE_PATH}" ]; then
472
                    export PATH=${_JAVAVM_SAVE_PATH}
473
                fi
474
                ensureJavaHome
475
                export JAVA_HOME
476
                shift $((OPTIND-1))
477
                exec "${@}"
478
                ;;
479
            h )
480
                echo "Usage: ${_JAVAVM_SAVE_PROG} [-v VERSION] [-o OS] [-e COMMAND]"
481
                exit 0
482
                ;;
483
            ? )
484
                echo "Usage: ${_JAVAVM_SAVE_PROG} [-v VERSION] [-o OS] [-e COMMAND]" 2>&1
485
                exit 1 # bad short option reported by getopts
486
                ;;
487
        esac
488
    done
489
    shift $((OPTIND-1))
490
491
    ensureJavaHome
492
493
    echo "${JAVA_HOME}"
494
    exit 0
495
}
496
497
#
498
# Attempt to execute the appropriate JVM
499
#
500
runJava() {
501
    # Initialise options
502
    if [ -r "${_JAVAVM_OPTS_CONF}" ]; then
503
        . "${_JAVAVM_OPTS_CONF}"
504
    fi
505
    _JAVAVM_OPTS=
506
507
    # Determine JAVA_HOME
508
    ensureJavaHome
509
510
    # Set up the options and run the command
511
    if [ -x "${_JAVAVM_PROG_PATH}/${_JAVAVM_PROG}" ]; then
512
        setJavaOptions "${_JAVAVM_PROG}" "`basename ${JAVA_HOME}`"
513
        export JAVA_HOME
514
        tryJavaCommand "${_JAVAVM_PROG_PATH}/${_JAVAVM_PROG}" ${_JAVAVM_OPTS} "${@}"
515
    fi
516
517
    echo "${_JAVAVM_PROG}: error: no suitable JavaVMs found" 1>&2
518
    exit 1
519
}
520
445
#
521
#
446
# Set up an appropriate JAVA_HOME
522
# Set up an appropriate JAVA_HOME
447
#
523
#
Lines 631-636 setJavaHome() { Link Here
631
    return 1
707
    return 1
632
}
708
}
633
709
710
#
711
# Set JAVA_HOME or exit with an error message
712
#
713
ensureJavaHome() {
714
    setJavaHome
715
    if [ $? != 0 ]; then
716
        echo "${_JAVAVM_SAVE_PROG:-_JAVAVM_PROG}: error: no suitable JavaVMs found" 1>&2
717
        exit 1
718
    fi
719
}
720
634
# Check for an alias and call the appropriate function.
721
# Check for an alias and call the appropriate function.
635
case "${_JAVAVM_PROG}" in
722
case "${_JAVAVM_PROG}" in
636
    registervm )
723
    registervm )
Lines 645-679 case "${_JAVAVM_PROG}" in Link Here
645
    manvm )
732
    manvm )
646
        manualpageVM "${1}"
733
        manualpageVM "${1}"
647
        ;;
734
        ;;
735
    java_home )
736
        javaHome "${@}"
737
        ;;
738
    javavm )
739
        # Backwards compatibility
740
        echo "${_JAVAVM_PROG}: warning: The use of 'javavm' as a synonym for 'java' is deprecated" 1>&2
741
        _JAVAVM_PROG=java
742
        ;;
648
esac
743
esac
649
744
650
# Main ()
745
runJava "${@}"
651
652
# Backwards compatibility
653
if [ "${_JAVAVM_PROG}" = "javavm" ]; then
654
    echo "${_JAVAVM_PROG}: warning: The use of 'javavm' as a synonym for 'java' is deprecated" 1>&2
655
    _JAVAVM_PROG=java
656
fi
657
658
# Initialise options
659
if [ -r "${_JAVAVM_OPTS_CONF}" ]; then
660
    . "${_JAVAVM_OPTS_CONF}"
661
fi
662
_JAVAVM_OPTS=
663
664
# Determine JAVA_HOME
665
setJavaHome
666
if [ $? != 0 ]; then
667
    echo "${_JAVAVM_PROG}: error: no suitable JavaVMs found" 1>&2
668
    exit 1
669
fi
670
671
# Set up the options and run the command
672
if [ -x "${_JAVAVM_PROG_PATH}/${_JAVAVM_PROG}" ]; then
673
    setJavaOptions "${_JAVAVM_PROG}" "`basename ${JAVA_HOME}`"
674
    export JAVA_HOME
675
    tryJavaCommand "${_JAVAVM_PROG_PATH}/${_JAVAVM_PROG}" ${_JAVAVM_OPTS} "${@}"
676
fi
677
678
echo "${_JAVAVM_PROG}: error: no suitable JavaVMs found" 1>&2
679
exit 1

Return to bug 259468