X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=rpm%2Frvm-ruby.spec;h=06e24fde8709f38896cf9080ed3d5131bf2e15fc;hb=a4cba47648a8dfef02e9ea3a13ceecdbb7afaaa5;hp=7b705d8f1ce068f1cfd0e8927908b4f82cf701fd;hpb=c7dfde1c4e2664dd0b9fac82c2f49003a1d81587;p=rvm-ruby.git diff --git a/rpm/rvm-ruby.spec b/rpm/rvm-ruby.spec index 7b705d8..06e24fd 100644 --- a/rpm/rvm-ruby.spec +++ b/rpm/rvm-ruby.spec @@ -8,7 +8,7 @@ %define name rvm-ruby # pick a RVM version from https://github.com/wayneeseguin/rvm/tags %define version 1.20.10 -%define taglevel 4 +%define taglevel 6 %define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}} Summary: Ruby Version Manager (including Rubies and Gems) @@ -28,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 @@ -60,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 @@ -117,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 @@ -152,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 {} \; @@ -161,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} @@ -174,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