Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

`extractHeadlingArgsFromNode` incorrectly uses host `BuiltinArgDefaults`

Offen Anfängerfreundlich
#322 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

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

lifecycle/stale

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

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus openshift/imagebuilder

Alle Issues in openshift/imagebuilder

Ähnliche Issues

Weitere Issues zu Go

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.