[DRE-maint] Bug#1120227: ruby-chef-config: FTBFS: dh_auto_install: error: dh_ruby --install /<<PKGBUILDDIR>>/debian/ruby-chef-config returned exit code 1

Santiago Vila sanvila at debian.org
Thu Nov 6 12:00:21 GMT 2025


Package: src:ruby-chef-config
Version: 16.12.3-3
Severity: serious
Tags: ftbfs forky sid

Dear maintainer:

During a rebuild of all packages in unstable, this package failed to build.

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/202511/

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-chef-config, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
 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
	dh_ruby --build

[... snipped ...]

    on unix
      etc_chef_dir is /etc/chef
      var_chef_dir is /var/chef
      var_root_dir is /var
  On Windows
    ChefConfig::Config[:user_home]
      falls back to the current working directory when HOME and USERPROFILE is not set
      should set when HOME is provided
    ChefConfig::Config[:internal_locale]
      on error
        should default to 'en_US.UTF-8'
      when the result includes 'en_*.utf8'
        returns an English UTF-8 locale
      when the result includes 'en.UTF-8'
        returns an English UTF-8 locale
      when the result includes 'en_US.UTF-8'
        returns an English UTF-8 locale
      when the result includes 'en_US.utf8'
        returns an English UTF-8 locale
      when the result includes 'C.UTF-8'
        returns an English UTF-8 locale
      when the result does not include 'en_*.UTF-8'
        should fall back to C locale
      when the result includes 'en_*.UTF-8'
        returns an English UTF-8 locale
    class method: platform_specific_path
      a windows system with chef installed on C: drive
        should return a windows path rooted in C:
      a windows system with chef installed on D: drive
        should return a windows path rooted in D:
    ChefConfig::Config[:event_handlers]
      sets a event_handlers to an empty array by default
      should be able to add custom handlers
    default values
      ChefConfig::Config[:cookbook_artifact_path] defaults to /var/chef/cookbook_artifacts
      ChefConfig::Config[:ssl_ca_path] defaults to nil
      ChefConfig::Config[:ssl_verify_mode] defaults to :verify_peer
      ChefConfig::Config[:stream_execute_output] defaults to false
      ChefConfig::Config[:file_backup_path] defaults to /var/chef/backup
      ChefConfig::Config[:download_progress_interval] defaults to every 10%
      ChefConfig::Config[:environment_path] defaults to /var/chef/environments
      ChefConfig::Config[:data_bag_path] defaults to /var/chef/data_bags
      ChefConfig::Config[:show_download_progress] defaults to false
      ChefConfig::Config[:client_key]
        sets the default path to the client key
        when local mode is enabled
          returns nil
        when target mode is enabled
          sets the default path to the client key with the target host name
      finding the windows embedded dir
        finds the embedded dir in the default location
        doesn't error when not in an omnibus install
        sets the ssl_ca_cert path if the cert file is available
        finds the embedded dir in a custom install location
      setting the config dir
        when the config file is /etc/chef/client.rb
          config_dir is /etc/chef
          when config_dir is set to /other/config/dir/
            yields the explicit value
          and chef is running in local mode
            config_dir is /etc/chef
        when the user's home dir is /home/charlie/
          config_dir is /home/charlie/.chef/
          and chef is running in local mode
            config_dir is /home/charlie/.chef/
        when the config file is given with a relative path
          does not set derived paths at FS root
          expands the path when determining config_dir
        when the user's home dir is windows specific
          config_dir is with backslashes
          and chef is running in local mode
            config_dir is with backslashes
      ChefConfig::Config[:cache_path]
        when /var/chef exists and is accessible
          defaults to /var/chef
          and target mode is enabled
            cache path includes the target host name
        when /var/chef does not exist and /var is not accessible
          defaults to $HOME/.chef
        when /var/chef does not exist and /var is accessible
          defaults to /var/chef
        when chef is running in local mode
          and config_dir is /a/b/c
            cache_path is /a/b/c/local-mode-cache
          and config_dir is /a/b/c/
            cache_path is /a/b/c/local-mode-cache
        when /var/chef exists and is not accessible
          defaults to $HOME/.chef
          and target mode is enabled
            cache path defaults to $HOME/.chef with the target host name
      ChefConfig::Config[:repo_mode]
        when local mode is not enabled
          and the chef_server_url is not multi-tenant
            defaults to 'everything'
          and the chef_server_url is multi-tenant
            defaults to 'hosted_everything'
        when local mode is enabled
          defaults to 'hosted_everything'
          and osc_compat is enabled
            defaults to 'everything'
      ChefConfig::Config[:chef_server_root]
        when chef_server_url matches '..organizations..' but not '../organizations/*'
          returns the full URL without any modifications
        when chef_server_url isn't set manually
          returns the default of 'https://localhost:443'
        when chef_server_url matches '../organizations/*' without a trailing slash
          returns the full URL without /organizations/*
        when chef_server_url matches '../organizations/*' with a trailing slash
          returns the full URL without /organizations/*
        when chef_server_url is a standard URL without the string organization(s)
          returns the full URL without any modifications
      ChefConfig::Config[:chef_repo_path]
        when cookbook_path is set to a single path
          is set to a path one directory up from the cookbook_path
        when cookbook_path is set to multiple paths
          is set to an Array of paths one directory up from the cookbook_paths
        when cookbook_path is not set
          is set to the cache_path
        when cookbook_path is not set but cookbook_artifact_path is set
          is set to a path one directory up from the cookbook_artifact_path
      ChefConfig::Config[:fips]
        returns false when no environment is set and not enabled on system
        when ENV['CHEF_FIPS'] is empty
          returns false
        when ENV['CHEF_FIPS'] is set
          returns true
        when fips is enabled on system
          returns true
    ChefConfig::Config[:encrypted_data_bag_secret]
      /etc/chef/encrypted_data_bag_secret exists
        sets the value to /etc/chef/encrypted_data_bag_secret
      /etc/chef/encrypted_data_bag_secret does not exist
        sets the value to nil
    class method: windows_installation_drive
      should return D: on a windows system
    ChefConfig::Config[:user_valid_regex]
      on a platform that is not Windows
        allows one letter usernames
  Treating deprecation warnings as errors
    when using our default RSpec configuration
      sets CHEF_TREAT_DEPRECATION_WARNINGS_AS_ERRORS environment variable
      defaults to treating deprecation warnings as errors
      treats deprecation warnings as errors in child processes when testing
    outside of our test environment
      defaults to NOT treating deprecation warnings as errors
  when configuring formatters
    configures a formatter with a file output
    configures a formatter with a short name
    has an empty list of formatters by default
  proxy_uri
    when no_proxy is set
      when no_proxy is a domain with a dot prefix
        is expected to eq nil
      when no_proxy is included on a list with wildcards
        is expected to eq nil
      when no_proxy is the exact host
        is expected to eq nil
      when no_proxy includes the same domain with a wildcard
        is expected to eq nil
      when no_proxy is included on a list
        is expected to eq nil
      when no_proxy is a domain with no wildcard
        is expected to eq nil
    when the proxy is set by the environment
      contains the port
      contains the host
    when an empty proxy is set by the environment
      does not fail with URI parse exception
    when the config setting is normalized (does not contain the scheme)
      contains the port
      contains the host
  validation_client_name
    with an unusual server URL
      sets the validation client to chef-validator
    with a normal server URL
      sets the validation client to myorg-validator
  allowing chefdk configuration outside of chefdk
    allows arbitrary settings in the chefdk config context
  data collector URL
    when using default settings
      for Chef Client
        configures the data collector URL as a relative path to the Chef Server URL
      for Chef Solo legacy mode
        sets the data collector server URL to nil
      for local mode
        sets the data collector server URL to nil
  config attribute writer: chef_server_url
    sets the server url
    when the url has a leading space
      strips the space from the url when setting
    when the url is a frozen string
      strips the space from the url when setting without raising an error
    when the url is invalid
      raises an exception

ChefConfig::PathHelper
  forcing windows/non-windows
    forcing unix
      cleanpath changes backslashes into slashes and leaves slashes alone
      cleanpath does not remove leading double backslash
      cleanpath removes extra slashes alone
      path_separator is /
      platform-specific #join behavior
        joins components when some end with separators
        joins components that don't end in separators
        joins components when some end and start with separators
    forcing windows
      path_separator is \
      cleanpath does not remove leading double backslash
      cleanpath changes slashes into backslashes and leaves backslashes alone
      platform-specific #join behavior
        joins components that don't end in separators
        joins components when some end with separators
        joins components when some end and start with separators
        joins components on Windows when some end with unix separators
  windows_max_length_exceeded?
    returns false if the path is not too long (259 + NUL) for the standard API
    returns true if the path is too long (259 + NUL) for the API
    returns false if the path is over 259 characters but uses the \\?\ prefix
  common functionality
    join
      joins starting with '' resolve to absolute paths
      joins ending with '' add a / to the end
    dirname
      dirname('abc') is '.'
      dirname('a/b/c') is 'a/b'
      dirname('/') is '/'
      dirname('/a/b/c') is '/a/b'
      dirname('a/b/c/') is 'a/b'
  escape_glob_dir
    escapes characters reserved by glob without using backslashes for path separators
    when given more than one argument
      joins, cleanpaths, and escapes characters reserved by glob
  all_homes
    on unix
      when HOME is not set
        returns an empty array
  escape_glob
    escapes characters reserved by glob
    when given more than one argument
      joins, cleanpaths, and escapes characters reserved by glob
  printable?
    returns true when given japanese unicode
    returns true when given 'abc' in unicode
    returns true if the string contains no non-printable characters
    returns false if the string contains a newline or tab
    returns false if the string contains a non-printable character
  on unix
    cleanpath does not remove leading double backslash
    cleanpath removes extra slashes alone
    path_separator is /
    cleanpath changes backslashes into slashes and leaves slashes alone
    platform-specific #join behavior
      joins components when some end with separators
      joins components that don't end in separators
      joins components when some end and start with separators
  validate_path
    on windows
      does not raise an error if everything looks great
      returns the path if the path passes the tests
      raises an error if the path has invalid characters
      Adds the \\?\ prefix if the path exceeds MAX_LENGTH and does not have it
  canonical_path
    not on windows
      returns a canonical path
  paths_eql?
    returns true if the paths are the same
    returns false if the paths are different

Finished in 0.12062 seconds (files took 0.13327 seconds to load)
237 examples, 0 failures

Randomized with seed 28023

ERROR: Test "ruby3.3" failed. Exiting.
dh_auto_install: error: dh_ruby --install /<<PKGBUILDDIR>>/debian/ruby-chef-config returned exit code 1
make: *** [debian/rules:7: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------



More information about the Pkg-ruby-extras-maintainers mailing list