2016-12-13 11:10:13 +00:00
|
|
|
#
|
|
|
|
# spec file for package umoci
|
|
|
|
#
|
2019-01-31 13:33:19 +00:00
|
|
|
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
|
2016-12-13 11:10:13 +00:00
|
|
|
#
|
|
|
|
# All modifications and additions to the file contributed by third parties
|
|
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
|
|
# upon. The license for this file, and modifications and additions to the
|
|
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
|
|
# license for the pristine package is not an Open Source License, in which
|
|
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
|
|
# published by the Open Source Initiative.
|
|
|
|
|
2019-05-01 07:33:32 +00:00
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
2016-12-13 11:10:13 +00:00
|
|
|
#
|
|
|
|
# nodebuginfo
|
|
|
|
|
2017-03-21 09:17:22 +00:00
|
|
|
|
2016-12-13 11:10:13 +00:00
|
|
|
# Remove stripping of Go binaries.
|
|
|
|
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
|
|
|
|
|
2016-12-20 10:14:26 +00:00
|
|
|
# Project name when using go tooling.
|
2017-02-07 07:39:48 +00:00
|
|
|
%define project github.com/openSUSE/umoci
|
2016-12-20 10:14:26 +00:00
|
|
|
|
2016-12-13 11:10:13 +00:00
|
|
|
Name: umoci
|
2019-01-31 13:33:19 +00:00
|
|
|
Version: 0.4.4
|
2016-12-13 11:10:13 +00:00
|
|
|
Release: 0
|
|
|
|
Summary: Open Container Image manipulation tool
|
|
|
|
License: Apache-2.0
|
|
|
|
Group: System/Management
|
2018-09-04 18:58:14 +00:00
|
|
|
Url: https://umo.ci
|
|
|
|
Source0: https://github.com/openSUSE/umoci/releases/download/v%{version}/umoci.tar.xz#/%{name}-%{version}.tar.xz
|
|
|
|
Source1: https://github.com/openSUSE/umoci/releases/download/v%{version}/umoci.tar.xz.asc#/%{name}-%{version}.tar.xz.asc
|
|
|
|
Source2: https://umo.ci/%{name}.keyring
|
2017-07-25 12:06:05 +00:00
|
|
|
BuildRequires: fdupes
|
2016-12-13 11:10:13 +00:00
|
|
|
BuildRequires: go >= 1.6
|
|
|
|
BuildRequires: go-go-md2man
|
2018-02-02 14:06:47 +00:00
|
|
|
ExcludeArch: s390
|
2016-12-13 11:10:13 +00:00
|
|
|
|
|
|
|
%description
|
2017-07-25 12:06:05 +00:00
|
|
|
umoci modifies Open Container images. umoci is a manipulation tool for OCI
|
|
|
|
images. In particular, it is a more complete alternative to oci-image-tools
|
|
|
|
provided by the OCI.
|
2016-12-13 11:10:13 +00:00
|
|
|
|
|
|
|
%prep
|
2017-04-10 17:45:50 +00:00
|
|
|
%setup -q
|
2016-12-13 11:10:13 +00:00
|
|
|
|
|
|
|
%build
|
|
|
|
|
2016-12-20 10:14:26 +00:00
|
|
|
# We can't use symlinks here because go-list gets confused by symlinks, so we
|
|
|
|
# have to copy the source to $HOME/go and then use that as the GOPATH.
|
|
|
|
export GOPATH=$HOME/go
|
|
|
|
mkdir -pv $HOME/go/src/%{project}
|
|
|
|
rm -rf $HOME/go/src/%{project}/*
|
2018-09-11 03:45:10 +00:00
|
|
|
cp -ar * $HOME/go/src/%{project}
|
2016-12-20 10:14:26 +00:00
|
|
|
|
2016-12-19 13:56:41 +00:00
|
|
|
export VERSION="$(cat ./VERSION)"
|
2016-12-13 11:10:13 +00:00
|
|
|
if [ "$VERSION" != "%{version}" ]; then
|
2017-03-21 09:17:22 +00:00
|
|
|
VERSION="%{version}_suse"
|
2016-12-13 11:10:13 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
# Build the binary.
|
|
|
|
make VERSION="$VERSION" umoci
|
|
|
|
|
|
|
|
# Build the docs if we have go-md2man.
|
|
|
|
make doc
|
|
|
|
|
|
|
|
%install
|
|
|
|
# Install the binary.
|
2017-02-10 18:03:48 +00:00
|
|
|
install -D -m 0755 %{name} "%{buildroot}/%{_bindir}/%{name}"
|
2016-12-13 11:10:13 +00:00
|
|
|
|
|
|
|
# Install all of the docs.
|
Accepting request 512069 from home:cyphar:containers
- Update to umoci v0.3.0. Upstream changelog:
- `umoci` now passes all of the requirements for the [CII best practices bading
program][cii]. openSUSE/umoci#134
- `umoci` also now has more extensive architecture, quick-start and roadmap
documentation. openSUSE/umoci#134
- `umoci` now supports [`1.0.0` of the OCI image
specification][ispec-v1.0.0] and [`1.0.0` of the OCI runtime
specification][rspec-v1.0.0], which are the first milestone release. Note
that there are still some remaining UX issues with `--image` and other parts
of `umoci` which may be subject to change in future versions. In particular,
this update of the specification now means that images may have ambiguous
tags. `umoci` will warn you if an operation may have an ambiguous result, but
we plan to improve this functionality far more in the future.
openSUSE/umoci#133 openSUSE/umoci#142
- `umoci` also now supports more complicated descriptor walk structures, and
also handles mutation of such structures more sanely. At the moment, this
functionality has not been used "in the wild" and `umoci` doesn't have the UX
to create such structures (yet) but these will be implemented in future
versions. openSUSE/umoci#145
- `umoci repack` now supports `--mask-path` to ignore changes in the rootfs
that are in a child of at least one of the provided masks when generating new
layers. openSUSE/umoci#127
- Error messages from `github.com/openSUSE/umoci/oci/cas/drivers/dir` actually
make sense now. openSUSE/umoci#121
- `umoci unpack` now generates `config.json` blobs according to the [still
proposed][ispec-pr492] OCI image specification conversion document.
openSUSE/umoci#120
- `umoci repack` also now automatically adding `Config.Volumes` from the image
configuration to the set of masked paths. This matches recently added
[recommendations by the spec][ispec-pr694], but is a backwards-incompatible
change because the new default is that `Config.Volumes` **will** be masked.
If you wish to retain the old semantics, use `--no-mask-volumes` (though make
sure to be aware of the reasoning behind `Config.Volume` masking).
openSUSE/umoci#127
- `umoci` now uses [`SecureJoin`][securejoin] rather than a patched version of
`FollowSymlinkInScope`. The two implementations are roughly equivalent, but
`SecureJoin` has a nicer API and is maintained as a separate project.
- Switched to using `golang.org/x/sys/unix` over `syscall` where possible,
which makes the codebase significantly cleaner. openSUSE/umoci#141
[cii]: https://bestpractices.coreinfrastructure.org/projects/1084
[rspec-v1.0.0]: https://github.com/opencontainers/runtime-spec/releases/tag/v1.0.0
[ispec-v1.0.0]: https://github.com/opencontainers/image-spec/releases/tag/v1.0.0
[ispec-pr492]: https://github.com/opencontainers/image-spec/pull/492
[ispec-pr694]: https://github.com/opencontainers/image-spec/pull/694
[securejoin]: https://github.com/cyphar/filepath-securejoin
OBS-URL: https://build.opensuse.org/request/show/512069
OBS-URL: https://build.opensuse.org/package/show/Virtualization:containers/umoci?expand=0&rev=23
2017-07-24 10:39:50 +00:00
|
|
|
for file in doc/man/*.1; do
|
2017-03-21 09:17:22 +00:00
|
|
|
install -D -m 0644 $file "%{buildroot}/%{_mandir}/man1/$(basename $file)"
|
2016-12-13 11:10:13 +00:00
|
|
|
done
|
|
|
|
|
2017-07-25 12:06:05 +00:00
|
|
|
%fdupes %{buildroot}
|
2016-12-13 11:10:13 +00:00
|
|
|
|
|
|
|
%files
|
|
|
|
%defattr(-,root,root)
|
2018-11-11 08:59:36 +00:00
|
|
|
%doc README.md CHANGELOG.md doc/*
|
2018-06-18 08:44:45 +00:00
|
|
|
%license COPYING
|
2016-12-13 11:10:13 +00:00
|
|
|
%{_bindir}/%{name}
|
|
|
|
%{_mandir}/man1/umoci*
|
|
|
|
|
|
|
|
%changelog
|