[ARVADOS] updated: fd696fac8234ff799aa6ac63819e5e6ac0a8a9d4

Git user git at public.curoverse.com
Thu Apr 14 10:00:51 EDT 2016


Summary of changes:
 .../pipeline_instances/_running_component.html.erb |  10 -
 apps/workbench/test/test_helper.rb                 |   6 +-
 build/run-build-docker-jobs-image.sh               |   6 +-
 build/run-build-packages-one-target.sh             |   4 +-
 build/run-build-packages-python-and-ruby.sh        | 203 ++++++++++++
 build/run-build-packages.sh                        |  50 +--
 build/run-tests.sh                                 |   9 +-
 crunch_scripts/crunchrunner                        |   7 +-
 crunch_scripts/cwl-runner                          |  92 ++++++
 doc/api/schema/Job.html.textile.liquid             |   1 +
 doc/install/arvbox.html.textile.liquid             |  11 +-
 docker/build_tools/Makefile                        |   2 +-
 docker/jobs/Dockerfile                             |  12 +-
 docker/jobs/apt.arvados.org.list                   |   2 +-
 sdk/cli/bin/crunch-job                             |  51 +--
 sdk/cwl/arvados_cwl/__init__.py                    | 349 +++++++++++++++++----
 sdk/cwl/setup.py                                   |   4 +-
 sdk/cwl/test_with_arvbox.sh                        |   7 +
 sdk/cwl/tests/input/blorp.txt                      |   1 +
 sdk/cwl/tests/submit_test_job.json                 |   6 +
 sdk/cwl/tests/test_job.py                          | 167 +++++++---
 sdk/cwl/tests/test_submit.py                       | 103 ++++++
 sdk/cwl/tests/tool/blub.txt                        |   1 +
 sdk/cwl/tests/tool/submit_tool.cwl                 |  19 ++
 sdk/cwl/tests/wf/submit_wf.cwl                     |  16 +
 sdk/go/arvadostest/fixtures.go                     |   2 +
 sdk/go/crunchrunner/crunchrunner.go                |  24 +-
 sdk/python/arvados/commands/keepdocker.py          |  12 +-
 sdk/python/arvados/commands/run.py                 |  26 +-
 sdk/python/arvados/events.py                       |  78 ++++-
 sdk/python/setup.py                                |   1 +
 sdk/python/tests/test_websockets.py                | 109 ++++++-
 .../v1/api_client_authorizations_controller.rb     |  33 +-
 .../app/controllers/arvados/v1/jobs_controller.rb  |   5 +-
 services/api/app/models/job.rb                     |  21 +-
 .../20160324144017_add_components_to_job.rb        |  11 +
 services/api/db/structure.sql                      |   7 +-
 services/api/test/fixtures/jobs.yml                |  29 ++
 .../api_client_authorizations_controller_test.rb   |  40 ++-
 .../arvados/v1/groups_controller_test.rb           |   6 +-
 .../functional/arvados/v1/jobs_controller_test.rb  |  75 +++++
 services/api/test/test_helper.rb                   |   6 +-
 services/api/test/unit/job_test.rb                 |   1 -
 services/dockercleaner/setup.py                    |   2 +-
 services/fuse/arvados_fuse/fusedir.py              |   5 +
 services/fuse/tests/test_cache.py                  |  45 +++
 services/keepstore/azure_blob_volume.go            |   2 +-
 .../arvnodeman/computenode/dispatch/__init__.py    |  37 ++-
 .../arvnodeman/computenode/dispatch/slurm.py       |  72 +++--
 .../arvnodeman/computenode/driver/__init__.py      |  55 ++--
 .../arvnodeman/computenode/driver/azure.py         |   7 +-
 .../arvnodeman/computenode/driver/ec2.py           |   4 +-
 .../arvnodeman/computenode/driver/gce.py           |   7 +-
 services/nodemanager/arvnodeman/daemon.py          |  24 +-
 .../nodemanager/tests/test_computenode_dispatch.py |  14 +-
 .../tests/test_computenode_dispatch_slurm.py       |  64 ++++
 .../tests/test_computenode_driver_azure.py         |  14 +
 .../tests/test_computenode_driver_gce.py           |   5 +
 services/nodemanager/tests/test_daemon.py          |  26 +-
 services/nodemanager/tests/testutil.py             |  39 +++
 tools/arvbox/bin/arvbox                            |  47 +--
 tools/arvbox/lib/arvbox/docker/Dockerfile.demo     |   4 +
 tools/arvbox/lib/arvbox/docker/common.sh           |   8 +-
 tools/arvbox/lib/arvbox/docker/crunch-setup.sh     |   9 +-
 tools/arvbox/lib/arvbox/docker/keep-setup.sh       |  11 +-
 .../docker/service/arv-git-httpd/run-service       |  12 +-
 .../service/crunch-dispatch-local/run-service      |   8 +-
 .../lib/arvbox/docker/service/keep-web/run-service |  12 +-
 .../arvbox/docker/service/keepproxy/run-service    |  12 +-
 .../lib/arvbox/docker/service/sdk/run-service      |   4 +-
 .../crunchstat_summary/reader.py                   |   1 +
 .../crunchstat_summary/summarizer.py               |   1 +
 tools/keep-block-check/.gitignore                  |   1 +
 tools/keep-block-check/keep-block-check.go         | 223 +++++++++++++
 tools/keep-block-check/keep-block-check_test.go    | 336 ++++++++++++++++++++
 tools/keep-rsync/keep-rsync_test.go                |   2 +-
 76 files changed, 2375 insertions(+), 363 deletions(-)
 create mode 100755 build/run-build-packages-python-and-ruby.sh
 create mode 100755 crunch_scripts/cwl-runner
 create mode 100644 sdk/cwl/tests/input/blorp.txt
 create mode 100644 sdk/cwl/tests/submit_test_job.json
 create mode 100644 sdk/cwl/tests/test_submit.py
 create mode 100644 sdk/cwl/tests/tool/blub.txt
 create mode 100644 sdk/cwl/tests/tool/submit_tool.cwl
 create mode 100644 sdk/cwl/tests/wf/submit_wf.cwl
 create mode 100644 services/api/db/migrate/20160324144017_add_components_to_job.rb
 create mode 100644 services/fuse/tests/test_cache.py
 create mode 100644 tools/keep-block-check/.gitignore
 create mode 100644 tools/keep-block-check/keep-block-check.go
 create mode 100644 tools/keep-block-check/keep-block-check_test.go

  discards  915308ee58ef34d1fc86103b2d485212a72b5b98 (commit)
  discards  301e4bdcb238b64bb71826520b0664706bbbfb70 (commit)
  discards  58367f9175cfa06ede312275969ca9ec76e2c0d1 (commit)
  discards  34ec95bc34359199f00ce8a8c67db4ed11f89533 (commit)
       via  fd696fac8234ff799aa6ac63819e5e6ac0a8a9d4 (commit)
       via  3a31612fdc5e1ccdfa91d04ff5a089d6e06c0f60 (commit)
       via  065cefa6e87c8b668af5a4abc065514b84db83b5 (commit)
       via  40ad5fb3f699c348222c90692b9ae27a8f716af9 (commit)
       via  a7e8991d92cdd798406e163171127d8285ddd4d0 (commit)
       via  c0b76aafff3e6883635b3bd0f186591eddac2a7d (commit)
       via  d4ac44b6224001cb9dc1d86e180c2ac48ef1bce6 (commit)
       via  e935e107a4ac6250ae64878262c3145d7a62b8e8 (commit)
       via  a8bbf6efd755e3a6915ecfa5d980ef76ca1ea4a5 (commit)
       via  f044dbbcab5f4fcefaf2952fa1b71eb68aba7999 (commit)
       via  f8e1022669f0ab5d5db10d0e043b17be83d879b0 (commit)
       via  1ef981e08fb9905fbe4fdd294197368a3a9e5bbb (commit)
       via  5026c691c3b2b402243acd4c2dd936aa7976ba2b (commit)
       via  2581a27602bd98fa532926efc02d9401ee095108 (commit)
       via  28fb859d989c295e1f44aed96a7478e8454db4d5 (commit)
       via  207136fe4f9787ac7f99cba448ed5a2a05a6f8dd (commit)
       via  788b8d7247da8c4592b1f9d482fff4e1509f57f3 (commit)
       via  32eb510594a45b395d1a0c8dafda1a94c86c0a9f (commit)
       via  f735a9c42905fbc900cd1f3612f35b9438c730f2 (commit)
       via  9c3de7371b820b1cecf1f3b0117773a11c5f5883 (commit)
       via  55b017847fe87e00e7fb9c6bfd0444b83f8ca12c (commit)
       via  65efe2535e49058ccf8250f93e958ea653f55cd8 (commit)
       via  d5a21b4c6198d861a09ebeefec02bf78395f2e4e (commit)
       via  a8a65836a931811e869a3abba2244cc529ef2dd6 (commit)
       via  4ab126d1574b7db2fdb5b0cea253b2df28d7b130 (commit)
       via  2d112118532f0e059bc7e72d85ee63083a98156f (commit)
       via  791bfa0fabd9b37ff8b52fb934f16b47461731da (commit)
       via  92d7a504629d848927d5334b0a801cd3993a585b (commit)
       via  ba534230bcc23aaea69e5f256693b9e143200b63 (commit)
       via  95253d987794df9c27db93b1b9f8be2d32229309 (commit)
       via  7ddbf6b763f15bb84d7d897d373e37e85a8c3d6b (commit)
       via  7c607284a048225b86b210c8c5397ff8a983d820 (commit)
       via  0c848aa00c9af71ea2c7a575d8ee04b420a5eae7 (commit)
       via  10f81953efe1884f170a7a2be14e6f1c32012c86 (commit)
       via  47c2e05d4d86206e15fdf7d14e6f00637dd81f94 (commit)
       via  a4f8073c3c8520bf0e12f335e2c829a7f7f43dd1 (commit)
       via  68d551b65a837664be72bf08aad55ab76d778d07 (commit)
       via  c244fbb0d880b45a44300e9ed650a32a954fd7d9 (commit)
       via  a2dc68267b5ff974460cef796820e7f8b90e04bc (commit)
       via  bbb0760e909b3ceca850b3aa319011fba2c98ed0 (commit)
       via  f5348ab8671390e85956a9b78c5810be7c01e81e (commit)
       via  86996de865c2b4d395c2a3977b05f7278924f627 (commit)
       via  f1e315aa701757ee8bf497805033b039b21515ba (commit)
       via  e13c868ed9216b4ad414adc435a9f9ed5afe2b89 (commit)
       via  ae6ced575905d226963516bb7780c2bae391621c (commit)
       via  448ec6cc59fe837eb71c416a82b8a72a959eddc8 (commit)
       via  fc6f80e4d1157b4b69bad852be1a7bb921fcb91b (commit)
       via  241ef75ec8b6cf5dd14ce19fa068462adaeb0386 (commit)
       via  2d18e31468b269e526cb6e4918912b60a48540b2 (commit)
       via  f37349e9436294472bdbdec820c5ec44ebe64430 (commit)
       via  9c3a1a10b702ec7ee79bb0aa1beb3c227bec95dd (commit)
       via  91b379c4a76b8278354903158a65e5d47babd363 (commit)
       via  b8ae9ce66c24055f3bf66b0956e15c44c9dd51f0 (commit)
       via  8b93280fb2fae252e29263660e9591fcaa2d8722 (commit)
       via  a2c147e469bc4ccc0e788f2e72b2d94aa81ba368 (commit)
       via  7b2cd50f499a1f9c5b21ab6aa641f14701402885 (commit)
       via  55778ad90a9b869f514e729b3f85c12383f4e2a7 (commit)
       via  eea5f75077ca5d3adced3ad3d90f755d0fa5b3d8 (commit)
       via  34d92b238ebc107bf28dac5c7e3ce138ac84b2c1 (commit)
       via  86f774031fd38bd8d34341afd007fbea9e6da740 (commit)
       via  cafe405682669b7ebdec8db4ee083c3ca2761827 (commit)
       via  dce9b03c23e89e77e3547a3a92088f332c0f747e (commit)
       via  8680c8740d128a6fe71b27aad528dea890edaefa (commit)
       via  d48af5cfd486b9ea93b57c7f88b80e0305664b0b (commit)
       via  82225f2eeb39f6798ff83e979c28698ff617d414 (commit)
       via  75ed52bfd557502aa04d413cdfb4f798af7cec66 (commit)
       via  798b08af218972bf9fb60101b7f85fd71951c6b7 (commit)
       via  de985c815dd4a81dcb5b03475452e2c93d3dadb4 (commit)
       via  a74883043be4bfda29010adcd3627b4ad8923a29 (commit)
       via  3386dd9826cf143d078aa8985726516932fafa5b (commit)
       via  9bf2ba202652163937d79341e855910f8c330d05 (commit)
       via  49743c080265b270693154d7a327d0433b0a7dbe (commit)
       via  2fa70753122b53e70005c8f7d2d9b0f12588aa2e (commit)
       via  98ada97aef7838001ba87af08761b3abd5b011bb (commit)
       via  d646e4d515fff35c04544f531f5a7bc0a53a79ab (commit)
       via  c020dd4470a5f8cbcfe15e764553622828f69ab5 (commit)
       via  cdcddca613c896fd8395a4045c858945451c3fa0 (commit)
       via  c19a7bbf7af84f0b8d60ebe29ee9365eca36fbbb (commit)
       via  9d035125ea1f8b6bd32fa6f862b32ba9308ebc66 (commit)
       via  c980683a243903babe9cc09cabc71e1c6229fef1 (commit)
       via  057a218324fd68bf5b9d034240d225b539b393a6 (commit)
       via  92c876d90253a0db23d40aa125cba335f7bf7e27 (commit)
       via  505b7680f8ed8f518f1c3368eb4107e493115b23 (commit)
       via  f7e07c3a28d4f4e1adbd957749bd825e44a2e523 (commit)
       via  3fe0e22c8b6edecd2651c5ee4db105a1e19f42e8 (commit)
       via  5eabedb88ce741076167efd2305216043dd9abd5 (commit)
       via  e68d56d2d033c7be04294fd30cd0edb424f291fb (commit)
       via  cf5af834e8fb31720b459127394f6bf4e2c0158e (commit)
       via  db1fd09c38132bbaf04e6921bdc0de3bf28abe09 (commit)
       via  a3f2cb186e437bfce0031b024b2157b73ed2717d (commit)
       via  436105d3e249ad8dc55fb618d0d2c0d8ed29b395 (commit)
       via  c22b3b27841508c534c6b287ef1508841fd892d4 (commit)
       via  dbafab756158fa8bbd374a9938f0f4cb21e02818 (commit)
       via  a7d819f660840767df3e393a30a775f445db266e (commit)
       via  529a648458ceefc02d77abf470a2005a099d9907 (commit)
       via  204bba7b53a2f7eba36782facf6dc8903aee120a (commit)
       via  4743b2e8f9587146f24359f98b648e92d5b04e38 (commit)
       via  94f5be8c86ad975ee7aa9f3df87be23fbc154dec (commit)
       via  e9667fff4716e4990fec560f92c1e0f4a6cb686f (commit)
       via  98036435a54261258faadedeef0675eecfe4ff39 (commit)
       via  f2f5c6aa8117b51e9fed1a59a41b97b18ac713a8 (commit)
       via  dfc93aac9c256d6ebb868aeb6c2107821e9fd041 (commit)
       via  4727a3b6417bd254b3e8bca1bd19a77773493572 (commit)
       via  414ab8bf556c08065d8235a80822344ab5265aae (commit)
       via  5c1410e60eb06769207dbafd77501bf2fa45a29b (commit)
       via  0e32c4ee6281dd4a3ae186b75dd7c94c8be508c8 (commit)
       via  adad241671bd37f76b5dcefad1e01914f9797214 (commit)
       via  087ad4d01176703f22fde4cf053427e562890c16 (commit)
       via  6c01579495dd6a26ee9b05aa0accd136094d453e (commit)
       via  a810fa495eab5bc3356ac53a9a3aa40d69b1c77e (commit)
       via  32fba9fa61361bf068e8125507e6242da4295ee5 (commit)
       via  525e930dcb35b440424d53b09a9788fd8726b781 (commit)
       via  48a323ca58614b7e2e100fd69fdc8a441d5d0c80 (commit)
       via  abd7a5952a3e852c854e3e08353b42b778a7381d (commit)
       via  7a6612d56b719165d3aff84754521c9a38d9912a (commit)
       via  91b6e4f4ae93850fb3cc38cf8566115a66f44b27 (commit)
       via  48fce933fec998722e669d7d33a62f3c0a10b05e (commit)
       via  f49a4d7ff243bb3e8b15f4c5adf77d6355fb6bcd (commit)
       via  c7539c212173e4ce103ec8cc893f0c4f0a942ba3 (commit)
       via  a8af246b8c99b070fc445cda3d3a13bdf0885f24 (commit)
       via  d27d9df7bfb7be820b4674675a240901348cfadb (commit)
       via  a3d43ada117ee7e0535579fc3f1b66503f95b4c7 (commit)
       via  4447bfa5edac893079894484244318a872a0d3ba (commit)
       via  beaea7361fdfaf3dd220e3f5999fb3c0dfc3e61c (commit)
       via  8b133b596ef25d548e01820c25595803bb49d18e (commit)
       via  ed646f12b58e930fe018dc4caf2121294c26e375 (commit)
       via  d170d92ce35f402b68fc07c7cbeed2d215685837 (commit)
       via  b8260eb5cdc2c403083d7dbea49c45791a763e9c (commit)
       via  9bccc21498bab7e1300af17c5844f868f119bb9c (commit)
       via  ad775d785386d751e9b8b0d127885b56f3e016ff (commit)
       via  67ef6afce1dd158938eebcf6bed9d3edeb9d73a0 (commit)
       via  9507b78b62a042013a8c80ed82182a2ca6d45912 (commit)
       via  39df0227516440638035168f5f89df4634f37e1a (commit)
       via  e1655f12ed1cfec6b5763e1db81e7ec8dd0f7a14 (commit)
       via  5450d1417a31aaf2f71e16a440fcfee0a06be6c7 (commit)
       via  f9f7ccc13963e52b60a10d99806b00a1de66833f (commit)
       via  133d751f665ccf24fde56d1f8acf23f9a3475927 (commit)
       via  8539a6c20fecc7bed02f1c7f81d3d2a1c0974e1f (commit)
       via  cb6d05e27e37f29ea99cf6e474ee09a1479252e1 (commit)
       via  46f5721a767f8e012b3e3183412bb8f9c5ff0ac6 (commit)
       via  8f46e1564dd7c4f42fdccc6e5c8222ce8955405e (commit)
       via  76c7406f60319da7011ac9797ae32eb22f574d4c (commit)
       via  785a877a46f0c6580d46dac179ea2d4c4a6e7de3 (commit)
       via  4fecea55bd6dd5befd82bf7ec5dd4fe93bd93cea (commit)
       via  f04cfcce18c6e4bd1faf3140ccbc835328580024 (commit)
       via  8e6e328e8f8985b763e5a26185de769ea3ad904d (commit)
       via  defc3f65bfeed18d4ca0beb0e2a3aabd0db6cc75 (commit)
       via  a87af13d2d3461470b89b0811629a077a70c1938 (commit)
       via  846a2728f3cfc80efc220a60536dea16b5f0fcbd (commit)
       via  bdfd1e9f8bc2a3933f6b0bc7afd5cfebd815fd90 (commit)
       via  86865a741f902ac008e11d1dec90b87b89822025 (commit)
       via  4d5e04d4998d2fe6c33a98bb93e7ec05e559bcbd (commit)
       via  30443c31bf020b6f558c4b7d954599b24c1a98ce (commit)
       via  83645e26981cf9a01c72096298fd9f8dd0f5309e (commit)
       via  ca4958ad27277b1d4ae0226382e214fb2b1f2fec (commit)

