flavorjones / mini_portile

mini_portile and mini_portile2 - Simple autoconf and cmake builder for developers
MIT License
114 stars 51 forks source link

2.5.2 already initialized #105

Closed cpanderson closed 3 years ago

cpanderson commented 3 years ago

Changes in 2.5.2 causes warnings in...

.../ruby-2.7.3/lib/ruby/2.7.0/net/protocol.rb:66: warning: already initialized constant Net::ProtocRetryError .../ruby-2.7.3/gems/net-protocol-0.1.0/lib/net/protocol.rb:66: warning: previous definition of ProtocRetryError was here .../ruby-2.7.3/lib/ruby/2.7.0/net/protocol.rb:206: warning: already initialized constant Net::BufferedIO::BUFSIZE ../ruby-2.7.3/gems/net-protocol-0.1.0/lib/net/protocol.rb:206: warning: previous definition of BUFSIZE was here ../ruby-2.7.3/lib/ruby/2.7.0/net/protocol.rb:503: warning: already initialized constant Net::NetPrivate::Socket ../ruby-2.7.3/gems/net-protocol-0.1.0/lib/net/protocol.rb:503: warning: previous definition of Socket was here

Appears in ruby 2.5.x -> ruby 2.7.3

As I don't think rails depends on any particular version fixing it at 2.5.1 resolves the issue.

Haerezis commented 3 years ago

In my case, it was also causing my rails project's tests to crash (when eager loading the code). I had to force 2.5.1 temporarily.

ghost commented 3 years ago

Wow, annoying. Why would someone add a dependency on an obsolete dependency like net/ftp to a gem that everything from nokogiri to rails seems to depend on?

Adding this to my Gemfile fixed it for me, but why, why, why did something that wasn't broken have to be "fixed"? If this gem depends on net/ftp, why the heck does it?

gem 'mini_portile2', '2.5.1'
flavorjones commented 3 years ago

@cpanderson Thanks for opening this issue. I'll take a look. If it's not inconvenient, can you share with me your Gemfile and Gemfile.lock when the warnings were being emitted?

@tgrushka I understand that you're frustrated, but I'd like you to try to understand how your message is unhelpful. "Annoying" and "Why, why, why" are unnecessary to get your point across, and are extremely demotivating for the volunteer maintainer of this and other gems. I'd like you to do better in the future when communicating your frustration.

flavorjones commented 3 years ago

@cpanderson I've reproduced what you're seeing, please don't worry about providing your Gemfile / Gemfile.lock.

flavorjones commented 3 years ago

v2.5.3, just released, fixes these warnings. Please let me know if you see any other weirdness. Thanks again for the report.

ghost commented 3 years ago

@flavorjones "I would like you to do better" comes across as condescending and degrading. There are other volunteers out there, including me. Rails and Nokogiri depend on your gem. Would it be too hard to test it before making a huge breaking change like this? When errors appear in our consoles out of nowhere and we have to spend a few hours trying to trace them down, and probably hundreds or thousands of developers around the world are all trying to re-invent the wheel on this, and one person could have prevented it by a simple investigation, yes, we could all do a little better.

cpanderson commented 3 years ago

That fixed it. Thanks @flavorjones for the quick response!

flavorjones commented 3 years ago

@tgrushka Thanks for your response.

"I would like you to do better" comes across as condescending and degrading

Setting clear expectations for people is the opposite of degrading -- it's the respectful thing to do. By acknowledging your frustration but firmly setting boundaries, I was empathizing and extending trust to you in the hope it would be reciprocated.

Your response let me know that trust and respect was misplaced.

Rails and Nokogiri depend on your gem. Would it be too hard to test it

This change was made in response to the tests that Rails, Nokogiri, and mini_portile regularly run against Ruby 3.1.0.dev (head), which started failing after a change was made upstream. I mentioned the change that caused breakage in the release notes. Also, the test suites all passed after this change was made.

Your implication that I'm sloppy is noted, though.

before making a huge breaking change like this?

I once again hear your frustration, but I'm not aware of any functionality that broke, only that warning messages were emitted. As mentioned above, all the tests I'm aware of passed. Without more information about what breakage you're specifically referring to, I have to take exception to your description of the problem described in this Issue.

yes, we could all do a little better

I treated you with kindness, I fixed the problem as quickly as I could, and I shipped a bunch of software along the way. You jumped into this open issue with a sense of entitlement and outrage, and treated me as if I owed you something.

Let me be clear: I don't owe you anything, and although I've let you suck the joy out of open-source for me today, you won't get the opportunity to do it again.

flavorjones commented 3 years ago

@Haerezis I'd love to know more about your tests that were failing. If you think it's worth spending time on, and you wouldn't mind opening a new issue describing how I could reproduce, I'd like to take a look. Thanks, and sorry for the hassle.