diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2019-04-14 03:09:41 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-14 03:09:41 -0700 |
commit | f929b9e4d5a48f80810a7d0010951decbb38e47f (patch) | |
tree | 3a2029ecacea6b2da7743494a2fceef60c9e01ef /libpod/container_internal.go | |
parent | 9acc9cd58c552c0fb20d817d3d3124610ebea01d (diff) | |
parent | 82e8453c770915d3d959b85f55b2d37a8ee5d51d (diff) | |
download | podman-f929b9e4d5a48f80810a7d0010951decbb38e47f.tar.gz podman-f929b9e4d5a48f80810a7d0010951decbb38e47f.tar.bz2 podman-f929b9e4d5a48f80810a7d0010951decbb38e47f.zip |
Merge pull request #2501 from mtrmac/fixed-hook-order
RFC: Make hooks sort order locale-independent
Diffstat (limited to 'libpod/container_internal.go')
-rw-r--r-- | libpod/container_internal.go | 47 |
1 files changed, 2 insertions, 45 deletions
diff --git a/libpod/container_internal.go b/libpod/container_internal.go index aa6448f4a..927b71b2b 100644 --- a/libpod/container_internal.go +++ b/libpod/container_internal.go @@ -25,7 +25,6 @@ import ( opentracing "github.com/opentracing/opentracing-go" "github.com/pkg/errors" "github.com/sirupsen/logrus" - "golang.org/x/text/language" kwait "k8s.io/apimachinery/pkg/util/wait" ) @@ -34,15 +33,6 @@ const ( artifactsDir = "artifacts" ) -var ( - // localeToLanguageMap maps from locale values to language tags. - localeToLanguageMap = map[string]string{ - "": "und-u-va-posix", - "c": "und-u-va-posix", - "posix": "und-u-va-posix", - } -) - // rootFsSize gets the size of the container's root filesystem // A container FS is split into two parts. The first is the top layer, a // mutable layer, and the rest is the RootFS: the set of immutable layers @@ -1285,48 +1275,15 @@ func (c *Container) saveSpec(spec *spec.Spec) error { return nil } -// localeToLanguage translates POSIX locale strings to BCP 47 language tags. -func localeToLanguage(locale string) string { - locale = strings.Replace(strings.SplitN(locale, ".", 2)[0], "_", "-", 1) - langString, ok := localeToLanguageMap[strings.ToLower(locale)] - if !ok { - langString = locale - } - return langString -} - // Warning: precreate hooks may alter 'config' in place. func (c *Container) setupOCIHooks(ctx context.Context, config *spec.Spec) (extensionStageHooks map[string][]spec.Hook, err error) { - var locale string - var ok bool - for _, envVar := range []string{ - "LC_ALL", - "LC_COLLATE", - "LANG", - } { - locale, ok = os.LookupEnv(envVar) - if ok { - break - } - } - - langString := localeToLanguage(locale) - lang, err := language.Parse(langString) - if err != nil { - logrus.Warnf("failed to parse language %q: %s", langString, err) - lang, err = language.Parse("und-u-va-posix") - if err != nil { - return nil, err - } - } - allHooks := make(map[string][]spec.Hook) if c.runtime.config.HooksDir == nil { if rootless.IsRootless() { return nil, nil } for _, hDir := range []string{hooks.DefaultDir, hooks.OverrideDir} { - manager, err := hooks.New(ctx, []string{hDir}, []string{"precreate", "poststop"}, lang) + manager, err := hooks.New(ctx, []string{hDir}, []string{"precreate", "poststop"}) if err != nil { if os.IsNotExist(err) { continue @@ -1345,7 +1302,7 @@ func (c *Container) setupOCIHooks(ctx context.Context, config *spec.Spec) (exten } } } else { - manager, err := hooks.New(ctx, c.runtime.config.HooksDir, []string{"precreate", "poststop"}, lang) + manager, err := hooks.New(ctx, c.runtime.config.HooksDir, []string{"precreate", "poststop"}) if err != nil { if os.IsNotExist(err) { logrus.Warnf("Requested OCI hooks directory %q does not exist", c.runtime.config.HooksDir) |