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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-bugs.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to