I have upgraded a machine to 10.3 from an older version, I manually recompiled portupgrade, and its two dependencies first which was ruby21 and ruby-bdb. In my make .conf is the following line which sets the default ruby to 2.1. Or at least I think it does (apologies if it is incorrect but I believe it to be correct). DEFAULT_VERSIONS= perl5=5.22 mysql=56p bdb=5 python=2.7 python2=2.7 python3=3.4 tcltk=8.6 ruby=2.2 ghostscript=9 Also in /usr/ports/Mk/bsd.default-versions.mk exists these lines showing if undefined in the make.conf the default version falls back to 2.2. # Possible values: 2.0, 2.1, 2.2, 2.3 RUBY_DEFAULT?= 2.2 After about 4-5 hours I checked how things were going and portupgrade had crashed, it was due to the ruby21 binary been missing. I checked pkg info and ruby21 had been replaced with ruby22 so make.conf setting was ignored. This is a production machine so I need to minimise time on this so have resumed with ruby22 been the new default but I do have a spare machine which I can carry out further testing if requested.
Note the line I pasted has ruby set to 2.2. but was set to 2.1 as below, I pasted after editing. DEFAULT_VERSIONS= perl5=5.22 mysql=56p bdb=5 python=2.7 python2=2.7 python3=3.4 tcltk=8.6 ruby=2.1 ghostscript=9
I tried to reproduce it a few times, and I still cannot. Every time I try, I get the same, expected, behaviour: root@10amd64-ports:/usr/ports/devel/ruby-gems # make -V BUILD_DEPENDS /usr/local/bin/ruby22:lang/ruby22 root@10amd64-ports:/usr/ports/devel/ruby-gems # make -V BUILD_DEPENDS DEFAULT_VERSIONS=ruby=2.1 /usr/local/bin/ruby21:lang/ruby21 root@10amd64-ports:/usr/ports/devel/ruby-gems # make -V BUILD_DEPENDS DEFAULT_VERSIONS=ruby=2.3 /usr/local/bin/ruby23:lang/ruby23 So, could you provide an example I can reproduce ?
Feedback timeout, closing.