`extractHeadlingArgsFromNode` incorrectly uses host `BuiltinArgDefaults`
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 78/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- go
- Bereich
- build-system
Rechercherichtung
Beginnen Sie in builder.go bei extractHeadingArgsFromNode, wo ein temporärer Builder Heading-Argumente auswertet. Prüfen Sie die aktuellen und temporären BuiltinArgDefaults und verifizieren Sie anschließend das Verhalten anhand der in buildah issue 6964 referenzierten Testfälle. Die Aufgabe ist erledigt, wenn Heading-Argumente die Defaults des aktuellen Builders verwenden, einschließlich der durch --platform geänderten Werte.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
extractHeadlingArgsFromNode creates headling args using a new temporary builder. However, if the current builder's BuiltinArgDefaults differ from the host's defaults (such as when passing --platform to buildah, which overrides TARGET* args after calling NewBuilder()), the resulting headling args contain the wrong values.
The function should instead copy the current builder's BuiltinArgDefaults into the temporary builder before trying to construct the headling args. The following patch should fix this:
--- a/builder.go
+++ b/builder.go
@@ -6,6 +6,7 @@ import (
"fmt"
"io"
"log"
+ "maps"
"os"
"path/filepath"
"runtime"
@@ -418,6 +419,7 @@ func (b *Builder) extractHeadingArgsFromNode(node *parser.Node) error {
// Use a separate builder to evaluate the heading args
tempBuilder := NewBuilder(b.UserArgs)
+ maps.Copy(tempBuilder.BuiltinArgDefaults, b.BuiltinArgDefaults)
// Built-in ARGs are declared implicitly in the heading and should be resolvable in its scope
for k, v := range tempBuilder.BuiltinArgDefaults {
The test cases in https://github.com/podman-container-tools/buildah/issues/6964 pass after making this change.
- Vorherrschende Sprache
- Go
- Sterne
- 131
- Forks
- 77
- Ø Merge
- 7 T. 41 Min.
- Gemergte PRs (30 T.)
- 1
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus openshift/imagebuilder
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 68/100
openshift/imagebuilder#323 ·
-
lifecycle/frozen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
openshift/imagebuilder#68 · 9 Kommentare ·
Alle Issues in openshift/imagebuilder
Ähnliche Issues
-
Project submission:Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 72/100
slavakurilyak/awesome-ai-agents#845 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 3 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
JakeChampion/lang#13132 ·
Maintainer antworten meist innerhalb von 1 Tag
-
[BUG] deploy.restart_policy without condition drops the restart policyEvtl. vergeben @akshat-lakhera hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
docker/compose#14383 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag