Merge pull request #24544 from NeQuissimus/skopeo_policy

skopeo: default policy

Changed files
+34
pkgs
development
tools
+9
pkgs/development/tools/skopeo/default.nix
···
sha256 = "13k29i5hx909hvddl2xkyw4qzxq2q20ay9bkal3xi063s6l0sh0z";
};
preBuild = ''
export CGO_CFLAGS="-I${getDev gpgme}/include -I${getDev libgpgerror}/include -I${getDev devicemapper}/include -I${getDev btrfs-progs}/include"
export CGO_LDFLAGS="-L${getLib gpgme}/lib -L${getLib libgpgerror}/lib -L${getLib devicemapper}/lib"
'';
meta = {
···
sha256 = "13k29i5hx909hvddl2xkyw4qzxq2q20ay9bkal3xi063s6l0sh0z";
};
+
patches = [
+
./path.patch
+
];
+
preBuild = ''
export CGO_CFLAGS="-I${getDev gpgme}/include -I${getDev libgpgerror}/include -I${getDev devicemapper}/include -I${getDev btrfs-progs}/include"
export CGO_LDFLAGS="-L${getLib gpgme}/lib -L${getLib libgpgerror}/lib -L${getLib devicemapper}/lib"
+
'';
+
+
postInstall = ''
+
mkdir $bin/etc
+
cp -v ./go/src/github.com/projectatomic/skopeo/default-policy.json $bin/etc/default-policy.json
'';
meta = {
+25
pkgs/development/tools/skopeo/path.patch
···
···
+
diff --git a/cmd/skopeo/main.go b/cmd/skopeo/main.go
+
index 51f918d..6681d73 100644
+
--- a/cmd/skopeo/main.go
+
+++ b/cmd/skopeo/main.go
+
@@ -3,6 +3,7 @@ package main
+
import (
+
"fmt"
+
"os"
+
+ "path/filepath"
+
+
"github.com/Sirupsen/logrus"
+
"github.com/containers/image/signature"
+
@@ -84,6 +85,12 @@ func getPolicyContext(c *cli.Context) (*signature.PolicyContext, error) {
+
policyPath := c.GlobalString("policy")
+
var policy *signature.Policy // This could be cached across calls, if we had an application context.
+
var err error
+
+ var dir string
+
+ if policyPath == "" {
+
+ dir, err = filepath.Abs(filepath.Dir(os.Args[0]))
+
+ policyPath = dir + "/../etc/default-policy.json"
+
+ }
+
+
+
if policyPath == "" {
+
policy, err = signature.DefaultPolicy(nil)
+
} else {