From 8f4be1e4fb932fdba8da5a85d0fb34ad2d13bb8a Mon Sep 17 00:00:00 2001 From: "Ralf S. Engelschall" Date: Sun, 6 Aug 2017 19:05:01 +0200 Subject: [PATCH] new package --- docker/docker.patch | 12 +++++ docker/docker.spec | 106 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 118 insertions(+) create mode 100644 docker/docker.patch create mode 100644 docker/docker.spec diff --git a/docker/docker.patch b/docker/docker.patch new file mode 100644 index 0000000000..03cb1ce294 --- /dev/null +++ b/docker/docker.patch @@ -0,0 +1,12 @@ +Index: src/github.com/docker/cli/vendor/github.com/tonistiigi/fsutil/walker_unix.go +--- src/github.com/docker/cli/vendor/github.com/tonistiigi/fsutil/walker_unix.go.orig 2017-08-06 18:30:15.000000000 +0200 ++++ src/github.com/docker/cli/vendor/github.com/tonistiigi/fsutil/walker_unix.go 2017-08-06 18:42:25.220616000 +0200 +@@ -41,7 +41,7 @@ + stat.Devminor = int64(minor(uint64(s.Rdev))) + } + +- ino := s.Ino ++ ino := uint64(s.Ino) + if s.Nlink > 1 { + if oldpath, ok := seenFiles[ino]; ok { + stat.Linkname = oldpath diff --git a/docker/docker.spec b/docker/docker.spec new file mode 100644 index 0000000000..d893ce9662 --- /dev/null +++ b/docker/docker.spec @@ -0,0 +1,106 @@ +## +## docker.spec -- OpenPKG RPM Package Specification +## Copyright (c) 2000-2017 OpenPKG Foundation e.V. +## +## Permission to use, copy, modify, and distribute this software for +## any purpose with or without fee is hereby granted, provided that +## the above copyright notice and this permission notice appear in all +## copies. +## +## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED +## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR +## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +## SUCH DAMAGE. +## + +# package version +%define V_opkg 17.06.1rc3 +%define V_dist v17.06.1-ce-rc3 +%define V_snap 20170806 + +# package information +Name: docker +Summary: Docker Command-Line Interface +URL: https://www.docker.com/community-edition +Vendor: Docker Inc. +Packager: OpenPKG Foundation e.V. +Distribution: OpenPKG Community +Class: EVAL +Group: Filesystem +License: Apache +Version: %{V_opkg} +Release: 20170806 + +# list of sources +Source0: http://download.openpkg.org/components/versioned/docker-ce/docker-ce-%{V_snap}.tar.xz +Patch0: docker.patch + +# build information +BuildPreReq: OpenPKG, openpkg >= 20160101, go, md2man +PreReq: OpenPKG, openpkg >= 20160101 + +%description + This package contains the Docker Client Command-Line Interface (CLI) + only. It has to remotely connect to the Docker Daemon of an existing + Docker installation. + +%track + prog docker = { + version = %{version} + url = https://github.com/docker/docker-ce/releases + regex = (__VER__)\.tar\.gz + } + +%prep + %setup -q -n docker-ce + %patch -p0 + +%build + # build program + export GOPATH=`pwd` + cd $GOPATH/src/github.com/docker/cli + rm -f cmd/docker/docker_windows.go + rm -f cmd/docker/daemon_unix.go + go build -x -o docker cmd/docker/*.go + + # build manpages + ( cd man + %{l_shtool} subst -e 's;go-md2man;md2man;g' md2man-all.sh + sh md2man-all.sh + ) || exit $? + +%install + # create directory hierarchy + %{l_shtool} mkdir -f -p -m 755 \ + $RPM_BUILD_ROOT%{l_prefix}/bin \ + $RPM_BUILD_ROOT%{l_prefix}/man/man1 \ + $RPM_BUILD_ROOT%{l_prefix}/man/man5 + + # install program + %{l_shtool} install -c -s -m 755 \ + src/github.com/docker/cli/docker \ + $RPM_BUILD_ROOT%{l_prefix}/bin/ + + # install manpages + %{l_shtool} install -c -m 644 \ + src/github.com/docker/cli/man/man1/*.1 \ + $RPM_BUILD_ROOT%{l_prefix}/man/man1/ + %{l_shtool} install -c -m 644 \ + src/github.com/docker/cli/man/man5/*.5 \ + $RPM_BUILD_ROOT%{l_prefix}/man/man5/ + + # determine installation files + %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} + +%files -f files + +%clean +