]> xenbits.xensource.com Git - libvirt.git/commitdiff
build: let xgettext see strings in libvirt-guests
authorEric Blake <eblake@redhat.com>
Thu, 6 Jan 2011 19:00:30 +0000 (12:00 -0700)
committerEric Blake <eblake@redhat.com>
Mon, 17 Jan 2011 14:48:17 +0000 (07:48 -0700)
* tools/libvirt-guests.init.in: Rename...
* tools/libvirt-guests.init.sh: ...so that xgettext's language
detection via suffix will work.
* po/POTFILES.in: Update all references.
* tools/Makefile.am (EXTRA_DIST, libvirt-guests.init): Likewise.

po/POTFILES.in
tools/Makefile.am
tools/libvirt-guests.init.in [deleted file]
tools/libvirt-guests.init.sh [new file with mode: 0644]

index 5babd90e70634ac90c04734893c9581a8bb98efb..5f2ed756003a191409083a95e1947c96bd1aed73 100644 (file)
@@ -118,5 +118,5 @@ src/xen/xs_internal.c
 src/xenapi/xenapi_driver.c
 src/xenapi/xenapi_utils.c
 tools/console.c
-tools/libvirt-guests.init.in
+tools/libvirt-guests.init.sh
 tools/virsh.c
index 87cf9bd729d226aeed9e3712920990f0f05ddd4a..f008078aba7b23a899326e56d9a60f16063dd9da 100644 (file)
@@ -13,7 +13,7 @@ EXTRA_DIST = \
        virt-xml-validate.in                            \
        virt-pki-validate.in                            \
        virsh.pod                                       \
-       libvirt-guests.init.in                          \
+       libvirt-guests.init.sh                          \
        libvirt-guests.sysconf
 
 bin_SCRIPTS = virt-xml-validate virt-pki-validate
@@ -144,7 +144,7 @@ uninstall-init:
 
 BUILT_SOURCES += libvirt-guests.init
 
-libvirt-guests.init: libvirt-guests.init.in $(top_builddir)/config.status
+libvirt-guests.init: libvirt-guests.init.sh $(top_builddir)/config.status
        $(AM_V_GEN)sed                                  \
            -e 's!\@PACKAGE\@!$(PACKAGE)!g'             \
            -e 's!\@bindir\@!$(bindir)!g'               \
