Skip to content

Dependency resolution problem when dependencies in different forges #8

@slaws

Description

@slaws

Hello,

It seems there is a dependency resolution when a module and its dependencies are on the same kind of forge.

An exemple may be clearer :)
When proxying puppetforge :

forge :proxy do
   url "http://forge.puppetlabs.com"
end

Trying to install puppetlabs-concat, releases.json returns :

{"puppetlabs/concat":
    [
        {"file":"/modules/puppetlabs-concat-1.0.0-rc1.tar.gz",
         "version":"1.0.0-rc1",
         "dependencies":[]},
        {"file":"/modules/puppetlabs-concat-1.0.0.tar.gz",
         "version":"1.0.0",
         "dependencies":[]},
        {"file":"/modules/puppetlabs-concat-1.0.1.tar.gz",
         "version":"1.0.1",
         "dependencies":[]},
        {"file":"/modules/puppetlabs-concat-1.0.2.tar.gz",
         "version":"1.0.2",
         "dependencies":[]},
        {"file":"/modules/puppetlabs-concat-1.0.3.tar.gz",
         "version":"1.0.3",
         "dependencies":[]},
        {"file":"/modules/puppetlabs-concat-1.1.0-rc1.tar.gz",
         "version":"1.1.0-rc1",
         "dependencies":[["puppetlabs/stdlib",">= 3.0.0"]]},
        {"file":"/modules/puppetlabs-concat-1.1.0.tar.gz",
         "version":"1.1.0",
         "dependencies":[["puppetlabs/stdlib",">= 4.0.0"]]}
    ],
 "puppetlabs/stdlib":
    [
        {"file":"/modules/puppetlabs-stdlib-3.0.0.tar.gz",
         "version":"3.0.0",
         "dependencies":[]},
        {"file":"/modules/puppetlabs-stdlib-3.0.1.tar.gz",
         "version":"3.0.1",
         "dependencies":[]},
        {"file":"/modules/puppetlabs-stdlib-3.1.0.tar.gz",
         "version":"3.1.0",
         "dependencies":[]},
        {"file":"/modules/puppetlabs-stdlib-3.1.1.tar.gz",
         "version":"3.1.1",
         "dependencies":[]},
        {"file":"/modules/puppetlabs-stdlib-3.2.0.tar.gz",
         "version":"3.2.0",
         "dependencies":[]},
        {"file":"/modules/puppetlabs-stdlib-3.2.1.tar.gz",
         "version":"3.2.1",
         "dependencies":[]},
        {"file":"/modules/puppetlabs-stdlib-3.2.2.tar.gz",
         "version":"3.2.2",
         "dependencies":[]},
        {"file":"/modules/puppetlabs-stdlib-4.1.0.tar.gz",
         "version":"4.1.0",
         "dependencies":[]},
        {"file":"/modules/puppetlabs-stdlib-4.2.0.tar.gz",
         "version":"4.2.0",
         "dependencies":[]},
        {"file":"/modules/puppetlabs-stdlib-4.2.1.tar.gz",
         "version":"4.2.1",
         "dependencies":[]},
        {"file":"/modules/puppetlabs-stdlib-4.2.2.tar.gz",
         "version":"4.2.2",
         "dependencies":[]}
    ]
}

If I remove the proxy and set up 2 git repository for these modules :

forge :git_repository do
     source https://github.com/puppetlabs/puppetlabs-concat.git
     include_tags /.*/
 end
forge :git_repository do
     source https://github.com/puppetlabs/puppetlabs-stdlib.git
     include_tags /.*/
 end

releases.json returns :

{"puppetlabs/concat":
    [
        {"file":"/modules/puppetlabs-concat-1.0.0-rc1.tar.gz",
        "version":"1.0.0-rc1",
        "dependencies":[]},
        {"file":"/modules/puppetlabs-concat-1.0.0.tar.gz",
        "version":"1.0.0",
        "dependencies":[]},
        {"file":"/modules/puppetlabs-concat-1.0.1.tar.gz",
        "version":"1.0.1",
        "dependencies":[]},
        {"file":"/modules/puppetlabs-concat-1.0.2.tar.gz",
        "version":"1.0.2",
        "dependencies":[]},
        {"file":"/modules/puppetlabs-concat-1.0.3.tar.gz",
        "version":"1.0.3",
        "dependencies":[]},
        {"file":"/modules/puppetlabs-concat-1.1.0-rc1.tar.gz",
        "version":"1.1.0-rc1",
        "dependencies":[["puppetlabs/stdlib",">= 3.0.0"]]},
        {"file":"/modules/puppetlabs-concat-1.1.0.tar.gz",
        "version":"1.1.0",
        "dependencies":[["puppetlabs/stdlib",">= 4.0.0"]]}],
 "puppetlabs/stdlib":
    []
}

This problem seems to be present at least since 0.13.0.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions