Blob Blame History Raw
# Generated by go2rpm
%bcond_without check
%bcond_with bootstrap

# https://github.com/moby/buildkit
%global goipath         github.com/moby/buildkit
Version:                0.8.1

%gometa

%global goipaths0       github.com/moby/buildkit
%global goipathsex0     github.com/moby/buildkit/client/connhelper/dockercontainer github.com/moby/buildkit/client/connhelper/kubepod github.com/moby/buildkit/session/auth/authprovider github.com/moby/buildkit/util/testutil/integration

%if %{without bootstrap}
%global goipaths1       github.com/moby/buildkit/client/connhelper/dockercontainer github.com/moby/buildkit/client/connhelper/kubepod github.com/moby/buildkit/session/auth/authprovider github.com/moby/buildkit/util/testutil/integration
%endif

%global common_description %{expand:
BuildKit is a toolkit for converting source code to build artifacts in an
efficient, expressive and repeatable manner.}

%global golicenses      LICENSE
%global godocs          docs examples AUTHORS README.md docs

Name:           %{goname}
Release:        2%{?dist}
Summary:        Concurrent, cache-efficient, and Dockerfile-agnostic builder toolkit

# Upstream license specification: Apache-2.0
License:        ASL 2.0
URL:            %{gourl}
Source0:        %{gosource}
Patch0:         Update-containerd-stargz-snapshotter.patch