diff --git a/tools/libvirt-guests.init.in b/tools/libvirt-guests.init.in
deleted file mode 100644 (file)
index 8823d06..0000000
+++ /dev/null
@@ -1,355 +0,0 @@
-#!/bin/sh
-
-# the following is the LSB init header
-#
-### BEGIN INIT INFO
-# Provides: libvirt-guests
-# Required-Start: libvirtd
-# Required-Stop: libvirtd
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
-# Short-Description: suspend/resume libvirt guests on shutdown/boot
-# Description: This is a script for suspending active libvirt guests
-#              on shutdown and resuming them on next boot
-#              See http://libvirt.org
-### END INIT INFO
-
-# the following is chkconfig init header
-#
-# libvirt-guests:   suspend/resume libvirt guests on shutdown/boot
-#
-# chkconfig: 345 99 01
-# description:  This is a script for suspending active libvirt guests \
-#               on shutdown and resuming them on next boot \
-#               See http://libvirt.org
-#
-
-sysconfdir="@sysconfdir@"
-localstatedir="@localstatedir@"
-libvirtd="@sbindir@"/libvirtd
-
-# Source function library.
-test ! -r "$sysconfdir"/rc.d/init.d/functions ||
-    . "$sysconfdir"/rc.d/init.d/functions
-
-# Source gettext library.
-# Make sure this file is recognized as having translations: _("dummy")
-. "@bindir@"/gettext.sh
-
-export TEXTDOMAIN="@PACKAGE@" TEXTDOMAINDIR="@localedir@"
-
-URIS=default
-ON_BOOT=start
-ON_SHUTDOWN=suspend
-SHUTDOWN_TIMEOUT=0
-
-test -f "$sysconfdir"/sysconfig/libvirt-guests &&
-    . "$sysconfdir"/sysconfig/libvirt-guests
-
-LISTFILE="$localstatedir"/lib/libvirt/libvirt-guests
-VAR_SUBSYS_LIBVIRT_GUESTS="$localstatedir"/lock/subsys/libvirt-guests
-
-RETVAL=0
-
-retval() {
-    "$@"
-    if [ $? -ne 0 ]; then
-        RETVAL=1
-        return 1
-    else
-        return 0
-    fi
-}
-
-run_virsh() {
-    uri=$1
-    shift
-
-    if [ "x$uri" = xdefault ]; then
-        conn=
-    else
-        conn="-c $uri"
-    fi
-
-    virsh $conn "$@" </dev/null
-}
-
-run_virsh_c() {
-    ( export LC_ALL=C; run_virsh "$@" )
-}
-
-list_guests() {
-    uri=$1
-
-    list=$(run_virsh_c $uri list)
-    if [ $? -ne 0 ]; then
-        RETVAL=1
-        return 1
-    fi
-
-    uuids=
-    for id in $(echo "$list" | awk 'NR > 2 {print $1}'); do
-        uuid=$(run_virsh_c $uri dominfo $id | awk '/^UUID:/{print $2}')
-        if [ -z "$uuid" ]; then
-            RETVAL=1
-            return 1
-        fi
-        uuids="$uuids $uuid"
-    done
-
-    echo $uuids
-}
-
-guest_name() {
-    uri=$1
-    uuid=$2
-
-    name=$(run_virsh_c $uri dominfo $uuid 2>/dev/null | \
-           awk '/^Name:/{print $2}')
-    [ -n "$name" ] || name=$uuid
-
-    echo "$name"
-}
-
-guest_is_on() {
-    uri=$1
-    uuid=$2
-
-    guest_running=false
-    info=$(run_virsh_c $uri dominfo $uuid)
-    if [ $? -ne 0 ]; then
-        RETVAL=1
-        return 1
-    fi
-
-    id=$(echo "$info" | awk '/^Id:/{print $2}')
-
-    [ -n "$id" ] && [ "x$id" != x- ] && guest_running=true
-    return 0
-}
-
-started() {
-    touch "$VAR_SUBSYS_LIBVIRT_GUESTS"
-}
-
-start() {
-    [ -f "$LISTFILE" ] || { started; return 0; }
-
-    if [ "x$ON_BOOT" != xstart ]; then
-        gettext "libvirt-guests is configured not to start any guests on boot"
-        echo
-        rm -f "$LISTFILE"
-        started
-        return 0
-    fi
-
-    while read uri list; do
-        configured=false
-        for confuri in $URIS; do
-            if [ $confuri = $uri ]; then
-                configured=true
-                break
-            fi
-        done
-        if ! $configured; then
-            eval_gettext "Ignoring guests on \$uri URI"; echo
-            continue
-        fi
-
-        eval_gettext "Resuming guests on \$uri URI..."; echo
-        for guest in $list; do
-            name=$(guest_name $uri $guest)
-            eval_gettext "Resuming guest \$name: "
-            if guest_is_on $uri $guest; then
-                if $guest_running; then
-                    gettext "already active"; echo
-                else
-                    retval run_virsh $uri start "$name" >/dev/null && \
-                    gettext "done"; echo
-                fi
-            fi
-        done
-    done <"$LISTFILE"
-
-    rm -f "$LISTFILE"
-    started
-}
-
-suspend_guest()
-{
-    uri=$1
-    guest=$2
-
-    name=$(guest_name $uri $guest)
-    label=$(eval_gettext "Suspending \$name: ")
-    printf %s "$label"
-    run_virsh $uri managedsave $guest >/dev/null &
-    virsh_pid=$!
-    while true; do
-        sleep 1
-        kill -0 $virsh_pid >/dev/null 2>&1 || break
-        progress=$(run_virsh_c $uri domjobinfo $guest 2>/dev/null | \
-                   awk '/^Data processed:/{print $3, $4}')
-        if [ -n "$progress" ]; then
-            printf '\r%s%12s ' "$label" "$progress"
-        else
-            printf '\r%s%-12s ' "$label" "..."
-        fi
-    done
-    retval wait $virsh_pid && printf '\r%s%-12s\n' "$label" "$(gettext "done")"
-}
-
-shutdown_guest()
-{
-    uri=$1
-    guest=$2
-
-    name=$(guest_name $uri $guest)
-    label=$(eval_gettext "Shutting down \$name: ")
-    printf %s "$label"
-    retval run_virsh $uri shutdown $guest >/dev/null || return
-    timeout=$SHUTDOWN_TIMEOUT
-    while [ $timeout -gt 0 ]; do
-        sleep 1
-        timeout=$((timeout - 1))
-        guest_is_on $uri $guest || return
-        $guest_running || break
-        printf '\r%s%-12d ' "$label" $timeout
-    done
-
-    if guest_is_on $uri $guest; then
-        if $guest_running; then
-            printf '\r%s%-12s\n' "$label" \
-                "$(gettext "failed to shutdown in time")"
-        else
-            printf '\r%s%-12s\n' "$label" "$(gettext "done")"
-        fi
-    fi
-}
-
-stop() {
-    # last stop was not followed by start
-    [ -f "$LISTFILE" ] && return 0
-
-    suspending=true
-    if [ "x$ON_SHUTDOWN" = xshutdown ]; then
-        suspending=false
-        if [ $SHUTDOWN_TIMEOUT -le 0 ]; then
-            gettext "Shutdown action requested but SHUTDOWN_TIMEOUT was not set"
-            echo
-            RETVAL=6
-            return
-        fi
-    fi
-
-    : >"$LISTFILE"
-    for uri in $URIS; do
-        eval_gettext "Running guests on \$uri URI: "
-
-        if [ "x$uri" = xdefault ] && [ ! -x "$libvirtd" ]; then
-            gettext "libvirtd not installed; skipping this URI."; echo
-            continue
-        fi
-
-        list=$(list_guests $uri)
-        if [ $? -eq 0 ]; then
-            empty=true
-            for uuid in $list; do
-                $empty || printf ", "
-                printf %s "$(guest_name $uri $uuid)"
-                empty=false
-            done
-            if $empty; then
-                gettext "no running guests."; echo
-            else
-                echo
-                echo $uri $list >>"$LISTFILE"
-            fi
-        fi
-    done
-
-    while read uri list; do
-        if $suspending; then
-            eval_gettext "Suspending guests on \$uri URI..."; echo
-        else
-            eval_gettext "Shutting down guests on \$uri URI..."; echo
-        fi
-
-        for guest in $list; do
-            if $suspending; then
-                suspend_guest $uri $guest
-            else
-                shutdown_guest $uri $guest
-            fi
-        done
-    done <"$LISTFILE"
-
-    rm -f "$VAR_SUBSYS_LIBVIRT_GUESTS"
-}
-
-gueststatus() {
-    for uri in $URIS; do
-        echo "* $uri URI:"
-        retval run_virsh $uri list || echo
-    done
-}
-
-# rh_status
-# Display current status: whether saved state exists, and whether start
-# has been executed.  We cannot use status() from the functions library,
-# since there is no external daemon process matching this init script.
-rh_status() {
-    if [ -f "$LISTFILE" ]; then
-        gettext "stopped, with saved guests"; echo
-        RETVAL=3
-    else
-        if [ -f "$VAR_SUBSYS_LIBVIRT_GUESTS" ]; then
-            gettext "started"; echo
-        else
-            gettext "stopped, with no saved guests"; echo
-        fi
-        RETVAL=0
-    fi
-}
-
-# usage [val]
-# Display usage string, then exit with VAL (defaults to 2).
-usage() {
-    program_name=$0
-    eval_gettext "Usage: \$program_name {start|stop|status|restart|"\
-"condrestart|try-restart|reload|force-reload|gueststatus|shutdown}"; echo
-    exit ${1-2}
-}
-
-# See how we were called.
-if test $# != 1; then
-    usage
-fi
-case "$1" in
-    --help)
-        usage 0
-        ;;
-    start|stop|gueststatus)
-        $1
-        ;;
-    restart)
-        stop && start
-        ;;
-    condrestart|try-restart)
-        [ -f "$VAR_SUBSYS_LIBVIRT_GUESTS" ] && stop && start
-        ;;
-    reload|force-reload)
-        # Nothing to do; we reread configuration on each invocation
-        ;;
-    status)
-        rh_status
-        ;;
-    shutdown)
-        ON_SHUTDOWN=shutdown
-        stop
-        ;;
-    *)
-        usage
-        ;;
-esac
-exit $RETVAL
diff --git a/tools/libvirt-guests.init.sh b/tools/libvirt-guests.init.sh
new file mode 100644 (file)
index 0000000..8823d06
--- /dev/null
@@ -0,0 +1,355 @@
+#!/bin/sh
+
+# the following is the LSB init header
+#
+### BEGIN INIT INFO
+# Provides: libvirt-guests
+# Required-Start: libvirtd
+# Required-Stop: libvirtd
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: suspend/resume libvirt guests on shutdown/boot
+# Description: This is a script for suspending active libvirt guests
+#              on shutdown and resuming them on next boot
+#              See http://libvirt.org
+### END INIT INFO
+
+# the following is chkconfig init header
+#
+# libvirt-guests:   suspend/resume libvirt guests on shutdown/boot
+#
+# chkconfig: 345 99 01
+# description:  This is a script for suspending active libvirt guests \
+#               on shutdown and resuming them on next boot \
+#               See http://libvirt.org
+#
+
+sysconfdir="@sysconfdir@"
+localstatedir="@localstatedir@"
+libvirtd="@sbindir@"/libvirtd
+
+# Source function library.
+test ! -r "$sysconfdir"/rc.d/init.d/functions ||
+    . "$sysconfdir"/rc.d/init.d/functions
+
+# Source gettext library.
+# Make sure this file is recognized as having translations: _("dummy")
+. "@bindir@"/gettext.sh
+
+export TEXTDOMAIN="@PACKAGE@" TEXTDOMAINDIR="@localedir@"
+
+URIS=default
+ON_BOOT=start
+ON_SHUTDOWN=suspend
+SHUTDOWN_TIMEOUT=0
+
+test -f "$sysconfdir"/sysconfig/libvirt-guests &&
+    . "$sysconfdir"/sysconfig/libvirt-guests
+
+LISTFILE="$localstatedir"/lib/libvirt/libvirt-guests
+VAR_SUBSYS_LIBVIRT_GUESTS="$localstatedir"/lock/subsys/libvirt-guests
+
+RETVAL=0
+
+retval() {
+    "$@"
+    if [ $? -ne 0 ]; then
+        RETVAL=1
+        return 1
+    else
+        return 0
+    fi
+}
+
+run_virsh() {
+    uri=$1
+    shift
+
+    if [ "x$uri" = xdefault ]; then
+        conn=
+    else
+        conn="-c $uri"
+    fi
+
+    virsh $conn "$@" </dev/null
+}
+
+run_virsh_c() {
+    ( export LC_ALL=C; run_virsh "$@" )
+}
+
+list_guests() {
+    uri=$1
+
+    list=$(run_virsh_c $uri list)
+    if [ $? -ne 0 ]; then
+        RETVAL=1
+        return 1
+    fi
+
+    uuids=
+    for id in $(echo "$list" | awk 'NR > 2 {print $1}'); do
+        uuid=$(run_virsh_c $uri dominfo $id | awk '/^UUID:/{print $2}')
+        if [ -z "$uuid" ]; then
+            RETVAL=1
+            return 1
+        fi
+        uuids="$uuids $uuid"
+    done
+
+    echo $uuids
+}
+
+guest_name() {
+    uri=$1
+    uuid=$2
+
+    name=$(run_virsh_c $uri dominfo $uuid 2>/dev/null | \
+           awk '/^Name:/{print $2}')
+    [ -n "$name" ] || name=$uuid
+
+    echo "$name"
+}
+
+guest_is_on() {
+    uri=$1
+    uuid=$2
+
+    guest_running=false
+    info=$(run_virsh_c $uri dominfo $uuid)
+    if [ $? -ne 0 ]; then
+        RETVAL=1
+        return 1
+    fi
+
+    id=$(echo "$info" | awk '/^Id:/{print $2}')
+
+    [ -n "$id" ] && [ "x$id" != x- ] && guest_running=true
+    return 0
+}
+
+started() {
+    touch "$VAR_SUBSYS_LIBVIRT_GUESTS"
+}
+
+start() {
+    [ -f "$LISTFILE" ] || { started; return 0; }
+
+    if [ "x$ON_BOOT" != xstart ]; then
+        gettext "libvirt-guests is configured not to start any guests on boot"
+        echo
+        rm -f "$LISTFILE"
+        started
+        return 0
+    fi
+
+    while read uri list; do
+        configured=false
+        for confuri in $URIS; do
+            if [ $confuri = $uri ]; then
+                configured=true
+                break
+            fi
+        done
+        if ! $configured; then
+            eval_gettext "Ignoring guests on \$uri URI"; echo
+            continue
+        fi
+
+        eval_gettext "Resuming guests on \$uri URI..."; echo
+        for guest in $list; do
+            name=$(guest_name $uri $guest)
+            eval_gettext "Resuming guest \$name: "
+            if guest_is_on $uri $guest; then
+                if $guest_running; then
+                    gettext "already active"; echo
+                else
+                    retval run_virsh $uri start "$name" >/dev/null && \
+                    gettext "done"; echo
+                fi
+            fi
+        done
+    done <"$LISTFILE"
+
+    rm -f "$LISTFILE"
+    started
+}
+
+suspend_guest()
+{
+    uri=$1
+    guest=$2
+
+    name=$(guest_name $uri $guest)
+    label=$(eval_gettext "Suspending \$name: ")
+    printf %s "$label"
+    run_virsh $uri managedsave $guest >/dev/null &
+    virsh_pid=$!
+    while true; do
+        sleep 1
+        kill -0 $virsh_pid >/dev/null 2>&1 || break
+        progress=$(run_virsh_c $uri domjobinfo $guest 2>/dev/null | \
+                   awk '/^Data processed:/{print $3, $4}')
+        if [ -n "$progress" ]; then
+            printf '\r%s%12s ' "$label" "$progress"
+        else
+            printf '\r%s%-12s ' "$label" "..."
+        fi
+    done
+    retval wait $virsh_pid && printf '\r%s%-12s\n' "$label" "$(gettext "done")"
+}
+
+shutdown_guest()
+{
+    uri=$1
+    guest=$2
+
+    name=$(guest_name $uri $guest)
+    label=$(eval_gettext "Shutting down \$name: ")
+    printf %s "$label"
+    retval run_virsh $uri shutdown $guest >/dev/null || return
+    timeout=$SHUTDOWN_TIMEOUT
+    while [ $timeout -gt 0 ]; do
+        sleep 1
+        timeout=$((timeout - 1))
+        guest_is_on $uri $guest || return
+        $guest_running || break
+        printf '\r%s%-12d ' "$label" $timeout
+    done
+
+    if guest_is_on $uri $guest; then
+        if $guest_running; then
+            printf '\r%s%-12s\n' "$label" \
+                "$(gettext "failed to shutdown in time")"
+        else
+            printf '\r%s%-12s\n' "$label" "$(gettext "done")"
+        fi
+    fi
+}
+
+stop() {
+    # last stop was not followed by start
+    [ -f "$LISTFILE" ] && return 0
+
+    suspending=true
+    if [ "x$ON_SHUTDOWN" = xshutdown ]; then
+        suspending=false
+        if [ $SHUTDOWN_TIMEOUT -le 0 ]; then
+            gettext "Shutdown action requested but SHUTDOWN_TIMEOUT was not set"
+            echo
+            RETVAL=6
+            return
+        fi
+    fi
+
+    : >"$LISTFILE"
+    for uri in $URIS; do
+        eval_gettext "Running guests on \$uri URI: "
+
+        if [ "x$uri" = xdefault ] && [ ! -x "$libvirtd" ]; then
+            gettext "libvirtd not installed; skipping this URI."; echo
+            continue
+        fi
+
+        list=$(list_guests $uri)
+        if [ $? -eq 0 ]; then
+            empty=true
+            for uuid in $list; do
+                $empty || printf ", "
+                printf %s "$(guest_name $uri $uuid)"
+                empty=false
+            done
+            if $empty; then
+                gettext "no running guests."; echo
+            else
+                echo
+                echo $uri $list >>"$LISTFILE"
+            fi
+        fi
+    done
+
+    while read uri list; do
+        if $suspending; then
+            eval_gettext "Suspending guests on \$uri URI..."; echo
+        else
+            eval_gettext "Shutting down guests on \$uri URI..."; echo
+        fi
+
+        for guest in $list; do
+            if $suspending; then
+                suspend_guest $uri $guest
+            else
+                shutdown_guest $uri $guest
+            fi
+        done
+    done <"$LISTFILE"
+
+    rm -f "$VAR_SUBSYS_LIBVIRT_GUESTS"
+}
+
+gueststatus() {
+    for uri in $URIS; do
+        echo "* $uri URI:"
+        retval run_virsh $uri list || echo
+    done
+}
+
+# rh_status
+# Display current status: whether saved state exists, and whether start
+# has been executed.  We cannot use status() from the functions library,
+# since there is no external daemon process matching this init script.
+rh_status() {
+    if [ -f "$LISTFILE" ]; then
+        gettext "stopped, with saved guests"; echo
+        RETVAL=3
+    else
+        if [ -f "$VAR_SUBSYS_LIBVIRT_GUESTS" ]; then
+            gettext "started"; echo
+        else
+            gettext "stopped, with no saved guests"; echo
+        fi
+        RETVAL=0
+    fi
+}
+
+# usage [val]
+# Display usage string, then exit with VAL (defaults to 2).
+usage() {
+    program_name=$0
+    eval_gettext "Usage: \$program_name {start|stop|status|restart|"\
+"condrestart|try-restart|reload|force-reload|gueststatus|shutdown}"; echo
+    exit ${1-2}
+}
+
+# See how we were called.
+if test $# != 1; then
+    usage
+fi
+case "$1" in
+    --help)
+        usage 0
+        ;;
+    start|stop|gueststatus)
+        $1
+        ;;
+    restart)
+        stop && start
+        ;;
+    condrestart|try-restart)
+        [ -f "$VAR_SUBSYS_LIBVIRT_GUESTS" ] && stop && start
+        ;;
+    reload|force-reload)
+        # Nothing to do; we reread configuration on each invocation
+        ;;
+    status)
+        rh_status
+        ;;
+    shutdown)
+        ON_SHUTDOWN=shutdown
+        stop
+        ;;
+    *)
+        usage
+        ;;
+esac
+exit $RETVAL