This update added new revisions after undoing existing revisions.  That is
to say, the old revision is not a strict subset of the new revision.  This
situation occurs when you --force push a change and generate a repository
containing something like this:

 * -- * -- B -- O -- O -- O (915308ee58ef34d1fc86103b2d485212a72b5b98)
            \
             N -- N -- N (fd696fac8234ff799aa6ac63819e5e6ac0a8a9d4)

When this happens we assume that you've already had alert emails for all
of the O revisions, and so we here report only the revisions in the N
branch from the common base, B.

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit fd696fac8234ff799aa6ac63819e5e6ac0a8a9d4
Author: Tom Clegg <tom at curoverse.com>
Date:   Wed Apr 13 10:57:09 2016 -0400

    8697: Fix Locator.parse() (was failing on locators with hints).

diff --git a/sdk/ruby/lib/arvados/keep.rb b/sdk/ruby/lib/arvados/keep.rb
index 3c6b26b..489eeee 100644
--- a/sdk/ruby/lib/arvados/keep.rb
+++ b/sdk/ruby/lib/arvados/keep.rb
@@ -47,19 +47,19 @@ module Keep
         raise ArgumentError.new "locator is nil or empty"
       end
 
-      m = LOCATOR_REGEXP.match(tok.strip)
+      m = LOCATOR_REGEXP.match(tok)
       unless m
         raise ArgumentError.new "not a valid locator #{tok}"
       end
 
