[Openstack-devel] Ubuntu diff for nova

Ola Lundqvist ola at inguza.com
Tue Sep 4 19:42:28 UTC 2012


Hi all

This is the last diff between ubuntu and debian. And it is also the largest.

Precise Pangolin:
https://launchpad.net/ubuntu/+archive/primary/+files/nova_2012.1%2Bstable~20120612-3ee026e-0ubuntu1.2.dsc

Quantal Quetzal:
https://launchpad.net/ubuntu/+archive/primary/+files/nova_2012.2~f2-0ubuntu1.dsc

The difference between the Pangolin and the Quetzal version are
quite large, but essentially it can be summarized in adaptation
to the 2012.2 version. The details are not checked but as the
difference is rather large the diff analysis is made between Pangolin
version and latest git.

High level summary:
===================
 - The diff is very large. You can get a feeling about the difference by just
   reading debian/control below.
 - Debian dependency for nova-compute-xen, nova-api-* should probably be adjusted.
 - Adjustment to the rest should be considered.
 - Debian has usr/bin/nova-consoleauth part of nova-console package while ubuntu
   has it in the nova-consoleauth package. Debian still provide the nova-consoleauth
   package but it seems to be quite empty.
 - Quite different .init files.
 - Different patch set.

Detailed summary below:
=======================

debian/control
--------------
 - build dependency differences. The difference is large, so it is
   better to look into the detailed diff file instead. In general
   ubuntu has a large list of Build-Depends-Indep and just two
   small ones for Build-Depends. Debian has the opposite.
 general:
  - Different descriptions for the binary packages
  - When ubuntu use ${ostack-lsb-base}, debian use lsb-base (>= 3.0.6) or lsb-base or
    ${ostack-lsb-base}
 python-nova:
 - Dependency difference for python-nova. Ubuntu has the following depds
    that debian is lacking:
      openssh-client, python-netaddr, python-feedparser,
      python-xattr, python-daemon, python-suds, python-iso8601
 - ubuntu provide XB-Python-Version: ${python:Versions} for python-nova.
 nova-common:
 - Dependency difference for nova-common where debian has the following
    that ubuntu is lacking.
      python-iso8601, dbconfig-common, sqlite3
   Debian suggest: python-pysqlite2 | python-mysqldb | python-pygresql while
    ubuntu suggests: python-keystone
 - Ubuntu provides Provides: ${python:Provides} for nova-common, debian
   does not do that
 nova-compute:
 - Debian depend on adduser, ubuntu does not.
 - Debian has a replaces and breaks that ubuntu is lacking. The breaks is
   not really necessary, the replaces should be sufficient.
 nova-compute-lxc:
 - Dependency difference:
   ubuntu: nova-compute (= ${binary:Version})
   debian: adduser, nova-common
 - Conflict differences:
   ubuntu: nova-compute-hypervisor
   debian: nova-compute-kvm, nova-compute-qemu, nova-compute-uml, nova-compute-xen
 nova-compute-uml:
 - Same diff as for nova-compute-lxc except the conflicts where you replace uml with lxc.
 nova-compute-qemu:
 - Same diff as for nova-compute-lxc except the conflicts where you replace qemu with lxc.
 nova-compute-kvm:
 - Same diff as for nova-compute-lxc except the conflicts where you replace kvm with lxc.
 nova-compute-xen:
 - Dependency difference:
   ubuntu: nova-compute (= ${binary:Version}), python-libvirt, libvirt-bin, xen-hypervisor-4.1-amd64 | xen-hypervisor-4.1-i386
   debian: python-xenapi, adduser, nova-common
 - Same conflict diff as for nova-compute-lxc except the conflicts where you replace xen
   with lxc.
 nova-compute-xcp:
 - Debian does not provide this package at all. Ubuntu does.
 nova-ajax-console-proxy:
 - Debian does not provide this package at all. Ubuntu does.
 nova-network:
 - Debian has a replaces & breaks against python-nova (<< 2012.1~rc1-1)
 nova-volume:
 - Debian has a replaces & breaks against python-nova (<< 2012.1~rc1-1)
 nova-vncproxy & nova-xvpvncproxy:
 - Ubuntu has nova-vncproxy while debian has nova-xvpvncproxy (that provides nova-vncproxy)
 - Ubuntu has a conflict against novnc, while debian does not.
 nova-consoleauth:
 - Ubuntu provides this pacakge. Debian does not, instead nova-console provide
   nova-consoleauth in debian.
 nova-console:
 - Ubuntu merely recommend nova-consoleauth, where debian include it.
 - ubuntu has a breaks replaces on nova-console (<< 2012.1~rc1-0ubuntu2)
 nova-doc:
 - Debian adds libjs-jquery, libjs-underscore to the dependencies.
 nova-api-metadata:
 - Debian adds reaplces and breaks.
 nova-api-os-compute, nova-api-os-volume, nova-api-ec2:
 - Ubuntu has an unversioned breaks to nova-api which looks odd. It should be versioned
   as in the Debian package variant.
 - The debian replaces, should be versioned. This is a bug.
 nova-api-metadata & nova-api-os-compute & nova-api-os-volume & nova-api-ec2:
 - ubuntu has a Breaks: nova-api. It should be versioned.
 - debian has a versioned breaks but has a replaces which is unversioned. It should
   be versioned.

