Package: apt Version: 0.5.9 Around 0.5.5 apt introduced that the tilde character compares to be less than anything else (including the end of the string), e.g. 3.0~rc1-1 < 3.0-1. This is also the way dpkg compares version strings.
In apt 0.5.9 it seems to be gone/broken, it believes 3.0~rc1-1 is newer than 3.0-1. root# apt-get upgrade Reading Package Lists... Done Building Dependency Tree... Done The following packages will be upgraded foobar 1 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 0B/144kB of archives. After unpacking 0B of additional disk space will be used. Do you want to continue? [Y/n] dpkg - warning: downgrading foobar from 3.0-1 to 3.0~rc1-1. (Reading database ... 150244 files and directories currently installed.) Preparing to replace foobar 3.0-1 (using .../foobar_3.0~rc1-1_i386.deb) ... Unpacking replacement foobar ... Setting up foobar (3.0~rc1-1) ...

