X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=rpm%2Frvm-ruby.spec;h=06e24fde8709f38896cf9080ed3d5131bf2e15fc;hb=a4cba47648a8dfef02e9ea3a13ceecdbb7afaaa5;hp=43f2f598a2a765907fde8b109f78efb4ba0dba01;hpb=09bb49f77029f82a8ab13ac596e63e93a069c4f5;p=rvm-ruby.git diff --git a/rpm/rvm-ruby.spec b/rpm/rvm-ruby.spec index 43f2f59..06e24fd 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.20.10 +%define taglevel 6 +%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 @@ -22,7 +28,8 @@ 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 @@ -54,7 +61,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 @@ -111,7 +118,9 @@ gemi='gem install --no-ri --no-rdoc' ruby_tag=ruby-1.9.3-p286 rvm install $ruby_tag rvm use $ruby_tag -$gemi bundler +rvm gemset create omf +rvm use $ruby_tag@omf +$gemi omf_rc #$gemi whatever_gem_you_need #ruby_tag=ruby-1.8.7-p352 @@ -146,8 +155,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 +178,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 +194,9 @@ exit 0 %{_mandir}/man1/* %changelog +* 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