BuildRequires:  golang(github.com/AkihiroSuda/containerd-fuse-overlayfs)
BuildRequires:  golang(github.com/BurntSushi/toml)
BuildRequires:  golang(github.com/containerd/console)
BuildRequires:  golang(github.com/containerd/containerd)
BuildRequires:  golang(github.com/containerd/containerd/api/services/content/v1)
BuildRequires:  golang(github.com/containerd/containerd/api/services/snapshots/v1)
BuildRequires:  golang(github.com/containerd/containerd/archive)
BuildRequires:  golang(github.com/containerd/containerd/archive/compression)
BuildRequires:  golang(github.com/containerd/containerd/cio)
BuildRequires:  golang(github.com/containerd/containerd/containers)
BuildRequires:  golang(github.com/containerd/containerd/content)
BuildRequires:  golang(github.com/containerd/containerd/content/local)
BuildRequires:  golang(github.com/containerd/containerd/content/proxy)
BuildRequires:  golang(github.com/containerd/containerd/contrib/seccomp)
BuildRequires:  golang(github.com/containerd/containerd/defaults)
BuildRequires:  golang(github.com/containerd/containerd/diff)
BuildRequires:  golang(github.com/containerd/containerd/diff/apply)
BuildRequires:  golang(github.com/containerd/containerd/diff/walking)
BuildRequires:  golang(github.com/containerd/containerd/errdefs)
BuildRequires:  golang(github.com/containerd/containerd/filters)
BuildRequires:  golang(github.com/containerd/containerd/gc)
BuildRequires:  golang(github.com/containerd/containerd/images)
BuildRequires:  golang(github.com/containerd/containerd/images/archive)
BuildRequires:  golang(github.com/containerd/containerd/labels)
BuildRequires:  golang(github.com/containerd/containerd/leases)
BuildRequires:  golang(github.com/containerd/containerd/log)
BuildRequires:  golang(github.com/containerd/containerd/metadata)
BuildRequires:  golang(github.com/containerd/containerd/mount)
BuildRequires:  golang(github.com/containerd/containerd/namespaces)
BuildRequires:  golang(github.com/containerd/containerd/oci)
BuildRequires:  golang(github.com/containerd/containerd/pkg/dialer)
BuildRequires:  golang(github.com/containerd/containerd/pkg/seed)
BuildRequires:  golang(github.com/containerd/containerd/platforms)
BuildRequires:  golang(github.com/containerd/containerd/reference)
BuildRequires:  golang(github.com/containerd/containerd/remotes)
BuildRequires:  golang(github.com/containerd/containerd/remotes/docker)
BuildRequires:  golang(github.com/containerd/containerd/remotes/docker/auth)
BuildRequires:  golang(github.com/containerd/containerd/remotes/docker/schema1)
BuildRequires:  golang(github.com/containerd/containerd/remotes/errors)
BuildRequires:  golang(github.com/containerd/containerd/rootfs)
BuildRequires:  golang(github.com/containerd/containerd/services/content/contentserver)
BuildRequires:  golang(github.com/containerd/containerd/snapshots)
BuildRequires:  golang(github.com/containerd/containerd/snapshots/native)
BuildRequires:  golang(github.com/containerd/containerd/snapshots/overlay)
BuildRequires:  golang(github.com/containerd/containerd/snapshots/proxy)
BuildRequires:  golang(github.com/containerd/containerd/sys)
BuildRequires:  golang(github.com/containerd/continuity/fs)
BuildRequires:  golang(github.com/containerd/continuity/sysx)
BuildRequires:  golang(github.com/containerd/go-cni)
BuildRequires:  golang(github.com/containerd/go-runc)
BuildRequires:  golang(github.com/containerd/stargz-snapshotter/snapshot)
BuildRequires:  golang(github.com/containerd/stargz-snapshotter/fs)
BuildRequires:  golang(github.com/containerd/stargz-snapshotter/fs/config)
BuildRequires:  golang(github.com/containerd/stargz-snapshotter/fs/source)
BuildRequires:  golang(github.com/containerd/typeurl)
BuildRequires:  golang(github.com/coreos/go-systemd/v22/daemon)
%if %{without bootstrap}
BuildRequires:  golang(github.com/docker/cli/cli/config)
BuildRequires:  golang(github.com/docker/cli/cli/config/configfile)
BuildRequires:  golang(github.com/docker/cli/cli/connhelper/commandconn)
%endif
BuildRequires:  golang(github.com/docker/distribution/reference)
BuildRequires:  golang(github.com/docker/docker/api/types/container)
BuildRequires:  golang(github.com/docker/docker/api/types/strslice)
BuildRequires:  golang(github.com/docker/docker/pkg/archive)
BuildRequires:  golang(github.com/docker/docker/pkg/chrootarchive)
BuildRequires:  golang(github.com/docker/docker/pkg/idtools)
BuildRequires:  golang(github.com/docker/docker/pkg/reexec)
BuildRequires:  golang(github.com/docker/docker/pkg/signal)
%if %{without bootstrap}
BuildRequires:  golang(github.com/docker/docker/testutil/daemon)
%endif
BuildRequires:  golang(github.com/docker/go-connections/nat)
BuildRequires:  golang(github.com/docker/go-connections/sockets)
BuildRequires:  golang(github.com/docker/libnetwork/resolvconf)
BuildRequires:  golang(github.com/docker/libnetwork/types)
BuildRequires:  golang(github.com/gofrs/flock)
BuildRequires:  golang(github.com/gogo/googleapis/google/rpc)
BuildRequires:  golang(github.com/gogo/protobuf/gogoproto)
BuildRequires:  golang(github.com/gogo/protobuf/proto)
BuildRequires:  golang(github.com/gogo/protobuf/sortkeys)
BuildRequires:  golang(github.com/gogo/protobuf/types)
BuildRequires:  golang(github.com/golang/protobuf/jsonpb)
BuildRequires:  golang(github.com/golang/protobuf/proto)
BuildRequires:  golang(github.com/golang/protobuf/ptypes/any)
BuildRequires:  golang(github.com/golang/protobuf/ptypes/timestamp)
BuildRequires:  golang(github.com/google/shlex)
BuildRequires:  golang(github.com/grpc-ecosystem/go-grpc-middleware)
BuildRequires:  golang(github.com/grpc-ecosystem/grpc-opentracing/go/otgrpc)
BuildRequires:  golang(github.com/hashicorp/golang-lru/simplelru)
BuildRequires:  golang(github.com/mitchellh/hashstructure)
BuildRequires:  golang(github.com/moby/locker)
BuildRequires:  golang(github.com/morikuni/aec)
BuildRequires:  golang(github.com/opencontainers/go-digest)
BuildRequires:  golang(github.com/opencontainers/image-spec/identity)
BuildRequires:  golang(github.com/opencontainers/image-spec/specs-go)
BuildRequires:  golang(github.com/opencontainers/image-spec/specs-go/v1)
BuildRequires:  golang(github.com/opencontainers/runc/libcontainer/user)
BuildRequires:  golang(github.com/opencontainers/runtime-spec/specs-go)
BuildRequires:  golang(github.com/opentracing-contrib/go-stdlib/nethttp)
BuildRequires:  golang(github.com/opentracing/opentracing-go)
BuildRequires:  golang(github.com/opentracing/opentracing-go/ext)
BuildRequires:  golang(github.com/opentracing/opentracing-go/log)
BuildRequires:  golang(github.com/pkg/errors)
BuildRequires:  golang(github.com/pkg/profile)
BuildRequires:  golang(github.com/serialx/hashring)
BuildRequires:  golang(github.com/sirupsen/logrus)
BuildRequires:  golang(github.com/stretchr/testify/assert)
BuildRequires:  golang(github.com/stretchr/testify/require)
BuildRequires:  golang(github.com/tonistiigi/fsutil)
BuildRequires:  golang(github.com/tonistiigi/fsutil/copy)
BuildRequires:  golang(github.com/tonistiigi/fsutil/types)
BuildRequires:  golang(github.com/tonistiigi/go-immutable-radix)
BuildRequires:  golang(github.com/tonistiigi/units)
BuildRequires:  golang(github.com/tonistiigi/vt100)
BuildRequires:  golang(github.com/uber/jaeger-client-go)
BuildRequires:  golang(github.com/urfave/cli)
BuildRequires:  golang(go.etcd.io/bbolt)
BuildRequires:  golang(golang.org/x/crypto/nacl/sign)
BuildRequires:  golang(golang.org/x/crypto/ssh)
BuildRequires:  golang(golang.org/x/crypto/ssh/agent)
BuildRequires:  golang(golang.org/x/net/context)
BuildRequires:  golang(golang.org/x/net/http2)
BuildRequires:  golang(golang.org/x/net/trace)
BuildRequires:  golang(golang.org/x/sync/errgroup)
BuildRequires:  golang(golang.org/x/sync/semaphore)
BuildRequires:  golang(golang.org/x/sys/unix)
BuildRequires:  golang(golang.org/x/time/rate)
BuildRequires:  golang(google.golang.org/genproto/googleapis/rpc/status)
BuildRequires:  golang(google.golang.org/grpc)
BuildRequires:  golang(google.golang.org/grpc/backoff)
BuildRequires:  golang(google.golang.org/grpc/codes)
BuildRequires:  golang(google.golang.org/grpc/credentials)
BuildRequires:  golang(google.golang.org/grpc/health)
BuildRequires:  golang(google.golang.org/grpc/health/grpc_health_v1)
BuildRequires:  golang(google.golang.org/grpc/metadata)
BuildRequires:  golang(google.golang.org/grpc/status)

