Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 05 Feb 2018 15:17:03 -0400
From:      Joseph Mingrone <jrm@FreeBSD.org>
To:        Sunpoet Po-Chuan Hsieh <sunpoet@freebsd.org>
Cc:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org, ruby@freebsd.org
Subject:   Re: svn commit: r460901 - head/devel/rubygem-cocaine
Message-ID:  <86wozrqma8.fsf@phe.ftfl.ca>
In-Reply-To: <CAMHz58R_P4Li2WgO%2BN56F4EAF5p-y%2BHwDp9t7bNymiBmdq=Ciw@mail.gmail.com> (Sunpoet Po-Chuan Hsieh's message of "Tue, 6 Feb 2018 01:59:58 %2B0800")
References:  <201802041013.w14ADpZR024976@repo.freebsd.org> <86inbcx4m7.fsf@phe.ftfl.ca> <CAMHz58R_P4Li2WgO%2BN56F4EAF5p-y%2BHwDp9t7bNymiBmdq=Ciw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--=-=-=
Content-Type: text/plain

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

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

>> Sunpoet Po-Chuan Hsieh <sunpoet@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

--=-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEVbCTpybDiFVxIrrVNqQMg7DW754FAlp4ra9fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDU1
QjA5M0E3MjZDMzg4NTU3MTIyQkFENTM2QTQwQzgzQjBENkVGOUUACgkQNqQMg7DW
755DJw//VdJynoTZCUO5Is5RbtVaF5jVMtH0Y5o3Pu/rl8ho94jzp0k/8GBJdxzg
ESYHVXyWi4QTvUugCj4ga/Z8/yyJzMeo/W4MFLY3pMa8Pzg1pGKvz9i89AjfDqHC
8sFj4WmAW1htkXlXQcilQoGm7JBDzNQ/gTn1iLJaX+sZKR4RUf+cok0Kta7enZL4
nWh4SJlFB7DBvXSyMmwHua97NX8FMRNom5O6Hzi30Q8T3iN3ngey2RFH7Rdeg06N
HH4ss3ZixYi/QOKGDNd8FoeSWfbUS04YzHJhatm37LJm8OXmHHA6m8bRv5xQU910
BwoH9d4bUq3NXQDJgzFIiavnVC68vXvR8LKfx6Xqs4/i/mzGSUD/sD4Y6X6X17h0
xtcF1WsulGCcQOKHq1aCZASk1f2+P/ILHo1F/GDkVjgmAxcp79vXu4kp4JvFxCkg
a8GSeqXkcanv+1SoVFfYp92Dvv93dVMMaZ5TVM92GxMk1Kgu00aFJ7Qv7UrgQ/Kr
aQ9vR7g/tB6E3xKc2XPnkCR1CVWcd9FcMCvaHaekzB3oWLcLwpEaDXOsHUmiTIcr
SOAiYGdsRGkgLbM2PH72M6eOx9TbDVPFhY3ZLryAAteu+ZtUNRha3Mz+Gn0Q5YbJ
ax0gnZGHi+VaLihY4jGK0ts7BdQq1VcEvMVbsAOBfJdGAA3ospo=
=DKgC
-----END PGP SIGNATURE-----
--=-=-=--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?86wozrqma8.fsf>