The Puppet Labs Issue Tracker has Moved: https://tickets.puppetlabs.com

This issue tracker is now in read-only archive mode and automatic ticket export has been disabled. Redmine users will need to create a new JIRA account to file tickets using https://tickets.puppetlabs.com. See the following page for information on filing tickets with JIRA:

Feature #20922

Duplicate package names from different providers

Added by Arces Networks almost 3 years ago. Updated almost 3 years ago.

Status:DuplicateStart date:
Priority:NormalDue date:
Assignee:Charlie Sharpsteen% Done:

0%

Category:package
Target version:-
Affected Puppet version:3.1.1 Branch:
Keywords:package

We've Moved!

Ticket tracking is now hosted in JIRA: https://tickets.puppetlabs.com


Description

In case if someone uses different providers to install packages, last ones might have same names. For example: in ubuntu you have apt package for gearman server named “gearman” as well as pip package named “gearman” that provides python libraries to deal with gearman server.

In current example there was a workaround (gearman apt package is an empty package that depends on “jearman-job-server”, “gearman-tools” and “gearman-server” packages), however, there might be situations, where packages have exactly same name and no workaround is available.

Adding parameter “name” to definition doesn’t make any good – puppet still uses value from “name” parameter as Package name.

Is there any way to overcome this issue in puppet?

Maybe it would be a good idea to add parameter like “package” to explicitly define package name?


Related issues

Duplicates Puppet - Bug #1398: Common package name in two different providers Accepted 07/07/2008

History

#1 Updated by Charlie Sharpsteen almost 3 years ago

  • Tracker changed from Bug to Feature
  • Category set to package
  • Status changed from Unreviewed to Needs Decision
  • Assignee set to Anonymous

Re-classifying as a feature as the resource documentation states that namevars must be unique per resource type.

The design decision on this one is tricky, on one hand you have package providers such as dpkg and apt or rpm and yum that definitely need to share unique namevars. On the other hand there are providers such as gem and pip that may operate in a separate ecosystem from the system package manager. But then, sometimes these ecosystems aren’t entirely separate and running pip install <foo> may end up trying to manage some of the same files as running apt-get install <foo>.

#2 Updated by Arces Networks almost 3 years ago

Just as i mentioned earlier, maybe it would be a good idea to add parameter like “package” to explicitly define package name? This will give one ability to install pagages with same name from different providers, and overcoming puppet’s limitation on same resources. In this case, issue described above could look like this:

package { "gearman":
    ensure => 'present'
}

package { "python-gearman-libs":
    package  => 'gearman'
    provider => 'pip',
    ensure   => 'present',
}

#3 Updated by Charlie Sharpsteen almost 3 years ago

  • Status changed from Needs Decision to Duplicate
  • Assignee changed from Anonymous to Charlie Sharpsteen

Looks like this is a duplicate of a truly ancient feature request: #1398. I’m going to close it as such and see if I can’t kick that issue to someone who can make a decision.

Also available in: Atom PDF