{"record":{"id":"9e8c2cc5b25348c2","repo":"jordansissel/fpm","slug":"replacing-provides-underscores-with-dashes-in","errorCode":null,"errorMessage":"Replacing 'provides' underscores with dashes in '#{provides}' because debs don't like underscores","messagePattern":"Replacing 'provides' underscores with dashes in '#(.+?)' because debs don't like underscores","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"lib/fpm/package/deb.rb","lineNumber":1000,"sourceCode":"    m = RELATIONSHIP_FIELD_PATTERN.match(text)\n    if m.nil?\n      logger.error(\"Invalid relationship field for debian package: #{text}\")\n      return false\n    end\n    return true\n  end\n\n  def fix_provides(provides)\n    name_re = /^[^ \\(]+/\n    name = provides[name_re]\n    if name =~ /[A-Z]/\n      logger.warn(\"Downcasing provides '#{name}' because deb packages \" \\\n                   \" don't work so good with uppercase names\")\n      provides = provides.gsub(name_re) { |n| n.downcase }\n    end\n\n    if provides.include?(\"_\")\n      logger.warn(\"Replacing 'provides' underscores with dashes in '#{provides}' because \" \\\n                   \"debs don't like underscores\")\n      provides = provides.gsub(\"_\", \"-\")\n    end\n\n    if provides.include?(\"(\") and !provides.include?(\"(=\")\n      logger.warn(\"Blanking 'provides' field '#{provides}' because it's invalid\")\n      provides = \"\"\n    end\n\n    if m = provides.match(/^([A-Za-z0-9_-]+)\\s*=\\s*(\\d+.*$)/)\n      logger.warn(\"Replacing 'provides' entry #{provides} with syntax 'name (= version)'\")\n      provides = \"#{m[1]} (= #{m[2]})\"\n    end\n    return provides.rstrip\n  end\n\n  def control_path(path=nil)\n    @control_path ||= build_path(\"control\")","sourceCodeStart":982,"sourceCodeEnd":1018,"githubUrl":"https://github.com/jordansissel/fpm/blob/b6d77ba72a560b687723376a0e5115c3a92634ad/lib/fpm/package/deb.rb#L982-L1018","documentation":"Error \"Replacing 'provides' underscores with dashes in '#{provides}' because debs don't like underscores\" thrown in jordansissel/fpm.","triggerScenarios":"Thrown at lib/fpm/package/deb.rb:1000 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"b6d77ba72a560b687723376a0e5115c3a92634ad","analyzedAt":"2026-08-21T16:39:02.570Z","schemaVersion":2},"datasetVersion":"2026-08-21T18:17:14.833Z"}