%if %{with check}
# Tests
BuildRequires:  golang(github.com/containerd/continuity/fs/fstest)
BuildRequires:  golang(github.com/google/go-cmp/cmp)
BuildRequires:  golang(gotest.tools/v3/assert)
BuildRequires:  golang(gotest.tools/v3/assert/cmp)
BuildRequires:  git-core
%endif

%description
%{common_description}

%gopkg

%prep
%goprep
%patch0
sed -i "s|github.com/hashicorp/go-immutable-radix|github.com/tonistiigi/go-immutable-radix|" $(find . -iname "*.go" -type f)
sed -i "s|github.com/jaguilar/vt100|github.com/tonistiigi/vt100|" $(find . -iname "*.go" -type f)
sed -i "s|gotest.tools|gotest.tools/v3|" $(find . -iname "*.go" -type f)

%if %{without bootstrap}
%build
for cmd in cmd/* ; do
  %gobuild -o %{gobuilddir}/bin/$(basename $cmd) %{goipath}/$cmd
done
%endif

%install
%gopkginstall
%if %{without bootstrap}
install -m 0755 -vd                     %{buildroot}%{_bindir}
install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/
%endif

%if %{with check}
%check
# cache: operation not permitted
%if %{with bootstrap}
%gocheck -t cmd \
         -d client/connhelper/dockercontainer \
         -d client/connhelper/kubepod \
         -d session/auth/authprovider \
         -d cache/contenthash \
         -d client \
         -d frontend \
         -d frontend/dockerfile \
         -d worker/containerd \
         -t source \
         -d cache
%else
%gocheck -t cmd \
         -d cache/contenthash \
         -d client \
         -d frontend \
         -d frontend/dockerfile \
         -t source \
         -d cache
%endif
%endif

%if %{without bootstrap}
%files
%license LICENSE
%doc docs examples AUTHORS README.md docs
%{_bindir}/*
%endif

%gopkgfiles

%changelog
* Fri Jan 29 2021 Olivier Lemasle <o.lemasle@gmail.com> - 0.8.1-2
- Unbootstrap

* Fri Jan 29 2021 Olivier Lemasle <o.lemasle@gmail.com> - 0.8.1-1
- Update to 0.8.1 - bootstrap

* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Wed Jul 29 23:14:10 CEST 2020 Robert-André Mauchin <zebob.m@gmail.com> - 0.7.2-1
- Update to 0.7.2

* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.4-3
- Second attempt - Rebuilt for
  https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Wed Apr 01 2020 Olivier Lemasle <o.lemasle@gmail.com> - 0.6.4-1
- Update to upstream 0.6.4

* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Thu Jul 04 15:43:01 CEST 2019 Robert-André Mauchin <zebob.m@gmail.com> - 0.5.1-1.20190704git21034f4
- Release 0.5.1, commit 21034f4234c5fdbdd7f25d3373e12bd0b950e4db

* Sun May 05 18:43:46 CEST 2019 Robert-André Mauchin <zebob.m@gmail.com> - 0.5.0-1
- Initial package