From 871f9f5b8e2042af8ded70a951b0810d9e932b8f Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Thu, 29 Jul 2021 11:18:26 +0200
Subject: [PATCH] feat(docker): strip common prefixes from docker depName
 (#10997)

Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
---
 lib/manager/dockerfile/extract.ts                    | 12 ++++++++++++
 .../droneci/__snapshots__/extract.spec.ts.snap       |  3 ++-
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/lib/manager/dockerfile/extract.ts b/lib/manager/dockerfile/extract.ts
index 01d9e58af7..7d8584e69b 100644
--- a/lib/manager/dockerfile/extract.ts
+++ b/lib/manager/dockerfile/extract.ts
@@ -48,6 +48,18 @@ export function getDep(
       '{{depName}}{{#if newValue}}:{{newValue}}{{/if}}{{#if newDigest}}@{{newDigest}}{{/if}}';
   }
   dep.datasource = datasourceDocker.id;
+
+  // Pretty up special prefixes
+  if (dep.depName) {
+    const specialPrefixes = ['amd64', 'arm64', 'library'];
+    for (const prefix of specialPrefixes) {
+      if (dep.depName.startsWith(`${prefix}/`)) {
+        dep.lookupName = dep.depName;
+        dep.depName = dep.depName.replace(`${prefix}/`, '');
+      }
+    }
+  }
+
   if (dep.depName === 'ubuntu') {
     dep.versioning = ubuntuVersioning.id;
   }
diff --git a/lib/manager/droneci/__snapshots__/extract.spec.ts.snap b/lib/manager/droneci/__snapshots__/extract.spec.ts.snap
index 4d74cfdddd..0ed8a05d30 100644
--- a/lib/manager/droneci/__snapshots__/extract.spec.ts.snap
+++ b/lib/manager/droneci/__snapshots__/extract.spec.ts.snap
@@ -16,8 +16,9 @@ Array [
     "currentDigest": "sha256:36adc17e9cceab32179d3314da9cb9c737ffb11f0de4e688f407ad6d9ca32201",
     "currentValue": "10.0.0",
     "datasource": "docker",
-    "depName": "amd64/node",
+    "depName": "node",
     "depType": "docker",
+    "lookupName": "amd64/node",
     "replaceString": "amd64/node:10.0.0@sha256:36adc17e9cceab32179d3314da9cb9c737ffb11f0de4e688f407ad6d9ca32201",
   },
   Object {
-- 
GitLab