[ESS] Having multiple versions of ESS in Debian stable [SOLVED] - was "Version currently available in ELPA?"

Chris Evans chrishold at psyctc.org
Wed Feb 6 14:47:37 CET 2013


Brilliant. Gave me the courage to just get on and use trial and error to get what I wanted.

Background was that I realised that the version of ESS you get when you ask for it in Debian stable can be way behind the development edge for ESS particularly when we come near a new release for Debian (as now).  What I wanted and now have is to have two or three versions available.  Here's how to do it, it's easy!

1) you use synaptic or your preferred package manager to install the default ESS from the stable package repository
   (if you're reading this and on this list, you've probably already done this!)

2) mv /usr/share/emacs/site-lisp/ess /home/chris/ess-store/ess-stable to get rid of the stable version
   to somewhere from which you can reinstall it to /usr/share/emacs/site-lisp easily
3) pull down the deb file containing the version packaged (by Dirk I think) for Debian unstable.

   I went to http://www.debian.org/distrib/packages#search_packages
   and searched for "ess" in the testing distribution, today that got me version 12.04-4-1
   pull that down to a sensible directory you use for downloads and install with 
   dpkg -i ess<...>.deb (use tab to expand the <...> bit)

4) cp -a /usr/share/emacs/site-lisp/ess /home/chris/ess-store/ess-testing to get rid of the stable version
   to somewhere from which you can reinstall it to /usr/share/emacs/site-lisp easily

5) get the subversion package installed (synaptic or your preferred ...)

6) svn checkout https://svn.r-project.org/ESS/trunk /home/chris/ess-store/ess-svn

7) edit your .emacs to add line saying:
   (load "/home/chris/ess-store/ess-svn/lisp/ess-site.el")

Now you have the subversion bleeding edge ess by default.  If you comment out that line and restart Emacs you revert back to the version packaged up for testing, if you want, you can easily revert all the way back to the version in stable.  You don't have to edit .emacs, clearly you could achieve the same by just copying the latest subversion download into /usr/share/emacs/site-lisp.  That's probably more elegant.

If you want, you can automate the svn pull down.  I reminded myself about cron and anacron (latter is useful as my machine's a laptop that isn't on all the time nor connected to the internet all the time).  I've created a file in /etc/cron.daily called svn-ess which has in it:
   #!/bin/sh
   /usr/bin/svn checkout https://svn.r-project.org/ESS/trunk /home/chris/ess-store/ess-svn

Anacron or cron will make sure the subversion repository is checked daily by my machine (if on and with internet access) and if the version there has changed I'll be updated to that version.

Nice.  Thanks particularly to Martin and Dirk.  I guess that adds me to the tester population.

Very best all,

Chris

