util: Move executable path finding into a helper function
This commit is contained in:
@@ -31,11 +31,10 @@ package coredeploy
|
||||
|
||||
import (
|
||||
"context"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/purpleidea/mgmt/lang/funcs/simple"
|
||||
"github.com/purpleidea/mgmt/lang/types"
|
||||
"github.com/purpleidea/mgmt/util"
|
||||
)
|
||||
|
||||
func init() {
|
||||
@@ -48,22 +47,12 @@ func init() {
|
||||
// BinaryPath returns the path to the binary of this program. This is useful for
|
||||
// bootstrapping new machines when we want to get the path to copy it over from.
|
||||
func BinaryPath(ctx context.Context, input []types.Value) (types.Value, error) {
|
||||
p1, err := os.Executable()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
p2, err := filepath.EvalSymlinks(p1)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
p3, err := filepath.Abs(p2)
|
||||
p, err := util.ExecutablePath()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &types.StrValue{
|
||||
V: p3,
|
||||
V: p,
|
||||
}, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user