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.