----- Original Message -----
> From: "Dirk Eddelbuettel" <edd at debian.org>
> To: "Chris Evans" <chrishold at psyctc.org>
> Cc: ess-help at r-project.org, "dirk eddelbuettel" <dirk.eddelbuettel at r-project.org>
> Sent: Wednesday, 6 February, 2013 12:24:59 PM
> Subject: Re: [ESS] Version currently available in ELPA?
> 
> 
> On 6 February 2013 at 11:08, Chris Evans wrote:
> | This is very helpful: thanks Martin.
> 
> Also, at least for the Ubuntu repo available via CRAN, you get the
> new ESS
> versions as a .deb within a day or two as Michael usually rebuilds
> what I put
> into Debian.  I use those myself on a number of machines.
> 
> If the Debian repo on CRAN doesn't, maybe you can bug Johannes about
> it. Or
> just pick the package manually -- it is just .el code so no binary
> incompatibility can arise. Or just use SVN as you did.
> 
> Dirk
> 
>  
> | ----- Original Message -----
> | > From: "Martin Maechler" <maechler at stat.math.ethz.ch>
> | > To: "Chris Evans" <chrishold at psyctc.org>
> | > Cc: ess-help at r-project.org, "dirk eddelbuettel"
> | > <dirk.eddelbuettel at r-project.org>
> | > Sent: Wednesday, 6 February, 2013 9:56:02 AM
> | > Subject: Re: [ESS] Version currently available in ELPA?
> | > 
> | > >>>>> Chris Evans <chrishold at psyctc.org>
> | > >>>>>     on Tue, 5 Feb 2013 19:02:59 +0000 writes:
> | > 
> | >     > Interestingly M-x ess-version gets me: "[No match]"
> | >     > (immediately after the "ess-version" in the minibuffer)
> | >     > I'm using stock Emacs on Debian squeeze
> | >     > ("23.2+1.7+squeeze" according to Synaptic) and also the
> | >     > stock ESS (says "5.11-1")
> | > 
> | >     > Am I way behind the cutting edge with ESS then?
> | >     > I suspect I am.
> | > 
> | > Indeed, you definitely are. I don't know the current names of the
> | >    (stable, testing, unstable, experimental)
> | > {is the terminology above correct ?} versions of Debian.
> | 
> | Just the first three.
> | 
> | > But I think you cannot reasonably stay with 'stable' if you want
> | > to be anywhere close to 'cutting edge'.
> | 
> | Yes.  It's a feature (or fault if you don't like it) of Debian that
> | it only makes security changes to "stable" after it's released so
> | projects that are changing rapidly get to be way behind the latest
> | versions.
> |  
> | > What I think you *can* do however {but I no longer recall how
> | > exactly} is to decide to use some (small! preferrably) parts of
> | > say
> | > Debian unstable, but for the rest stay with Debian stable. .. and
> | > then do that exactly with ESS ..
> | 
> | That sounds like using the backports repository.  To quote from:
> |   http://backports-master.debian.org/
> | "Backports are recompiled packages from testing (mostly) and
> | unstable (in a few cases only, e.g. security updates) in a stable
> | environment so that they will run without new libraries (whenever
> | it is possible) on a Debian stable distribution
> | 
> | Backports cannot be tested as extensively as Debian stable, and
> | backports are provided on an as-is basis, with risk of
> | incompatibilities with other components in Debian stable. Use with
> | care!
> | 
> | It is therefore recommended to select single backported packages
> | that fit your needs, and not use all available backports."
> | 
> | I don't know what's involved in maintaining the ESS package in
> | backports.  ESS only depends on dpkg (for packaging) and Emacs so
> | I suspect it isn't very difficult but Dirk will know and I know
> | that many people put huge amounts of unpaid time into ESS as it is
> | so I'm not pushing for this if it's any significant work load.  If
> | someone could point me to the information, I could see if I could
> | take that up.
> | 
> | I've got 5-11.1 in Squeeze with the backports in my repositories,
> | Vincent Goulet's incredibly helpful package of goodies for Windoze
> | gives me 12-09.2 rev. 5395.  I see that Wheezy (Debian testing) is
> | quite a bit behind that on 12.04-4-1 and Sid (Debian unstable) has
> | 12.09-2-1 which makes good sense and is reassuring: it should be
> | pretty near the cutting/bleeding edge of ESS.
> | 
> | > Thanks to Dirk Eddelbuettel (CC'ed now, so he can correct all my
> | > fuzzy/inaccurate statements :-), a new release of ESS is almost
> | > immediately "merged into" to Debian, however, typically
> | > 'unstable' only, IIRC.
> | > 
> | >     > What is the easiest way for me to stay nearer the
> | >     > edge if not right on the github (or whatever) bleeding
> | >     > edge ... or is that a safe place to be?
> | > 
> | > It's a matter of taste if you use svn (my preference) or github
> | > here.  But really I'd think that's often too bleeding edge to
> | > recommend for regular use.
> | 
> | Aha.  OK. SVN was easy to install and has pulled down a copy of the
> | latest ESS.
> | 
> | Section 1.4.1 of the ESS manual says:
> | 
> | "If you remove other versions of ESS from your emacs load-path, you
> | can then use the development version by adding the following to
> | .emacs:
> |      (load "/path/to/ess-svn/lisp/ess-site.el")"
> | 
> | I was hoping that could quite easily (quick mv !?) do that "remove
> | other versions" so I could run the latest version from subversion
> | but could very easily comment out that line in my .emacs and go
> | back to the main version from stable (preferably not) or a more
> | recent version if I ever hit something that looked like a bug or
> | problem in ESS.  I think I could fairly easily have copies of
> | 5-11.1 (from stable), and 12.04-4-1 (from testing) as well as the
> | latest subversion version.  That way I'd add to the tester pool I
> | guess.
> | 
> | So a few final questions:
> | 1) How do I "remove other versions of ESS from your emacs
> | load-path"?
> | 2) Am I right (to Dirk?) in guessing that I could quite easily do
> | that, saving it as ess-5-11.1 for example, then pull the deb
> | package down from testing and use raw "dpkg -i" to install that
> | and then mv that to get a copy of 12.04-4-1 and finally
> | 3) I assume I can use a chron entry to pull the latest from
> | subversion daily, anyone remind me of the chrontab line?
> | 
> | I think that would mean, using the "(load "/path/to") fix above,
> | that I'd run the latest subversion by default but with a quick
> | comment of that line in .emacs and use of "cp -a" I could regress
> | back to 12.04-4-1 or even 5-11.1 any time I needed to.
> |  
> | >     > TIA and thanks to all who make ESS so good and contribute
> | >     > so generously and politely here: wonderful list.
> | > 
> | > :-)
> | 
> | Smiles all round and point about how good this list is beautifully
> | demonstrated.  Thanks again,
> | 
> | Chris
> | 
> 
> --
> Dirk Eddelbuettel | edd at debian.org | http://dirk.eddelbuettel.com
>



More information about the ESS-help mailing list