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

Package versioning and upgrades



Since ZoL (ZFS On Linux) isn't yet in Debian GNU/Linux, I've been
doing my own packages for ZoL in that package repo.

This include changes to the installer (debian-installer, base-installer,
grub-installer, partman-target and partman-zfs). But because the Debian
GNU/Linux git repo refuses force pushes, they latest versions is now
in the ZoL GIT repo (https://github.com/zfsonlinux/debian-installers).


But I think I've painted myself into a corner regarding the upgrade
path.

I have four repos:

	wheezy		=> The released ZoL version for Wheezy
	wheezy-daily	=> The GIT master releases of ZoL for Wheezy
	jessie		=> The released ZoL version for Jessie
	jessie-daily	=> The GIT master releases of ZoL for Jessie

So basically, the packages in 'wheezy' and 'jessie' are identical,
except they're compiled on the different versions of Debian GNU/Linux.

Same for 'wheezy-daily' vs. 'jessie-daily'.

Identical, in the meaning that it uses the exact same codebase/version
and patch set of ZoL, just compiled for different libraries
on two different platform version.


But certain upgrade paths isn't working (which isn't much of a
surprise actually - didn't quite think this through I guess):

UPGRADE PATH			STATUS	VERSION COMPARE
wheezy => wheezy-daily          = YES   0.6.3-1.3-1~wheezy lt 0.6.3-38-7d90f5-wheezy
wheezy => jessie                = NO    0.6.3-1.3-1~wheezy lt 0.6.3-1.3-1~jessie
wheezy => jessie-daily          = YES   0.6.3-1.3-1~wheezy lt 0.6.3-35-7d90f5-jessie
wheezy-daily => jessie          = NO    0.6.3-38-7d90f5-wheezy lt 0.6.3-1.3-1~jessie
wheezy-daily => jessie-daily    = NO    0.6.3-38-7d90f5-wheezy lt 0.6.3-35-7d90f5-jessie
jessie => jessie-daily          = YES   0.6.3-1.3-1~jessie lt 0.6.3-35-7d90f5-jessie

The versions here is the actually versions currently in the repository,
and the result (YES/NO) is the status of "dpkg --compare-versions".


My question now is: How do I setup/change the versioning so that all
of these upgrade paths work?

Doing this in intermediate steps isn't a problem, but I prefer not
to use epochs if possible (even if that would be the simplest
solution :)...

Reply to: