Uploaded image for project: 'Puppet'
  1. Puppet
  2. PUP-1401

Puppet package providers use execpipe, which does not set LC_ALL or LANG

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Accepted
    • Priority: Normal
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
    • Template:
    • Epic Link:
    • Team:
      Coremunity

      Description

      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.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              adrien Adrien Thebo
              Votes:
              3 Vote for this issue
              Watchers:
              6 Start watching this issue

                Dates

                Created:
                Updated:

                  Zendesk Support