Bug 212010 - DEFAULT_VERSIONS broken for ruby
Summary: DEFAULT_VERSIONS broken for ruby
Status: Closed Feedback Timeout
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Ports Framework (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Only Me
Assignee: Port Management Team
URL:
Keywords: needs-qa
Depends on:
Blocks:
 
Reported: 2016-08-20 08:31 UTC by Chris Collins
Modified: 2017-01-23 22:52 UTC (History)
3 users (show)

See Also:
koobs: merge-quarterly?


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Collins 2016-08-20 08:31:52 UTC
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.
Comment 1 Chris Collins 2016-08-20 08:34:27 UTC
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
Comment 2 Mathieu Arnold freebsd_committer freebsd_triage 2017-01-05 13:56:00 UTC
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 ?
Comment 3 Steve Wills freebsd_committer freebsd_triage 2017-01-23 22:52:15 UTC
Feedback timeout, closing.