Skip to content

[Bug]: Macro overlay source files can collide with real sources #235

@dmcilvaney

Description

@dmcilvaney

Bug Description
The macro overlay hardcodes its source to 9999 (synthesizeMacroLoadOverlays()), which can collide (see texlive.spec](https://raw.githubusercontent.com/microsoft/azurelinux/refs/heads/4.0/specs/t/texlive/texlive.spec)

Reproduction Steps

  1. Move textlive to its own *.comp.toml file
  2. Add
    [components.texlive]
    [components.texlive.build]
    defines = { azl_poc_macro = "1" }
    
  3. Run azldev comp render -p texlive

Expected behavior
Should add the macro file in a smart way that doesn't cause errors.

Actual behavior

17:09:41 INF Finishing rendered output count=1
17:09:41 ERR Failed to finish rendering component component=texlive error="mock processing failed for `texlive`:\nspectool failed: error: source 9999 defined multiple times"
17:09:41 ERR Some components failed to render errorCount=1 cancelledCount=0

Logs / Output

azldev comp render -p texlive 2>&1 | tee base/build/work/scratch/texlive-render.log | tail -40
17:08:02 INF Mock processor available mockConfig=/home/damcilva/repos/temp/azurelinux/distro/mock/azl4/stage2/azurelinux-4.0-x86_64.cfg
17:08:02 INF Preparing component sources count=1
17:08:02 INF   Preparing component sources component=texlive
17:08:02 INF Getting component from git repo component=texlive upstreamComponent=texlive branch=f43 upstreamCommit=f5f486ecd487e3c34a8e747c0fc561fa1eaff9fe snapshot=2026-02-24T00:00:00-08:00
17:08:02 INF     Cloning git repo repoURL=https://src.fedoraproject.org/rpms/texlive.git
17:09:23 INF Using explicit upstream commit hash commitHash=f5f486ecd487e3c34a8e747c0fc561fa1eaff9fe
17:09:23 INF     Checking out git commit commitHash=f5f486ecd487e3c34a8e747c0fc561fa1eaff9fe
17:09:23 INF     Applying overlays component=texlive
17:09:24 INF Current fingerprint differs from HEAD lock file; adding dirty entry lockFile=locks/texlive.lock
17:09:25 INF Bumping static release component=texlive oldRelease=80%{?dist} newRelease=82%{?dist} commitCount=2
17:09:25 INF Creating synthetic commit commit=1 total=2 projectHash=5d461a2449294d42c9b47ed04ad3d5935d8ce244 upstreamCommit=f5f486ecd487e3c34a8e747c0fc561fa1eaff9fe isLast=false
17:09:25 INF Creating synthetic commit commit=2 total=2 projectHash=dirty upstreamCommit=f5f486ecd487e3c34a8e747c0fc561fa1eaff9fe isLast=true
17:09:25 INF Interleaved synthetic history complete syntheticCommits=2 totalCommits=3
17:09:25 INF Initializing mock chroot for rendering
17:09:37 INF Mock chroot ready for rendering
17:09:37 INF Batch processing components in mock chroot count=1
17:09:37 INF Processing specs in mock chroot count=1
17:09:41 INF Finishing rendered output count=1
17:09:41 ERR Failed to finish rendering component component=texlive error="mock processing failed for `texlive`:\nspectool failed: error: source 9999 defined multiple times"
17:09:41 ERR Some components failed to render errorCount=1 cancelledCount=0
╭───────────┬──────────────────────────────────────────────────────┬────────┬────────────────────────────────────────────────────────────┬─────────╮
│ COMPONENT │ OUTPUT                                               │ STATUS │ ERROR                                                      │ CHANGED │
├───────────┼──────────────────────────────────────────────────────┼────────┼────────────────────────────────────────────────────────────┼─────────┤
│ texlive   │ /home/damcilva/repos/temp/azurelinux/specs/t/texlive │ error  │ mock processing failed for `texlive`:                      │ false   │
│           │                                                      │        │ spectool failed: error: source 9999 defined multiple times │         │
╰───────────┴──────────────────────────────────────────────────────┴────────┴────────────────────────────────────────────────────────────┴─────────╯

azldev version

╭────────────┬──────────────────────────────────────╮
│ version    │ v0.1.1-0.20260520162735-44f81cce609a │
│ gitCommit  │ N/A                                  │
│ goVersion  │ go1.26.3                             │
│ platform   │ linux/amd64                          │
│ compiler   │ gc                                   │
│ buildDate  │ N/A                                  │
│ commitDate │ N/A                                  │
│ dirtyBuild │ false                                │
╰────────────┴──────────────────────────────────────╯

Environment

  • azl3

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions