puppetlabs/puppet — pull request #2200 by lotheac (2013-12-30 12:24:34+00:00)
Title: (PUP-1270) parse full pkg FMRI

The full package version string should be considered with IPS. It is not listed with 'pkg list' unless -v is given and that changes the output somewhat.

This change does include a regression: if a package is ensured to anything less than the full version string (say 5.11 instead of 5.11,5.11-0.75:20071001T163427Z) the provider will uninstall and reinstall the package even if that's not necessary. I'm thinking this should be solved by doing pkg install (or update) without uninstall and checking if the version changed (but in this case it will not change to the exact string that was requested by ensure since that is only a partial version). I'm not completely sure how to do that.