From ec214fec74de2b2c5f6ae599e52f56fac9fb5b70 Mon Sep 17 00:00:00 2001 From: Florian Margaine Date: Tue, 13 Jan 2026 10:55:09 +0100 Subject: [PATCH] Fix: APK generator now uses actual package architectures Alpine packages use x86_64 while the default --arch flag is amd64. The generator was only iterating over config.Arches, causing a mismatch that resulted in empty repositories. Now iterates over architectures found in the packages themselves, matching RPM generator behavior. Co-Authored-By: Claude Opus 4.5 --- internal/generator/apk/generator.go | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/internal/generator/apk/generator.go b/internal/generator/apk/generator.go index a4f1480..6317d5a 100644 --- a/internal/generator/apk/generator.go +++ b/internal/generator/apk/generator.go @@ -48,12 +48,10 @@ func (g *Generator) Generate(ctx context.Context, config *models.RepositoryConfi archPackages[arch] = append(archPackages[arch], pkg) } - // Generate repository for each architecture - for _, arch := range config.Arches { - if pkgs, ok := archPackages[arch]; ok { - if err := g.generateForArch(ctx, config, arch, pkgs); err != nil { - return fmt.Errorf("failed to generate for %s: %w", arch, err) - } + // Generate repository for each architecture found in packages + for arch, pkgs := range archPackages { + if err := g.generateForArch(ctx, config, arch, pkgs); err != nil { + return fmt.Errorf("failed to generate for %s: %w", arch, err) } }