jordansissel/fpm · error
Replacing 'provides' underscores with dashes in '#{provides}
Error message
Replacing 'provides' underscores with dashes in '#{provides}' because debs don't like underscores What it means
Error "Replacing 'provides' underscores with dashes in '#{provides}' because debs don't like underscores" thrown in jordansissel/fpm.
Source
Thrown at lib/fpm/package/deb.rb:1000
m = RELATIONSHIP_FIELD_PATTERN.match(text)
if m.nil?
logger.error("Invalid relationship field for debian package: #{text}")
return false
end
return true
end
def fix_provides(provides)
name_re = /^[^ \(]+/
name = provides[name_re]
if name =~ /[A-Z]/
logger.warn("Downcasing provides '#{name}' because deb packages " \
" don't work so good with uppercase names")
provides = provides.gsub(name_re) { |n| n.downcase }
end
if provides.include?("_")
logger.warn("Replacing 'provides' underscores with dashes in '#{provides}' because " \
"debs don't like underscores")
provides = provides.gsub("_", "-")
end
if provides.include?("(") and !provides.include?("(=")
logger.warn("Blanking 'provides' field '#{provides}' because it's invalid")
provides = ""
end
if m = provides.match(/^([A-Za-z0-9_-]+)\s*=\s*(\d+.*$)/)
logger.warn("Replacing 'provides' entry #{provides} with syntax 'name (= version)'")
provides = "#{m[1]} (= #{m[2]})"
end
return provides.rstrip
end
def control_path(path=nil)
@control_path ||= build_path("control")View on GitHub (pinned to b6d77ba72a)
When it happens
Trigger: Thrown at lib/fpm/package/deb.rb:1000 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/9e8c2cc5b25348c2.
Report an issue: GitHub.