-      tokhash, _, toksize, _, trailer = m[1..5]
+      tokhash, _, toksize, _, _, trailer = m[1..6]
       tokhints = []
       if trailer
         trailer.split('+').each do |hint|
-          if hint =~ /^[[:upper:]][[:alnum:]@_-]+$/
+          if hint =~ /^[[:upper:]][[:alnum:]@_-]*$/
             tokhints.push(hint)
           else
-            raise ArgumentError.new "unknown hint #{hint}"
+            raise ArgumentError.new "invalid hint #{hint}"
           end
         end
       end
diff --git a/sdk/ruby/test/test_keep_manifest.rb b/sdk/ruby/test/test_keep_manifest.rb
index 5ed9cfc..fa1dc3f 100644
--- a/sdk/ruby/test/test_keep_manifest.rb
+++ b/sdk/ruby/test/test_keep_manifest.rb
@@ -266,6 +266,8 @@ class ManifestTest < Minitest::Test
    [true, 'd41d8cd98f00b204e9800998ecf8427e+0', '+0','0',nil],
    [true, 'd41d8cd98f00b204e9800998ecf8427e+0+Fizz+Buzz','+0','0','+Fizz+Buzz'],
    [true, 'd41d8cd98f00b204e9800998ecf8427e+Fizz+Buzz', nil,nil,'+Fizz+Buzz'],
