1

Why is it that many packages in apt-get are outdated? For example, I would like to get the latest implementation of the clojure programming language onto my machine. However, running the command apt-cache search clojure I get the following:

clojure - a Lisp dialect for the JVM
clojure-contrib - user contributed set of libraries for clojure
clojure1.2 - Lisp dialect for the JVM
clojure1.3 - Lisp dialect for the JVM
leiningen - simple build system for Clojure
libclojure-maven-plugin-java - Clojure plugin for Maven
libclucy-clojure - Clojure interface to the Lucene search engine
libjava-jdbc-clojure - Clojure interface to sql databases via jdbc
librobert-hooke-clojure - Function wrapper library for Clojure
libtools-logging-clojure - Logging macros for Clojure

All the clojure implementations are old (clojure is version 1.1). The newest release of the clojure programming language is 1.5.

Why is it that packages are not up to date? Do I need to reconfigure my apt-get program?

  • Everything the apt suite returns is from your configured sources, found in /etc/apt/sources.list. Is the newest release (clojure 1.5) in the Ubuntu repositories (sources)? It might not have been added to the Ubuntu repositories, and is currently only available through 3rd party sources (PPAs) or available as source code. – Alaa Ali Aug 14 '13 at 21:54

1 Answers1

0

According to me, apt-get has the same philosophy as the Ubuntu updater, which doesn't proceed to any OS upgrades which are not "Long Term Support" (except if you configure it differently).

I think the basic sources only target "stable" and "safe" packages. When a program is updated by its provider, it is very unlikely for the new version to appear in the base repositories quickly. We have this behaviour with the LibreOffice suite : you'll get stuck on version 4.0.2.2 (as far as I remember) even if 4.0.3 has already been released. For this example, you needed to add the LibreOffice repository (ppa:libreoffice/libreoffice-4-0) in order to get a recent package. In some other cases, such as php, the name of the package changes between major versions (php became php5 or php53 on some distributions).

That's the same for most applications. Get the provider's PPA, or if it's not available, download the sources and compile them, it's pretty easy, given that you'll often find a INSTALL file in the source tarballs.

Some useful commands :

sudo add-apt-repository [ppa] # Adds a PPA to apt sources.
sudo apt-get update # Reloads the packages list from the current apt sources.
sudo apt-get dist-upgrade # Proceeds to packages update.

To me, this characteristic is a flaw in the apt-get conception. I agree on the fact that it provides some security to beginners (no downloads for uncertified "safe" applications), but for developers, or just for more advanced users, it can become quite disturbing.

John WH Smith
  • 2,018
  • 14
  • 21