skopeo: default policy

This commit is contained in:
Tim Steinbach 2017-04-01 18:33:32 -04:00
parent 8f52ee2928
commit 4ceeac7526
No known key found for this signature in database
GPG Key ID: 472BFCCA96BD0EDA
2 changed files with 34 additions and 0 deletions

View File

@ -19,11 +19,20 @@ buildGoPackage rec {
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 = {
description = "A command line utility for various operations on container images and image repositories";
homepage = "https://github.com/projectatomic/skopeo";

View File

@ -0,0 +1,25 @@
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 {