+   [true, 'd41d8cd98f00b204e9800998ecf8427e+0+Ad41d8cd98f00b204e9800998ecf8427e00000000+Foo', '+0','0','+Ad41d8cd98f00b204e9800998ecf8427e00000000+Foo'],
+   [true, 'd41d8cd98f00b204e9800998ecf8427e+Ad41d8cd98f00b204e9800998ecf8427e00000000+Foo', nil,nil,'+Ad41d8cd98f00b204e9800998ecf8427e00000000+Foo'],
    [true, 'd41d8cd98f00b204e9800998ecf8427e+0+Z', '+0','0','+Z'],
    [true, 'd41d8cd98f00b204e9800998ecf8427e+Z', nil,nil,'+Z'],
   ].each do |ok, locator, match2, match3, match4|
@@ -278,6 +280,18 @@ class ManifestTest < Minitest::Test
         assert_equal match4, match[4]
       end
     end
+    define_method "test_parse_method_on_#{locator.inspect}" do
+      loc = Keep::Locator.parse locator
+      if !ok
+        assert_nil loc
+      else
+        refute_nil loc
+        assert loc.is_a?(Keep::Locator)
+        #assert loc.hash
+        #assert loc.size
+        #assert loc.hints.is_a?(Array)
+      end
+    end
   end
 
   [
@@ -301,6 +315,7 @@ class ManifestTest < Minitest::Test
     [true, ". d41d8cd98f00b204e9800998ecf8427e+0 0:0:\\040\n"],
     [true, ". 00000000000000000000000000000000+0 0:0:0\n"],
     [true, ". 00000000000000000000000000000000+0 0:0:d41d8cd98f00b204e9800998ecf8427e+0+Ad41d8cd98f00b204e9800998ecf8427e00000000 at ffffffff\n"],
+    [true, ". d41d8cd98f00b204e9800998ecf8427e+0+Ad41d8cd98f00b204e9800998ecf8427e00000000 at ffffffff 0:0:empty.txt\n"],
     [false, '. d41d8cd98f00b204e9800998ecf8427e 0:0:abc.txt',
       "Invalid manifest: does not end with newline"],
     [false, "abc d41d8cd98f00b204e9800998ecf8427e 0:0:abc.txt\n",

commit 3a31612fdc5e1ccdfa91d04ff5a089d6e06c0f60
Author: Tom Clegg <tom at curoverse.com>
Date:   Wed Apr 13 10:24:14 2016 -0400

    8697: ruby 1.8.7 compatibility in arvados/collection.

diff --git a/sdk/ruby/lib/arvados/collection.rb b/sdk/ruby/lib/arvados/collection.rb
index 07b7519..474241d 100644
--- a/sdk/ruby/lib/arvados/collection.rb
+++ b/sdk/ruby/lib/arvados/collection.rb
@@ -44,7 +44,7 @@ module Arv
     end
 
     def cp_r(source, target, source_collection=nil)
-      opts = {descend_target: !source.end_with?("/")}
+      opts = {:descend_target => !source.end_with?("/")}
       copy(:merge, source.chomp("/"), target, source_collection, opts)
     end
 
@@ -70,7 +70,7 @@ module Arv
     end
 
     def rm_r(source)
-      remove(source, recursive: true)
+      remove(source, :recursive => true)
     end
 
     protected
@@ -155,7 +155,7 @@ module Arv
       modified
     end
 
-    LocatorSegment = Struct.new(:locators, :start_pos, :length)
+    Struct.new("LocatorSegment", :locators, :start_pos, :length)
 
     class LocatorRange < Range
       attr_reader :locator
@@ -187,9 +187,9 @@ module Arv
           end_index = search_for_byte(start_pos + length - 1, start_index)
         end
         seg_ranges = @ranges[start_index..end_index]
-        LocatorSegment.new(seg_ranges.map(&:locator),
-                           start_pos - seg_ranges.first.begin,
-                           length)
+        Struct::LocatorSegment.new(seg_ranges.map(&:locator),
+                                   start_pos - seg_ranges.first.begin,
+                                   length)
       end
 
       private

commit 065cefa6e87c8b668af5a4abc065514b84db83b5
Author: Tom Clegg <tom at curoverse.com>
Date:   Tue Mar 22 17:29:29 2016 -0400

    8697: Move error messages from stdout to stderr.

diff --git a/sdk/cli/bin/arv-run-pipeline-instance b/sdk/cli/bin/arv-run-pipeline-instance
index 70e2f42..6dc82c5 100755
--- a/sdk/cli/bin/arv-run-pipeline-instance
+++ b/sdk/cli/bin/arv-run-pipeline-instance
@@ -17,7 +17,7 @@ begin
   require 'trollop'
   require 'google/api_client'
 rescue LoadError => l
-  puts $:
+  $stderr.puts $:
   abort <<-EOS
 #{$0}: fatal: #{l.message}
 Some runtime dependencies may be missing.
@@ -132,7 +132,7 @@ if $options[:instance]
     abort "#{$0}: syntax error: --instance cannot be combined with --template or --submit."
   end
 elsif not $options[:template]
-  puts "error: you must supply a --template or --instance."
+  $stderr.puts "error: you must supply a --template or --instance."
   p.educate
   abort
 end

commit 40ad5fb3f699c348222c90692b9ae27a8f716af9
Author: Tom Clegg <tom at curoverse.com>
Date:   Tue Mar 22 17:28:39 2016 -0400

    8697: Relax version constraints so gem can be used in ruby187/ree projects.

diff --git a/sdk/ruby/arvados.gemspec b/sdk/ruby/arvados.gemspec
index 3d090f4..355ed5d 100644
--- a/sdk/ruby/arvados.gemspec
+++ b/sdk/ruby/arvados.gemspec
@@ -18,13 +18,15 @@ Gem::Specification.new do |s|
   s.files       = ["lib/arvados.rb", "lib/arvados/google_api_client.rb",
                    "lib/arvados/collection.rb", "lib/arvados/keep.rb",
                    "README", "LICENSE-2.0.txt"]
-  s.required_ruby_version = '>= 2.1.0'
+  s.required_ruby_version = '>= 1.8.7'
   # activesupport <4.2.6 only because https://dev.arvados.org/issues/8222
-  s.add_dependency('activesupport', '>= 3.2.13', '< 4.2.6')
+  s.add_dependency('activesupport', '>= 3', '< 4.2.6')
   s.add_dependency('andand', '~> 1.3', '>= 1.3.3')
-  s.add_dependency('google-api-client', '~> 0.6.3', '>= 0.6.3')
+  s.add_dependency('google-api-client', '>= 0.7', '< 0.9')
+  # work around undeclared dependency on i18n in some activesupport 3.x.x:
+  s.add_dependency('i18n', '~> 0')
   s.add_dependency('json', '~> 1.7', '>= 1.7.7')
-  s.add_runtime_dependency('jwt', '>= 0.1.5', '< 1.0.0')
+  s.add_runtime_dependency('jwt', '<2', '>= 0.1.5')
   s.homepage    =
     'https://arvados.org'
 end
diff --git a/sdk/ruby/lib/arvados.rb b/sdk/ruby/lib/arvados.rb
index 753c518..7a3f4b4 100644
--- a/sdk/ruby/lib/arvados.rb
+++ b/sdk/ruby/lib/arvados.rb
@@ -209,7 +209,7 @@ class Arvados
                 :parameters => parameters,
                 :body_object => body,
                 :headers => {
-                  authorization: 'OAuth2 '+arvados.config['ARVADOS_API_TOKEN']
+                  :authorization => 'OAuth2 '+arvados.config['ARVADOS_API_TOKEN']
                 })
       resp = JSON.parse result.body, :symbolize_names => true
       if resp[:errors]
@@ -217,7 +217,7 @@ class Arvados
       elsif resp[:uuid] and resp[:etag]
         self.new(resp)
       elsif resp[:items].is_a? Array
-        resp.merge(items: resp[:items].collect do |i|
+        resp.merge(:items => resp[:items].collect do |i|
                      self.new(i)
                    end)
       else

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list