summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorranke <ranke@f247ebf9-aa24-0410-a698-f940e971ad2b>2008-05-07 05:18:23 +0000
committerranke <ranke@f247ebf9-aa24-0410-a698-f940e971ad2b>2008-05-07 05:18:23 +0000
commit116cf5d110605b931dfc447e00340c8e34e2d519 (patch)
tree53d9520093e40858ab43e508a7445ed7509644b8
parent8163b0ccd74fe00746accb4e3a7347e20b795356 (diff)
Added a short description of the backporting process
git-svn-id: svn+ssh://stiller/home/schatz/reps/r-backports@35 f247ebf9-aa24-0410-a698-f940e971ad2b
-rw-r--r--CRAN_backporting.txt82
1 files changed, 82 insertions, 0 deletions
diff --git a/CRAN_backporting.txt b/CRAN_backporting.txt
new file mode 100644
index 0000000..cf7771f
--- /dev/null
+++ b/CRAN_backporting.txt
@@ -0,0 +1,82 @@
+Prerequisites:
+- Linux system with X GB disk space
+- cdebootstrap, schroot installed
+- GPG key for signing packages
+
+1. Setting up the chroot environment for backporting
+
+The filesystem where you create the chroot needs to be mounted with exec and
+dev options, and you have to be root to do this:
+
+ cdebootstrap -a i386 -f build etch etch32 http://debian.tu-bs.de/debian
+
+This will create a i386 chroot with essential software for building packages in
+the newly created directory "etch32". Of course, if you are backporting for a
+different release, substitute its name for etch, also in the following.
+
+2. Configuring your chroot for comfortable use with schroot
+
+Put an entry like this into your /etc/schroot/schroot.conf (mine
+is located on my external drive mounted on /exthd)
+
+ [etch32]
+ description=Debian etch i386 (etch32)
+ location=/exthd/etch32
+ personality=linux32
+ priority=3
+ users=ranke
+ groups=ranke,root
+ root-groups=root
+ aliases=etch-ia32
+ run-setup-scripts=true
+ run-exec-scripts=true
+
+You can then login into your chroot (as root) with
+
+ schroot -c etch32
+
+install the editor of your choice, add security and sid sources to your
+/etc/apt/sources.list (in order to be able to backport from sid), add a user,
+install and configure console-data for the keymap, install and configure
+locales, install subversion, devscripts (for editing changelogs with dch)
+and patchutils (for interdiff).
+
+In order to build packages as a normal user, use su username to change to the
+user account you want to use, then
+
+ svn co http://kriemhild.uft.uni-bremen.de/svn/r-backports
+
+which will set up a couple of scripts and directories that I use for backporting.
+If you want to backport R, you can try
+
+ apt-get build-dep r-base
+
+which would pull in everything you need for building r-base, if all build
+dependencies could be satisfied. This is unlikely, however, because then we
+would not have to backport... Last time I just put in an etch source entry
+in my sources.list, and grabbed the build deps from there as a start.
+
+You also need you gpg key in your build environment. I achieved this by the
+following bind mount in /etc/fstab
+
+ /home/ranke/.gnupg /exthd/etch32/home/ranke/.gnupg noauto bind 0 0
+
+because I don't want my secret key on the USB drive.
+
+3. Backporting R
+
+Then go to directory r-base, edit the backporting script and try it with
+
+ fakeroot sh backport_r-base.sh
+
+You will have to install some more build dependencies that have been introduced
+in newer R versions.
+
+4. Backporting (compiling) recommended packages
+
+This is done in the parent directory, using the script backport_recommended.sh.
+You don't need fakeroot for this, because fakeroot is called in it where needed.
+
+You need to install an R backport in order to ensure compatibility and to satisfy build
+dependencies of recommended packages, which sometimes include other recommended packages
+that you will need to have installed from another source.

Contact - Imprint