[Pkg-puppet-devel] Bug#827867: puppet-agent package is not really necessary and conflicts with the upstream package by the same name

Ryan Whitehurst rw at puppet.com
Tue Jun 21 21:52:35 UTC 2016


Package: puppet-agent
Version: 4.5.0-4

The package "puppet-agent" was recently added to Debian Testing
("Stretch"). All it does is add an init script and systemd unit file
for running puppet as a service, something which would normally be
included in the main package, not require a separate package. There
isn't really any benefit to having a separate package for this.

That would be fine, except that the upstream provider (Puppet, Inc.)
provides the main client software in a package called "puppet-agent".
This package is totally different from the "puppet-agent" package
recently added to the testing repositories. The upstream
"puppet-agent" package is an "all-in-one" package which bundles all
the requisite client applications (including both hiera and facter) in
a single package and includes a vendored ruby runtime. It's also
versioned separately from the bundled applications (e.g., the current
latest released version as of this writing is 1.5.2, which includes
Puppet 4.5.2).

While the upstream "puppet-agent" package clearly does not comply with
Debian packaging guidelines, it is still going to be the main way that
Debian users get and use Puppet, as it is the recommended method for
installing the software by Puppet, Inc. and the way most users
currently install it. By providing a completely different package
under the same name in the default repositories, you'll do your users
a disservice and create more confusion. To make things worse, since
the version of "puppet-agent" in the default repositories is based on
the puppet version, it will always report as newer than the upstream
package, meaning that users who want to run the "normal" upstream
version of the package will have to explicitly pin the package version
or set higher priority on the upstream repository in order to prevent
accidental "upgrade" of the package, which would break any ancillary
tooling relying on the puppet-agent package.

Since the "puppet-agent" package in the default repositories doesn't
add anything that couldn't just be included in the main "puppet"
package, and it is incompatible with the preexisting upstream package
of the same name, the functionality in the "puppet-agent" package --
i.e., an init script and unit file for the "puppet-agent" service
(which is somewhat confusing in-and-of-itself since upstream names the
service just "puppet") -- should be merged into the main "puppet"
package and the "puppet-agent" package removed from the default
repositories entirely.



More information about the Pkg-puppet-devel mailing list