[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] tools: Improve make deb

On Mon, 2012-04-23 at 12:59 +0100, Fabio Fantoni wrote:
> # HG changeset patch
> # User Fabio Fantoni
> # Date 1335181425 -7200
> # Node ID 98a2059a356e51416675f6d460ccd406aa8144e1
> # Parent  b3375cbe809eb8398b75cd2b1590b957134e01f8
> tools: Improve make deb
> - Remove version from installed package name

Why? It seems to be common practice in Debian to include the version in
the package name for packages such as kernels and hypervisors.

> - Add conffiles to manage main config files on package update
> - Add/remove of main services (xencommons, xendomains)

I don't have any particular objection to doing this but I think we need
to be clear about what the purpose of Xen's "deb" target is.

It is intended as a convenience to developers (and perhaps some subset
of users), to allow them to do a reasonably clean "uninstall" of Xen
installed from source. It is not really intended to provide anything
more than that.

In particular the packages may not be fully policy compliant and we do
not plan to support things such as upgrades and the like. It also may
well be the case the installing the .deb is not sufficient to get a
working Xen system (i.e. you may still need to do much of the manual
configuration which is needed if you are building from source). If users
want a good, well supported package, well integrated, policy compliant
package for their distro then they should get it from the experts --
i.e. from the distro.

I'm just concerned that with these patches you may be trying to turn
this simple convenience functionality into something which you think is
suitable for end user consumption, which is something we need to think
carefully about since there is a maintenance (and expectation) burden
imposed by doing that.

> Signed-off-by: Fabio Fantoni <fabio.fantoni@xxxxxxxxxx>
> diff -r b3375cbe809e -r 98a2059a356e tools/misc/mkdeb
> --- a/tools/misc/mkdeb    lun apr 23 10:26:55 2012 +0200
> +++ b/tools/misc/mkdeb    lun apr 23 13:43:45 2012 +0200
> @@ -33,7 +33,7 @@
>   # Fill in the debian boilerplate
>   mkdir -p deb/DEBIAN
>   cat >deb/DEBIAN/control <<EOF
> -Package: xen-upstream-$version
> +Package: xen-upstream
>   Source: xen-upstream
>   Version: $version
>   Architecture: $arch
> @@ -47,9 +47,27 @@
>    the output of a xen "make dist" wrapped in a .deb to make it easy to
>    uninstall.
>   EOF
> +cat >deb/DEBIAN/conffiles <<EOF
> +/etc/xen/xl.conf
> +/etc/xen/xend-config.sxp
> +/etc/default/xendomains
> +/etc/default/xencommons
> +EOF
> +cat >deb/DEBIAN/postinst <<EOF
> +#!/bin/bash -e
> +insserv xencommons &&
> +insserv xendomains
> +EOF
> +cat >deb/DEBIAN/postrm <<EOF
> +#!/bin/bash -e
> +update-rc.d xendomains remove >/dev/null
> +update-rc.d xencommons remove >/dev/null
> +EOF

Calling inserv directly on install and update-rc.d on remove seems like
it is probably wrong. I suspect update-rc.d "add" is what you want.

>   # Package it up
>   chown -R root:root deb
> +chmod +x deb/DEBIAN/postinst
> +chmod +x deb/DEBIAN/postrm
>   dpkg --build deb xen-upstream-$version.deb
>   # Tidy up after ourselves

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.