{"record":{"id":"0da0406491896295","repo":"jordansissel/fpm","slug":"replacing-dependency-underscores-with-dashes-in","errorCode":null,"errorMessage":"Replacing dependency underscores with dashes in '#{dep}' because debs don't like underscores","messagePattern":"Replacing dependency 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":921,"sourceCode":"      return dep\n    end\n\n    if dep.include?(\"rpmlib\")\n      logger.warn(\"Blanking 'dependency' field '#{dep}' because it's invalid\")\n      dep = \"\"\n      return dep\n    end\n\n    name_re = /^[^ \\(]+/\n    name = dep[name_re]\n    if name =~ /[A-Z]/\n      logger.warn(\"Downcasing dependency '#{name}' because deb packages \" \\\n                   \" don't work so good with uppercase names\")\n      dep = dep.gsub(name_re) { |n| n.downcase }\n    end\n\n    if dep.include?(\"_\")\n      logger.warn(\"Replacing dependency underscores with dashes in '#{dep}' because \" \\\n                   \"debs don't like underscores\")\n      dep = dep.gsub(\"_\", \"-\")\n    end\n\n    # Convert gem ~> X.Y.Z to '>= X.Y.Z' and << X.Y+1.0\n    if dep =~ /\\(~>/\n      name, version = dep.gsub(/[()~>]/, \"\").split(/ +/)[0..1]\n      nextversion = version.split(\".\").collect { |v| v.to_i }\n      l = nextversion.length\n      if l > 1\n        nextversion[l-2] += 1\n        nextversion[l-1] = 0\n      else\n        # Single component versions ~> 1\n        nextversion[l-1] += 1\n      end\n      nextversion = nextversion.join(\".\")\n      return [\"#{name} (>= #{version})\", \"#{name} (<< #{nextversion})\"]","sourceCodeStart":903,"sourceCodeEnd":939,"githubUrl":"https://github.com/jordansissel/fpm/blob/b6d77ba72a560b687723376a0e5115c3a92634ad/lib/fpm/package/deb.rb#L903-L939","documentation":"Error \"Replacing dependency underscores with dashes in '#{dep}' because debs don't like underscores\" thrown in jordansissel/fpm.","triggerScenarios":"Thrown at lib/fpm/package/deb.rb:921 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"}