From owner-svn-ports-all@freebsd.org Thu Jan 4 20:11:02 2018 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D87D2EB3407; Thu, 4 Jan 2018 20:11:02 +0000 (UTC) (envelope-from sunpoet@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AD4917DA66; Thu, 4 Jan 2018 20:11:02 +0000 (UTC) (envelope-from sunpoet@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w04KB14D050761; Thu, 4 Jan 2018 20:11:01 GMT (envelope-from sunpoet@FreeBSD.org) Received: (from sunpoet@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w04KB1BY050754; Thu, 4 Jan 2018 20:11:01 GMT (envelope-from sunpoet@FreeBSD.org) Message-Id: <201801042011.w04KB1BY050754@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sunpoet set sender to sunpoet@FreeBSD.org using -f From: Sunpoet Po-Chuan Hsieh Date: Thu, 4 Jan 2018 20:11:01 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r458060 - in head/sysutils: . container-diff container-diff/files X-SVN-Group: ports-head X-SVN-Commit-Author: sunpoet X-SVN-Commit-Paths: in head/sysutils: . container-diff container-diff/files X-SVN-Commit-Revision: 458060 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Jan 2018 20:11:03 -0000 Author: sunpoet Date: Thu Jan 4 20:11:01 2018 New Revision: 458060 URL: https://svnweb.freebsd.org/changeset/ports/458060 Log: Add container-diff 0.6.0 container-diff is a tool for analyzing and comparing container images. container-diff can examine images along several different criteria, including: - Docker Image History - Image file system - Apt packages - pip packages - npm packages These analyses can be performed on a single image, or a diff can be performed on two images to compare. The tool can help users better understand what is changing inside their images, and give them a better look at what their images contain. WWW: https://github.com/GoogleCloudPlatform/container-diff Added: head/sysutils/container-diff/ head/sysutils/container-diff/Makefile (contents, props changed) head/sysutils/container-diff/distinfo (contents, props changed) head/sysutils/container-diff/files/ head/sysutils/container-diff/files/extra-patch-without-ino64 (contents, props changed) head/sysutils/container-diff/pkg-descr (contents, props changed) Modified: head/sysutils/Makefile Modified: head/sysutils/Makefile ============================================================================== --- head/sysutils/Makefile Thu Jan 4 20:06:48 2018 (r458059) +++ head/sysutils/Makefile Thu Jan 4 20:11:01 2018 (r458060) @@ -188,6 +188,7 @@ SUBDIR += consul SUBDIR += consul_exporter SUBDIR += consul-alerts + SUBDIR += container-diff SUBDIR += contractor SUBDIR += copytape SUBDIR += coreutils Added: head/sysutils/container-diff/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/container-diff/Makefile Thu Jan 4 20:11:01 2018 (r458060) @@ -0,0 +1,33 @@ +# Created by: Po-Chuan Hsieh +# $FreeBSD$ + +PORTNAME= container-diff +PORTVERSION= 0.6.0 +DISTVERSIONPREFIX= v +CATEGORIES= sysutils + +MAINTAINER= sunpoet@FreeBSD.org +COMMENT= Diff your Docker containers + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE + +GO_PKGNAME= github.com/${GH_ACCOUNT}/${GH_PROJECT} +USES= go + +PLIST_FILES= bin/container-diff + +GH_ACCOUNT= GoogleCloudPlatform +USE_GITHUB= yes + +.include + +# Change inode size from 64 bits to 32 bits for systems without ino64 support +.if ${OSVERSION} < 1200031 +EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-without-ino64 +.endif + +do-install: + ${INSTALL_PROGRAM} ${WRKDIR}/bin/container-diff ${STAGEDIR}${PREFIX}/bin/container-diff + +.include Added: head/sysutils/container-diff/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/container-diff/distinfo Thu Jan 4 20:11:01 2018 (r458060) @@ -0,0 +1,3 @@ +TIMESTAMP = 1515077060 +SHA256 (GoogleCloudPlatform-container-diff-v0.6.0_GH0.tar.gz) = 0493e59b9dad52ed65b23029431fa93e85a1f00b9a77a5042dcd3d4053e983b9 +SIZE (GoogleCloudPlatform-container-diff-v0.6.0_GH0.tar.gz) = 2534142 Added: head/sysutils/container-diff/files/extra-patch-without-ino64 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/container-diff/files/extra-patch-without-ino64 Thu Jan 4 20:11:01 2018 (r458060) @@ -0,0 +1,53 @@ +--- vendor/github.com/docker/docker/pkg/archive/archive_unix.go.orig 2017-12-27 17:49:24 UTC ++++ vendor/github.com/docker/docker/pkg/archive/archive_unix.go +@@ -58,7 +58,7 @@ func setHeaderForSpecialDevice(hdr *tar. + return + } + +-func getInodeFromStat(stat interface{}) (inode uint64, err error) { ++func getInodeFromStat(stat interface{}) (inode uint32, err error) { + s, ok := stat.(*syscall.Stat_t) + + if ok { +--- vendor/github.com/docker/docker/pkg/archive/archive.go.orig 2017-12-27 17:49:24 UTC ++++ vendor/github.com/docker/docker/pkg/archive/archive.go +@@ -378,7 +378,7 @@ type tarAppender struct { + Buffer *bufio.Writer + + // for hardlink mapping +- SeenFiles map[uint64]string ++ SeenFiles map[uint32]string + IDMappings *idtools.IDMappings + ChownOpts *idtools.IDPair + +@@ -391,7 +391,7 @@ type tarAppender struct { + + func newTarAppender(idMapping *idtools.IDMappings, writer io.Writer, chownOpts *idtools.IDPair) *tarAppender { + return &tarAppender{ +- SeenFiles: make(map[uint64]string), ++ SeenFiles: make(map[uint32]string), + TarWriter: tar.NewWriter(writer), + Buffer: pools.BufioWriter32KPool.Get(nil), + IDMappings: idMapping, +--- vendor/github.com/docker/docker/pkg/archive/changes_unix.go.orig 2017-12-27 17:49:24 UTC ++++ vendor/github.com/docker/docker/pkg/archive/changes_unix.go +@@ -28,7 +28,7 @@ func (info *FileInfo) isDir() bool { + return info.parent == nil || info.stat.Mode()&unix.S_IFDIR != 0 + } + +-func getIno(fi os.FileInfo) uint64 { ++func getIno(fi os.FileInfo) uint32 { + return fi.Sys().(*syscall.Stat_t).Ino + } + +--- vendor/github.com/docker/docker/pkg/archive/changes.go.orig 2017-12-27 17:49:24 UTC ++++ vendor/github.com/docker/docker/pkg/archive/changes.go +@@ -363,7 +363,7 @@ func ChangesDirs(newDir, oldDir string) + func ChangesSize(newDir string, changes []Change) int64 { + var ( + size int64 +- sf = make(map[uint64]struct{}) ++ sf = make(map[uint32]struct{}) + ) + for _, change := range changes { + if change.Kind == ChangeModify || change.Kind == ChangeAdd { Added: head/sysutils/container-diff/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/container-diff/pkg-descr Thu Jan 4 20:11:01 2018 (r458060) @@ -0,0 +1,15 @@ +container-diff is a tool for analyzing and comparing container images. + +container-diff can examine images along several different criteria, including: +- Docker Image History +- Image file system +- Apt packages +- pip packages +- npm packages + +These analyses can be performed on a single image, or a diff can be performed on +two images to compare. The tool can help users better understand what is +changing inside their images, and give them a better look at what their images +contain. + +WWW: https://github.com/GoogleCloudPlatform/container-diff