On Fri, Mar 27, 2015 at 09:46:06PM +0100, Turbo Fredriksson wrote: > 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".
I suppose the big problem you have is that jessie is alphabetically lower than wheezy. > My question now is: How do I setup/change the versioning so that all > of these upgrade paths work? Well you can solve the wheezy to jessue upgradesm but I don't think you can solve wheezy-daily => jessie, since that really is a downgrade. > 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 :)... If you were to do this: Change 0.6.3-1.3-1~wheezy to 0.6.3-1.3-2~wheezy Change 0.6.3-1.3-1~jessie to 0.6.3-1.3-2 Change 0.6.3-38-7d90f5-wheezy to 0.6.3-39-7d90f5~wheezy Change 0.6.3-35-7d90f5-jessie to 0.6.3-39-7d90f5 So always use ~wheezy suffix when building for wheezy and use no suffix when building for jessie, and bump the main packaging version up to make the new versions higher than they were before. UPGRADE PATH STATUS VERSION COMPARE wheezy => wheezy-daily = YES 0.6.3-1.3-2~wheezy lt 0.6.3-39-7d90f5~wheezy wheezy => jessie = YES 0.6.3-1.3-2~wheezy lt 0.6.3-1.3-2 wheezy => jessie-daily = YES 0.6.3-1.3-2~wheezy lt 0.6.3-39-7d90f5 wheezy-daily => jessie = NO 0.6.3-39-7d90f5~wheezy lt 0.6.3-1.3-2 wheezy-daily => jessie-daily = YES 0.6.3-39-7d90f5~wheezy lt 0.6.3-39-7d90f5 jessie => jessie-daily = YES 0.6.3-1.3-2 lt 0.6.3-39-7d90f5 So by only using ~wheezy on the wheezy versions and using nothing on jessie, the jessie version is ALWAYS higher, since ~anything is automatically less than nothing (this is why backports and such use that in their version suffix). The only unsolvable case is the one that is an actual downgrade, which there is no way to solve automatically. If someone wants to do that they will have to force downgrading to the older version. -- Len Sorensen -- To UNSUBSCRIBE, email to debian-boot-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20150327212551.ge29...@csclub.uwaterloo.ca