Sunpoet Po-Chuan Hsieh <sunp...@freebsd.org> writes: > On Sun, Feb 4, 2018 at 9:32 PM, Joseph Mingrone <j...@freebsd.org> wrote:
>> Sunpoet Po-Chuan Hsieh <sunp...@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
signature.asc
Description: PGP signature