RPMs for OpenSUSE Linux on CRAN Detlef Steuer (steuer@hsu-hh.de) 20090421 This document tells what to expect in this part of CRAN devoted to SuSE linux. For new users it tries to give some hints for rpm usage. The outputs shown are from SuSE 10.0. For older versions they should be very similar. For newer version they should be similar, too. Since version R-1.5.1 the maintainer of the packages changed from Albrecht Gebhardt to Detlef Steuer, steuer@hsu-hh.de. Thx again to Albrecht for giving me some scripts to start from! For the release of R-2.8.0 the spec file got a complete rewrite. Old stuff got thrown away and new rules at OpenSuSe's build service, i.e. rpmlint, required an overhaul anyway. If you find any errors in this document or have any hints how to improve it, I would be happy to hear from you! Supported releases ================== What's in here? You`ll find recent binary packages for i586 and x86_64 architectures for those SuSE Versions supported by the OpenSuSE Build Service (http://build.opensuse.org). For the time being these are 10.[23] and 11.0 . Because of a policy change on the OpenSuSE side there was a change of the package layout. Functionality remains the same, but Opensuse now forces the creation of a devel package for i.e. header files included in R. To copy the old beheaviour you now have to install R-base and R-base-devel packages. R-devel is needed especially if you want to compile packages from source. Future releases =============== New releases of SuSE Linux are taken care of as soon as possible. With OpenSuSE there should be no unusual delays. New releases of R are normally handled within 24 hours. Old releases ============ The packages for 7.3 and 8.[012] and 9.[0123] and 10.[01] are not updated any longer. They will eventually be removed from CRAN in the not too distant future. If you would like them to stay, contact me, please. Starting with R-2.1.0 there will be no builds for contributed packages. This may change if there are arguments why packages should be installed via rpms instead of the built-in package installation. The R-base-x.y.z-m.rpm ====================== Naming ====== The base packages refer to released source versions of R-x.y.z.tgz. The m gives the iteration of rebuilds of this particular release, mostly to incorporate features missing in previous rpms. If I recognize an error/missing feature in R-base-x.y.z-1.rpm or you tell me about such an error and I am able to correct this error, then I'll release version R-base.x.y.z-2.rpm. So usually the highest minor number is the one to get. There may be builds of R-base-x.y.z-patched or -devel or -alpha or -beta with the obvious relation to source bundles on CRAN. Features ======== The following features should be in a released rpm: - readline - X11, cairo and Tcl/Tk interface - png, jpeg and tiff support - capability for zipped and bzip2ed files. - multi-byte characters and NLS support The rpms include all recommended packages. === Prerequisites === Starting from R-2.3.0 dependencies on other packages should be resolved automatically. Report any problems during installation, so I can improve on the mechanics, please! From R-2.3.0 on you may simply ignore the following details on dependencies, everything should work out of the box. In order to run R-base you need some packages installed: (*) - blas-3.0-926 - gcc-fortran-4.0.2_20050901-3 - glibc-2.3.5-40 - libgcc-4.0.2_20050901-3 - libjpeg-6.2.0-739 - libpng-1.2.8-5 - xorg-x11-libs-6.8.2-100.2 - zlib-1.2.3-3 The numbers are for SuSE 10.0. Naturally version numbers may be different for older SuSEs. Most of them are included in a standard install. If there were demand for a "downsized" version (for example to runs as cgi or for batch jobs), it could be done. (*) I get this with the following command: rpm -q --whatprovides `ldd /usr/lib/R/modules/*.so /usr/lib/R/bin/exec/R |\ gawk '{print $1}' | grep -v :` | grep -v R-base | sort -u Installation ============ Simplest method for recent releases of OpenSuSE to install R is using the 1-click-install provided on http://software.opensuse.org/ . Go to package search, search for R-base and on the results page click on 1-click-install. The package manager should take care of dependencies. Enjoy! From R-2.4.1 on you find an installation source for R-base in the opensuse build service: http://download.opensuse.org/repositories/home:/dsteuer/$YOUR_SUSE_VERSION Take a look into this directory and choose the corresponding entry. As a benefit you can get littler, emacs-ess and rkward there, too! Versions for the Factory release, always the next, more or less unstable version of opensuse can be found on opensuses server. CRAN only has versions for stable opensuse releases. The repositories on CRAN will no longer act as yast installation sources for two reasons: - There have been problems with 10.1 repositories from time to time which I couldn“t nail down. Using the official repos resolves that. - R should get back onto the the opensuse installation DVD. So the opensuse developers should see the demand in their server logs! You can nevertheless download rpms from CRAN and just manually install them: rpm -i R-base-2.4.1-$revision.rpm (In this case you have to care of dependencies yourself!) Should work! If you use the OpenSuSE flavour of SuSE you have to add an online installation source before trying to install R, because some files are not included on the media for OpenSuSE. Remember to turn on the automatic refreshing for an installation source in yast to find out when new builds are available. Check your installation manually with rpm -q R-base > R-base-2.4.1-1 Looks fine. === Upgrading === Upgrading is possible inside yast nowadays. Just choose the new version inside the graphical installer. For manual installation use the following instructions. If you want to install a new release, say R-base-1.8.1-2, and R-base-1.8.1-1 is installed you can do: rpm -U R-base-1.8.1-2.rpm Check: rpm -q R-base R-base-1.8.1-2 Fine. === Deleting === If you want to get rid of R.... No, you don't want this, do you? Hmm. Ok just in case: rpm --erase R-base or choose R-base for deletion in yast. If you have installed contrib rpms you must remove those first, because rpm won't erase a package on which others depend. All contribs depend on R-base. Running concurrent versions =========================== At the moment I see no easy solution to run different releases of R managed with rpm. Any ideas welcome. Maybe it is as simple as using rpm --relocate and a few aliases. But this is just an untested idea! Building from source ==================== On a SuSE box it is recommended to install software using the rpm package manager. CRAN provides the files needed to do so, even if you choose not to use the rpms from CRAN. In the archive you find the R-base.spec file building for R-base and an accompanying R-base source rpm. You can build a binary for your machine with the *spec file in /usr/src/packages/SPECS issuing this command rpm -bb package_name.spec or on 9.0 and later rpmbuild -bb package_name.spec if you have package_name.tgz downloaded from CRAN and copied into /usr/src/packages/SOURCES . After successful compiling you'll find package_name-1.rpm in /usr/src/packages/RPMS/your_cpu_type/package_name-1.rpm. This is a binary rpm, which can be installed as described above (rpm -i or rpm -U). If you choose to ignore the package management you can of course issue the usual configure && make && make install to build R from source. Patched and Devel ================= From time to time I'll upload builds of R-patched and R-devel. R-patched is a bugfix version of R-base and should always be save to use. R-devel is compiled from a SVN-snapshot and you should know what you are doing. I see no need to compile these regularly. The contributed packages rpms ============================= At the moment no contrib rpms are provided for current releases of R and SuSE. Signature ========= RPMs created after the release of R-1.9.0 (2004/04/12) and until before 2006/12/18 are signed with the key to be found there: http://fawn.unibw-hamburg.de/~steuer/pubkey.html RPMs created after the release of R-2.4.1 (2006/12/18) are signed with an opensuse build service key. More Info ========= Everything you ever want to know about rpms: http://www.rpm.org Happy R-ing! Detlef ------------------------------- detlef.steuer@hsu-hh.de