[arch-commits] Commit in skopeo/trunk (2 files)

Bartłomiej Piotrowski bpiotrowski at archlinux.org
Fri Mar 8 10:56:17 UTC 2019


    Date: Friday, March 8, 2019 @ 10:56:17
  Author: bpiotrowski
Revision: 438049

0.1.35-1

Modified:
  skopeo/trunk/PKGBUILD
Deleted:
  skopeo/trunk/0001-Revert-ostree-add-selinux-label-for-each-file.patch

----------------------------------------------------------+
 0001-Revert-ostree-add-selinux-label-for-each-file.patch |  144 -------------
 PKGBUILD                                                 |   16 -
 2 files changed, 5 insertions(+), 155 deletions(-)

Deleted: 0001-Revert-ostree-add-selinux-label-for-each-file.patch
===================================================================
--- 0001-Revert-ostree-add-selinux-label-for-each-file.patch	2019-03-08 09:52:49 UTC (rev 438048)
+++ 0001-Revert-ostree-add-selinux-label-for-each-file.patch	2019-03-08 10:56:17 UTC (rev 438049)
@@ -1,144 +0,0 @@
-diff --git a/ostree/ostree_dest.go b/ostree/ostree_dest.go
-index 2e0d7fcf..a8e879ed 100644
---- a/ostree/ostree_dest.go
-+++ b/ostree/ostree_dest.go
-@@ -15,31 +15,25 @@ import (
- 	"os/exec"
- 	"path/filepath"
- 	"strconv"
--	"strings"
--	"syscall"
- 	"time"
--	"unsafe"
- 
- 	"github.com/containers/image/manifest"
- 	"github.com/containers/image/types"
- 	"github.com/containers/storage/pkg/archive"
- 	"github.com/opencontainers/go-digest"
--	selinux "github.com/opencontainers/selinux/go-selinux"
- 	"github.com/ostreedev/ostree-go/pkg/otbuiltin"
- 	"github.com/pkg/errors"
- 	"github.com/vbatts/tar-split/tar/asm"
- 	"github.com/vbatts/tar-split/tar/storage"
- )
- 
--// #cgo pkg-config: glib-2.0 gobject-2.0 ostree-1 libselinux
-+// #cgo pkg-config: glib-2.0 gobject-2.0 ostree-1
- // #include <glib.h>
- // #include <glib-object.h>
- // #include <gio/gio.h>
- // #include <stdlib.h>
- // #include <ostree.h>
- // #include <gio/ginputstream.h>
--// #include <selinux/selinux.h>
--// #include <selinux/label.h>
- import "C"
- 
- type blobToImport struct {
-@@ -158,7 +152,7 @@ func (d *ostreeImageDestination) PutBlob(ctx context.Context, stream io.Reader,
- 	return types.BlobInfo{Digest: computedDigest, Size: size}, nil
- }
- 
--func fixFiles(selinuxHnd *C.struct_selabel_handle, root string, dir string, usermode bool) error {
-+func fixFiles(dir string, usermode bool) error {
- 	entries, err := ioutil.ReadDir(dir)
- 	if err != nil {
- 		return err
-@@ -173,42 +167,13 @@ func fixFiles(selinuxHnd *C.struct_selabel_handle, root string, dir string, user
- 			continue
- 		}
- 
--		if selinuxHnd != nil {
--			relPath, err := filepath.Rel(root, fullpath)
--			if err != nil {
--				return err
--			}
--			// Handle /exports/hostfs as a special case.  Files under this directory are copied to the host,
--			// thus we benefit from maintaining the same SELinux label they would have on the host as we could
--			// use hard links instead of copying the files.
--			relPath = fmt.Sprintf("/%s", strings.TrimPrefix(relPath, "exports/hostfs/"))
--
--			relPathC := C.CString(relPath)
--			defer C.free(unsafe.Pointer(relPathC))
--			var context *C.char
--
--			res, err := C.selabel_lookup_raw(selinuxHnd, &context, relPathC, C.int(info.Mode()&os.ModePerm))
--			if int(res) < 0 && err != syscall.ENOENT {
--				return errors.Wrapf(err, "cannot selabel_lookup_raw %s", relPath)
--			}
--			if int(res) == 0 {
--				defer C.freecon(context)
--				fullpathC := C.CString(fullpath)
--				defer C.free(unsafe.Pointer(fullpathC))
--				res, err = C.lsetfilecon_raw(fullpathC, context)
--				if int(res) < 0 {
--					return errors.Wrapf(err, "cannot setfilecon_raw %s", fullpath)
--				}
--			}
--		}
--
- 		if info.IsDir() {
- 			if usermode {
- 				if err := os.Chmod(fullpath, info.Mode()|0700); err != nil {
- 					return err
- 				}
- 			}
--			err = fixFiles(selinuxHnd, root, fullpath, usermode)
-+			err = fixFiles(fullpath, usermode)
- 			if err != nil {
- 				return err
- 			}
-@@ -264,7 +229,7 @@ func generateTarSplitMetadata(output *bytes.Buffer, file string) (digest.Digest,
- 	return digester.Digest(), written, nil
- }
- 
--func (d *ostreeImageDestination) importBlob(selinuxHnd *C.struct_selabel_handle, repo *otbuiltin.Repo, blob *blobToImport) error {
-+func (d *ostreeImageDestination) importBlob(repo *otbuiltin.Repo, blob *blobToImport) error {
- 	// TODO: This can take quite some time, and should ideally be cancellable using a context.Context.
- 
- 	ostreeBranch := fmt.Sprintf("ociimage/%s", blob.Digest.Hex())
-@@ -287,7 +252,7 @@ func (d *ostreeImageDestination) importBlob(selinuxHnd *C.struct_selabel_handle,
- 		if err := archive.UntarPath(blob.BlobPath, destinationPath); err != nil {
- 			return err
- 		}
--		if err := fixFiles(selinuxHnd, destinationPath, destinationPath, false); err != nil {
-+		if err := fixFiles(destinationPath, false); err != nil {
- 			return err
- 		}
- 	} else {
-@@ -296,7 +261,7 @@ func (d *ostreeImageDestination) importBlob(selinuxHnd *C.struct_selabel_handle,
- 			return err
- 		}
- 
--		if err := fixFiles(selinuxHnd, destinationPath, destinationPath, true); err != nil {
-+		if err := fixFiles(destinationPath, true); err != nil {
- 			return err
- 		}
- 	}
-@@ -404,17 +369,6 @@ func (d *ostreeImageDestination) Commit(ctx context.Context) error {
- 		return err
- 	}
- 
--	var selinuxHnd *C.struct_selabel_handle
--
--	if os.Getuid() == 0 && selinux.GetEnabled() {
--		selinuxHnd, err = C.selabel_open(C.SELABEL_CTX_FILE, nil, 0)
--		if selinuxHnd == nil {
--			return errors.Wrapf(err, "cannot open the SELinux DB")
--		}
--
--		defer C.selabel_close(selinuxHnd)
--	}
--
- 	checkLayer := func(hash string) error {
- 		blob := d.blobs[hash]
- 		// if the blob is not present in d.blobs then it is already stored in OSTree,
-@@ -422,7 +376,7 @@ func (d *ostreeImageDestination) Commit(ctx context.Context) error {
- 		if blob == nil {
- 			return nil
- 		}
--		err := d.importBlob(selinuxHnd, repo, blob)
-+		err := d.importBlob(repo, blob)
- 		if err != nil {
- 			return err
- 		}

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2019-03-08 09:52:49 UTC (rev 438048)
+++ PKGBUILD	2019-03-08 10:56:17 UTC (rev 438049)
@@ -1,8 +1,8 @@
 # Maintainer: Bartłomiej Piotrowski <bpiotrowski at archlinux.org>
 
 pkgname=skopeo
-pkgver=0.1.32
-pkgrel=2
+pkgver=0.1.35
+pkgrel=1
 pkgdesc='A command line utility for various operations on container images and image repositories.'
 arch=(x86_64)
 url='https://github.com/projectatomic/skopeo'
@@ -14,9 +14,8 @@
         etc/containers/registries.d/default.yaml
         etc/containers/seccomp.json
         etc/containers/storage.conf)
-_commit=1715c9084124875cb71f006916396e3c7d03014e  # tags/v0.1.32
+_commit=404c5bd341ccb383061f4eb505f24d2801b31b94  # tags/v0.1.35
 source=(git+$url#commit=$_commit
-        0001-Revert-ostree-add-selinux-label-for-each-file.patch
         containers-storage.conf.5.md
         policy.json.5.md
         registries.conf
@@ -24,7 +23,6 @@
         seccomp.json
         storage.conf)
 sha256sums=('SKIP'
-            'e9ac315d13c61e18cd96e17d35e6623ed5fa6dc444c2536ce24c80aed159d8c9'
             '707268f7968a6e4c3be282dcac790f7d208527e6220e95232b11b25401c2c817'
             'a4dd89bb5d8dec2b3af3888f879144334aeeab31734e19793da498d355994cd9'
             'bf720633c4c9906e93665813bbf13a73a6cb0df2b412d81228c7673505513d1f'
@@ -38,11 +36,6 @@
 }
 
 prepare() {
-  pushd $pkgname/vendor/github.com/containers/image
-  patch -p1 -i "$srcdir/0001-Revert-ostree-add-selinux-label-for-each-file.patch"
-  popd
-
-  export GOPATH="$srcdir"
   mkdir -p src/github.com/containers
   cp -r $pkgname src/github.com/containers/skopeo
 }
@@ -49,7 +42,8 @@
 
 build() {
   cd src/github.com/containers/skopeo
-  go build -v -o skopeo ./cmd/skopeo
+  export GOPATH="$srcdir"
+  make binary-local BUILDTAGS='containers_image_ostree_stub ostree'
   make docs
 }
 


More information about the arch-commits mailing list