Ir para o conteúdo
ou

Software livre Brasil

Tela cheia
 Feed RSS

Blog

27 de Maio de 2009, 21:00 , por Desconhecido -
In this blog I share technical information, write about projects I'm involved with, or about cool/fun/interesting stuff I find.

Debian Ruby Sprint 2016 - day 5: More Reproducible Builds, Retrospective, and A Little Bit of Tourism

5 de Março de 2016, 13:21, por Antonio Terceiro

Earlier today I was made aware by Holger of the results of our reproducibility efforts during the sprint. I would like to thank Lunar for pinging us about the issue, and Holger for pointing me to updated results. The figure below depicts a stacked area chart where the X axis is time and the green area is reproducible packages. Red is packages that fail to build, and Orange are unreproducible packages

I was able to book accommodation for the sprint attendees very close to both my place and the sprint venue, what was very useful but also had this downside of them not being able to see much of city. As the final day of the sprint was getting closer, we decided to have a different lunch to allow them to see one of the most famous local landmarks, the botanical gardens.

So we headed down to the botanical gardens, grabbed a few items for lunch at the park coffee shop, and set out to visit this very beautiful place. I have to say that there is the place were I usually take every visitor I have. We were joined by Gioavani who had just arrived for the the MiniDebconf on the following weekend.

The final lists of accomplishments of the day was again very impressive

  • r10k 2.1.1-2
  • run massive update on team repositories
    • bump Standards-Version
    • fix Vcs-* fields
    • drop version in gem2deb build-dependency
    • set debhelper compatibility level to 9
    • update the default ruby-tests.rake
  • day 4 report
  • uploaded ruby-faraday-middleware-multi-json 0.0.6-2
  • uploaded ruby-powerpack 0.1.1-2
  • uploaded ruby-contracts 0.13.0-1
  • uploaded ruby-chef-config 12.7.2-1 (NEW)
  • uploaded ruby-foreigner #808530 and asked it removal from the NEW queue (was already ROMed)
  • filled for RM ruby-opengraph-parser (#816752)
  • new how-can-i-help version developed and uploaded
  • uploaded ruby-romkan to unstable (from exp)
  • uploaded ruby-rinku to unstable (from exp)
  • uploaded ruby-ole to unstable (from exp)
  • uploaded ruby-net-ldap to unstable (from exp)
  • uploaded ruby-rack-mobile-detect to unstable (from exp)
  • uploaded gem2deb 0.28 to help with reproducible builds: filenames are now sorted
  • uploaded rails 2:4.2.5.2-2 with packaging improvements
    • run unit tests during the build and on CI
    • apply upstream patch to fix ActiveRecord breakage under Ruby 2.3
  • pushed a ton of tags for existing uploads
  • merged improvements to the team master repository
    • review/cleanup the contents of the repository
    • improved helper scripts to automate the workflow (upload, build, new-upstream, etc)
  • followed up on ruby2.3 transition, filed #816698 against subversion because of ftbfs on mips, mipsel
  • put ruby-cocoon into a better state
  • uploaded ruby-plist
  • gem2deb: gem2tgz will now create foo.gemspec (easier to patch) instead of metadata.yml
  • gemwatch: ditto
  • close #794139 jekyll bug (unreproducible)
  • close #798934 ruby-ffi-rzmq bug (unreproducible)
  • closed ftbfs #816586 #800057 #784699 as unreproducible
  • reassigned #760952 #680297 to ruby2.3 (from ruby2.2)
  • investigated how to list packages with non-buildd-binary uploads
  • ScottK has removed ruby2.1 from unstable!

By the end of the afternoon I asked everyone to fill out a simple retrospective list, what we can use later to make future sprints better and better. Below are the results we got.

What was good:

  • restricted room hours actually made for a nice rhythm (did not apply for a long time…)
  • very good food
  • very cheap food!
  • longer period makes the effort of travel more worthwhile
  • many participants and longer sprint than usual allowing more work to be done
  • good preparation with clear goals, make the sprint usefull
  • patience with the less experienced participants
  • RFS very fast
  • Antônio is an excellent host
  • You all are so helpful
  • great dinners

What could be better:

  • room too close to the street, too much vehicle noise, but sometimes nice music
  • more coffee ^W meat
  • could know more portugues so ordering food would have been easier
  • debian infra could have not been down during the sprint

The night ended at Bar do Alemão (“The German’s Bar”). Both their beer and their food are very good, but I don’t have enough elements to vouch for their authenticity. :) We were joined by Giovani (who we also met earlier in the botanic gardens), and by Paulo and Daniel who are organizing the MiniDebconf.

