Issue #16574 has been updated by eric sorenson. Status changed from Unreviewed to Needs More Information Assignee set to Marc Richter
Marc - can you please test whether Stephen's suggestion and/or my patch on https://github.com/ahpook/puppet/compare/16573-eix-format helps? Stephen - I'm not clear on your update, are you saying that things are working for you on the same gentoo version as Marc has? ---------------------------------------- Bug #16574: Gentoo's eix program seems to have changed it's syntax which breaks puppet https://projects.puppetlabs.com/issues/16574#change-75678 Author: Marc Richter Status: Needs More Information Priority: Normal Assignee: Marc Richter Category: Gentoo Target version: Affected Puppet version: Keywords: eix, version, LASTVERSION, installedversions, bestversion Branch: Hi everyone! When I understand how puppet works package-resources in Gentoo correctly, it uses the program "eix" on Gentoo hosts to determine package states and versions. That way, the manifest: <pre>package { 'media-gfx/exif': ensure => installed, }</pre> is executed on the node like this: /usr/bin/eix --nocolor --pure-packages --stable --format <category> <name> [<installedversions:LASTVERSION>] [<bestversion:LASTVERSION>] <homepage> <description> --exact --category-name media-gfx/exif Refering to eix manpage, the syntax you are using with "[<installedversions:LASTVERSION>]" and "[<bestversion:LASTVERSION>]" isn't valid: <pre> FORMATSTRING A formatstring can contain conditional blocks, package properties, colors and normal strings. If a formatstring expands to the empty string for a package, also the trailing newline is not printed. Thus you can put the whole formatstring into a conditional block to output only packages matching the conditional. An example of this wrapping is given below. .... Package properties Names that refer to specific properties of the package that is currently printed. If used to print a property, the name must be enclosed in square brackets (i.e. "<name>"). name, category, homepage, licenses The name, category, homepage and licenses for the current package. availableversions:VARIABLE, availableversions:VARIABLE:VARSLOTS For each version, print the content of the configuration/environment variable with name VARIABLE, interpreting it as a format string. If the second form is used and at least one slot of the package is nontrivial, then VARSLOTS is used instead of VARIABLE, and the versions are sorted according to slots. To avoid a misunderstanding: It is not possible to enter the required format directly after the colon. Instead, the required format must be stored in a new variable, and VARIABLE and VARSLOTS are only the names of these variables. Useful examples for VARIABLE are NAMEVERSION, EQNAMEVERSION, EQNAMEVERSION, ANAMESLOT, ANAMEASLOT, NAMESLOT, NAMEASLOT or DATESORT. Here, ANAMESLOT and ANAMEASLOT are meant to be used in the second form, i.e. in availableverā sions:ANAMESLOT:ANAMESLOT or availableversions:ANAMEASLOT:ANAMEASLOT (Mnemonic: ASLOT prints the slot always). Moreover, NAMESLOT, NAMEASLOT and DATESORT makes sense only for installed versions. See eix --dump to see the variables in detail. markedversions:VARIABLE, markedversions:VARIABLE:VARSLOTS This is analogous to availableversions with the difference that only marked versions are printed. bestversion:VARIABLE, bestversion*:VARIABLE, bestslotversions:VARIABLE, bestslotversions*:VARIABLE, bestslotupgradeversions:VARIABLE, bestslotupgradeversions*:VARIABLE This is analogous to availableversions with the difference that only the best version resp. the best versions of each slot are printed. For the variants with * also unstable versions are accepted. For the variants with upgrade only those versions are selected which probably will appear after the upgrade. installedversions:VARIABLE This is analogous to availableversions with the difference that only installed versions are printed. .... </pre> That seems to be the reason why the result for "installedversions" and "bestversion" is empty: vagrant-funtoo64 / # /usr/bin/eix --nocolor --pure-packages --stable --format '<category> <name> [<installedversions:LASTVERSION>] [<bestversion:LASTVERSION>] <homepage> <description>' --exact --category-name media-gfx/exif media-gfx exif [] [] http://libexif.sourceforge.net/ Small CLI util to show EXIF infos hidden in JPEG files vagrant-funtoo64 / # If you call eix like this, the result seems to be more like what you expected: vagrant-funtoo64 / # /usr/bin/eix --nocolor --pure-packages --stable --format '<category> <name> [<installedversions:IVERSIONS_COMPACT>] [<bestversion:AVERSIONS_COMPACT>] <homepage> <description>' --exact --category-name media-gfx/exif media-gfx exif [0.6.21] [0.6.21] http://libexif.sourceforge.net/ Small CLI util to show EXIF infos hidden in JPEG files vagrant-funtoo64 / # These are the true versions as you can see with the folowing non-formated eix - call: <pre> vagrant-funtoo64 / # eix media-gfx/exif [I] media-gfx/exif Available versions: 0.6.21 {{nls}} Installed versions: 0.6.21(10:46:25 AM 09/06/2012)(nls) Homepage: http://libexif.sourceforge.net/ Description: Small CLI util to show EXIF infos hidden in JPEG files [I] media-gfx/exiftags Available versions: 1.01 Installed versions: 1.01(10:44:56 AM 09/06/2012) Homepage: http://johnst.org/sw/exiftags/ Description: Extracts JPEG EXIF headers from digital camera photos Found 2 matches. vagrant-funtoo64 / # </pre> -- 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 post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
