[libvirt] [PATCH] Add support for systemd init service
Eric Blake
eblake at redhat.com
Fri Nov 11 19:18:32 UTC 2011
On 11/11/2011 07:32 AM, Daniel P. Berrange wrote:
> From: "Daniel P. Berrange" <berrange at redhat.com>
>
> This patch adds support for a systemd init service for libvirtd
> and libvirt-guests. The libvirtd.service is *not* written to use
> socket activation, since we want libvirtd to start on boot so it
> can do guest auto-start.
>
> +++ b/configure.ac
> @@ -329,16 +329,30 @@ dnl init script flavor
> dnl
> AC_MSG_CHECKING([for init script flavor])
> AC_ARG_WITH([init-script],
> - [AC_HELP_STRING([--with-init-script=@<:@redhat|auto|none@:>@],
> + [AC_HELP_STRING([--with-init-script=@<:@redhat|systemd|systemd+redhat|upstart|auto|none@:>@],
> [Style of init script to install @<:@default=auto@:>@])])
That's a bit long. Perhaps it would be better as:
AC_HELP_STRING([--with-init-script@<:@=STYLE@:>@],
[Style of init script to install: redhat, systemd, systemd+redhat,
upstart, auto, none @<:@default=auto@:>@])
so that ./configure --help can take advantage of better word wrap
> -AM_CONDITIONAL([LIBVIRT_INIT_SCRIPT_RED_HAT], test x$with_init_script = xredhat)
> +init_redhat=no
> +init_systemd=no
> +case "$with_init_script" in
> + systemd+redhat)
> + init_redhat=yes
> + init_systemd=yes
> + ;;
> + systemd)
> + init_systemd=yes
> + ;;
> + redhat)
> + init_redhat=yes
> + ;;
> + *)
> + if test "$cross_compiling" != yes && test -f /etc/redhat-release; then
> + init_redhat=yes
> + with_init_script=redhat
Shouldn't this line be 'init_redhat=yes'?
> @@ -111,6 +112,11 @@
> %define with_hyperv 0
> %endif
>
> +# Although earlier Fedora has systemd, libvirt still used sysvinit
> +%if 0%{?fedora} >= 17
> +%define with_systemd 1
> +%endif
But if we use the configure option, then what's to stop the systemd
script from working in older Fedora? That is, why not make this >= 16,
not 17, so that people using the virt-preview repo to get 0.9.8 on F16
will benefit from systemd?
> +++ b/po/POTFILES.in
> @@ -151,5 +151,5 @@ src/xenapi/xenapi_utils.c
> src/xenxs/xen_sxpr.c
> src/xenxs/xen_xm.c
> tools/console.c
> -tools/libvirt-guests.init.sh
> +tools/libvirt-guests.init.in
...
> diff --git a/tools/libvirt-guests.init.sh b/tools/libvirt-guests.init.in
> similarity index 100%
> rename from tools/libvirt-guests.init.sh
> rename to tools/libvirt-guests.init.in
I'm a bit worried on whether this will do the correct things with
translations embedded in the file. My recollection was that we _had_ to
name it .sh instead of .in in order to get xgettext to properly parse
out the strings marked for translations into the .pot file. I haven't
yet double-checked the resulting .pot file pre- and post-patch, but
think you may have to revert this particular change.
Overall, though, I think the patch is good.
--
Eric Blake eblake at redhat.com +1-801-349-2682
Libvirt virtualization library http://libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 620 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20111111/7b8f8926/attachment-0001.sig>
More information about the libvir-list
mailing list