Issue #23374 has been reported by Paweł Tomulik. ---------------------------------------- Bug #23374: Ports provider is buggy and lacks several crucial features https://projects.puppetlabs.com/issues/23374
* Author: Paweł Tomulik * Status: Unreviewed * Priority: High * Assignee: * Category: * Target version: * Affected Puppet version: * Keywords: freebsd ports package * Branch: ---------------------------------------- Hi, I was trying to use puppet on FreeBSD with more or less success. One of the biggest problem was the `ports` package provider, which appears to be buggy and lacks some important features. I'm not able to describe in depth all the issues I had, so I'll just leave a short list and provide link to description here. Some of the issues with current ports provider: * no way to define *build options* for a package - normally FreeBSD packages are first configured by user with `make config`, then compiled + installed. Current `ports` provider has no way to configure packages. Without this feature it is a little bit useless, * to identify packages it uses internally *portnames* instead of *port origins*, *portnames* are ambiguous and cause lot of problems (two packages with same *portname* may be installed at same time, and puppet is not able to handle them correctly), * it claims it has `upgradeable` feature, but this doesn't work (what worse - it may approach to downgrade in some situations, fortunatelly without luck), * to list installed packages it uses `pkg_info`, which is a part of the "old" *pkg* toolstack. FreeBSD is now transitioning to new *pkgng* tools, * once installed a package, the provider is unable to uninstall it in most cases (dependency problems, when other packages depend on it) - this could be easilly mitigated with `uninstall_options` * output of `puppet resource package` is ususally wrong, * no `install_options` feature, * no `uninstall_options` feature, * finally, there seems to be no tests (neither system, nor unit) for this provider I've reimplemented the provider. Currently it's available as a standalone puppet module for installation, but I would like to propose it to be included in puppet core (PR on the way). Most of the issues I've found are resolved the new implementation. They're described here: https://github.com/ptomulik/puppet-packagex#resolved-issues For trying and testing, the standalone module is available at http://forge.puppetlabs.com/ptomulik/packagex Repo available at github: https://github.com/ptomulik/puppet-packagex The PR I'm preparing is simply the `ptomulik-packagex` module converted by a shell script to fit to puppet source tree. -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com. To post to this group, send email to puppet-bugs@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-bugs. For more options, visit https://groups.google.com/groups/opt_out.