X-Git-Url: http://git.onelab.eu/?p=rvm-ruby.git;a=blobdiff_plain;f=rpm%2Frvm-ruby.spec;h=9a2953e76e7de137483476e7be74ff71f760437d;hp=43f2f598a2a765907fde8b109f78efb4ba0dba01;hb=6021c35b1b2b22fc45dc30050525e3cf224c5fe6;hpb=09bb49f77029f82a8ab13ac596e63e93a069c4f5 diff --git a/rpm/rvm-ruby.spec b/rpm/rvm-ruby.spec index 43f2f59..9a2953e 100644 --- a/rpm/rvm-ruby.spec +++ b/rpm/rvm-ruby.spec @@ -4,11 +4,17 @@ # RVM can not be sourced with default /bin/sh %define _buildshell /bin/bash -Name: rvm-ruby -Summary: Ruby Version Manager (including Rubies and Gems) -Version: 4 # Commit date will be appended +# PL conventions +%define name rvm-ruby # pick a RVM version from https://github.com/wayneeseguin/rvm/tags -Release: 1.20.10 +%define version 1.22.9 +%define taglevel 0 +%define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}} + +Summary: Ruby Version Manager (including Rubies and Gems) +Name: %{name} +Version: %{version} +Release: %{release} License: ASL 2.0 URL: http://rvm.io/ Group: Applications/System @@ -17,14 +23,19 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%(%{__id_u} -n) BuildRequires: bash curl git BuildRequires: gcc-c++ patch chrpath readline readline-devel zlib-devel libyaml-devel libffi-devel openssl-devel autoconf automake libtool bison BuildRequires: sed grep tar gzip bzip2 make file +# for OMF: +BuildRequires: tar libxml2 libxml2-devel libxslt libxslt-devel Requires(pre): shadow-utils # For rvm Requires: bash curl git # Basics for building ruby 1.8/1.9 -Requires: gcc-c++ patch readline readline-devel zlib-devel libyaml-devel libffi-devel openssl-devel autoconf automake libtool bison +# We expect all the building to take place .. at build-time, so let's take this out +#Requires: gcc-c++ patch readline readline-devel zlib-devel libyaml-devel libffi-devel openssl-devel autoconf automake libtool bison # Used by the scripts Requires: sed grep tar gzip bzip2 make file +# for OMF: +Requires: libxml2 libxslt %description RVM is the Ruby Version Manager. It manages Ruby interpreter environments @@ -54,7 +65,7 @@ export rvm_ignore_rvmrc=1 \ rvm_path="%{buildroot}%{rvm_dir}" \ rvm_man_path="%{buildroot}%{_mandir}" \ HOME=%{buildroot} -\curl -L https://get.rvm.io | bash -s stable --version %{release} +\curl -L https://get.rvm.io | bash -s stable --version %{version} ) # So members of the rvm group can write to it @@ -109,9 +120,11 @@ source ${rvm_path}/scripts/rvm gemi='gem install --no-ri --no-rdoc' ruby_tag=ruby-1.9.3-p286 -rvm install $ruby_tag +rvm install $ruby_tag --verify-downloads 1 rvm use $ruby_tag -$gemi bundler +rvm gemset create omf +rvm use $ruby_tag@omf --default +$gemi omf_rc #$gemi whatever_gem_you_need #ruby_tag=ruby-1.8.7-p352 @@ -146,8 +159,22 @@ slashes=$(printf "%s" "${ch// //}") find $br -type f -print0 | xargs -0 sed -i "s,$br,$slashes,g" # Fix symlinks with bad path -for f in $(find $br -type l |grep "$br"); do - ln -sfn $(readlink -f $f |sed "s,$br,,") $f +# the canonical path of the build root +brc=$(readlink -f $br) +for f in $(find $br -type l); do + # some symlinks are relative, in which case we want to preserve them + # do *not* mention -f here as it would always return an absolute path + dest=$(readlink $f) + # relative symlinks have $dest not starting with a / + first_step=$(echo $dest | cut -d / -f1) + # absolute paths have a void first_step + if [ -z "$first_step" ] ; then + # destination is an absolute path, let's fix it + # call readlink with -f so all symlinmks are solved + # and so we can reliably substitute $brc that is also canonicalized + destc=$(readlink -f $f | sed -e "s,^$brc,,") + ln -sfn $destc $f + fi done find $br -maxdepth 1 -name '.*' -exec rm -rf {} \; @@ -155,6 +182,9 @@ rm $br/usr/share/man/man1/rvm.1.gz %clean rm -rf %{buildroot} +# it appears that, because we build as root, rvm installs stuff in /etc on the build box +# which is not desirable, so let us get rid of that - don't worry if that fails +find /etc -name 'rvm*' | xargs rm || : %pre getent group %{rvm_group} >/dev/null || groupadd -r %{rvm_group} @@ -168,6 +198,14 @@ exit 0 %{_mandir}/man1/* %changelog +* Sun Jul 14 2013 Thierry Parmentelat - rvm-ruby-1.20.10-8 +- create an omf gemset (in rvm-ruby-1.20.10-7) +- make omf the default gemset +- add libxml2 and lixslt dependencies for omf + +* Tue Jun 25 2013 Thierry Parmentelat - rvm-ruby-1.20.10-6 +- add omf-rc in the mix + * Fri May 18 2013 Christoph Dwertmann - 4.xxx - downloads RVM instead of relying on local sources - works with latest RVM and Fedora