jordansissel/fpm · error

Debian packaging tools generally labels all files in /etc as

Error message

Debian packaging tools generally labels all files in /etc as config files, as mandated by policy, so fpm defaults to this behavior for deb packages. You can disable this default behavior with --deb-no-default-config-files flag

What it means

Error "Debian packaging tools generally labels all files in /etc as config files, as mandated by policy, so fpm defaults to this behavior for deb packages. You can disable this default behavior with --deb-no-default-config-files flag" thrown in jordansissel/fpm.

Source

Thrown at lib/fpm/package/deb.rb:1157

      # Strip leading /
      path = path[1..-1] if path[0,1] == "/"
      cfg_path = File.expand_path(path, staging_path)
      Find.find(cfg_path) do |p|
        if File.file?(p)
          allconfigs << p.gsub("#{staging_path}/", '')
        end
      end
    end

    # check for any init scripts or default files
    inits    = attributes.fetch(:deb_init_list, [])
    defaults = attributes.fetch(:deb_default_list, [])
    upstarts = attributes.fetch(:deb_upstart_list, [])
    etcfiles = []
    # Add everything in /etc
    begin
      if !attributes[:deb_no_default_config_files?] && File.exist?(staging_path("/etc"))
        logger.warn("Debian packaging tools generally labels all files in /etc as config files, " \
                    "as mandated by policy, so fpm defaults to this behavior for deb packages. " \
                    "You can disable this default behavior with --deb-no-default-config-files flag")
        add_path("/etc", etcfiles)
      end
    rescue Errno::ENOENT
    end

    return unless (config_files.any? or inits.any? or defaults.any? or upstarts.any? or etcfiles.any?)

    allconfigs = etcfiles

    # scan all conf file paths for files and add them
    config_files.each do |path|
      logger.debug("Checking if #{path} exists")
      cfe = File.exist?("#{path}")
      logger.debug("Check result #{cfe}")
      begin
        add_path(path, allconfigs)

View on GitHub (pinned to b6d77ba72a)

When it happens

Trigger: Thrown at lib/fpm/package/deb.rb:1157 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of jordansissel/fpm@b6d77ba72a (2026-08-21). Data as JSON: /api/errors/3b723656d1393c5b. Report an issue: GitHub.