And that is the end of this year’s Debian Ruby team sprint. I hope we do it all over again next year.



Debian Ruby Sprint 2016 - day 4: Steady Progress, Deferred Spring Cleaning, and Capital Sins

4 de Março de 2016, 10:42, por Antonio Terceiro

As the day 4 of the Debian Ruby team sprint in Curitiba unfolded, we have now fixed a total of more than 70 build failure bugs, managed to almost finish the Ruby 2.3 transition to be good to migrate into testing, and bootstrapped some documentation that will help new contributors get up to speed with Ruby packaging faster.

We have also requested the removal of several packages that are either severely outdated, abandoned upstream, beyond repair, utterly wrong, or in some cases, all of the above.

The full list of work items finished yesterday is:

  • filed for RM ruby-rubysl-test-unit (no rdeps, duplicates ruby-test-unit)
  • filed for RM ruby-literati (no rdeps left)
  • uploaded ruby-certificate-authority 0.1.6-2
  • uploaded ruby-pdf-reader 1.4 (Closes: FTBFS #795763)
  • uploaded ruby-http 1.0.2-1 (Closes: #795752)
  • raise severity of FTBFS bugs with ruby2.3
  • day 3 report
  • NMU pcs and upload to DELAYED/2 to remove dependency on ruby-monkey-lib and build-dependency on ruby2.1-dev
  • upload ruby-parslet (Closes: #795046)
  • initial documentation of packaging workflow with updated helper scripts in the team repo – https://wiki.debian.org/Teams/Ruby/Workflow
  • ask for the removal of ruby-rspec-longrun
  • ruby-opengraph-parser – upstream bug; upstream unresponsive; asked uploader about removal (no rdeps)
  • fix ruby-celluloid-io for ruby2.3
  • fixed ruby-buff-extension to work on ruby2.3
  • uploaded newer ruby-varia-model upstream to work with newer ruby-hashie
  • ask for the removal of mdpress
  • uploaded ruby-buff-config, ruby-semverse, ruby-buff-ruby-engine, ruby-buff-ignore, ruby-buff-shell-out to remove spork
  • filed for RM spork (obsolete, broken)
  • filed for RM ruby-gsl on failing archs
  • upload ruby-solve (Closes: #816359, thanks zeha!)
  • update ruby-standalone to work properly with ruby2.3 (needs to remove the rake binary)
  • upload ruby-memfs
  • ruby-rack (1.6.4-3) (ROM ruby-memcache-client)
  • ruby-parslet 1.7.1-1 #795046
  • upload ruby-listen
  • upload ruby-clockwork
  • upload ruby-bio with a patch to avoid transient FTBFS because of undefined class names
  • fixed ruby-fakeweb ftbfs
  • cleaned up old repositories on git.d.o
  • investigated PET status (appears to somewhat work, but mostly decaying)
  • uploaded ruby-ogginfo
  • upload ruby-libxml (agan!)
  • upload racc 1.4.14-1
  • upload ruby-sidekiq-cron
  • how-can-i-help updated
  • racc 1.4.14-1 (not ruby-racc ;-))

We also managed to flirt with 2 capital sins. For those who care about these things, which I don’t (but I still care about you), I guess 2 out of 7 still means we are good? :-)

I few people that I will not name complained that they hadn’t had enough steak on the previous night, so we set out to visit a traditional all-you-can-eat Brazilian steakhouse (“churrascaria”). I made a reservation at Jardins Grill and there you have gluttony. I am pretty sure that “not enough steak” wasn’t an issue last night. You can see how happy, despite being full to almost the point of being sick, everyone was.

A disjunct set of people, who I will also not name, were very disappointed to find out that the ruby-tinder package has absolutely nothing to do with Tinder but were still very active on the later. Maybe Friday night we will have to split the group into a lust-free family party and a Tinder party.



Debian Ruby Sprint 2016 - day 3: Ruby 2.3 in unstable, Reproducible Builds, and Data Structures for Dinner Booths

3 de Março de 2016, 10:42, por Antonio Terceiro

Day 3 was again a full of useful work. Since the beginning of the sprint, we were able to fix more than 50 FTBFS¹ bugs, alongside general quality improvements in the packages.

¹ in the Debian jargon, FTBFS means that a package “fails to build from source”, which in Debian is a critical bug because users need to be able to produce binary packages from their source code to fully exercise the free software principles.

An important milestone that was also achieved on day 3 was the upload of ruby-defaults 1:2.3.0+1, making ruby2.3 the new default version of Ruby. That is the version that will shipped in the next Debian release, codenamed stretch. This is the culmination of a joint effort between the Ruby team and Debian Release Team that involves rebuilding a little more than 130 packages that use the Ruby C API to make sure everything will just work on upgrades, both from the previous stable release, and from earlier snapshots of the current development release.

Another small change that will have a big impact for Debian and for free software was an improvement to gem2deb that fixes a reproducibility issue in Ruby packages and will help currently more than 100 Ruby packages become reproducible.

The full list of items that have been worked on is this:

  • sponsor ruby-github-linguist. Closes: #815908. Thanks balasankar
  • rebuild remaining failing packages – 55 remaining!
  • uploaded ruby-em-synchrony (FTBFS #800029)
  • day 2 report blog post
  • ruby-certificate-authority-0.1.6-1 (#816506)
  • filed for ruby-grack removal
  • uploaded ruby-em-synchrony
  • uploaded ruby-mathml (FTBS #800029)
  • uploaded new upstream version of ruby-redis which claims better ruby2.2 support
  • uploaded pry (0.10.3-2), hoping it will build correctly on the buildd
  • uploaded ruby-hashery
  • rails security issues: CVE-2016-2098, CVE-2016-2097
    • fixed in unstable on 2:4.2.5.2-1
    • contacted security team for jessie update
  • uploaded ruby-ruby-engine, ruby-ruby-version, ruby-rspec-pending-for to NEW
  • updated ruby-hashie to new upstream version
  • ruby-remcached (fix FTBFS)
  • made the switch to ruby2.3 in unstable *********
  • filed https://bugs.ruby-lang.org/issues/12137 as ruby-awesome-print triggers this
  • uploaded ruby-rspec 3.4
  • uploaded ruby-rspec-rails 3.4
  • uploaded ruby-grack 2.0.2-2 (fix FTBFS)
  • ruby-memcache-client (#797256) => RoM ruby-memcache-client (#816538) + https://github.com/rack/rack/issues/1025
  • upload ruby-acts-as-lists (Closes: FTBS #816482)
  • ruby-beautify: fixed and uploaded
  • filed for ruby-foreigner removal (+ fixed diaspora dependency)
  • uploaded newer ruby-origin to fix FTBFS
  • uploaded ruby-responders
  • gem2deb hacking
    • dh-make-ruby will not overwrite debian/copyright anymore
    • force generated gemspecs to use date from debian/changelog. fixes https://tests.reproducible-builds.org/issues/unstable/timestamps_in_gemspec_files_issue.html
    • uploaded version 0.27 to unstable
  • make ruby-riddle tests run and work during build
  • ruby-flexmock 2.0.4-1 -> uploaded
  • RoM ruby-memcache-client (done #816538)
  • upload nanoc 4.1.4 and fix tests for ruby2.3
  • Upload new upstream version of ruby-test-after-commit
  • uploaded newer upstream for ruby-origin fixing FTBFS bug

The day ended at Outback, where we had an amount of beer that led us to formulate what we will now call the One-Sided Dinner Booth Problem.

In a party arranged like above, when the people closest to wall need to go alleviate themselves of some beer, you basically have to perform a removal from the bottom of a stack, which requires popping all the elements at the top. When they come back, you have to options:

  • place them back at their original position, in which case
    • the people who stayed have to either stay standing or get up all over again (not sure what is worse)
    • the odds are that the next person to leave will require less effort from the others
  • shift everyone to places against the wall and place the one coming back at the very end of the bench away from the wall, in which case
    • the people who stayed are perhaps less annoyed, but you have to rearrange plates and pints
    • it is less likely that the next time will require less effort from the others

The One-Sided Dinner Booth Problem is finding the optimal data structure and algorithm for this situation. It is postulated that this is an NP-complete problem, and that only probabilistic solutions are cost-effective.



Debian Ruby Sprint 2016 - day 2: Japanese cuisine, bug fixes, and Mini Cheese&Wine Party

2 de Março de 2016, 9:56, por Antonio Terceiro

Day 1 ended with dinner at a Yamato, my preferred Japanese restaurant in the city. Curitiba has a very large Japanese community, and lots of Japanese restaurants. Yamato, however, is the only one were you will stumble upon senior Japanese people, probably first or second generation immigrants, what I guess says something about its authenticity.

Right after breaking for lunch, but before actually going out, we made what so far is official group photo (I might try again as the shot was not a really good one).

Of course the most interesting part was the actual work that was done, and day 2 list is not less impressive than the day before:

  • ruby-albino 1.3.3-4 (#813644) @sbadia
  • #816256: ruby-versionomy: FTBFS: `require’: cannot load such file — blockenspiel/unmixer_mri (LoadError)
  • investiage ruby2.1 removal
  • upload ruby-beautify
  • upload ruby-aws-sdk
  • made ruby-blockenspiel arch:all again
  • filed RC bug against pcs depending on ruby2.1-dev
  • ruby-dev in experimental now supports `pkg-config ruby` so packages can use pkg-config to build against the current default Ruby
  • ruby-libxml (some tests skipped)
  • fixed FTBFS #804794 in subtle delaying ruby2.1 removal (now in DELAYED/2)
  • mailed debian-ruby and ask people to test ruby2.3 as default
  • #816162: ruby-zentest: FTBFS: Failure: TestZenTest#test_testcase9
  • ruby-sshkit 1.9.0~rc1-1 (795118)
    • capistrano 3.4.0-1 + ruby-sshkit 1.9.0~rc1-1 => http://paste.debian.net/plain/410699
  • filed for ruby-patron removal
  • updated and uploaded ruby-pygments.rb updated + patch for tests (fix #812940)
  • discussed dependency cycle resolution
    • will keep cycle between ruby2.3 and rake (as they really need each other)
    • will break cycle from pure ruby packages to ruby when they are depended on by ruby2.3
    • for same package set, enable Multi-Arch: foreign when needed
  • uploaded ruby-power-assert (M-A foreign, break ruby cycle)
  • uploaded ruby-did-you-mean (M-A foreign, break ruby cycle)
  • uploaded ruby-minitest (M-A foreign, break ruby cycle)
  • uploaded ruby-test-unit (M-A foreign, break ruby cycle)
  • uploaded rake (M-A foreign)
  • uploaded ruby-net-telnet (M-A foreign)
  • discussed removal of libruby metapackage, filed bug against dh-make-drupal (only rdep) #816417
  • uploaded yard (Closes: #812809)
  • rerun failed builds
  • closed #798539 (not applicable on current version of ruby-webmock)
  • closed #816321 fixed by ruby2.3 upload
  • uploaded ruby-cliver (by @lucasmoura)
  • uploaded ruby-celluloid-supervision ( closes: #810770)
  • uploaded ruby-celluloid-fsm ( closes: #815107)
  • uploaded ruby-raindrops
  • investigated status of dhelp, ruby-mysql again
  • ruby-http-form-data (1.0.1+gemwatch-1) @sbadia
  • nmu ohcount (DELAYED/2)
  • updated trocla to newest upstream, fixing #816257
  • reassign #816358 from ruby-safe-yaml to ruby2.3
  • close #816120 (transient bug in ruby-default-value-for, waiting for ruby-sqlite3 binNMU)
  • upload updated ruby-rc4
  • uploaded new upstream version of pry, fixing FTBFS with ruby2.3
  • ruby-rb-inotify , required to new ruby-listen( need ruby-rb-inotify >= 0.9.7)
  • applied patch from upstream to ruby2.3 for #816358
  • uploaded new upstream version for coderay supporting ruby2.3

On Monday Cédric told us that he and Sebastien had brought a bottle of French wine and some smelly French cheeses, and suggested that in the best Debian tradition we should have a Mini Cheese and Wine Party™. Sure thing! Luckily there is a farmer’s market 2 blocks from home on Tuesdays mornings, where I usually buy my fruits, vegetables, and cheese & friends, so the timing was perfect. I went shopping early in the morning, and bought a few things, and was back before it was the time to go to UTFPR. After the day-long hacking session we stopped by another store nearby to buy a few extra bottles of wine and other snacks.

At night, in my place, I ended up playing cheese master.

There was enough food that at the end we were all very full.

And with the spokesperson task of the day done, off to hacking I am!



Debian Ruby Sprint 2016 - day 1

29 de Fevereiro de 2016, 17:44, por Antonio Terceiro - 0sem comentários ainda

This year’s Debian Ruby team sprint started today here at Curitiba. Everyone arrived fine, and we started working at the meeting room we have booked for the week at Curitiba campus of the Federal Technical University of Paraná. The room is at the “Department of Business and Community Relations”, what makes a lot of sense! :-)

The day started with a quick setup, with a simple 8-port switch, and a couple of power strips. It tooks us a few minutes to figure what was blocked or not on the corporate network, and almost everyone who needs connections that are usually blocked in such environments already had their VPN setups so we were able to get started right after that.

We are taking notes live on mozilla’s piblic etherpad site

Today we accomplished quite a lot:

  • analyzed the pending issues for the ruby2.3 transition issues, categorizing the missing packages into “needs a binNMU now”, “needs a binNMU after switching the default to ruby2.3”, and “broken”.
  • ruby-defaults uploaded to experimental switching to ruby2.3 as default, and dropping support for ruby2.2
  • ruby-gsl fixed to build against GSL 2.x (was blocking ruby2.3 transition)
  • #816253: ruby-fast-gettext: fix FTBFS issue and import a new upstream
  • ruby-aws: several issues fixed
  • ruby-binding-of-caller: fixed rubygems-integration
  • fixed ruby-kakasi-ffi (again)
  • made ruby-blockenspiel arch:any again
  • ruby-fast-gettext 1.0.0-1 (fix ftbfs 816253)
  • ruby-aws-sdk: new upstream, debcheck fix and several bumps
  • ruby-fcgi – dropped transitional packages + refreshed packaging with -w
  • ruby-sshkit 1.8.0
  • ruby-beautify: new upstream and few minor fixes
  • asciidoctor (new version sponsored)
  • capistrano 3.4.0 (ftbfs #795724, #802734)
  • #816254: ruby-packetfu: FTBFS: expected NameError with “uninitialized constant PacketFu::FakePacket”, got #
  • updated rake to 10.5.0; making it not include -I/usr/lib/ruby/vendor_ruby when running tests
  • triaged an closed open bugs on ruby-httpclient that do not apply anymore.
  • updated ruby-httpclient to get rid of warnings in apt-listbugs under Ruby 2.3
  • ruby-packetfu (fix ftbfs #816254) by @kanashiro
  • investigated extension/rdepends build failing with ruby2.3-only
  • applied upstream patch to ruby to fix extension ftbfs when extension uses c++
  • ruby-albino 1.3.3-4 (#813644)
  • basic user-level testing using ruby2.3 as default:
    • chef WORKS mostly; it seems ohai segfaults some times
    • rails autopkgtest FIXED Could not find gem ‘binding_of_caller (>= 0.7.2)’, which is required by gem ‘web-console (~> 2.0)’, in any of the sources.
    • vagrant WORKS
    • redmine autopkgtest WORKS
    • apt-listbugs FIXED warnings (e.g. try `apt-listbugs list $pkg`); caused by ruby-httpclient
    • nanoc WORKS
  • capistrano 3.4.0-1 (#795724, #802734) by @sbadia + @terceiro