On Thu, 30 Jul 2015, Loic Dachary wrote: > Hi, > > What I proposed does not actually work because the package versions are not > ceph-0.94.2 but ceph-0.94.2-1trusty ( > https://github.com/ceph/ceph-build/blob/master/gen_debian_version.sh and > https://github.com/ceph/ceph-build/blob/master/build_debs.sh#L35) and will > therefore match the constraint and upgrading from ceph-0.94.2-1trusty to > ceph=0.94.2-197-g1e841b0-1trusty or ceph=0.94.3-1trusty will not do the right > thing: > > 2015-07-29T22:06:05.579 INFO:teuthology.orchestra.run.ovh228114:Running: > u'sudo DEBIAN_FRONTEND=noninteractive apt-get -y --force-yes -o > Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" > install librbd1-dbg=0.94.2-197-g1e841b0-1trusty > ceph=0.94.2-197-g1e841b0-1trusty ceph-test=0.94.2-197-g1e841b0-1trusty > ceph-dbg=0.94.2-197-g1e841b0-1trusty rbd-fuse=0.94.2-197-g1e841b0-1trusty > librados2-dbg=0.94.2-197-g1e841b0-1trusty > ceph-fuse-dbg=0.94.2-197-g1e841b0-1trusty > libcephfs-jni=0.94.2-197-g1e841b0-1trusty > libcephfs1-dbg=0.94.2-197-g1e841b0-1trusty > radosgw=0.94.2-197-g1e841b0-1trusty librados2=0.94.2-197-g1e841b0-1trusty > libcephfs1=0.94.2-197-g1e841b0-1trusty ceph-mds=0.94.2-197-g1e841b0-1trusty > radosgw-dbg=0.94.2-197-g1e841b0-1trusty librbd1=0.94.2-197-g1e841b0-1trusty > python-ceph=0.94.2-197-g1e841b0-1trusty > ceph-test-dbg=0.94.2-197-g1e841b0-1trusty > ceph-fuse=0.94.2-197-g1e841b0-1trusty ceph-common=0.94.2-197-g1e841b0-1trusty > libcephfs-java=0.94.2-197-g1e84! 1b0-1trusty > ceph-common-dbg=0.94.2-197-g1e841b0-1trusty > ceph-mds-dbg=0.94.2-197-g1e841b0-1trusty' > > 2015-07-29T22:11:11.258 INFO:teuthology.orchestra.run.ovh228114.stderr:dpkg: > error processing archive > /var/cache/apt/archives/ceph-common_0.94.2-197-g1e841b0-1trusty_amd64.deb > (--unpack): > 2015-07-29T22:11:11.259 INFO:teuthology.orchestra.run.ovh228114.stderr: > trying to overwrite '/usr/lib/python2.7/dist-packages/ceph_argparse.py', > which is also in package ceph 0.94.2-1trusty > > The release files found in ceph.com have a fixed prefix ( -1trusty, -1jessie, > etc. ) if the version in Breaks and Replaces is -2 it will always be > immediately greater. This is not what happens in Debian GNU/Linux or Ubuntu > because the package is not part of the sources. When packaging for ceph.com > repositories we are creating packages that are native (in the sense that > modifying the package requires a new release of the sources because the > packaging is part of the sources) but contrary to what is usually done with > native packages, we append a -XXXX debian version which is supposed to be the > version of the debian directory when it lives outside of the sources. > > I filed http://tracker.ceph.com/issues/12529 as "Fix" : it's not a bug but > would definitely make things easier to understand. > > Please let me know if I got it right this time ;-)
Should we just drop the suffix? I tried to match up with the backport suffixes (e.g., ~bpo70 for wheezy) so that when you did a dist-upgrade it would be able to pull in the next version. It sounds like it's not worth it, though... sage > > Cheers > > On 19/07/2015 13:28, Loic Dachary wrote: > > Hi Ken, > > > > In the context of https://github.com/ceph/ceph/pull/5206 we need to adapt > > the version constraints for the Breaks / Replaces in debian/control. What > > we currently do is something like x.y.z-vvv where we randomly pick vvv to > > be something we're sure won't be greater than the actual vvv from > > git-describe that will be associated to this specific commit (otherwise the > > constraints won't be satisfied and the install will break). > > > > When backporting it translates into something like: > > > > Package: ceph > > Depends: ceph-common (>= 0.94.2-23) > > > > Package: ceph-common > > Replaces: ceph-client-tools, > > ceph (<< 0.94.2-23), > > Breaks: ceph (<< 0.94.2-23), > > > > I propose instead we use the version of the previous stable release like so: > > > > Package: ceph > > Depends: ceph-common (>> 0.94.2) > > > > Package: ceph-common > > Replaces: ceph-client-tools, > > ceph (<= 0.94.2), > > Breaks: ceph (<= 0.94.2), > > > > I think it achieves the same thing and is less error prone in the case of > > backports. The risk is that upgrading from v0.94.2-34 to the version with > > this change will fail because the conditions are satisified (it thinks all > > versions after v0.94.2 have the change). But the odds of having a test > > machine with this specific version already installed are close to > > non-existent. The odds of us picking the wrong number and ending up with > > something that's either too high or too small are higher. > > > > What do you think ? > > > > -- > Loïc Dachary, Artisan Logiciel Libre > >