• Bug#1100309: ruby-ice-cube: FTBFS: Failures: 1) IceCube::Occurrence to_

    From Santiago Vila@21:1/5 to All on Wed Mar 12 17:40:08 2025
    Package: src:ruby-ice-cube
    Version: 0.16.4-3
    Severity: serious
    Tags: ftbfs trixie sid

    Dear maintainer:

    During a rebuild of all packages in unstable, your package failed to build:

    --------------------------------------------------------------------------------
    [...]
    debian/rules clean
    dh clean --buildsystem=ruby --with ruby
    dh_auto_clean -O--buildsystem=ruby
    dh_ruby --clean
    W: XS-Ruby-Versions is deprecated, and will be ignored
    dh_autoreconf_clean -O--buildsystem=ruby
    dh_clean -O--buildsystem=ruby
    debian/rules binary
    dh binary --buildsystem=ruby --with ruby
    dh_update_autotools_config -O--buildsystem=ruby
    dh_autoreconf -O--buildsystem=ruby
    dh_auto_configure -O--buildsystem=ruby
    dh_ruby --configure
    dh_auto_build -O--buildsystem=ruby

    [... snipped ...]

    should determine if it occurs on the day of a given ActiveSupport::Time
    in Pacific/Auckland
    should determine if it occurs on a given Date
    should determine if it occurs on the day of a given UTC Time
    should determine if it occurs on the day of a given local Time
    should determine if it occurs on the day of a given non-local Time
    should determine if it occurs on the day of a given ActiveSupport::Time
    starting from an ActiveSupport::Time
    in America/Anchorage
    should determine if it occurs on a given Date
    should determine if it occurs on the day of a given UTC Time
    should determine if it occurs on the day of a given local Time
    should determine if it occurs on the day of a given non-local Time
    should determine if it occurs on the day of a given ActiveSupport::Time
    in Europe/London
    should determine if it occurs on a given Date
    should determine if it occurs on the day of a given UTC Time
    should determine if it occurs on the day of a given local Time
    should determine if it occurs on the day of a given non-local Time
    should determine if it occurs on the day of a given ActiveSupport::Time
    in Pacific/Auckland
    should determine if it occurs on a given Date
    should determine if it occurs on the day of a given UTC Time
    should determine if it occurs on the day of a given local Time
    should determine if it occurs on the day of a given non-local Time
    should determine if it occurs on the day of a given ActiveSupport::Time
    across DST
    determines local midnight with time change

    IceCube::SecondlyRule interval validation
    converts a string integer to an actual int when using the interval method
    converts a string integer to an actual int when using the initializer
    raises an argument error when a bad value is passed
    raises an argument error when a bad value is passed using the interval method
    should realign to the first second_of_minute
    raises errors for misaligned interval and minute_of_hour values
    raises errors for misaligned second_of_minute values when changing interval

    IceCube::Schedule
    ::dump(schedule)
    serializes a Schedule object as YAML string
    with ActiveSupport::TimeWithZone
    serializes time as a Hash
    when schedule is nil
    returns nil
    when schedule is ""
    returns ""
    ::load(yaml)
    creates a new object from a YAML string
    with ActiveSupport::TimeWithZone
    deserializes time from Hash
    when yaml is nil
    returns nil
    when yaml is ""
    returns ""

    IceCube::StringBuilder
    sentence
    should return empty string when none
    should return sole when one
    should split on and when two
    should comma and when more than two

    IceCube::TimeUtil
    beginning_of_date
    returns 00:00:00 crossing into DST
    returns 00:00:00 crossing out of DST
    returns 00:00:00 from UTC for local time
    returns 00:00:00 from local time for UTC
    returns 00:00:00 from local time for nonlocal time
    wday_to_sym
    converts 0..6 to weekday symbols
    returns weekday symbols as is
    raises an error for bad input
    sym_to_wday
    converts weekday symbols to 0..6 wday numbers
    returns wday numbers as is
    raises an error for bad input
    sym_to_month
    converts month symbols to 1..12 month numbers
    returns month numbers as is
    raises an error for bad input
    deserialize_time
    supports ISO8601 time strings
    match_zone
    in America/Anchorage
    converts Date to beginning of date of local reference time
    converts Date to beginning of date of UTC reference time
    in Europe/London
    converts Date to beginning of date of local reference time
    converts Date to beginning of date of UTC reference time
    in Pacific/Auckland
    converts Date to beginning of date of local reference time
    converts Date to beginning of date of UTC reference time
    in UTC
    converts Date to beginning of date of reference time

    IceCube to_ical
    should return a proper ical representation for a basic daily rule
    should return a proper ical representation for a basic monthly rule
    should return a proper ical representation for a basic monthly rule
    should return a proper ical representation for a basic yearly rule
    should return a proper ical representation for a basic hourly rule
    should return a proper ical representation for a basic minutely rule
    should return a proper ical representation for a basic secondly rule
    should be able to serialize a .day rule to_ical
    should be able to serialize a .day_of_week rule to_ical
    should be able to serialize a .day_of_month rule to_ical
    should be able to serialize a .day_of_year rule to_ical
    should be able to serialize a .month_of_year rule to_ical
    should be able to serialize a .hour_of_day rule to_ical
    should be able to serialize a .minute_of_hour rule to_ical
    should be able to serialize a .second_of_minute rule to_ical
    should be able to collapse a combination day_of_week and day
    should be able to serialize of .day_of_week rule to_ical with multiple days
    should be able to serialize a base schedule to ical in local time
    should be able to serialize a base schedule to ical in UTC time
    should be able to serialize a schedule with one rrule
    should be able to serialize a schedule with multiple rrules
    should be able to serialize a schedule with one exrule
    should be able to serialize a schedule with multiple exrules
    should be able to serialize a schedule with an rtime
    should be able to serialize a schedule with an exception time
    should be able to serialize a schedule with a duration
    should be able to serialize a schedule with a duration - more odd duration
    should be able to serialize a schedule with an end time
    should not modify the duration when running to_ical
    should default to to_ical using local time
    should not have an rtime that duplicates start time
    should be able to receive a to_ical in utc time
    should be able to serialize to ical with an until date
    should be able to serialize to ical with a count date
    should include intervals for secondly rule
    should include intervals for minutely rule
    should include intervals for hourly rule
    should include intervals for daily rule
    should include intervals for monthly rule
    should include intervals for yearly rule
    should include intervals for weekly rule, including weekstart
    should include intervals for weekly rule, including custom weekstart
    should not repeat interval when updating rule

    IceCube::Schedule to_s
    should represent its start time by default
    should have a useful base to_s representation for a secondly rule
    should have a useful base to_s representation for a minutely rule
    should have a useful base to_s representation for a hourly rule
    should have a useful base to_s representation for a daily rule
    should have a useful base to_s representation for a weekly rule
    should have a useful base to_s representation for a monthly rule
    should have a useful base to_s representation for a yearly rule
    should work with various sentence types properly
    should show saturday and sunday as weekends
    should not show saturday and sunday as weekends when other days are present also
    should reorganize days to be in order
    should show weekdays as such
    should not show weekdays as such when a weekend day is present
    should show start time for an empty schedule
    should work with a single date
    should work with additional dates
    should order dates that are out of order
    should remove duplicated start time
    should remove duplicate rtimes
    should work with rules and dates
    should work with rules and times and exception times
    should work with a single rrule
    should be able to say the last Thursday of the month
    should be able to say what months of the year something happens
    should be able to say the second to last monday of the month
    should join the first and last weekdays of the month
    should be able to say the days of the month something happens
    should be able to say what day of the year something happens
    should be able to say what hour of the day something happens
    should be able to say what minute of an hour something happens - with special suffix minutes
    should be able to say what seconds of the minute something happens
    should be able to reflect until dates
    should be able to reflect count
    should be able to reflect count (proper pluralization)

    IceCube::Schedule to_s
    without I18n
    behaves like to_s in English
    should represent its start time by default
    should have a useful base to_s representation for a secondly rule
    should have a useful base to_s representation for a minutely rule
    should have a useful base to_s representation for a hourly rule
    should have a useful base to_s representation for a daily rule
    should have a useful base to_s representation for a weekly rule
    should have a useful base to_s representation for a monthly rule
    should have a useful base to_s representation for a yearly rule
    should work with various sentence types properly
    should show saturday and sunday as weekends
    should not show saturday and sunday as weekends when other days are present also
    should reorganize days to be in order
    should show weekdays as such
    should not show weekdays as such when a weekend day is present
    should show start time for an empty schedule
    should work with a single date
    should work with additional dates
    should order dates that are out of order
    should remove duplicated start time
    should remove duplicate rtimes
    should work with rules and dates
    should work with rules and times and exception times
    should work with a single rrule
    should be able to say the last Thursday of the month
    should be able to say what months of the year something happens
    should be able to say the second to last monday of the month
    should join the first and last weekdays of the month
    should be able to say the days of the month something happens
    should be able to say what day of the year something happens
    should be able to say what hour of the day something happens
    should be able to say what minute of an hour something happens - with special suffix minutes
    should be able to say what seconds of the minute something happens
    should be able to reflect until dates
    should be able to reflect count
    should be able to reflect count (proper pluralization)
    with I18n
    uses I18n
    behaves like to_s in English
    should represent its start time by default
    should have a useful base to_s representation for a secondly rule
    should have a useful base to_s representation for a minutely rule
    should have a useful base to_s representation for a hourly rule
    should have a useful base to_s representation for a daily rule
    should have a useful base to_s representation for a weekly rule
    should have a useful base to_s representation for a monthly rule
    should have a useful base to_s representation for a yearly rule
    should work with various sentence types properly
    should show saturday and sunday as weekends
    should not show saturday and sunday as weekends when other days are present also
    should reorganize days to be in order
    should show weekdays as such
    should not show weekdays as such when a weekend day is present
    should show start time for an empty schedule
    should work with a single date
    should work with additional dates
    should order dates that are out of order
    should remove duplicated start time
    should remove duplicate rtimes
    should work with rules and dates
    should work with rules and times and exception times
    should work with a single rrule
    should be able to say the last Thursday of the month
    should be able to say what months of the year something happens
    should be able to say the second to last monday of the month
    should join the first and last weekdays of the month
    should be able to say the days of the month something happens
    should be able to say what day of the year something happens
    should be able to say what hour of the day something happens
    should be able to say what minute of an hour something happens - with special suffix minutes
    should be able to say what seconds of the minute something happens
    should be able to reflect until dates
    should be able to reflect count
    should be able to reflect count (proper pluralization)

    IceCube::Schedule to_s
    should represent its start time by default
    should have a useful base to_s representation for a secondly rule
    should have a useful base to_s representation for a minutely rule
    should have a useful base to_s representation for a hourly rule
    should have a useful base to_s representation for a daily rule
    should have a useful base to_s representation for a weekly rule
    should have a useful base to_s representation for a monthly rule
    should have a useful base to_s representation for a yearly rule
    should work with various sentence types properly
    should show saturday and sunday as weekends
    should not show saturday and sunday as weekends when other days are present also
    should reorganize days to be in order
    should show weekdays as such
    should not show weekdays as such when a weekend day is present
    should work with a single date
    should work with additional dates
    should order dates that are out of order
    should remove duplicated start time
    should remove duplicate rtimes
    should work with rules and dates
    should work with rules and dates and exdates
    should work with a single rrule
    should be able to say the last monday of the month
    should be able to say what months of the year something happens
    should be able to say the second to last monday of the month
    should be able to say the days of the month something happens
    should be able to say what day of the year something happens
    should be able to say what hour of the day something happens
    should be able to say what minute of an hour something happens - with special suffix minutes
    should be able to say what seconds of the minute something happens
    should be able to reflect until dates
    should be able to reflect count
    should be able to reflect count (proper pluralization)

    IceCube::Schedule to_s
    should represent its start time by default
    should have a useful base to_s representation for a secondly rule
    should have a useful base to_s representation for a minutely rule
    should have a useful base to_s representation for a hourly rule
    should have a useful base to_s representation for a daily rule
    should have a useful base to_s representation for a weekly rule
    should have a useful base to_s representation for a monthly rule
    should have a useful base to_s representation for a yearly rule
    should work with various sentence types properly
    should show saturday and sunday as weekends
    should not show saturday and sunday as weekends when other days are present also
    should reorganize days to be in order
    should show weekdays as such
    should not show weekdays as such when a weekend day is present
    should show start time for an empty schedule
    should work with a single date
    should work with additional dates
    should order dates that are out of order
    should remove duplicated start time
    should remove duplicate rtimes
    should work with rules and dates
    should work with rules and times and exception times
    should work with a single rrule
    should be able to say the last Thursday of the month
    should be able to say what months of the year something happens
    should be able to say the second to last monday of the month
    should join the first and last weekdays of the month
    should be able to say the days of the month something happens
    should be able to say what day of the year something happens
    should be able to say what hour of the day something happens
    should be able to say what minute of an hour something happens - with special suffix minutes
    should be able to say what seconds of the minute something happens
    should be able to reflect until dates
    should be able to reflect count
    should be able to reflect count (proper pluralization)

    IceCube::Schedule to_yaml
    should make a yearly round trip with to_yaml [#47]
    should make a monthly round trip with to_yaml [#47]
    should make a weekly round trip with to_yaml [#47]
    should make a daily round trip with to_yaml [#47]
    should make a hourly round trip with to_yaml [#47]
    should make a minutely round trip with to_yaml [#47]
    should make a secondly round trip with to_yaml [#47]
    should be able to let rules take round trips to yaml
    should respond to .to_yaml
    should be able to make a round-trip to YAML
    should be able to make a round-trip to YAML with .day
    should be able to make a round-trip to YAML with .day_of_month
    should be able to make a round-trip to YAML with .day_of_week
    should be able to make a round-trip to YAML with .day_of_year
    should be able to make a round-trip to YAML with .hour_of_day
    should be able to make a round-trip to YAML with .minute_of_hour
    should be able to make a round-trip to YAML with .month_of_year
    should be able to make a round-trip to YAML with .second_of_minute
    should have a to_yaml representation of a rule that does not contain ruby objects
    should have a to_yaml representation of a schedule that does not contain ruby objects
    should be able to roll forward times and get back times in an array - TimeWithZone
    should be able to roll forward times and get back times in an array - Time
    should be able to go back and forth to yaml and then call occurrences
    should be able to make a round trip with an exception time
    crazy shit
    should be able to make a round trip to hash with a duration
    should be able to be serialized to yaml as part of a hash
    should be able to roll forward and back in time
    should be backward compatible with old yaml Time format
    should work to_yaml with non-TimeWithZone
    should work with occurs_on and TimeWithZone
    should work with occurs_on and TimeWithZone
    should crazy patch
    should be able to bring a Rule to_yaml and back with a timezone
    should be able to bring a Rule to_yaml and back with a count
    should be able to bring a Rule to_yaml and back with an until Date
    should be able to bring a Rule to_yaml and back with an until Time
    should be able to bring a Rule to_yaml and back with an until TimeWithZone
    should be able to bring a Rule to_yaml and back with an undefined week start
    should be able to bring a Rule to_yaml and back with a week start defined
    should be able to bring in a schedule with a rule from hash with symbols or strings
    should raise an ArgumentError when trying to deserialize an invalid rule type
    should raise an ArgumentError when trying to deserialize an invalid validation

    IceCube::ValidatedRule
    #next_time
    should match times with usec
    monthly
    Should return current day when starting on same day
    Should return the next month when starting one second in the future
    should return the next month near end of longer month [#171]
    DST edge
    should not return the same time on a DST edge when starting one second in the future (results in infinite loop [#98])
    previous failing test with DST edge taken into account

    IceCube::WeeklyRule interval validation
    converts a string integer to an actual int when using the interval method
    converts a string integer to an actual int when using the initializer
    raises an argument error when a bad value is passed
    raises an argument error when a bad value is passed using the interval method

    IceCube::WeeklyRule
    should update previous interval
    should produce the correct number of days for @interval = 1 with no weekdays specified
    should produce the correct number of days for @interval = 1 with only weekends
    should set days from symbol args
    should set days from array of symbols
    should set days from integer args
    should set days from array of integers
    should raise an error on invalid input
    should ignore weekday validation when no days are specified
    should produce the correct number of days for @interval = 2 with only one day per week
    should produce the correct days for @interval = 2, regardless of the start week
    should occur every 2nd tuesday of a month
    should be able to start on sunday but repeat on wednesdays
    should start weekly rules on monday when monday is the week start
    should start weekly rules on sunday by default
    should find the next date on a biweekly sunday searching from a few days before the date
    finds correct next_occurrence for biweekly rules realigned from beginning of start week
    finds correct next_occurrence for biweekly rules realigned from skipped week
    finds correct previous_occurrence for biweekly rule realigned from skipped week
    should validate week_start input
    should produce correct days for bi-weekly interval, starting on a non-sunday
    should produce correct days for monday-based bi-weekly interval, starting on a sunday
    should stay aligned to the start week when selecting occurrences with the spans option
    should align next_occurrence with the earliest hour validation
    in Vancouver time
    should include nearest time in DST start hour
    should not skip times in DST end hour
    with Monday week start
    should align next_occurrences with first valid weekday when schedule starts on a Monday
    should align next_occurrence with first valid weekday when schedule starts on a Monday
    should align next_occurrence with first valid weekday when schedule starts on a Wednesday
    using occurs_between with a biweekly schedule
    starting on weekday 0 selecting weekday 1 with a 2 day advance window
    should include weekday 1 of the expected week
    should include weekday 1 of the expected week with the spans option
    starting on weekday 0 selecting weekday 6 with a 1 day advance window
    should include weekday 6 of the expected week
    should include weekday 6 of the expected week with the spans option
    starting on weekday 5 selecting weekday 1 with a 6 day advance window
    should include weekday 6 of the expected week
    should include weekday 6 of the expected week with the spans option
    starting on weekday 6 selecting weekday 5 with a 7 day advance window
    should include weekday 4 of the expected week
    should include weekday 4 of the expected week with the spans option
    when day of start_time does not align with specified day rule
    should align to the correct day with the spans option
    using occurs_between with a weekly schedule
    starting on weekday 6 selecting weekday 5 with a 7 day advance window
    should include weekday 4 of the expected week

    IceCube::YearlyRule interval validation
    converts a string integer to an actual int when using the interval method
    converts a string integer to an actual int when using the initializer
    raises an argument error when a bad value is passed
    raises an argument error when a bad value is passed using the interval method

    IceCube::YearlyRule
    should update previous interval
    should be able to specify complex yearly rules
    should produce the correct number of days for @interval = 1
    should produce the correct number of days for @interval = 2
    should produce the correct days for @interval = 1 when you specify months
    should produce the correct days for @interval = 1 when you specify days
    should produce the correct days for @interval = 1 when you specify negative days
    should handle negative offset day of year for leap years

    Failures:

    1) IceCube::Occurrence to_s accepts a format option to comply with ActiveSupport
    Failure/Error: expect(occurrence.to_s(:short)).to eq time_now.to_s(:short)

    ArgumentError:
    wrong number of arguments (given 1, expected 0)
    # /usr/share/rubygems-integration/all/gems/activesupport-7.2.2.1/lib/active_support/time_with_zone.rb:200:in `to_s'
    # ./spec/examples/occurrence_spec.rb:32:in `block (3 levels) in <top (required)>'
    # ./spec/spec_helper.rb:68:in `block (3 levels) in <top (required)>'
    # ./spec/spec_helper.rb:67:in `block (2 levels) in <top (required)>'

    Finished in 0.6337 seconds (files took 0.28649 seconds to load)
    1076 examples, 1 failure

    Failed examples:

    rspec ./spec/examples/occurrence_spec.rb:28 # IceCube::Occurrence to_s accepts a format option to comply with ActiveSupport

    /usr/bin/ruby3.3 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/exe/rspec --pattern ./spec/\*\*/\*_spec.rb --
    format documentation failed
    ERROR: Test "ruby3.3" failed. Exiting.
    dh_auto_install: error: dh_ruby --install /<<PKGBUILDDIR>>/debian/ruby-ice-cube returned exit code 1
    make: *** [debian/rules:7: binary] Error 25
    dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 --------------------------------------------------------------------------------

    The above is just how the build ends and not necessarily the most relevant part.
    If required, the full build log is available here:

    https://people.debian.org/~sanvila/build-logs/202503/

    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 could not 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-ice-cube, so that this is still
    visible in the BTS web page for this package.

    Thanks.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)