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.

Reply via email to