This is an automated email from the ASF dual-hosted git repository.

astefanutti pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k.git


The following commit(s) were added to refs/heads/master by this push:
     new 41c2e08  fix(dev): Use go-homedir package instead of os/user to 
retrieve user home directory.
41c2e08 is described below

commit 41c2e0802e520072e1b5f553dd369ffe3839b85f
Author: Antonin Stefanutti <anto...@stefanutti.fr>
AuthorDate: Thu Jan 16 16:06:37 2020 +0100

    fix(dev): Use go-homedir package instead of os/user to retrieve user home 
directory.
    
    The os/user package requires CGO which breaks cross-compilation from Mac OS.
---
 go.mod               |  1 +
 go.sum               | 11 +++--------
 pkg/client/client.go | 26 ++++++++++----------------
 pkg/trait/util.go    |  6 +++---
 4 files changed, 17 insertions(+), 27 deletions(-)

diff --git a/go.mod b/go.mod
index b501283..2c45646 100644
--- a/go.mod
+++ b/go.mod
@@ -15,6 +15,7 @@ require (
        github.com/google/go-containerregistry 
v0.0.0-20190206233756-dbc4da98389f // indirect
        github.com/google/uuid v1.1.1
        github.com/jpillora/backoff v0.0.0-20170918002102-8eab2debe79d
+       github.com/mitchellh/go-homedir v1.1.0
        github.com/mitchellh/mapstructure v1.1.2
        github.com/onsi/gomega v1.7.0
        github.com/openshift/api 
v3.9.1-0.20190927182313-d4a64ec2cbd8+incompatible
diff --git a/go.sum b/go.sum
index 320552e..d9b9953 100644
--- a/go.sum
+++ b/go.sum
@@ -40,7 +40,6 @@ github.com/Masterminds/goutils v1.1.0/go.mod 
h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy86
 github.com/Masterminds/semver v1.5.0 
h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww=
 github.com/Masterminds/semver v1.5.0/go.mod 
h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y=
 github.com/Masterminds/semver/v3 v3.0.1/go.mod 
h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs=
-github.com/Masterminds/sprig v2.22.0+incompatible/go.mod 
h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o=
 github.com/Masterminds/sprig/v3 v3.0.0/go.mod 
h1:NEUY/Qq8Gdm2xgYA+NwJM6wmfdRV9xkh8h/Rld20R0U=
 github.com/Masterminds/vcs v1.13.0/go.mod 
h1:N09YCmOQr6RLxC6UNHzuVwAdodYbbnycGHSmwVJjcKA=
 github.com/Microsoft/go-winio v0.4.11/go.mod 
h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA=
@@ -172,9 +171,6 @@ github.com/docker/cli 
v0.0.0-20190506213505-d88565df0c2d/go.mod h1:JLrzqnKDaYBop
 github.com/docker/distribution v2.7.0+incompatible/go.mod 
h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
 github.com/docker/distribution 
v2.7.1-0.20190205005809-0d3efadf0154+incompatible/go.mod 
h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
 github.com/docker/distribution v2.7.1+incompatible/go.mod 
h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
-github.com/docker/docker v0.7.3-0.20190103212154-2b7e084dc98b/go.mod 
h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
-github.com/docker/docker v0.7.3-0.20190327010347-be7ac8be2ae0/go.mod 
h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
-github.com/docker/docker v0.7.3-0.20190817195342-4760db040282/go.mod 
h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
 github.com/docker/docker-credential-helpers v0.6.1/go.mod 
h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y=
 github.com/docker/go-connections v0.3.0/go.mod 
h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=
 github.com/docker/go-connections v0.4.0/go.mod 
h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=
@@ -547,12 +543,14 @@ github.com/onsi/ginkgo v1.6.0/go.mod 
h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+W
 github.com/onsi/ginkgo v1.7.0/go.mod 
h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
 github.com/onsi/ginkgo v1.8.0 h1:VkHVNpR4iVnU8XQR6DBm8BqYjN7CRzw+xKUbVVbbW9w=
 github.com/onsi/ginkgo v1.8.0/go.mod 
h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
+github.com/onsi/ginkgo v1.10.1 h1:q/mM8GF/n0shIN8SaAZ0V+jnLPzen6WIVZdiwrRlMlo=
 github.com/onsi/ginkgo v1.10.1/go.mod 
h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
 github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod 
h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
 github.com/onsi/gomega v1.3.0/go.mod 
h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
 github.com/onsi/gomega v1.4.3/go.mod 
h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
 github.com/onsi/gomega v1.5.0 h1:izbySO9zDPmjJ8rDjLvkA2zJHIo+HkYXHnf7eN7SSyo=
 github.com/onsi/gomega v1.5.0/go.mod 
h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
+github.com/onsi/gomega v1.7.0 h1:XPnZz8VVBHjVsy1vzJmRwIcSwiUO+JFfrv/xGiigmME=
 github.com/onsi/gomega v1.7.0/go.mod 
h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
 github.com/opencontainers/go-digest v1.0.0-rc1/go.mod 
h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
 github.com/opencontainers/image-spec v1.0.1/go.mod 
h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
@@ -572,8 +570,6 @@ github.com/operator-framework/api 
v0.0.0-20191127212340-9066a6e95573/go.mod h1:S
 github.com/operator-framework/operator-lifecycle-manager 
v0.0.0-20191115003340-16619cd27fa5/go.mod 
h1:zL34MNy92LPutBH5gQK+gGhtgTUlZZX03I2G12vWHF4=
 github.com/operator-framework/operator-registry v1.5.1/go.mod 
h1:agrQlkWOo1q8U1SAaLSS2WQ+Z9vswNT2M2HFib9iuLY=
 github.com/operator-framework/operator-registry v1.5.3/go.mod 
h1:agrQlkWOo1q8U1SAaLSS2WQ+Z9vswNT2M2HFib9iuLY=
-github.com/operator-framework/operator-sdk v0.13.0 
h1:AWiKOl6ZeAyQgbGVoD8fNd+eCbFuRWgr4hciaaOEBmE=
-github.com/operator-framework/operator-sdk v0.13.0/go.mod 
h1:XRnicDD4uZCNbJbMXc0B7eyw7hjO4Xzol7FAkWHa1Nc=
 github.com/operator-framework/operator-sdk v0.14.0 
h1:CBlW0AKeUXhkKO2IF1IHuErn/eafbeS2BCiR8RGLY5k=
 github.com/operator-framework/operator-sdk v0.14.0/go.mod 
h1:nfBicv6cTF107pobfsw6Ziol9jK+wIIOJovecux9/hw=
 github.com/otiai10/copy v1.0.1/go.mod 
h1:8bMCJrAqOtN/d9oyh5HR7HhLQMvcGMpGdwRDYsfOCHc=
@@ -706,7 +702,6 @@ github.com/stretchr/testify v1.3.0/go.mod 
h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV
 github.com/stretchr/testify v1.4.0 
h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
 github.com/stretchr/testify v1.4.0/go.mod 
h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
 github.com/syndtr/gocapability v0.0.0-20160928074757-e7cb7fa329f4/go.mod 
h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww=
-github.com/technosophos/moniker v0.0.0-20180509230615-a5dbd03a2245/go.mod 
h1:O1c8HleITsZqzNZDjSNzirUGsMT0oGu9LhHKoJrqO+A=
 github.com/thecodeteam/goscaleio v0.1.0/go.mod 
h1:68sdkZAsK8bvEwBlbQnlLS+xU+hvLYM/iQ8KXej1AwM=
 github.com/tidwall/pretty v0.0.0-20180105212114-65a9db5fad51/go.mod 
h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
 github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod 
h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
@@ -913,6 +908,7 @@ google.golang.org/appengine v1.3.0/go.mod 
h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7
 google.golang.org/appengine v1.4.0/go.mod 
h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
 google.golang.org/appengine v1.5.0 
h1:KxkO13IPW4Lslp2bz+KHP2E3gtFlrIGNThxkZQ3g+4c=
 google.golang.org/appengine v1.5.0/go.mod 
h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
+google.golang.org/appengine v1.6.5 
h1:tycE03LOZYQNhDpS27tcQdAzLCVMaj7QT2SXxebnpCM=
 google.golang.org/appengine v1.6.5/go.mod 
h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
 google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod 
h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
 google.golang.org/genproto v0.0.0-20190128161407-8ac453e89fca/go.mod 
h1:L3J43x8/uS+qIUoksaLKe6OS3nUKxOKuIFz1sl2/jx4=
@@ -1047,7 +1043,6 @@ modernc.org/xc v1.0.0/go.mod 
h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I=
 rsc.io/letsencrypt v0.0.1/go.mod 
h1:buyQKZ6IXrRnB7TdkHP0RyEybLx18HHyOSoTyoOLqNY=
 sigs.k8s.io/controller-runtime v0.4.0 
h1:wATM6/m+3w8lj8FXNaO6Fs/rq/vqoOjO1Q116Z9NPsg=
 sigs.k8s.io/controller-runtime v0.4.0/go.mod 
h1:ApC79lpY3PHW9xj/w9pj+lYkLgwAAUZwfXkME1Lajns=
-sigs.k8s.io/controller-tools v0.2.2/go.mod 
h1:8SNGuj163x/sMwydREj7ld5mIMJu1cDanIfnx6xsU70=
 sigs.k8s.io/controller-tools v0.2.4/go.mod 
h1:m/ztfQNocGYBgTTCmFdnK94uVvgxeZeE3LtJvd/jIzA=
 sigs.k8s.io/kustomize v2.0.3+incompatible/go.mod 
h1:MkjgH3RdOWrievjo6c9T245dYlB5QeXV4WCbnt/PEpU=
 sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod 
h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
diff --git a/pkg/client/client.go b/pkg/client/client.go
index 2fcb141..9de66ad 100644
--- a/pkg/client/client.go
+++ b/pkg/client/client.go
@@ -20,9 +20,9 @@ package client
 import (
        "io/ioutil"
        "os"
-       "os/user"
        "path/filepath"
 
+       user "github.com/mitchellh/go-homedir"
        "github.com/operator-framework/operator-sdk/pkg/k8sutil"
        "github.com/pkg/errors"
        "github.com/sirupsen/logrus"
@@ -169,11 +169,11 @@ func initialize(kubeconfig string) {
 }
 
 func getDefaultKubeConfigFile() (string, error) {
-       usr, err := user.Current()
+       dir, err := user.Dir()
        if err != nil {
                return "", err
        }
-       return filepath.Join(usr.HomeDir, ".kube", "config"), nil
+       return filepath.Join(dir, ".kube", "config"), nil
 }
 
 // GetCurrentNamespace --
@@ -225,24 +225,18 @@ func shouldUseContainerMode() (bool, error) {
                return false, nil
        }
        // Use container mode only when the kubeConfigFile does not exist and 
the container namespace file is present
-       userUnknown := false
        configFile, err := getDefaultKubeConfigFile()
        if err != nil {
-               _, userUnknown = err.(user.UnknownUserIdError)
-               if !userUnknown {
-                       return false, err
-               }
+               return false, err
        }
        configFilePresent := true
-       if !userUnknown {
-               _, err := os.Stat(configFile)
-               if err != nil && os.IsNotExist(err) {
-                       configFilePresent = false
-               } else if err != nil {
-                       return false, err
-               }
+       _, err = os.Stat(configFile)
+       if err != nil && os.IsNotExist(err) {
+               configFilePresent = false
+       } else if err != nil {
+               return false, err
        }
-       if userUnknown || !configFilePresent {
+       if !configFilePresent {
                _, err := os.Stat(inContainerNamespaceFile)
                if os.IsNotExist(err) {
                        return false, nil
diff --git a/pkg/trait/util.go b/pkg/trait/util.go
index 1924bca..4ba2f9d 100644
--- a/pkg/trait/util.go
+++ b/pkg/trait/util.go
@@ -20,11 +20,11 @@ package trait
 import (
        "context"
        "fmt"
-       "os/user"
        "reflect"
        "regexp"
        "strings"
 
+       user "github.com/mitchellh/go-homedir"
        "github.com/mitchellh/mapstructure"
        "github.com/scylladb/go-set/strset"
 
@@ -169,11 +169,11 @@ func decodeTraitSpec(in *v1.TraitSpec, target 
interface{}) error {
 }
 
 func mustHomeDir() string {
-       usr, err := user.Current()
+       dir, err := user.Dir()
        if err != nil {
                panic(err)
        }
-       return usr.HomeDir
+       return dir
 }
 
 func toHostDir(host string) string {

Reply via email to