svn commit: r460901 - head/devel/rubygem-cocaine

Joseph Mingrone jrm at FreeBSD.org
Mon Feb 5 19:17:13 UTC 2018


Sunpoet Po-Chuan Hsieh <sunpoet at freebsd.org> writes:

> On Sun, Feb 4, 2018 at 9:32 PM, Joseph Mingrone <jrm at freebsd.org> wrote:

>> Sunpoet Po-Chuan Hsieh <sunpoet at FreeBSD.org> writes:

>> > Author: sunpoet
>> > Date: Sun Feb  4 10:13:51 2018
>> > New Revision: 460901
>> > URL: https://svnweb.freebsd.org/changeset/ports/460901

>> > Log:
>> >   Update to 0.6.0

>> >   Changes:    https://github.com/thoughtbot/cocaine/blob/master/NEWS.md

>> > Modified:
>> >   head/devel/rubygem-cocaine/Makefile
>> >   head/devel/rubygem-cocaine/distinfo

>> > Modified: head/devel/rubygem-cocaine/Makefile
>> > ============================================================
>> ==================
>> > --- head/devel/rubygem-cocaine/Makefile       Sun Feb  4 10:13:46 2018
>>       (r460900)
>> > +++ head/devel/rubygem-cocaine/Makefile       Sun Feb  4 10:13:51 2018
>>       (r460901)
>> > @@ -2,7 +2,7 @@
>> >  # $FreeBSD$

>> >  PORTNAME=    cocaine
>> > -PORTVERSION= 0.5.8
>> > +PORTVERSION= 0.6.0
>> >  CATEGORIES=  devel rubygems
>> >  MASTER_SITES=        RG

>> > @@ -12,7 +12,7 @@ COMMENT=    Small library for doing (command) lines
>> >  LICENSE=     MIT
>> >  LICENSE_FILE=        ${WRKSRC}/LICENSE

>> > -RUN_DEPENDS= rubygem-climate_control>=0.0.3:devel/rubygem-climate_
>> control
>> > +RUN_DEPENDS= rubygem-terrapin>=${PORTVERSION}:devel/rubygem-terrapin

>> >  NO_ARCH=     yes
>> >  USE_RUBY=    yes

>> > Modified: head/devel/rubygem-cocaine/distinfo
>> > ============================================================
>> ==================
>> > --- head/devel/rubygem-cocaine/distinfo       Sun Feb  4 10:13:46 2018
>>       (r460900)
>> > +++ head/devel/rubygem-cocaine/distinfo       Sun Feb  4 10:13:51 2018
>>       (r460901)
>> > @@ -1,2 +1,3 @@
>> > -SHA256 (rubygem/cocaine-0.5.8.gem) = ed44cebd5eae70ccdaa2ca926cfe50
>> 71c31f8a07d25b63779beb6a7a5a2f7306
>> > -SIZE (rubygem/cocaine-0.5.8.gem) = 17408
>> > +TIMESTAMP = 1517673342
>> > +SHA256 (rubygem/cocaine-0.6.0.gem) = a2fba54f9d20f081b7f1e783baaf00
>> 26ca4794dd852a7efe37dcc38ef8c7d0ca
>> > +SIZE (rubygem/cocaine-0.6.0.gem) = 12800

>> Again, this breaks downstream ports, including net-im/mastodon.

>> All of the latest versions of devel/rubygem-paperclip [1],
>> devel/rubygem-paperclip-rails5, devel/rubygem-paperclip-rails50, and
>> multimedia/rubygem-av [2] require a version of this gem _less_ than 0.6

>> devel/rubygem-paperclip-rails5 and multimedia/rubygem-av (the two ports
>> that are required by other ports) have been patched [3] to use the newer
>> cocaine gem.  Let's now hope they work, despite forcing a newer
>> dependency than what upstream specifically requests.

>> [1] https://rubygems.org/gems/paperclip/versions/5.2.1
>> [2] https://rubygems.org/gems/av/versions/0.9.0
>> [3] r460926 and r460927


> I always check dependent ports. I'm sorry this one is missed.

Ah, it was not intentional.  In that case, no worries.  It happens.
Your miss _rate_ is quite low. ;-)

> And the gemspec fix is enough because 0.6.0 won't break the
> functionality.

Probably, but how do we know this?  I have no Ruby/Rails coding
experience, but my understanding of the gemspec is that it is a
unambiguous description of the dependent gem versions that the developer
suggests will work.  We could inspect the code, run tests and hope for
the best, but I feel a policy along these lines would result in the
least breakage:

1. Only update a gem port when all other ports that depend upon it have
a gemspec that conforms to the new version.

2. _If_ the updated gem is required, then either copy gem ports, so that
we have all required versions in the tree, or patch the gemspec.

Copying gem ports can get messy when the port has many (reverse)
dependencies.  Patching the gemspec can cause unintended breakage as
described above.

In practice, I think we generally follow this policy, but stating it is
helpful for a relative newcomer to ruby ports like me.  Do you agree?
Have I missed any other issues?

Joseph
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 962 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/svn-ports-head/attachments/20180205/21191565/attachment.sig>


More information about the svn-ports-head mailing list