VirtualBox

Changeset 44119 in vbox


Ignore:
Timestamp:
Dec 13, 2012 1:31:33 PM (12 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
82685
Message:

Installer/linux: updated install_service.sh to work with OpenRC and fixed the test case.

Location:
trunk/src/VBox/Installer/linux
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Installer/linux/install_service/install_service.sh

    r44094 r44119  
    175175for path in "${PREFIX}/init.d/rc.d" "${PREFIX}/init.d/" "${PREFIX}/rc.d/init.d" "${PREFIX}/rc.d"; do
    176176    if test -d "${path}"; then
     177        # Check permissions for the init path.
    177178        test -w "${path}" || abort "No permission to write to \"${path}\"."
     179        # And for the System V symlink directories.
    178180        for i in rc0.d rc1.d rc6.d rc.d/rc0.d rc.d/rc1.d rc.d/rc6.d; do
    179181            if test -d "${PREFIX}/${i}"; then
    180182                test -w "${PREFIX}/${i}" ||
    181                     abort "No permission to write to \"${PREFIX}/${i}\"".
     183                    abort "No permission to write to \"${PREFIX}/${i}\"."
    182184            fi
    183185        done
     186        # And for the OpenRC symlink directories.
     187        if test -d "${PREFIX}/runlevel/"; then
     188            test -w "${PREFIX}/runlevel/" ||
     189                abort "No permission to write to \"${PREFIX}/runlevel\"".
     190        fi
    184191        found_init="true"
    185192        update=""
     
    197204            # Various known combinations of sysvinit rc directories.
    198205            for i in "${PREFIX}"/rc*.d/[KS]??"${SERVICE_NAME}" "${PREFIX}"/rc.d/rc*.d/[KS]??"${SERVICE_NAME}"; do
    199                 rm -f "$i"
     206                rm -f "${i}"
    200207            done
    201208            # And OpenRC.
    202             type rc-update > /dev/null 2>&1 &&
    203                 rc-update del "${1}" > /dev/null 2>&1
     209            test -d "${PREFIX}/runlevel/" &&
     210                for i in "/${PREFIX}/runlevel"/*/"${SERVICE_NAME}"; do
     211                    rm -f "${i}"
     212                done
    204213            # Various known combinations of sysvinit rc directories.
    205214            if test -n "${ENABLE}"; then
     
    219228                done
    220229                # And OpenRC.
    221                 type rc-update > /dev/null 2>&1 &&
    222                     rc-update add "${1}" default > /dev/null 2>&1
     230                test -d "${PREFIX}/runlevel/default" &&
     231                    ln -sf "${path}/${SERVICE_NAME}" "/${PREFIX}/runlevel/default/"
    223232            fi
    224233        fi
  • trunk/src/VBox/Installer/linux/testcase/tstInstallInit.sh

    r44088 r44119  
    102102        mkdir "${tmpdir}/rc${i}.d/" "${tmpdir}/rc.d/rc${i}.d/"
    103103    done
     104    mkdir -p "${tmpdir}/runlevel/default" "${tmpdir}/runlevel/boot"
    104105    mkdir "${tmpdir}/run"
    105106}
     
    114115test_service "${tmpdir}" "service"
    115116# And install it.
    116 helpers/install_service --command "${tmpdir}/service" --arguments "test of my\ arguments" --description "My description" --prefix "${tmpdir}" --enable ||
    117     fail_msg "\"helpers/install_service\" failed."
     117scripts/install_service --command "${tmpdir}/service" --arguments "test of my\ arguments" --description "My description" --prefix "${tmpdir}" --enable ||
     118    fail_msg "\"scripts/install_service\" failed."
    118119# Check that the main service file was created as specified.
    119120if test -x "${tmpdir}/init.d/service"; then
     
    149150fi
    150151# Check the status again - now it should be stopped.
    151 "${tmpdir}/rc.d/rc3.d/S20service" --prefix "${tmpdir}" --lsb-functions "" status >/dev/null 2>&1 &&
    152     fail_msg "\"${tmpdir}/rc.d/rc3.d/S20service\" reported the wrong status."
     152"${tmpdir}/runlevel/service" --prefix "${tmpdir}" --lsb-functions "" status >/dev/null 2>&1 &&
     153    fail_msg "\"${tmpdir}/runlevel/service\" reported the wrong status."
    153154# Final summary.
    154155if test -n "${failed}"; then
     
    167168test_service "${tmpdir}" "service"
    168169# Install it.
    169 helpers/install_service --command "${tmpdir}/service" --arguments "test of my\ arguments" --description "My description" --prefix "${tmpdir}" --enable ||
    170     fail_msg "\"helpers/install_service\" failed."
     170scripts/install_service --command "${tmpdir}/service" --arguments "test of my\ arguments" --description "My description" --prefix "${tmpdir}" --enable ||
     171    fail_msg "\"scripts/install_service\" failed."
    171172# And remove it again.
    172 helpers/install_service --command "${tmpdir}/service" --prefix "${tmpdir}" --remove ||
    173     fail_msg "\"helpers/install_service\" failed."
     173scripts/install_service --command "${tmpdir}/service" --prefix "${tmpdir}" --remove ||
     174    fail_msg "\"scripts/install_service\" failed."
    174175# After uninstallation this should be the only file left in the init tree.
    175176rm "${tmpdir}/service"
     
    192193test_service "${tmpdir}" "service"
    193194# Install it.
    194 helpers/install_service --command "${tmpdir}/service" --arguments "test of my\ arguments" --description "My description" --prefix "${tmpdir}" --enable ||
    195     fail_msg "\"helpers/install_service\" failed."
    196 # Install it disabled without forcing.
    197 helpers/install_service --command "${tmpdir}/service" --arguments "test of my\ arguments" --description "My description" --prefix "${tmpdir}" --disable ||
    198     fail_msg "\"helpers/install_service\" failed."
    199 test "x`find "${tmpdir}"/rc*.d -type l | wc -l`" = "x14" ||
     195scripts/install_service --command "${tmpdir}/service" --arguments "test of my\ arguments" --description "My description" --prefix "${tmpdir}" --enable ||
     196    fail_msg "\"scripts/install_service\" failed."
     197# Install it disabled without forcing.
     198scripts/install_service --command "${tmpdir}/service" --arguments "test of my\ arguments" --description "My description" --prefix "${tmpdir}" --disable ||
     199    fail_msg "\"scripts/install_service\" failed."
     200test "x`find "${tmpdir}"/rc*.d "${tmpdir}/runlevel" -type l | wc -l`" = "x15" ||
    200201    fail_msg "links were removed on non-forced disable."
    201202# Final summary.
     
    215216test_service "${tmpdir}" "service"
    216217# Install it.
    217 helpers/install_service --command "${tmpdir}/service" --arguments "test of my\ arguments" --description "My description" --prefix "${tmpdir}" --disable ||
    218     fail_msg "\"helpers/install_service\" failed."
    219 # Install it disabled without forcing.
    220 helpers/install_service --command "${tmpdir}/service" --arguments "test of my\ arguments" --description "My description" --prefix "${tmpdir}" --enable ||
    221     fail_msg "\"helpers/install_service\" failed."
    222 test "x`find "${tmpdir}"/rc*.d -type l`" = "x" ||
     218scripts/install_service --command "${tmpdir}/service" --arguments "test of my\ arguments" --description "My description" --prefix "${tmpdir}" --disable ||
     219    fail_msg "\"scripts/install_service\" failed."
     220# Install it disabled without forcing.
     221scripts/install_service --command "${tmpdir}/service" --arguments "test of my\ arguments" --description "My description" --prefix "${tmpdir}" --enable ||
     222    fail_msg "\"scripts/install_service\" failed."
     223test "x`find "${tmpdir}"/rc*.d "${tmpdir}/runlevel" -type l`" = "x" ||
    223224    fail_msg "files were installed on non-forced enable."
    224225# Final summary.
     
    238239test_service "${tmpdir}" "service"
    239240# Install it.
    240 helpers/install_service --command "${tmpdir}/service" --arguments "test of my\ arguments" --description "My description" --prefix "${tmpdir}" --enable ||
    241     fail_msg "\"helpers/install_service\" failed."
    242 # Install it disabled without forcing.
    243 helpers/install_service --command "${tmpdir}/service" --arguments "test of my\ arguments" --description "My description" --prefix "${tmpdir}" --force-disable ||
    244     fail_msg "\"helpers/install_service\" failed."
    245 test "x`find "${tmpdir}"/rc*.d -type l`" = "x" ||
     241scripts/install_service --command "${tmpdir}/service" --arguments "test of my\ arguments" --description "My description" --prefix "${tmpdir}" --enable ||
     242    fail_msg "\"scripts/install_service\" failed."
     243# Install it disabled without forcing.
     244scripts/install_service --command "${tmpdir}/service" --arguments "test of my\ arguments" --description "My description" --prefix "${tmpdir}" --force-disable ||
     245    fail_msg "\"scripts/install_service\" failed."
     246test "x`find "${tmpdir}"/rc*.d "${tmpdir}/runlevel" -type l`" = "x" ||
    246247    fail_msg "links were not removed on forced disable."
    247248# Final summary.
     
    261262test_service "${tmpdir}" "service"
    262263# Install it.
    263 helpers/install_service --command "${tmpdir}/service" --arguments "test of my\ arguments" --description "My description" --prefix "${tmpdir}" --disable ||
    264     fail_msg "\"helpers/install_service\" failed."
    265 # Install it disabled without forcing.
    266 helpers/install_service --command "${tmpdir}/service" --arguments "test of my\ arguments" --description "My description" --prefix "${tmpdir}" --force-enable ||
    267     fail_msg "\"helpers/install_service\" failed."
    268 test "x`find "${tmpdir}"/rc*.d -type l | wc -l`" = "x14" ||
     264scripts/install_service --command "${tmpdir}/service" --arguments "test of my\ arguments" --description "My description" --prefix "${tmpdir}" --disable ||
     265    fail_msg "\"scripts/install_service\" failed."
     266# Install it disabled without forcing.
     267scripts/install_service --command "${tmpdir}/service" --arguments "test of my\ arguments" --description "My description" --prefix "${tmpdir}" --force-enable ||
     268    fail_msg "\"scripts/install_service\" failed."
     269test "x`find "${tmpdir}"/rc*.d "${tmpdir}/runlevel" -type l | wc -l`" = "x15" ||
    269270    fail_msg "files were not installed on forced enable."
    270271# Final summary.
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette