Package: src:ruby-grape Version: 1.6.2-3 Severity: serious Tags: ftbfs bookworm
Dear maintainer: During a rebuild of all packages in bookworm, this package failed to build. [ Note: I can't mark the bug as fixed in trixie because it does not exist in trixie anymore, but packages in bookworm must still build in bookworm ]. Below you will find the last part of the build log (probably the most relevant part, but not necessarily). If required, the full build log is available here: https://people.debian.org/~sanvila/build-logs/bookworm/ About the archive rebuild: The build was made on virtual machines from AWS, using sbuild and a reduced chroot with only build-essential packages. If you cannot reproduce the bug please contact me privately, as I am willing to provide ssh access to a virtual machine where the bug is fully reproducible. If this is really a bug in one of the build-depends, please use reassign and add an affects on src:ruby-grape, so that this is still visible in the BTS web page for this package. Thanks. -------------------------------------------------------------------------------- [...] debian/rules clean dh clean --buildsystem=ruby --with ruby debian/rules override_dh_auto_clean make[1]: Entering directory '/<<PKGBUILDDIR>>' dh_auto_clean dh_ruby --clean rm -rf coverage make[1]: Leaving directory '/<<PKGBUILDDIR>>' dh_autoreconf_clean -O--buildsystem=ruby dh_clean -O--buildsystem=ruby debian/rules binary dh binary --buildsystem=ruby --with ruby [... snipped ...] chooses default with a range of values allows a single value inside of the range allows an array of values inside of the range rejects a single value outside the range rejects an array of values if any of them are outside the range exclusive excepts [DEPRECATION] The values validator except option is deprecated. Use the except validator instead. allows any other value outside excepts [DEPRECATION] The values validator except option is deprecated. Use the except validator instead. allows any other value outside excepts when type is included [DEPRECATION] The values validator except option is deprecated. Use the except validator instead. rejects values that matches except [DEPRECATION] The values validator except option is deprecated. Use the except validator instead. rejects an array of values if any of them matches except exclusive excepts with lambda [DEPRECATION] The values validator except option is deprecated. Use the except validator instead. allows any other value outside excepts when type is included [DEPRECATION] The values validator except option is deprecated. Use the except validator instead. allows any other value outside excepts [DEPRECATION] The values validator except option is deprecated. Use the except validator instead. rejects values that matches except exclusive excepts with lambda and coercion [DEPRECATION] The values validator except option is deprecated. Use the except validator instead. allows any other value outside excepts [DEPRECATION] The values validator except option is deprecated. Use the except validator instead. rejects values that matches except with mixed values and excepts [DEPRECATION] The values validator except option is deprecated. Use the except validator instead. allows value, but not in except [DEPRECATION] The values validator except option is deprecated. Use the except validator instead. rejects except [DEPRECATION] The values validator except option is deprecated. Use the except validator instead. rejects outside except and outside value custom validation using proc [DEPRECATION] The values validator proc option is deprecated. The lambda expression can now be assigned directly to values. accepts a single valid value [DEPRECATION] The values validator proc option is deprecated. The lambda expression can now be assigned directly to values. accepts multiple valid values [DEPRECATION] The values validator proc option is deprecated. The lambda expression can now be assigned directly to values. rejects a single invalid value [DEPRECATION] The values validator proc option is deprecated. The lambda expression can now be assigned directly to values. rejects an invalid value among valid ones [DEPRECATION] The values validator proc option is deprecated. The lambda expression can now be assigned directly to values. uses supplied message Grape::Validations params optional validates when params is present doesn't validate when param not present adds to declared parameters optional using Grape::Entity documentation adds entity documentation to declared params works when field_a and field_b are not present works when field_a is present works when field_b is present required errors when param not present doesn't throw a missing param when param is present adds to declared parameters works when required field is present but nil requires with nested params validates correctly in deep nested params requires :all using Grape::Entity documentation adds entity documentation to declared params errors when required_field is not present works when required_field is present requires :none using Grape::Entity documentation adds entity documentation to declared params errors when required_field is not present works when required_field is present requires :all or :none but except a non-existent field using Grape::Entity documentation requires :all adds only the entity documentation to declared params, nothing more requires :none adds only the entity documentation to declared params, nothing more required with an Array block errors when param not present errors when param is not an Array doesn't throw a missing param when param is present doesn't throw a missing param when param is present but empty adds to declared parameters required with an Array and a Hash block does not output index [0] for Hash types required with a Hash block errors when param not present errors when nested param not present errors when param is not a Hash doesn't throw a missing param when param is present adds to declared parameters hash with a required param with validation errors when param is not a Hash works when all params match group errors when param not present doesn't throw a missing param when param is present adds to declared parameters group params with nested params which has a type errors when group param is invalid custom validator for a Hash which is optional doesn't throw an error if the validation passes errors if the validation fails which is required doesn't throw an error if the validation passes errors if the validation fails validation within arrays can handle new scopes within child elements errors when a parameter is not present errors when a parameter is not present in array within array handle errors for all array elements safely handles empty arrays and blank parameters errors when param is not an Array with block param requires defaults to Array type optional defaults to Array type group defaults to Array type validation within arrays with JSON can handle new scopes within child elements errors when a parameter is not present safely handles empty arrays and blank parameters optional with an Array block doesn't throw a missing param when the group isn't present doesn't throw a missing param when both group and param are given errors when group is present, but required param is not errors when param is present but isn't an Array adds to declared parameters nested optional Array blocks does no internal validations if the outer group is blank does internal validations if the outer group is present handles deep nesting handles validation within arrays adds to declared parameters exactly_one_of at_least_one_of all_or_none_of Issue occurs whenever: * param structure with at least three levels * 1st level item is a required Array that has >1 entry with an optional item present and >1 entry with an optional item missing * 2nd level is an optional Array or Hash * 3rd level is a required item (can be any type) * additional levels do not effect the issue from occuring example based off actual real world use case simplest example using Array -> Array -> Hash -> String simplest example using Array -> Hash -> String correctly indexes invalida data multiple levels of optional and requires settings with valid data with invalid data multiple validation errors throws the validation errors custom validation when using optional with a custom validator validates when param is present skips validation when parameter isn't present validates with custom validator when param present and incorrect type when using requires with a custom validator validates when param is present validates when param is not present nested namespaces the parent namespace uses the validator the nested namespace inherits the custom validator peer namespaces does not have the validator namespaces nested in peers should also not have the validator when nested, specifying a route should clear out the validations for deeper nested params when using options on param validates param with custom validator with options named can be defined in helpers in helper module which kind of Grape::DSL::Helpers::BaseHelper can be included in usual params by #use by #use with multiple params with block returns defaults overrides default value for order overrides default value for order_by fails with invalid value documentation can be included with a hash all or none optional params with a custom validation message errors when any one is present works when all params are present works when none are present mutually exclusive optional params errors when two or more are present with custom validation message errors when two or more are present more than one set of mutually exclusive params errors for all sets with a custom validation message errors for all sets in a group works when only one from the set is present errors when more than one from the set is present mutually exclusive params inside Hash group invalidates if request param is invalid type exactly one of params errors when none are present succeeds when one is present errors when two or more are present with a custom validation message errors when none are present succeeds when one is present errors when two or more are present nested params errors when none are present succeeds when one is present errors when two or more are present at least one of params errors when none are present does not error when one is present does not error when two are present with a custom validation message errors when none are present does not error when one is present does not error when two are present nested params errors when none are present does not error when one is present does not error when two are present in a group works when only one from the set is present errors when no parameter from the set is present errors when more than one from the set is present does not falsely think the param is there if it is provided outside the block Grape /<<PKGBUILDDIR>>/lib/grape/eager_load.rb:20: warning: possibly useless use of :: in void context eager_load! compile! JSON uses multi_json (PENDING: Temporarily skipped with xit) MultiXml uses multi_xml Pending: (Failures listed here are expected and do not affect your suite's status) 1) JSON uses multi_json # Temporarily skipped with xit # ./spec/integration/multi_json/json_spec.rb:6 Failures: 1) Rack::Sendfile when calling sendfile contains Sendfile headers Failure/Error: expect(headers).to include('X-Accel-Redirect') expected {"Cache-Control" => "no-cache", "Content-Type" => "application/json"} to include "X-Accel-Redirect" Diff: @@ -1,2 +1,3 @@ -["X-Accel-Redirect"] +"Cache-Control" => "no-cache", +"Content-Type" => "application/json", # ./spec/grape/integration/rack_sendfile_spec.rb:36:in `block (3 levels) in <top (required)>' Finished in 3.05 seconds (files took 0.78411 seconds to load) 2108 examples, 1 failure, 1 pending Failed examples: rspec ./spec/grape/integration/rack_sendfile_spec.rb:34 # Rack::Sendfile when calling sendfile contains Sendfile headers [33m[Coveralls] Outside the CI environment, not sending data.[0m Stopped processing SimpleCov as a previous error not related to SimpleCov has been detected /usr/bin/ruby3.1 -I/usr/share/rubygems-integration/all/gems/ [too-long-redacted] b --format documentation failed ERROR: Test "ruby3.1" failed. Exiting. dh_auto_install: error: dh_ruby --install /<<PKGBUILDDIR>>/debian/ruby-grape returned exit code 1 make: *** [debian/rules:7: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 --------------------------------------------------------------------------------