debian/rules
------------
 - different clean rules
 - different dh command
    ubuntu: dh $@ ${WITH_PYTHON2}
    debian: dh $@ --with python2
 - ubuntu package generates nova-compute.postinst from nova-compute.postinst.in
 - debian has special handling for nova-compute-xen.conf
 - different auto-test command
 - differences in what .upstart and .init files that are installed.
 - debian has special handling for nova-consoleauth init file, see also below.
 - debian has rules for po handling, ubuntu does not.
 - ubuntu has rules to override dh_installlogrotate, debian does not.

debian/copyright:
-----------------
 - Some differences. Debian has added a specific for bin/nova-manage.

debian/source_nova.py
---------------------
 - ubuntu list nova-cert in "attach_related_packages", ubuntu does not.

debian/mans/nova-network.8
--------------------------
 - spelling correction in debian

debian/*.upstart*
-----------------
 - ubuntu provides these, debian does not

debian/nova-api.init
debian/nova-console.init
debian/nova-network.init
debian/nova-objectstore.init
debian/nova-scheduler.init
debian/nova-xcp-network.init
debian/nova-xvpvncproxy.init
------------------------
 - Quite large difference but is possible to summarize.
 - Debian adds lsb init functions.
 - Debian loads defaults file, and has adjustments for the $NOVA_ENABLE flag.

debian/nova-api-metadata.ini
debian/nova-api-os-compute.init
debian/nova-api-ec2.init
debian/nova-api-os-volume.init
debian/nova-cert.init
debian/nova-compute.init
debian/nova-volume.init
----------------------------
 - large differences, see the detailed diff

debian/nova-api.postrm
debian/nova-cert.postrm
----------------------
 - Debian provides this file. It removes log files on purge.

debian/nova-common.config
-------------------------
 - Debian provides this. Makes it possible to answer questions about
   db setup at installation time.

debian/*.docs
-------------
 some differences. See the detailed diff.

debian/nova-common.install
--------------------------
 - ubuntu install debian/nova.conf to etc/nova, debian does not.
   Instead this is handled in .postinst file, see below.

debian/nova-common.nova-manage.logrotate
----------------------------------------
 - ubuntu provides this, debian does not.

debian/nova-common.postinst
---------------------------
 - Ubuntu checks for the existance of an user/group before creating.
   Debian should do the same.
 - Handling for nova.conf file instead of marking it as a conffile.
 - ubuntu alter group permissions and file permissions.
 - debian setup database and change configuration accordinly.

debian/nova-common.postrm
-------------------------
 - Debian provides this to handle purge, including purge from db.

debian/nova-common.prerm
------------------------
 - Debian provides this for db handling.

debian/nova-common.templates
----------------------------
 - Debian provides this file.

debian/nova-compute.install
debian/nova-network.install
debian/nova-volume.install
---------------------------
 - Debian provides the compute.py files in the package. Ubuntu has them elsewhere.

debian/nova-compute.pyinstall
debian/nova-network.pyinstall
debian/nova-volume.pyinstall
-----------------------------
 - Ubuntu has this file. Is this a way to do the same as in the .install file above?

debian/nova-compute-*.conf
--------------------------
 - Debian has [DEFAULT] set with connection type and libvirt_type.

nova-compute-lxc.postinst
-------------------------
 - Ubuntu set permissions to nova user and group for nova-compute.conf.
 - Debian adds a libvirt user, but does not set any permissions for it.
   Also debian does not check for the existance of that user before
   creating it.

nova/debian/nova-compute.postinst.in
------------------------------------
 - Ubuntu creates a nova user. The odd thing is that it checks for
   the nova group and if it does not exist, it creates the nova user...
debian/nova-compute-qemu.postinst
---------------------------------
 - ubuntu change the the permission for /etc/nova/nova-compute.conf
   to nova user and change its permission to user readable.

debian/nova-compute-uml.postinst
--------------------------------
 - ubuntu change the the permission for /etc/nova/nova-compute.conf
   to nova user and change its permission to user readable.
 - Debian add nova user to libvirt group

debian/nova-compute-xen.config
------------------------------
 - Debian provides this file, ubuntu does not.

debian/nova-compute-xen.postinst
--------------------------------
 - ubuntu change the the permission for /etc/nova/nova-compute.conf
   to nova user and change its permission to user readable.
 - debian add nova user to nova group
 - debian has other handling of config file
 - debian has support for configuration questions using debconf

debian/nova-compute-xen.templates
---------------------------------
 - debian has support for configuration questions using debconf

debian/nova-compute-xen.postrm
------------------------------
 - debian remove /etc/nova/nova-compute.conf at purge

debian/nova-compute-xen.conf
debian/nova.conf
----------------------------
 - ubuntu provides these files, debian does not

debian/nova.conf.dist
---------------------
 - debian provide a few more default options

debian/nova-consoleauth.*
debian/nova-console.nova-consoleauth.init
-----------------------------------------
 - ubuntu provide these files, debian does not
   The exception is that debian has a nova-consoleauth.init file
   but on the nova-console package instead,
   nova/debian/nova-console.nova-consoleauth.init. This seems to be
   handled in debian/rules file in an uncommon way.

debian/nova-console.install
---------------------------
 - debian has usr/bin/nova-consoleauth as part of this package.

debian/nova-console.postrm
debian/nova-network.postrm
debian/nova-objectstore.postrm
debian/nova-scheduler.postrm
debian/nova-compute.postrm
debian/nova-volume.postrm
debian/nova-xvpvncproxy.postrm
--------------------------
 - debian remove log file at purge, ubuntu dues not

debian/nova-network.logrotate
-----------------------------
 - debian has the /var/log/nova/nova-dhcpbridge.log in nova-network.logrotate
   while ubuntu has it in its own configuration file
   nova-network.nova-dhcpbridge.logrotate.

debian/nova-objectstore.logrotate
---------------------------------
 - different way to restart nova-objectstore

debian/nova_sudoers
-------------------
 - ubuntu has the line
   Defaults:nova !requiretty
debian/nova*vncproxy*
---------------------
 - ubuntu has the package name nova-vncproxy while
   debian name is nova-xvpvncproxy.
 - The detailed diff per file is not provided.

debian/nova-xcp-network.postinst
debian/nova-xcp-plugins.postinst
--------------------------------
 - debian package makes a chmod on a number of plugin files to
   make sure they are executeable. This is a bit of an unusual
   practice to do this way.
   The plugins to maek executable differ between packages.

debian/python-nova.postinst
---------------------------
 - debian has "update-python-modules --post-install"

debian/nova-xvpvncproxy.manpages
debian/mans/nova-vncproxy.8
---------------------------------
 - debian provides this, ubuntu does not

debian/patches/*
----------------
 ubuntu:
   kombu_tests_timeout.patch
   fix-ubuntu-tests.patch
   fix-docs-build-without-network.patch
   0001-fix-useexisting-deprecation-warnings.patch
   fix-pep8-errors.patch
 debian:
   stable_essex_20120710.patch
   iscsiadm_path.patch

debian/po/*
------------
 - debian provides this, ubuntu does not

You have made it! You read it though. :-) The even more detailed
diff is attached. Please note that some differences are just
differences because files are re-ordered or renamed.

Best regards,

// Ola

PS. I'm subscribed to the list, but I do not read it every day
so please Cc me if you remember. :-)
DS.


-- 
 --- Inguza Technology AB --- MSc in Information Technology ----
/  ola at inguza.com                    Annebergsslingan 37        \
|  opal at debian.org                   654 65 KARLSTAD            |
|  http://inguza.com/                Mobile: +46 (0)70-332 1551 |
\  gpg/f.p.: 7090 A92B 18FE 7994 0C36 4FE4 18A1 B1CF 0FE5 3DD9  /
 ---------------------------------------------------------------



More information about the Openstack-devel mailing list