Wednesday, February 15, 2012

LTS means ancient?

I was surprised today to see that Ubuntu 10.04 LTS comes with Mercurial 1.4! The latest Mercurial release is 2.1

Mercurial 1.7 also introduced a repository change, the dotencode requirement. This means any repository created after November 2010 with 1.7 and dotencode will not be accessible by the Mercurial from the Ubuntu LTS. This error should be familiar:

abort: requirement 'dotencode' not supported!

One solution is to use the Mercurial PPA to get a newer release.

But, it doesn't make sense to use an LTS if you are going to use software from PPAs, no?

With sun-jdk being pruned from the repositories, I'm starting to get annoyed by Ubuntu. I'm starting more and more to manage dependencies by hand instead of relying on the system. Which, imho, means the system is broken.

2 comments:

Alex Kotchnev said...

Same as in RHEL, isn't it ? AFAIK,for "enterprisey" versions of Linux that is supposedly a desired feature. I was also miffed when a CentOS (based on RHEL) was using an ancient version of Python and I had to find ways to install it (e.g. building it from source, which was still a bitch as it only had super old dependent libraries installed).

Emilian Bold said...

I guess it would be a desired feature if backward compatibility breaks. But if Mercurial 2.1 is backward compatible with 1.4 and adds new features I don't see why I wouldn't want it on a LTS.

By the same logic, new kernel drivers should never be accepted in a LTS (are they?) because it would be some new feature and not just a security patch.

The case of the different jsch 0.1.54 binaries

As part of the Apache NetBeans IP clearance we are combing through all the code and dependencies. One interesting thing we bumped into wa...