Compare commits

...

No commits in common. "c9-beta" and "c10s" have entirely different histories.

9 changed files with 210 additions and 121 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/v0.7.5.tar.gz
/*.tar.*

View File

@ -1 +0,0 @@
eeb9cdbd83165f98f2f9198935b9fa402d848836 SOURCES/v0.7.5.tar.gz

76
.packit.yaml Normal file
View File

@ -0,0 +1,76 @@
---
# See the documentation for more information:
# https://packit.dev/docs/configuration/
# podman-next COPR build targets can be found at:
# On commit: https://copr.fedorainfracloud.org/coprs/rhcontainerbot/gvisor-tap-vsock-next/
specfile_path: rpm/gvisor-tap-vsock.spec
upstream_tag_template: v{version}
packages:
gvisor-tap-vsock-fedora:
pkg_tool: fedpkg
specfile_path: rpm/gvisor-tap-vsock.spec
gvisor-tap-vsock-centos:
pkg_tool: centpkg
specfile_path: rpm/gvisor-tap-vsock.spec
srpm_build_deps:
- make
jobs:
- job: copr_build
trigger: pull_request
packages: [gvisor-tap-vsock-fedora]
enable_net: true
targets:
- fedora-all-aarch64
- fedora-all-x86_64
- fedora-eln-aarch64
- fedora-eln-x86_64
- job: copr_build
trigger: pull_request
packages: [gvisor-tap-vsock-centos]
enable_net: true
targets:
- centos-stream-10-x86_64
- centos-stream-10-aarch64
- centos-stream-9-x86_64
- centos-stream-9-aarch64
# Run on commit to main branch
- job: copr_build
trigger: commit
packages: [gvisor-tap-vsock-fedora]
enable_net: true
branch: main
owner: rhcontainerbot
project: podman-next
- job: propose_downstream
trigger: release
packages: [gvisor-tap-vsock-fedora]
update_release: false
dist_git_branches:
- fedora-all
- job: propose_downstream
trigger: release
packages: [gvisor-tap-vsock-centos]
update_release: false
dist_git_branches:
- c10s
- job: koji_build
trigger: commit
packages: [gvisor-tap-vsock-fedora]
dist_git_branches:
- fedora-all
- job: bodhi_update
trigger: commit
packages: [gvisor-tap-vsock-fedora]
dist_git_branches:
- fedora-branched # rawhide updates are created automatically

3
README.md Normal file
View File

@ -0,0 +1,3 @@
# gvisor-tap-vsock
The gvisor-tap-vsock package

3
README.packit Normal file
View File

@ -0,0 +1,3 @@
This repository is maintained by packit.
https://packit.dev/
The file was generated using packit 0.99.0.

View File

@ -1,119 +0,0 @@
%global with_debug 1
%if 0%{?with_debug}
%global _find_debuginfo_dwz_opts %{nil}
%global _dwz_low_mem_die_limit 0
%else
%global debug_package %{nil}
%endif
%global gomodulesmode GO111MODULE=on
Name: gvisor-tap-vsock
Epoch: 6
Version: 0.7.5
License: Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND MIT
Release: 1%{?dist}
ExclusiveArch: %{golang_arches_future}
Summary: Go replacement for libslirp and VPNKit
URL: https://github.com/containers/%{name}
# All SourceN files fetched from upstream
Source0: %{url}/archive/refs/tags/v%{version}.tar.gz
BuildRequires: gcc
BuildRequires: glib2-devel
BuildRequires: glibc-devel
BuildRequires: glibc-static
BuildRequires: golang
BuildRequires: git-core
BuildRequires: go-rpm-macros
BuildRequires: make
Obsoletes: podman-gvproxy < 5:4.7.0-1
Provides: podman-gvproxy = %{epoch}:%{version}-%{release}
%description
A replacement for libslirp and VPNKit, written in pure Go.
It is based on the network stack of gVisor and is used to provide
networking for podman-machine virtual machines. Compared to libslirp,
gvisor-tap-vsock brings a configurable DNS server and dynamic
port forwarding.
%prep
%autosetup -Sgit -n %{name}-%{version}
%build
%set_build_flags
export CGO_CFLAGS=$CFLAGS
# These extra flags present in $CFLAGS have been skipped for now as they break the build
CGO_CFLAGS=$(echo $CGO_CFLAGS | sed 's/-flto=auto//g')
CGO_CFLAGS=$(echo $CGO_CFLAGS | sed 's/-Wp,D_GLIBCXX_ASSERTIONS//g')
CGO_CFLAGS=$(echo $CGO_CFLAGS | sed 's/-specs=\/usr\/lib\/rpm\/redhat\/redhat-annobin-cc1//g')
%ifarch x86_64
export CGO_CFLAGS+=" -m64 -mtune=generic -fcf-protection=full"
%endif
# reset LDFLAGS for plugins and gvisor binaries
LDFLAGS=''
# build gvisor-tap-vsock binaries
%gobuild -o bin/gvproxy ./cmd/gvproxy
%gobuild -o bin/gvforwarder ./cmd/vm
%install
# install gvproxy
install -dp %{buildroot}%{_libexecdir}/podman
install -p -m0755 bin/gvproxy %{buildroot}%{_libexecdir}/podman
install -p -m0755 bin/gvforwarder %{buildroot}%{_libexecdir}/podman
#define license tag if not already defined
%{!?_licensedir:%global license %doc}
%files
%license LICENSE
%doc README.md
%dir %{_libexecdir}/podman
%{_libexecdir}/podman/gvproxy
%{_libexecdir}/podman/gvforwarder
%changelog
* Tue Aug 27 2024 Jindrich Novy <jnovy@redhat.com> - 6:0.7.5-1
- update to https://github.com/containers/gvisor-tap-vsock/releases/tag/v0.7.5
- Related: RHEL-27608
* Mon Aug 05 2024 Jindrich Novy <jnovy@redhat.com> - 6:0.7.4-1
- update to https://github.com/containers/gvisor-tap-vsock/releases/tag/v0.7.4
- Related: RHEL-27608
* Mon Feb 12 2024 Jindrich Novy <jnovy@redhat.com> - 6:0.7.3-2
- Add gating.yaml
- Related: Jira:RHEL-2112
* Fri Feb 09 2024 Jindrich Novy <jnovy@redhat.com> - 6:0.7.3-1
- update to https://github.com/containers/gvisor-tap-vsock/releases/tag/v0.7.3
- Related: RHEL-2112
* Wed Jan 31 2024 Jindrich Novy <jnovy@redhat.com> - 6:0.7.2-2
- Update description - thanks to Derrick Ornelas
- Resolves: RHELPLAN-168385
* Fri Jan 19 2024 Jindrich Novy <jnovy@redhat.com> - 6:0.7.2-1
- update to https://github.com/containers/gvisor-tap-vsock/releases/tag/v0.7.2
- Related: RHEL-2112
* Mon Oct 02 2023 Jindrich Novy <jnovy@redhat.com> - 6:0.7.1-1
- update to https://github.com/containers/gvisor-tap-vsock/releases/tag/v0.7.1
- Related: Jira:RHEL-2112
* Wed Sep 27 2023 Jindrich Novy <jnovy@redhat.com> - 6:0.7.0-2
- initial import
- Resolves: Jira:RHELPLAN-167882
* Tue Aug 01 2023 Lokesh Mandvekar <lsm5@fedoraproject.org> - 6:0.7.0-3
- correctly obsolete older podman-gvproxy
* Tue Aug 01 2023 Lokesh Mandvekar <lsm5@fedoraproject.org> - 6:0.7.0-2
- fix install paths
* Tue Aug 01 2023 Lokesh Mandvekar <lsm5@fedoraproject.org> - 6:0.7.0-1
- Resolves: #2224434 - initial upload

6
gating.yaml Normal file
View File

@ -0,0 +1,6 @@
# recipients: jnovy, lsm5, santiago
--- !Policy
product_versions:
- rhel-10
decision_context: osci_compose_gate
rules: []

120
gvisor-tap-vsock.spec Normal file
View File

@ -0,0 +1,120 @@
%global with_debug 1
%if 0%{?with_debug}
%global _find_debuginfo_dwz_opts %{nil}
%global _dwz_low_mem_die_limit 0
%else
%global debug_package %{nil}
%endif
%global gomodulesmode GO111MODULE=on
%global _gvisor_installdir %{_libexecdir}/podman
%global desc_gvforwarder Forward traffic from a tap interface over vsock
Name: gvisor-tap-vsock
%if %{defined copr_username}
Epoch: 103
%else
Epoch: 6
%endif
# DO NOT TOUCH the Version string!
# The TRUE source of this specfile is:
# https://github.com/containers/podman/blob/main/rpm/podman.spec
# If that's what you're reading, Version must be 0, and will be updated by Packit for
# copr and koji builds.
# If you're reading this on dist-git, the version is automatically filled in by Packit.
Version: 0.8.0
License: Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND MIT
Release: 1%{?dist}
%if %{defined golang_arches_future}
ExclusiveArch: %{golang_arches_future}
%else
ExclusiveArch: aarch64 ppc64le s390x x86_64
%endif
Summary: Go replacement for libslirp and VPNKit
URL: https://github.com/containers/%{name}
# All SourceN files fetched from upstream
Source0: %{url}/archive/refs/tags/v%{version}.tar.gz
BuildRequires: gcc
BuildRequires: glib2-devel
BuildRequires: glibc-devel
BuildRequires: glibc-static
BuildRequires: golang
BuildRequires: git-core
%if %{defined rhel} && 0%{?rhel} == 8
BuildRequires: go-srpm-macros
%else
BuildRequires: go-rpm-macros
%endif
BuildRequires: make
%if %{defined copr_username}
Obsoletes: podman-gvproxy < 102:4.7.0-1
%else
Obsoletes: podman-gvproxy < 5:4.7.0-1
%endif
Provides: podman-gvproxy = %{epoch}:%{version}-%{release}
Requires: %{name}-gvforwarder = %{epoch}:%{version}-%{release}
%description
A replacement for libslirp and VPNKit, written in pure Go.
It is based on the network stack of gVisor. Compared to libslirp,
gvisor-tap-vsock brings a configurable DNS server and
dynamic port forwarding.
%package gvforwarder
Summary: %{desc_gvforwarder}
Provides: gvforwarder = %{epoch}:%{version}-%{release}
Obsoletes: %{name} < 6:0.7.0-6
Recommends: %{name} = %{epoch}:%{version}-%{release}
%description gvforwarder
%{desc_gvforwarder}
%prep
%autosetup -Sgit -n %{name}-%{version}
%build
%set_build_flags
export CGO_CFLAGS=$CFLAGS
# These extra flags present in $CFLAGS have been skipped for now as they break the build
CGO_CFLAGS=$(echo $CGO_CFLAGS | sed 's/-flto=auto//g')
CGO_CFLAGS=$(echo $CGO_CFLAGS | sed 's/-Wp,D_GLIBCXX_ASSERTIONS//g')
CGO_CFLAGS=$(echo $CGO_CFLAGS | sed 's/-specs=\/usr\/lib\/rpm\/redhat\/redhat-annobin-cc1//g')
%ifarch x86_64
export CGO_CFLAGS+=" -m64 -mtune=generic -fcf-protection=full"
%endif
# reset LDFLAGS for plugins and gvisor binaries
LDFLAGS=''
# build gvisor-tap-vsock binaries
%gobuild -o bin/gvproxy ./cmd/gvproxy
%gobuild -o bin/gvforwarder ./cmd/vm
%install
# install gvproxy
install -dp %{buildroot}%{_gvisor_installdir}
install -p -m0755 bin/gvproxy %{buildroot}%{_gvisor_installdir}
install -p -m0755 bin/gvforwarder %{buildroot}%{_gvisor_installdir}
#define license tag if not already defined
%{!?_licensedir:%global license %doc}
%files
%license LICENSE
%doc README.md
%dir %{_gvisor_installdir}
%{_gvisor_installdir}/gvproxy
%files gvforwarder
%dir %{_gvisor_installdir}
%{_gvisor_installdir}/gvforwarder
%changelog
* Wed Nov 13 2024 Jindrich Novy <jnovy@redhat.com> - 6:0.8.0-1
- update to https://github.com/containers/gvisor-tap-vsock/releases/tag/v0.8.0
- Resolves: RHEL-67315

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (v0.8.0.tar.gz) = 25020c7cf9abd229c5b8e9b1a385c2e935c30bbccb72a95de66c12b9d4ee768171b785dd6566738f0fff77d5c6c91752f78be731f1b76f0345626a516014b3ea