The opkg, rpm, pip, dpkg, pacman, and openbsd package providers all use `Puppet::Util::Execution.execpipe` to run commands, which does not normalize langage/locale environment variables. If any of the commands executed by those providers have been localized, then trying to execute a command and parse the output may fail because the parsing assumes an English locale/lang. `Puppet::Util::Execution.execute` does reset the LC_ALL and LANG variables, but `execpipe` calls out to Ruby's `Kernel#open` without normalizing the command output first.
This could be reconciled by converting all of the `execpipe` invocations to `execute`. Alternately the code used in `execute` could be duplicated in the `execpipe` method.