--- apt-pkg/deb/debversion.cc 2008-01-20 01:39:03.000000000 +0200 +++ apt-pkg/deb/debversion.cc.patch 2008-03-31 23:57:07.000000000 +0300 @@ -191,6 +191,47 @@ if (drhs != rhs) drhs++; + if (getenv ("BLANKON_UBUNTU_MODE")) + return CmpFragment(dlhs,AEnd,drhs,BEnd); + + int derivative = 0; + char *tmp; + + tmp = strstr (drhs, "ubuntu"); + if (tmp) + { + if (strstr (tmp, "-")) + derivative = 1; + } + + if (strstr (dlhs, "blankon") && strstr (drhs, "blankon") == 0) + { + if (derivative) + // something-XblankonY vs -XubuntuY-something + return -1; + else + // something-XblankonY vs -XubuntuY + return 1; + } + + derivative = 0; + tmp = strstr (dlhs, "ubuntu"); + if (tmp) + { + if (strstr (tmp, "-")) + derivative = 1; + } + + if (strstr (drhs, "blankon") && strstr (dlhs, "blankon") == 0) + { + // -XubuntuY-something vs something-XblankonY + if (derivative) + return 1; + else + // -XubuntuY vs something-XblankonY + return -1; + } + return CmpFragment(dlhs,AEnd,drhs,BEnd); } /*}}}*/