From 3fb1fd36a391088743fe12a13d96f94ce2cae1ea Mon Sep 17 00:00:00 2001 From: Cappy Ishihara Date: Sun, 19 Jan 2025 02:34:12 +0700 Subject: [PATCH] Remove duplicate packages from Fedora --- anda/docker/containerd/.gitignore | 2 - .../0001-Add-reaper-StartLocked.patch | 33 - ...01-Revert-commit-for-Windows-metrics.patch | 157 -- ...instead-of-github.com-gogo-protobuf-.patch | 1467 ----------------- ...opencontainers-image-spec-v1.1.0-rc3.patch | 162 -- .../0002-Remove-windows-only-dep.patch | 24 - anda/docker/containerd/anda.hcl | 5 - anda/docker/containerd/changelog | 167 -- anda/docker/containerd/containerd.spec | 127 -- anda/docker/containerd/containerd.toml | 9 - anda/docker/containerd/update.rhai | 1 - anda/docker/moby-buildx/anda.hcl | 5 - anda/docker/moby-buildx/moby-buildx.spec | 46 - anda/docker/moby-buildx/update.rhai | 1 - anda/docker/moby-compose/anda.hcl | 5 - anda/docker/moby-compose/update.rhai | 1 - .../games/gamescope-legacy/0001-cstdint.patch | 36 - anda/games/gamescope-legacy/anda.hcl | 7 - .../gamescope-legacy/gamescope-legacy.spec | 129 -- anda/games/gamescope-legacy/legacy-720p.patch | 33 - anda/games/gamescope-legacy/stb.pc | 7 - ...-ctrl-1-2-to-steam-s-wayland-session.patch | 39 - .../Mesa-MLAA-License-Clarification-Email.txt | 117 -- anda/system/mesa-freeworld/anda.hcl | 9 - .../system/mesa-freeworld/mesa-freeworld.spec | 602 ------- .../org.mesa3d.vaapi.freeworld.metainfo.xml | 39 - .../org.mesa3d.vdpau.freeworld.metainfo.xml | 38 - anda/system/mesa-freeworld/update.rhai | 3 - 28 files changed, 3271 deletions(-) delete mode 100644 anda/docker/containerd/.gitignore delete mode 100644 anda/docker/containerd/0001-Add-reaper-StartLocked.patch delete mode 100644 anda/docker/containerd/0001-Revert-commit-for-Windows-metrics.patch delete mode 100644 anda/docker/containerd/0001-Use-typeurl.Any-instead-of-github.com-gogo-protobuf-.patch delete mode 100644 anda/docker/containerd/0001-opencontainers-image-spec-v1.1.0-rc3.patch delete mode 100644 anda/docker/containerd/0002-Remove-windows-only-dep.patch delete mode 100644 anda/docker/containerd/anda.hcl delete mode 100644 anda/docker/containerd/changelog delete mode 100644 anda/docker/containerd/containerd.spec delete mode 100644 anda/docker/containerd/containerd.toml delete mode 100644 anda/docker/containerd/update.rhai delete mode 100644 anda/docker/moby-buildx/anda.hcl delete mode 100644 anda/docker/moby-buildx/moby-buildx.spec delete mode 100644 anda/docker/moby-buildx/update.rhai delete mode 100644 anda/docker/moby-compose/anda.hcl delete mode 100644 anda/docker/moby-compose/update.rhai delete mode 100644 anda/games/gamescope-legacy/0001-cstdint.patch delete mode 100644 anda/games/gamescope-legacy/anda.hcl delete mode 100644 anda/games/gamescope-legacy/gamescope-legacy.spec delete mode 100644 anda/games/gamescope-legacy/legacy-720p.patch delete mode 100644 anda/games/gamescope-legacy/stb.pc delete mode 100644 anda/games/gamescope-legacy/v2-0001-always-send-ctrl-1-2-to-steam-s-wayland-session.patch delete mode 100644 anda/system/mesa-freeworld/Mesa-MLAA-License-Clarification-Email.txt delete mode 100644 anda/system/mesa-freeworld/anda.hcl delete mode 100644 anda/system/mesa-freeworld/mesa-freeworld.spec delete mode 100644 anda/system/mesa-freeworld/org.mesa3d.vaapi.freeworld.metainfo.xml delete mode 100644 anda/system/mesa-freeworld/org.mesa3d.vdpau.freeworld.metainfo.xml delete mode 100644 anda/system/mesa-freeworld/update.rhai diff --git a/anda/docker/containerd/.gitignore b/anda/docker/containerd/.gitignore deleted file mode 100644 index cd976ef07f..0000000000 --- a/anda/docker/containerd/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -containerd-*.tar.gz -clog diff --git a/anda/docker/containerd/0001-Add-reaper-StartLocked.patch b/anda/docker/containerd/0001-Add-reaper-StartLocked.patch deleted file mode 100644 index 610ec0005d..0000000000 --- a/anda/docker/containerd/0001-Add-reaper-StartLocked.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 788f2f928c1d0099d3861553bf82e83169811a29 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Robert-Andr=C3=A9=20Mauchin?= -Date: Tue, 1 Nov 2022 22:09:38 +0100 -Subject: [PATCH] Add reaper StartLocked - ---- - sys/reaper/reaper_unix.go | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/sys/reaper/reaper_unix.go b/sys/reaper/reaper_unix.go -index 6c4f13b90..a6d6a1e77 100644 ---- a/sys/reaper/reaper_unix.go -+++ b/sys/reaper/reaper_unix.go -@@ -101,6 +101,16 @@ func (m *Monitor) Start(c *exec.Cmd) (chan runc.Exit, error) { - return ec, nil - } - -+// StartLocked starts the command a registers the process with the reaper -+func (m *Monitor) StartLocked(c *exec.Cmd) (chan runc.Exit, error) { -+ ec := m.Subscribe() -+ if err := c.Start(); err != nil { -+ m.Unsubscribe(ec) -+ return nil, err -+ } -+ return ec, nil -+} -+ - // Wait blocks until a process is signal as dead. - // User should rely on the value of the exit status to determine if the - // command was successful or not. --- -2.38.1 - diff --git a/anda/docker/containerd/0001-Revert-commit-for-Windows-metrics.patch b/anda/docker/containerd/0001-Revert-commit-for-Windows-metrics.patch deleted file mode 100644 index 568f98ff13..0000000000 --- a/anda/docker/containerd/0001-Revert-commit-for-Windows-metrics.patch +++ /dev/null @@ -1,157 +0,0 @@ -From beb23ffb0624b40b2ee1bc56730e54943bd3020f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Robert-Andr=C3=A9=20Mauchin?= -Date: Thu, 1 Oct 2020 07:19:45 +0200 -Subject: [PATCH] Revert commit for Windows metrics -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Robert-André Mauchin ---- - cmd/ctr/commands/tasks/metrics.go | 113 ------------------------------ - 1 file changed, 113 deletions(-) - -diff --git a/cmd/ctr/commands/tasks/metrics.go b/cmd/ctr/commands/tasks/metrics.go -index a83e45ef..f8371401 100644 ---- a/cmd/ctr/commands/tasks/metrics.go -+++ b/cmd/ctr/commands/tasks/metrics.go -@@ -23,9 +23,6 @@ import ( - "os" - "text/tabwriter" - -- wstats "github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/stats" -- v1 "github.com/containerd/cgroups/stats/v1" -- v2 "github.com/containerd/cgroups/v2/stats" - "github.com/containerd/containerd/cmd/ctr/commands" - "github.com/containerd/typeurl" - "github.com/urfave/cli" -@@ -77,42 +74,12 @@ var metricsCommand = cli.Command{ - if err != nil { - return err - } -- var ( -- data *v1.Metrics -- data2 *v2.Metrics -- windowsStats *wstats.Statistics -- ) -- switch v := anydata.(type) { -- case *v1.Metrics: -- data = v -- case *v2.Metrics: -- data2 = v -- case *wstats.Statistics: -- windowsStats = v -- default: -- return errors.New("cannot convert metric data to cgroups.Metrics or windows.Statistics") -- } - - switch context.String(formatFlag) { - case formatTable: - w := tabwriter.NewWriter(os.Stdout, 1, 8, 4, ' ', 0) - fmt.Fprintf(w, "ID\tTIMESTAMP\t\n") - fmt.Fprintf(w, "%s\t%s\t\n\n", metric.ID, metric.Timestamp) -- if data != nil { -- printCgroupMetricsTable(w, data) -- } else if data2 != nil { -- printCgroup2MetricsTable(w, data2) -- } else { -- if windowsStats.GetLinux() != nil { -- printCgroupMetricsTable(w, windowsStats.GetLinux()) -- } else if windowsStats.GetWindows() != nil { -- printWindowsContainerStatistics(w, windowsStats.GetWindows()) -- } -- // Print VM stats if its isolated -- if windowsStats.VM != nil { -- printWindowsVMStatistics(w, windowsStats.VM) -- } -- } - return w.Flush() - case formatJSON: - marshaledJSON, err := json.MarshalIndent(anydata, "", " ") -@@ -126,83 +93,3 @@ var metricsCommand = cli.Command{ - } - }, - } -- --func printCgroupMetricsTable(w *tabwriter.Writer, data *v1.Metrics) { -- fmt.Fprintf(w, "METRIC\tVALUE\t\n") -- if data.Memory != nil { -- fmt.Fprintf(w, "memory.usage_in_bytes\t%d\t\n", data.Memory.Usage.Usage) -- fmt.Fprintf(w, "memory.limit_in_bytes\t%d\t\n", data.Memory.Usage.Limit) -- fmt.Fprintf(w, "memory.stat.cache\t%d\t\n", data.Memory.TotalCache) -- } -- if data.CPU != nil { -- fmt.Fprintf(w, "cpuacct.usage\t%d\t\n", data.CPU.Usage.Total) -- fmt.Fprintf(w, "cpuacct.usage_percpu\t%v\t\n", data.CPU.Usage.PerCPU) -- } -- if data.Pids != nil { -- fmt.Fprintf(w, "pids.current\t%v\t\n", data.Pids.Current) -- fmt.Fprintf(w, "pids.limit\t%v\t\n", data.Pids.Limit) -- } --} -- --func printCgroup2MetricsTable(w *tabwriter.Writer, data *v2.Metrics) { -- fmt.Fprintf(w, "METRIC\tVALUE\t\n") -- if data.Pids != nil { -- fmt.Fprintf(w, "pids.current\t%v\t\n", data.Pids.Current) -- fmt.Fprintf(w, "pids.limit\t%v\t\n", data.Pids.Limit) -- } -- if data.CPU != nil { -- fmt.Fprintf(w, "cpu.usage_usec\t%v\t\n", data.CPU.UsageUsec) -- fmt.Fprintf(w, "cpu.user_usec\t%v\t\n", data.CPU.UserUsec) -- fmt.Fprintf(w, "cpu.system_usec\t%v\t\n", data.CPU.SystemUsec) -- fmt.Fprintf(w, "cpu.nr_periods\t%v\t\n", data.CPU.NrPeriods) -- fmt.Fprintf(w, "cpu.nr_throttled\t%v\t\n", data.CPU.NrThrottled) -- fmt.Fprintf(w, "cpu.throttled_usec\t%v\t\n", data.CPU.ThrottledUsec) -- } -- if data.Memory != nil { -- fmt.Fprintf(w, "memory.usage\t%v\t\n", data.Memory.Usage) -- fmt.Fprintf(w, "memory.usage_limit\t%v\t\n", data.Memory.UsageLimit) -- fmt.Fprintf(w, "memory.swap_usage\t%v\t\n", data.Memory.SwapUsage) -- fmt.Fprintf(w, "memory.swap_limit\t%v\t\n", data.Memory.SwapLimit) -- } --} -- --func printWindowsContainerStatistics(w *tabwriter.Writer, stats *wstats.WindowsContainerStatistics) { -- fmt.Fprintf(w, "METRIC\tVALUE\t\n") -- fmt.Fprintf(w, "timestamp\t%s\t\n", stats.Timestamp) -- fmt.Fprintf(w, "start_time\t%s\t\n", stats.ContainerStartTime) -- fmt.Fprintf(w, "uptime_ns\t%d\t\n", stats.UptimeNS) -- if stats.Processor != nil { -- fmt.Fprintf(w, "cpu.total_runtime_ns\t%d\t\n", stats.Processor.TotalRuntimeNS) -- fmt.Fprintf(w, "cpu.runtime_user_ns\t%d\t\n", stats.Processor.RuntimeUserNS) -- fmt.Fprintf(w, "cpu.runtime_kernel_ns\t%d\t\n", stats.Processor.RuntimeKernelNS) -- } -- if stats.Memory != nil { -- fmt.Fprintf(w, "memory.commit_bytes\t%d\t\n", stats.Memory.MemoryUsageCommitBytes) -- fmt.Fprintf(w, "memory.commit_peak_bytes\t%d\t\n", stats.Memory.MemoryUsageCommitPeakBytes) -- fmt.Fprintf(w, "memory.private_working_set_bytes\t%d\t\n", stats.Memory.MemoryUsagePrivateWorkingSetBytes) -- } -- if stats.Storage != nil { -- fmt.Fprintf(w, "storage.read_count_normalized\t%d\t\n", stats.Storage.ReadCountNormalized) -- fmt.Fprintf(w, "storage.read_size_bytes\t%d\t\n", stats.Storage.ReadSizeBytes) -- fmt.Fprintf(w, "storage.write_count_normalized\t%d\t\n", stats.Storage.WriteCountNormalized) -- fmt.Fprintf(w, "storage.write_size_bytes\t%d\t\n", stats.Storage.WriteSizeBytes) -- } --} -- --func printWindowsVMStatistics(w *tabwriter.Writer, stats *wstats.VirtualMachineStatistics) { -- fmt.Fprintf(w, "METRIC\tVALUE\t\n") -- if stats.Processor != nil { -- fmt.Fprintf(w, "vm.cpu.total_runtime_ns\t%d\t\n", stats.Processor.TotalRuntimeNS) -- } -- if stats.Memory != nil { -- fmt.Fprintf(w, "vm.memory.working_set_bytes\t%d\t\n", stats.Memory.WorkingSetBytes) -- fmt.Fprintf(w, "vm.memory.virtual_node_count\t%d\t\n", stats.Memory.VirtualNodeCount) -- fmt.Fprintf(w, "vm.memory.available\t%d\t\n", stats.Memory.VmMemory.AvailableMemory) -- fmt.Fprintf(w, "vm.memory.available_buffer\t%d\t\n", stats.Memory.VmMemory.AvailableMemoryBuffer) -- fmt.Fprintf(w, "vm.memory.reserved\t%d\t\n", stats.Memory.VmMemory.ReservedMemory) -- fmt.Fprintf(w, "vm.memory.assigned\t%d\t\n", stats.Memory.VmMemory.AssignedMemory) -- fmt.Fprintf(w, "vm.memory.slp_active\t%t\t\n", stats.Memory.VmMemory.SlpActive) -- fmt.Fprintf(w, "vm.memory.balancing_enabled\t%t\t\n", stats.Memory.VmMemory.BalancingEnabled) -- fmt.Fprintf(w, "vm.memory.dm_operation_in_progress\t%t\t\n", stats.Memory.VmMemory.DmOperationInProgress) -- } --} --- -2.28.0 - diff --git a/anda/docker/containerd/0001-Use-typeurl.Any-instead-of-github.com-gogo-protobuf-.patch b/anda/docker/containerd/0001-Use-typeurl.Any-instead-of-github.com-gogo-protobuf-.patch deleted file mode 100644 index 5577569579..0000000000 --- a/anda/docker/containerd/0001-Use-typeurl.Any-instead-of-github.com-gogo-protobuf-.patch +++ /dev/null @@ -1,1467 +0,0 @@ -From 92d2d9b8ed28b3918ad902219245b6c737e9dee4 Mon Sep 17 00:00:00 2001 -From: Davanum Srinivas -Date: Fri, 25 Aug 2023 11:11:35 -0400 -Subject: [PATCH] [PATCH] Use typeurl.Any instead of - github.com/gogo/protobuf/types.Any - -This commit upgrades github.com/containerd/typeurl to use typeurl.Any. -The interface hides gogo/protobuf/types.Any from containerd's Go client. - -Signed-off-by: Kazuyoshi Kato -Signed-off-by: Davanum Srinivas ---- - cmd/containerd-shim/main_unix.go | 4 +- - cmd/ctr/commands/containers/containers.go | 2 +- - container.go | 10 +-- - container_checkpoint_opts.go | 8 +-- - container_opts.go | 10 +-- - containers/containers.go | 8 +-- - containerstore.go | 19 ++++-- - events.go | 5 +- - events/events.go | 3 +- - events/exchange/exchange.go | 8 +-- - go.mod | 2 +- - go.sum | 3 +- - integration/client/container_test.go | 8 +-- - integration/client/go.mod | 2 +- - integration/client/go.sum | 3 +- - metadata/boltutil/helpers.go | 21 +++--- - metadata/containers.go | 3 +- - metadata/containers_test.go | 83 ++++++++++++++--------- - metrics/cgroups/metrics_test.go | 6 +- - pkg/cri/server/events.go | 3 +- - pkg/cri/server/helpers.go | 5 +- - pkg/cri/server/helpers_test.go | 13 ++++ - pkg/cri/server/restart.go | 4 +- - protobuf/any.go | 47 +++++++++++++ - protobuf/any_test.go | 26 +++++++ - runtime/runtime.go | 8 +-- - runtime/v1/linux/runtime.go | 9 +-- - runtime/v1/linux/task.go | 4 +- - runtime/v1/shim/service.go | 3 +- - runtime/v2/manager.go | 7 +- - runtime/v2/runc/container.go | 6 +- - runtime/v2/runc/task/service.go | 5 +- - runtime/v2/runc/v1/service.go | 5 +- - runtime/v2/shim.go | 5 +- - runtime/v2/shim/publisher.go | 4 +- - services/containers/helpers.go | 20 ++++-- - services/events/service.go | 3 +- - services/tasks/local.go | 5 +- - task.go | 7 +- - 39 files changed, 270 insertions(+), 127 deletions(-) - create mode 100644 protobuf/any.go - create mode 100644 protobuf/any_test.go - -diff --git a/cmd/containerd-shim/main_unix.go b/cmd/containerd-shim/main_unix.go -index 024611bf3bdf..ef32ae38bb51 100644 ---- a/cmd/containerd-shim/main_unix.go -+++ b/cmd/containerd-shim/main_unix.go -@@ -38,12 +38,12 @@ import ( - "github.com/containerd/containerd/events" - "github.com/containerd/containerd/namespaces" - "github.com/containerd/containerd/pkg/process" -+ "github.com/containerd/containerd/protobuf" - shimlog "github.com/containerd/containerd/runtime/v1" - "github.com/containerd/containerd/runtime/v1/shim" - shimapi "github.com/containerd/containerd/runtime/v1/shim/v1" - "github.com/containerd/containerd/sys/reaper" - "github.com/containerd/ttrpc" -- "github.com/containerd/typeurl" - ptypes "github.com/gogo/protobuf/types" - "github.com/sirupsen/logrus" - exec "golang.org/x/sys/execabs" -@@ -286,7 +286,7 @@ type remoteEventsPublisher struct { - - func (l *remoteEventsPublisher) Publish(ctx context.Context, topic string, event events.Event) error { - ns, _ := namespaces.Namespace(ctx) -- encoded, err := typeurl.MarshalAny(event) -+ encoded, err := protobuf.MarshalAnyToProto(event) - if err != nil { - return err - } -diff --git a/cmd/ctr/commands/containers/containers.go b/cmd/ctr/commands/containers/containers.go -index d1025344e0a0..3f2d55d6c10c 100644 ---- a/cmd/ctr/commands/containers/containers.go -+++ b/cmd/ctr/commands/containers/containers.go -@@ -280,7 +280,7 @@ var infoCommand = cli.Command{ - return nil - } - -- if info.Spec != nil && info.Spec.Value != nil { -+ if info.Spec != nil && info.Spec.GetValue() != nil { - v, err := typeurl.UnmarshalAny(info.Spec) - if err != nil { - return err -diff --git a/container.go b/container.go -index 2cf15666f132..8511d863dc1c 100644 ---- a/container.go -+++ b/container.go -@@ -32,10 +32,10 @@ import ( - "github.com/containerd/containerd/errdefs" - "github.com/containerd/containerd/images" - "github.com/containerd/containerd/oci" -+ "github.com/containerd/containerd/protobuf" - "github.com/containerd/containerd/runtime/v2/runc/options" - "github.com/containerd/fifo" - "github.com/containerd/typeurl" -- prototypes "github.com/gogo/protobuf/types" - ver "github.com/opencontainers/image-spec/specs-go" - ocispec "github.com/opencontainers/image-spec/specs-go/v1" - "github.com/opencontainers/selinux/go-selinux/label" -@@ -74,7 +74,7 @@ type Container interface { - // SetLabels sets the provided labels for the container and returns the final label set - SetLabels(context.Context, map[string]string) (map[string]string, error) - // Extensions returns the extensions set on the container -- Extensions(context.Context) (map[string]prototypes.Any, error) -+ Extensions(context.Context) (map[string]typeurl.Any, error) - // Update a container - Update(context.Context, ...UpdateContainerOpts) error - // Checkpoint creates a checkpoint image of the current container -@@ -120,7 +120,7 @@ func (c *container) Info(ctx context.Context, opts ...InfoOpts) (containers.Cont - return c.metadata, nil - } - --func (c *container) Extensions(ctx context.Context) (map[string]prototypes.Any, error) { -+func (c *container) Extensions(ctx context.Context) (map[string]typeurl.Any, error) { - r, err := c.get(ctx) - if err != nil { - return nil, err -@@ -163,7 +163,7 @@ func (c *container) Spec(ctx context.Context) (*oci.Spec, error) { - return nil, err - } - var s oci.Spec -- if err := json.Unmarshal(r.Spec.Value, &s); err != nil { -+ if err := json.Unmarshal(r.Spec.GetValue(), &s); err != nil { - return nil, err - } - return &s, nil -@@ -285,7 +285,7 @@ func (c *container) NewTask(ctx context.Context, ioCreate cio.Creator, opts ...N - if err != nil { - return nil, err - } -- request.Options = any -+ request.Options = protobuf.FromAny(any) - } - t := &task{ - client: c.client, -diff --git a/container_checkpoint_opts.go b/container_checkpoint_opts.go -index a64ef618ba62..ee2fa1b977eb 100644 ---- a/container_checkpoint_opts.go -+++ b/container_checkpoint_opts.go -@@ -28,9 +28,9 @@ import ( - "github.com/containerd/containerd/diff" - "github.com/containerd/containerd/images" - "github.com/containerd/containerd/platforms" -+ "github.com/containerd/containerd/protobuf" - "github.com/containerd/containerd/rootfs" - "github.com/containerd/containerd/runtime/v2/runc/options" -- "github.com/containerd/typeurl" - imagespec "github.com/opencontainers/image-spec/specs-go/v1" - ) - -@@ -56,7 +56,7 @@ func WithCheckpointImage(ctx context.Context, client *Client, c *containers.Cont - - // WithCheckpointTask includes the running task - func WithCheckpointTask(ctx context.Context, client *Client, c *containers.Container, index *imagespec.Index, copts *options.CheckpointOptions) error { -- any, err := typeurl.MarshalAny(copts) -+ any, err := protobuf.MarshalAnyToProto(copts) - if err != nil { - return nil - } -@@ -97,8 +97,8 @@ func WithCheckpointTask(ctx context.Context, client *Client, c *containers.Conta - - // WithCheckpointRuntime includes the container runtime info - func WithCheckpointRuntime(ctx context.Context, client *Client, c *containers.Container, index *imagespec.Index, copts *options.CheckpointOptions) error { -- if c.Runtime.Options != nil { -- data, err := c.Runtime.Options.Marshal() -+ if c.Runtime.Options != nil && c.Runtime.Options.GetValue() != nil { -+ data, err := protobuf.FromAny(c.Runtime.Options).Marshal() - if err != nil { - return err - } -diff --git a/container_opts.go b/container_opts.go -index 4d630ea6c9d2..f005fe1c7730 100644 ---- a/container_opts.go -+++ b/container_opts.go -@@ -27,9 +27,9 @@ import ( - "github.com/containerd/containerd/errdefs" - "github.com/containerd/containerd/images" - "github.com/containerd/containerd/oci" -+ "github.com/containerd/containerd/protobuf" - "github.com/containerd/containerd/snapshots" - "github.com/containerd/typeurl" -- "github.com/gogo/protobuf/types" - "github.com/opencontainers/image-spec/identity" - v1 "github.com/opencontainers/image-spec/specs-go/v1" - ) -@@ -57,7 +57,7 @@ type InfoConfig struct { - func WithRuntime(name string, options interface{}) NewContainerOpts { - return func(ctx context.Context, client *Client, c *containers.Container) error { - var ( -- any *types.Any -+ any typeurl.Any - err error - ) - if options != nil { -@@ -288,9 +288,9 @@ func WithContainerExtension(name string, extension interface{}) NewContainerOpts - } - - if c.Extensions == nil { -- c.Extensions = make(map[string]types.Any) -+ c.Extensions = make(map[string]typeurl.Any) - } -- c.Extensions[name] = *any -+ c.Extensions[name] = any - return nil - } - } -@@ -315,7 +315,7 @@ func WithSpec(s *oci.Spec, opts ...oci.SpecOpts) NewContainerOpts { - } - - var err error -- c.Spec, err = typeurl.MarshalAny(s) -+ c.Spec, err = protobuf.MarshalAnyToProto(s) - return err - } - } -diff --git a/containers/containers.go b/containers/containers.go -index 7174bbd6aa6f..275f8069ea12 100644 ---- a/containers/containers.go -+++ b/containers/containers.go -@@ -20,7 +20,7 @@ import ( - "context" - "time" - -- "github.com/gogo/protobuf/types" -+ "github.com/containerd/typeurl" - ) - - // Container represents the set of data pinned by a container. Unless otherwise -@@ -53,7 +53,7 @@ type Container struct { - // container. - // - // This field is required but mutable. -- Spec *types.Any -+ Spec typeurl.Any - - // SnapshotKey specifies the snapshot key to use for the container's root - // filesystem. When starting a task from this container, a caller should -@@ -75,13 +75,13 @@ type Container struct { - UpdatedAt time.Time - - // Extensions stores client-specified metadata -- Extensions map[string]types.Any -+ Extensions map[string]typeurl.Any - } - - // RuntimeInfo holds runtime specific information - type RuntimeInfo struct { - Name string -- Options *types.Any -+ Options typeurl.Any - } - - // Store interacts with the underlying container storage -diff --git a/containerstore.go b/containerstore.go -index bdd1c6066a79..2a154e26590d 100644 ---- a/containerstore.go -+++ b/containerstore.go -@@ -24,6 +24,8 @@ import ( - containersapi "github.com/containerd/containerd/api/services/containers/v1" - "github.com/containerd/containerd/containers" - "github.com/containerd/containerd/errdefs" -+ "github.com/containerd/containerd/protobuf" -+ "github.com/containerd/typeurl" - ptypes "github.com/gogo/protobuf/types" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" -@@ -148,18 +150,22 @@ func (r *remoteContainers) Delete(ctx context.Context, id string) error { - } - - func containerToProto(container *containers.Container) containersapi.Container { -+ extensions := make(map[string]ptypes.Any) -+ for k, v := range container.Extensions { -+ extensions[k] = *protobuf.FromAny(v) -+ } - return containersapi.Container{ - ID: container.ID, - Labels: container.Labels, - Image: container.Image, - Runtime: &containersapi.Container_Runtime{ - Name: container.Runtime.Name, -- Options: container.Runtime.Options, -+ Options: protobuf.FromAny(container.Runtime.Options), - }, -- Spec: container.Spec, -+ Spec: protobuf.FromAny(container.Spec), - Snapshotter: container.Snapshotter, - SnapshotKey: container.SnapshotKey, -- Extensions: container.Extensions, -+ Extensions: extensions, - } - } - -@@ -171,6 +177,11 @@ func containerFromProto(containerpb *containersapi.Container) containers.Contain - Options: containerpb.Runtime.Options, - } - } -+ extensions := make(map[string]typeurl.Any) -+ for k, v := range containerpb.Extensions { -+ v := v -+ extensions[k] = &v -+ } - return containers.Container{ - ID: containerpb.ID, - Labels: containerpb.Labels, -@@ -181,7 +192,7 @@ func containerFromProto(containerpb *containersapi.Container) containers.Contain - SnapshotKey: containerpb.SnapshotKey, - CreatedAt: containerpb.CreatedAt, - UpdatedAt: containerpb.UpdatedAt, -- Extensions: containerpb.Extensions, -+ Extensions: extensions, - } - } - -diff --git a/events.go b/events.go -index 3577b7c3a9fc..d6499ad3b3a8 100644 ---- a/events.go -+++ b/events.go -@@ -22,6 +22,7 @@ import ( - eventsapi "github.com/containerd/containerd/api/services/events/v1" - "github.com/containerd/containerd/errdefs" - "github.com/containerd/containerd/events" -+ "github.com/containerd/containerd/protobuf" - "github.com/containerd/typeurl" - ) - -@@ -51,7 +52,7 @@ func (e *eventRemote) Publish(ctx context.Context, topic string, event events.Ev - } - req := &eventsapi.PublishRequest{ - Topic: topic, -- Event: any, -+ Event: protobuf.FromAny(any), - } - if _, err := e.client.Publish(ctx, req); err != nil { - return errdefs.FromGRPC(err) -@@ -65,7 +66,7 @@ func (e *eventRemote) Forward(ctx context.Context, envelope *events.Envelope) er - Timestamp: envelope.Timestamp, - Namespace: envelope.Namespace, - Topic: envelope.Topic, -- Event: envelope.Event, -+ Event: protobuf.FromAny(envelope.Event), - }, - } - if _, err := e.client.Forward(ctx, req); err != nil { -diff --git a/events/events.go b/events/events.go -index b7eb86f1eb65..8af0ec03a483 100644 ---- a/events/events.go -+++ b/events/events.go -@@ -21,7 +21,6 @@ import ( - "time" - - "github.com/containerd/typeurl" -- "github.com/gogo/protobuf/types" - ) - - // Envelope provides the packaging for an event. -@@ -29,7 +28,7 @@ type Envelope struct { - Timestamp time.Time - Namespace string - Topic string -- Event *types.Any -+ Event typeurl.Any - } - - // Field returns the value for the given fieldpath as a string, if defined. -diff --git a/events/exchange/exchange.go b/events/exchange/exchange.go -index a1f385d7abd3..7f085dc91774 100644 ---- a/events/exchange/exchange.go -+++ b/events/exchange/exchange.go -@@ -30,7 +30,6 @@ import ( - "github.com/containerd/containerd/namespaces" - "github.com/containerd/typeurl" - goevents "github.com/docker/go-events" -- "github.com/gogo/protobuf/types" - "github.com/sirupsen/logrus" - ) - -@@ -63,7 +62,7 @@ func (e *Exchange) Forward(ctx context.Context, envelope *events.Envelope) (err - logger := log.G(ctx).WithFields(logrus.Fields{ - "topic": envelope.Topic, - "ns": envelope.Namespace, -- "type": envelope.Event.TypeUrl, -+ "type": envelope.Event.GetTypeUrl(), - }) - - if err != nil { -@@ -82,7 +81,6 @@ func (e *Exchange) Forward(ctx context.Context, envelope *events.Envelope) (err - func (e *Exchange) Publish(ctx context.Context, topic string, event events.Event) (err error) { - var ( - namespace string -- encoded *types.Any - envelope events.Envelope - ) - -@@ -94,7 +92,7 @@ func (e *Exchange) Publish(ctx context.Context, topic string, event events.Event - return fmt.Errorf("envelope topic %q: %w", topic, err) - } - -- encoded, err = typeurl.MarshalAny(event) -+ encoded, err := typeurl.MarshalAny(event) - if err != nil { - return err - } -@@ -108,7 +106,7 @@ func (e *Exchange) Publish(ctx context.Context, topic string, event events.Event - logger := log.G(ctx).WithFields(logrus.Fields{ - "topic": envelope.Topic, - "ns": envelope.Namespace, -- "type": envelope.Event.TypeUrl, -+ "type": envelope.Event.GetTypeUrl(), - }) - - if err != nil { -diff --git a/go.mod b/go.mod -index 26b0ae08bcc9..fc5ebe10e783 100644 ---- a/go.mod -+++ b/go.mod -@@ -17,7 +17,7 @@ require ( - github.com/containerd/imgcrypt v1.1.4 - github.com/containerd/nri v0.1.0 - github.com/containerd/ttrpc v1.1.2 -- github.com/containerd/typeurl v1.0.2 -+ github.com/containerd/typeurl v1.0.3-0.20220324183432-6193a0e03259 - github.com/containerd/zfs v1.1.0 - github.com/containernetworking/cni v1.1.1 - github.com/containernetworking/plugins v1.1.1 -diff --git a/go.sum b/go.sum -index 7f42e83a3b68..0bf0cb6c63e1 100644 ---- a/go.sum -+++ b/go.sum -@@ -260,8 +260,9 @@ github.com/containerd/ttrpc v1.1.2/go.mod h1:XX4ZTnoOId4HklF4edwc4DcqskFZuvXB1Ev - github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc= - github.com/containerd/typeurl v0.0.0-20190911142611-5eb25027c9fd/go.mod h1:GeKYzf2pQcqv7tJ0AoCuuhtnqhva5LNU3U+OyKxxJpk= - github.com/containerd/typeurl v1.0.1/go.mod h1:TB1hUtrpaiO88KEK56ijojHS1+NeF0izUACaJW2mdXg= --github.com/containerd/typeurl v1.0.2 h1:Chlt8zIieDbzQFzXzAeBEF92KhExuE4p9p92/QmY7aY= - github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= -+github.com/containerd/typeurl v1.0.3-0.20220324183432-6193a0e03259 h1:bJv9qgjarrsdd4XIIczeRdYXON88Fgn3GdXVfnQjcSo= -+github.com/containerd/typeurl v1.0.3-0.20220324183432-6193a0e03259/go.mod h1:HDkcKOXRnX6yKnXv3P0QrogFi0DoiauK/LpQi961f0A= - github.com/containerd/zfs v0.0.0-20200918131355-0a33824f23a2/go.mod h1:8IgZOBdv8fAgXddBT4dBXJPtxyRsejFIpXoklgxgEjw= - github.com/containerd/zfs v0.0.0-20210301145711-11e8f1707f62/go.mod h1:A9zfAbMlQwE+/is6hi0Xw8ktpL+6glmqZYtevJgaB8Y= - github.com/containerd/zfs v0.0.0-20210315114300-dde8f0fda960/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= -diff --git a/integration/client/container_test.go b/integration/client/container_test.go -index 53cffb6874d1..cdf3c1fd0296 100644 ---- a/integration/client/container_test.go -+++ b/integration/client/container_test.go -@@ -1570,11 +1570,11 @@ func TestContainerExtensions(t *testing.T) { - if len(cExts) != 1 { - t.Errorf("expected 1 container extension") - } -- if cExts["hello"].TypeUrl != ext.TypeUrl { -- t.Errorf("got unexpected type url for extension: %s", cExts["hello"].TypeUrl) -+ if actual := cExts["hello"].GetTypeUrl(); actual != ext.TypeUrl { -+ t.Errorf("got unexpected type url for extension: %s", actual) - } -- if !bytes.Equal(cExts["hello"].Value, ext.Value) { -- t.Errorf("expected extension value %q, got: %q", ext.Value, cExts["hello"].Value) -+ if actual := cExts["hello"].GetValue(); !bytes.Equal(actual, ext.Value) { -+ t.Errorf("expected extension value %q, got: %q", ext.Value, actual) - } - } - -diff --git a/integration/client/go.mod b/integration/client/go.mod -index f5defa51018c..fcbbdee846ee 100644 ---- a/integration/client/go.mod -+++ b/integration/client/go.mod -@@ -11,7 +11,7 @@ require ( - github.com/containerd/continuity v0.3.0 - github.com/containerd/go-runc v1.0.0 - github.com/containerd/ttrpc v1.1.2 -- github.com/containerd/typeurl v1.0.2 -+ github.com/containerd/typeurl v1.0.3-0.20220324183432-6193a0e03259 - github.com/gogo/protobuf v1.3.2 - github.com/opencontainers/go-digest v1.0.0 - github.com/opencontainers/image-spec v1.1.0-rc2.0.20221005185240-3a7f492d3f1b -diff --git a/integration/client/go.sum b/integration/client/go.sum -index 5e37298cff45..8c3099b3f5f6 100644 ---- a/integration/client/go.sum -+++ b/integration/client/go.sum -@@ -148,8 +148,9 @@ github.com/containerd/ttrpc v1.1.0/go.mod h1:XX4ZTnoOId4HklF4edwc4DcqskFZuvXB1Ev - github.com/containerd/ttrpc v1.1.2 h1:4jH6OQDQqjfVD2b5TJS5TxmGuLGmp5WW7KtW2TWOP7c= - github.com/containerd/ttrpc v1.1.2/go.mod h1:XX4ZTnoOId4HklF4edwc4DcqskFZuvXB1Evzy5KFQpQ= - github.com/containerd/typeurl v1.0.1/go.mod h1:TB1hUtrpaiO88KEK56ijojHS1+NeF0izUACaJW2mdXg= --github.com/containerd/typeurl v1.0.2 h1:Chlt8zIieDbzQFzXzAeBEF92KhExuE4p9p92/QmY7aY= - github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= -+github.com/containerd/typeurl v1.0.3-0.20220324183432-6193a0e03259 h1:bJv9qgjarrsdd4XIIczeRdYXON88Fgn3GdXVfnQjcSo= -+github.com/containerd/typeurl v1.0.3-0.20220324183432-6193a0e03259/go.mod h1:HDkcKOXRnX6yKnXv3P0QrogFi0DoiauK/LpQi961f0A= - github.com/containerd/zfs v1.1.0/go.mod h1:oZF9wBnrnQjpWLaPKEinrx3TQ9a+W/RJO7Zb41d8YLE= - github.com/containernetworking/cni v1.0.1/go.mod h1:AKuhXbN5EzmD4yTNtfSsX3tPcmtrBI6QcRV0NiNt15Y= - github.com/containernetworking/cni v1.1.1/go.mod h1:sDpYKmGVENF3s6uvMvGgldDWeG8dMxakj/u+i9ht9vw= -diff --git a/metadata/boltutil/helpers.go b/metadata/boltutil/helpers.go -index 4201d7ba9ee1..2b2b0ad1e523 100644 ---- a/metadata/boltutil/helpers.go -+++ b/metadata/boltutil/helpers.go -@@ -20,6 +20,8 @@ import ( - "fmt" - "time" - -+ "github.com/containerd/containerd/protobuf" -+ "github.com/containerd/typeurl" - "github.com/gogo/protobuf/proto" - "github.com/gogo/protobuf/types" - bolt "go.etcd.io/bbolt" -@@ -151,7 +153,7 @@ func WriteTimestamps(bkt *bolt.Bucket, created, updated time.Time) error { - - // WriteExtensions will write a KV map to the given bucket, - // where `K` is a string key and `V` is a protobuf's Any type that represents a generic extension. --func WriteExtensions(bkt *bolt.Bucket, extensions map[string]types.Any) error { -+func WriteExtensions(bkt *bolt.Bucket, extensions map[string]typeurl.Any) error { - if len(extensions) == 0 { - return nil - } -@@ -162,8 +164,8 @@ func WriteExtensions(bkt *bolt.Bucket, extensions map[string]types.Any) error { - } - - for name, ext := range extensions { -- ext := ext -- p, err := proto.Marshal(&ext) -+ ext := protobuf.FromAny(ext) -+ p, err := proto.Marshal(ext) - if err != nil { - return err - } -@@ -177,9 +179,9 @@ func WriteExtensions(bkt *bolt.Bucket, extensions map[string]types.Any) error { - } - - // ReadExtensions will read back a map of extensions from the given bucket, previously written by WriteExtensions --func ReadExtensions(bkt *bolt.Bucket) (map[string]types.Any, error) { -+func ReadExtensions(bkt *bolt.Bucket) (map[string]typeurl.Any, error) { - var ( -- extensions = make(map[string]types.Any) -+ extensions = make(map[string]typeurl.Any) - ebkt = bkt.Bucket(bucketKeyExtensions) - ) - -@@ -193,7 +195,7 @@ func ReadExtensions(bkt *bolt.Bucket) (map[string]types.Any, error) { - return err - } - -- extensions[string(k)] = t -+ extensions[string(k)] = &t - return nil - }); err != nil { - return nil, err -@@ -203,12 +205,13 @@ func ReadExtensions(bkt *bolt.Bucket) (map[string]types.Any, error) { - } - - // WriteAny write a protobuf's Any type to the bucket --func WriteAny(bkt *bolt.Bucket, name []byte, any *types.Any) error { -- if any == nil { -+func WriteAny(bkt *bolt.Bucket, name []byte, any typeurl.Any) error { -+ pbany := protobuf.FromAny(any) -+ if pbany == nil { - return nil - } - -- data, err := proto.Marshal(any) -+ data, err := proto.Marshal(pbany) - if err != nil { - return err - } -diff --git a/metadata/containers.go b/metadata/containers.go -index 97002e5886e1..b27dc0f87208 100644 ---- a/metadata/containers.go -+++ b/metadata/containers.go -@@ -30,6 +30,7 @@ import ( - "github.com/containerd/containerd/labels" - "github.com/containerd/containerd/metadata/boltutil" - "github.com/containerd/containerd/namespaces" -+ "github.com/containerd/typeurl" - "github.com/gogo/protobuf/proto" - "github.com/gogo/protobuf/types" - bolt "go.etcd.io/bbolt" -@@ -211,7 +212,7 @@ func (s *containerStore) Update(ctx context.Context, container containers.Contai - - if strings.HasPrefix(path, "extensions.") { - if updated.Extensions == nil { -- updated.Extensions = map[string]types.Any{} -+ updated.Extensions = map[string]typeurl.Any{} - } - key := strings.TrimPrefix(path, "extensions.") - updated.Extensions[key] = container.Extensions[key] -diff --git a/metadata/containers_test.go b/metadata/containers_test.go -index b45d54cf5234..409bd8478763 100644 ---- a/metadata/containers_test.go -+++ b/metadata/containers_test.go -@@ -31,10 +31,13 @@ import ( - "github.com/containerd/containerd/filters" - "github.com/containerd/containerd/log/logtest" - "github.com/containerd/containerd/namespaces" -+ "github.com/containerd/containerd/protobuf" - "github.com/containerd/typeurl" - "github.com/gogo/protobuf/types" -+ "github.com/google/go-cmp/cmp" - specs "github.com/opencontainers/runtime-spec/specs-go" - bolt "go.etcd.io/bbolt" -+ "gotest.tools/v3/assert" - ) - - func init() { -@@ -48,7 +51,7 @@ func TestContainersList(t *testing.T) { - store := NewContainerStore(NewDB(db, nil, nil)) - - spec := &specs.Spec{} -- encoded, err := typeurl.MarshalAny(spec) -+ encoded, err := protobuf.MarshalAnyToProto(spec) - if err != nil { - t.Fatal(err) - } -@@ -180,13 +183,13 @@ func TestContainersCreateUpdateDelete(t *testing.T) { - store := NewContainerStore(NewDB(db, nil, nil)) - - spec := &specs.Spec{} -- encoded, err := typeurl.MarshalAny(spec) -+ encoded, err := protobuf.MarshalAnyToProto(spec) - if err != nil { - t.Fatal(err) - } - - spec.Annotations = map[string]string{"updated": "true"} -- encodedUpdated, err := typeurl.MarshalAny(spec) -+ encodedUpdated, err := protobuf.MarshalAnyToProto(spec) - if err != nil { - t.Fatal(err) - } -@@ -468,8 +471,8 @@ func TestContainersCreateUpdateDelete(t *testing.T) { - Runtime: containers.RuntimeInfo{ - Name: "testruntime", - }, -- Extensions: map[string]types.Any{ -- "hello": { -+ Extensions: map[string]typeurl.Any{ -+ "hello": &types.Any{ - TypeUrl: "test.update.extensions", - Value: []byte("hello"), - }, -@@ -480,8 +483,8 @@ func TestContainersCreateUpdateDelete(t *testing.T) { - Runtime: containers.RuntimeInfo{ - Name: "testruntime", - }, -- Extensions: map[string]types.Any{ -- "hello": { -+ Extensions: map[string]typeurl.Any{ -+ "hello": &types.Any{ - TypeUrl: "test.update.extensions", - Value: []byte("world"), - }, -@@ -492,8 +495,8 @@ func TestContainersCreateUpdateDelete(t *testing.T) { - Runtime: containers.RuntimeInfo{ - Name: "testruntime", - }, -- Extensions: map[string]types.Any{ -- "hello": { -+ Extensions: map[string]typeurl.Any{ -+ "hello": &types.Any{ - TypeUrl: "test.update.extensions", - Value: []byte("world"), - }, -@@ -507,8 +510,8 @@ func TestContainersCreateUpdateDelete(t *testing.T) { - Runtime: containers.RuntimeInfo{ - Name: "testruntime", - }, -- Extensions: map[string]types.Any{ -- "hello": { -+ Extensions: map[string]typeurl.Any{ -+ "hello": &types.Any{ - TypeUrl: "test.update.extensions", - Value: []byte("hello"), - }, -@@ -519,8 +522,8 @@ func TestContainersCreateUpdateDelete(t *testing.T) { - Runtime: containers.RuntimeInfo{ - Name: "testruntime", - }, -- Extensions: map[string]types.Any{ -- "hello": { -+ Extensions: map[string]typeurl.Any{ -+ "hello": &types.Any{ - TypeUrl: "test.update.extensions", - Value: []byte("world"), - }, -@@ -532,8 +535,8 @@ func TestContainersCreateUpdateDelete(t *testing.T) { - Runtime: containers.RuntimeInfo{ - Name: "testruntime", - }, -- Extensions: map[string]types.Any{ -- "hello": { -+ Extensions: map[string]typeurl.Any{ -+ "hello": &types.Any{ - TypeUrl: "test.update.extensions", - Value: []byte("hello"), - }, -@@ -547,8 +550,8 @@ func TestContainersCreateUpdateDelete(t *testing.T) { - Runtime: containers.RuntimeInfo{ - Name: "testruntime", - }, -- Extensions: map[string]types.Any{ -- "hello": { -+ Extensions: map[string]typeurl.Any{ -+ "hello": &types.Any{ - TypeUrl: "test.update.extensions", - Value: []byte("hello"), - }, -@@ -558,8 +561,8 @@ func TestContainersCreateUpdateDelete(t *testing.T) { - Labels: map[string]string{ - "foo": "one", - }, -- Extensions: map[string]types.Any{ -- "hello": { -+ Extensions: map[string]typeurl.Any{ -+ "hello": &types.Any{ - TypeUrl: "test.update.extensions", - Value: []byte("world"), - }, -@@ -571,8 +574,8 @@ func TestContainersCreateUpdateDelete(t *testing.T) { - Runtime: containers.RuntimeInfo{ - Name: "testruntime", - }, -- Extensions: map[string]types.Any{ -- "hello": { -+ Extensions: map[string]typeurl.Any{ -+ "hello": &types.Any{ - TypeUrl: "test.update.extensions", - Value: []byte("world"), - }, -@@ -586,21 +589,21 @@ func TestContainersCreateUpdateDelete(t *testing.T) { - Runtime: containers.RuntimeInfo{ - Name: "testruntime", - }, -- Extensions: map[string]types.Any{ -+ Extensions: map[string]typeurl.Any{ - // leaves hello in place. -- "hello": { -+ "hello": &types.Any{ - TypeUrl: "test.update.extensions", - Value: []byte("hello"), - }, - }, - }, - input: containers.Container{ -- Extensions: map[string]types.Any{ -- "hello": { -+ Extensions: map[string]typeurl.Any{ -+ "hello": &types.Any{ - TypeUrl: "test.update.extensions", - Value: []byte("universe"), // this will be ignored - }, -- "bar": { -+ "bar": &types.Any{ - TypeUrl: "test.update.extensions", - Value: []byte("foo"), // this will be added - }, -@@ -612,12 +615,12 @@ func TestContainersCreateUpdateDelete(t *testing.T) { - Runtime: containers.RuntimeInfo{ - Name: "testruntime", - }, -- Extensions: map[string]types.Any{ -- "hello": { -+ Extensions: map[string]typeurl.Any{ -+ "hello": &types.Any{ - TypeUrl: "test.update.extensions", - Value: []byte("hello"), // remains as world - }, -- "bar": { -+ "bar": &types.Any{ - TypeUrl: "test.update.extensions", - Value: []byte("foo"), // this will be added - }, -@@ -708,10 +711,26 @@ func checkContainerTimestamps(t *testing.T, c *containers.Container, now time.Ti - } - } - --func checkContainersEqual(t *testing.T, a, b *containers.Container, format string, args ...interface{}) { -- if !reflect.DeepEqual(a, b) { -- t.Fatalf("containers not equal \n\t%v != \n\t%v: "+format, append([]interface{}{a, b}, args...)...) -+// isNil returns true if the given parameter is nil or typed nil. -+func isNil(x interface{}) bool { -+ if x == nil { -+ return true - } -+ v := reflect.ValueOf(x) -+ return v.Kind() == reflect.Ptr && v.IsNil() -+} -+ -+func checkContainersEqual(t *testing.T, a, b *containers.Container, format string, args ...interface{}) { -+ // Ignore the difference of nil and typed nil. -+ opt := cmp.FilterValues( -+ func(x, y interface{}) bool { -+ return isNil(x) && isNil(y) -+ }, -+ cmp.Comparer(func(_, _ interface{}) bool { -+ return true -+ }), -+ ) -+ assert.DeepEqual(t, a, b, opt) - } - - func testEnv(t *testing.T) (context.Context, *bolt.DB, func()) { -diff --git a/metrics/cgroups/metrics_test.go b/metrics/cgroups/metrics_test.go -index c71ea60a523a..c362ea3b9d65 100644 ---- a/metrics/cgroups/metrics_test.go -+++ b/metrics/cgroups/metrics_test.go -@@ -32,7 +32,7 @@ import ( - v2 "github.com/containerd/containerd/metrics/cgroups/v2" - v1types "github.com/containerd/containerd/metrics/types/v1" - v2types "github.com/containerd/containerd/metrics/types/v2" -- "github.com/containerd/typeurl" -+ "github.com/containerd/containerd/protobuf" - "github.com/prometheus/client_golang/prometheus" - - metrics "github.com/docker/go-metrics" -@@ -152,7 +152,7 @@ func (t *mockStatT) Namespace() string { - - func (t *mockStatT) Stats(context.Context) (*types.Any, error) { - if t.isV1 { -- return typeurl.MarshalAny(&v1types.Metrics{}) -+ return protobuf.MarshalAnyToProto(&v1types.Metrics{}) - } -- return typeurl.MarshalAny(&v2types.Metrics{}) -+ return protobuf.MarshalAnyToProto(&v2types.Metrics{}) - } -diff --git a/pkg/cri/server/events.go b/pkg/cri/server/events.go -index c8ffdadbfd21..fbecb29a049a 100644 ---- a/pkg/cri/server/events.go -+++ b/pkg/cri/server/events.go -@@ -32,7 +32,6 @@ import ( - sandboxstore "github.com/containerd/containerd/pkg/cri/store/sandbox" - ctrdutil "github.com/containerd/containerd/pkg/cri/util" - "github.com/containerd/typeurl" -- gogotypes "github.com/gogo/protobuf/types" - "github.com/sirupsen/logrus" - "golang.org/x/net/context" - "k8s.io/utils/clock" -@@ -207,7 +206,7 @@ func (em *eventMonitor) startContainerExitMonitor(ctx context.Context, id string - return stopCh - } - --func convertEvent(e *gogotypes.Any) (string, interface{}, error) { -+func convertEvent(e typeurl.Any) (string, interface{}, error) { - id := "" - evt, err := typeurl.UnmarshalAny(e) - if err != nil { -diff --git a/pkg/cri/server/helpers.go b/pkg/cri/server/helpers.go -index 4ee0ae8ffc12..8937739540a5 100644 ---- a/pkg/cri/server/helpers.go -+++ b/pkg/cri/server/helpers.go -@@ -371,10 +371,11 @@ func getRuntimeOptionsType(t string) interface{} { - - // getRuntimeOptions get runtime options from container metadata. - func getRuntimeOptions(c containers.Container) (interface{}, error) { -- if c.Runtime.Options == nil { -+ from := c.Runtime.Options -+ if from == nil || from.GetValue() == nil { - return nil, nil - } -- opts, err := typeurl.UnmarshalAny(c.Runtime.Options) -+ opts, err := typeurl.UnmarshalAny(from) - if err != nil { - return nil, err - } -diff --git a/pkg/cri/server/helpers_test.go b/pkg/cri/server/helpers_test.go -index f73e174dcc47..8fa9af8c1767 100644 ---- a/pkg/cri/server/helpers_test.go -+++ b/pkg/cri/server/helpers_test.go -@@ -23,6 +23,7 @@ import ( - "testing" - "time" - -+ "github.com/containerd/containerd/containers" - "github.com/containerd/containerd/errdefs" - "github.com/containerd/containerd/oci" - criconfig "github.com/containerd/containerd/pkg/cri/config" -@@ -32,6 +33,8 @@ import ( - "github.com/containerd/containerd/reference/docker" - "github.com/containerd/containerd/runtime/linux/runctypes" - runcoptions "github.com/containerd/containerd/runtime/v2/runc/options" -+ "github.com/containerd/typeurl" -+ "github.com/gogo/protobuf/types" - - imagedigest "github.com/opencontainers/go-digest" - runtimespec "github.com/opencontainers/runtime-spec/specs-go" -@@ -599,3 +602,13 @@ func TestValidateTargetContainer(t *testing.T) { - } - - } -+ -+func TestGetRuntimeOptions(t *testing.T) { -+ _, err := getRuntimeOptions(containers.Container{}) -+ require.NoError(t, err) -+ -+ var pbany *types.Any // This is nil. -+ var typeurlAny typeurl.Any = pbany // This is typed nil. -+ _, err = getRuntimeOptions(containers.Container{Runtime: containers.RuntimeInfo{Options: typeurlAny}}) -+ require.NoError(t, err) -+} -diff --git a/pkg/cri/server/restart.go b/pkg/cri/server/restart.go -index f5f3e5083e2c..f7db3f7b3064 100644 ---- a/pkg/cri/server/restart.go -+++ b/pkg/cri/server/restart.go -@@ -166,7 +166,7 @@ func (c *criService) loadContainer(ctx context.Context, cntr containerd.Containe - if !ok { - return container, fmt.Errorf("metadata extension %q not found", containerMetadataExtension) - } -- data, err := typeurl.UnmarshalAny(&ext) -+ data, err := typeurl.UnmarshalAny(ext) - if err != nil { - return container, fmt.Errorf("failed to unmarshal metadata extension %q: %w", ext, err) - } -@@ -335,7 +335,7 @@ func (c *criService) loadSandbox(ctx context.Context, cntr containerd.Container) - if !ok { - return sandbox, fmt.Errorf("metadata extension %q not found", sandboxMetadataExtension) - } -- data, err := typeurl.UnmarshalAny(&ext) -+ data, err := typeurl.UnmarshalAny(ext) - if err != nil { - return sandbox, fmt.Errorf("failed to unmarshal metadata extension %q: %w", ext, err) - } -diff --git a/protobuf/any.go b/protobuf/any.go -new file mode 100644 -index 000000000000..0f667176502e ---- /dev/null -+++ b/protobuf/any.go -@@ -0,0 +1,47 @@ -+/* -+ Copyright The containerd Authors. -+ -+ Licensed under the Apache License, Version 2.0 (the "License"); -+ you may not use this file except in compliance with the License. -+ You may obtain a copy of the License at -+ -+ http://www.apache.org/licenses/LICENSE-2.0 -+ -+ Unless required by applicable law or agreed to in writing, software -+ distributed under the License is distributed on an "AS IS" BASIS, -+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+ See the License for the specific language governing permissions and -+ limitations under the License. -+*/ -+ -+package protobuf -+ -+import ( -+ "github.com/containerd/typeurl" -+ "github.com/gogo/protobuf/types" -+) -+ -+// FromAny converts typeurl.Any to github.com/gogo/protobuf/types.Any. -+func FromAny(from typeurl.Any) *types.Any { -+ if from == nil { -+ return nil -+ } -+ -+ if pbany, ok := from.(*types.Any); ok { -+ return pbany -+ } -+ -+ return &types.Any{ -+ TypeUrl: from.GetTypeUrl(), -+ Value: from.GetValue(), -+ } -+} -+ -+// FromAny converts an arbitrary interface to github.com/gogo/protobuf/types.Any. -+func MarshalAnyToProto(from interface{}) (*types.Any, error) { -+ any, err := typeurl.MarshalAny(from) -+ if err != nil { -+ return nil, err -+ } -+ return FromAny(any), nil -+} -diff --git a/protobuf/any_test.go b/protobuf/any_test.go -new file mode 100644 -index 000000000000..7a74ec16c28b ---- /dev/null -+++ b/protobuf/any_test.go -@@ -0,0 +1,26 @@ -+/* -+ Copyright The containerd Authors. -+ -+ Licensed under the Apache License, Version 2.0 (the "License"); -+ you may not use this file except in compliance with the License. -+ You may obtain a copy of the License at -+ -+ http://www.apache.org/licenses/LICENSE-2.0 -+ -+ Unless required by applicable law or agreed to in writing, software -+ distributed under the License is distributed on an "AS IS" BASIS, -+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+ See the License for the specific language governing permissions and -+ limitations under the License. -+*/ -+ -+package protobuf -+ -+import "testing" -+ -+func TestFromAny(t *testing.T) { -+ actual := FromAny(nil) -+ if actual != nil { -+ t.Fatalf("expected nil, got %v", actual) -+ } -+} -diff --git a/runtime/runtime.go b/runtime/runtime.go -index 84aaa8ac67f5..1ca22ee2bccc 100644 ---- a/runtime/runtime.go -+++ b/runtime/runtime.go -@@ -21,7 +21,7 @@ import ( - "time" - - "github.com/containerd/containerd/mount" -- "github.com/gogo/protobuf/types" -+ "github.com/containerd/typeurl" - ) - - // IO holds process IO information -@@ -35,7 +35,7 @@ type IO struct { - // CreateOpts contains task creation data - type CreateOpts struct { - // Spec is the OCI runtime spec -- Spec *types.Any -+ Spec typeurl.Any - // Rootfs mounts to perform to gain access to the container's filesystem - Rootfs []mount.Mount - // IO for the container's main process -@@ -43,9 +43,9 @@ type CreateOpts struct { - // Checkpoint digest to restore container state - Checkpoint string - // RuntimeOptions for the runtime -- RuntimeOptions *types.Any -+ RuntimeOptions typeurl.Any - // TaskOptions received for the task -- TaskOptions *types.Any -+ TaskOptions typeurl.Any - // Runtime name to use (e.g. `io.containerd.NAME.VERSION`). - // As an alternative full abs path to binary may be specified instead. - Runtime string -diff --git a/runtime/v1/linux/runtime.go b/runtime/v1/linux/runtime.go -index b6d53820a859..ad7a0b67ec0b 100644 ---- a/runtime/v1/linux/runtime.go -+++ b/runtime/v1/linux/runtime.go -@@ -41,6 +41,7 @@ import ( - "github.com/containerd/containerd/pkg/process" - "github.com/containerd/containerd/platforms" - "github.com/containerd/containerd/plugin" -+ "github.com/containerd/containerd/protobuf" - "github.com/containerd/containerd/runtime" - "github.com/containerd/containerd/runtime/linux/runctypes" - v1 "github.com/containerd/containerd/runtime/v1" -@@ -178,7 +179,7 @@ func (r *Runtime) Create(ctx context.Context, id string, opts runtime.CreateOpts - bundle, err := newBundle(id, - filepath.Join(r.state, namespace), - filepath.Join(r.root, namespace), -- opts.Spec.Value) -+ opts.Spec.GetValue()) - if err != nil { - return nil, err - } -@@ -191,7 +192,7 @@ func (r *Runtime) Create(ctx context.Context, id string, opts runtime.CreateOpts - shimopt := ShimLocal(r.config, r.events) - if !r.config.NoShim { - var cgroup string -- if opts.TaskOptions != nil { -+ if opts.TaskOptions != nil && opts.TaskOptions.GetValue() != nil { - v, err := typeurl.UnmarshalAny(opts.TaskOptions) - if err != nil { - return nil, err -@@ -244,7 +245,7 @@ func (r *Runtime) Create(ctx context.Context, id string, opts runtime.CreateOpts - Stderr: opts.IO.Stderr, - Terminal: opts.IO.Terminal, - Checkpoint: opts.Checkpoint, -- Options: opts.TaskOptions, -+ Options: protobuf.FromAny(opts.TaskOptions), - } - for _, m := range opts.Rootfs { - sopts.Rootfs = append(sopts.Rootfs, &types.Mount{ -@@ -537,7 +538,7 @@ func (r *Runtime) getRuncOptions(ctx context.Context, id string) (*runctypes.Run - return nil, err - } - -- if container.Runtime.Options != nil { -+ if container.Runtime.Options != nil && container.Runtime.Options.GetValue() != nil { - v, err := typeurl.UnmarshalAny(container.Runtime.Options) - if err != nil { - return nil, err -diff --git a/runtime/v1/linux/task.go b/runtime/v1/linux/task.go -index 3ac7839ff02b..44c89e5c27c2 100644 ---- a/runtime/v1/linux/task.go -+++ b/runtime/v1/linux/task.go -@@ -32,11 +32,11 @@ import ( - "github.com/containerd/containerd/events/exchange" - "github.com/containerd/containerd/identifiers" - "github.com/containerd/containerd/log" -+ "github.com/containerd/containerd/protobuf" - "github.com/containerd/containerd/runtime" - "github.com/containerd/containerd/runtime/v1/shim/client" - "github.com/containerd/containerd/runtime/v1/shim/v1" - "github.com/containerd/ttrpc" -- "github.com/containerd/typeurl" - "github.com/gogo/protobuf/types" - ) - -@@ -340,7 +340,7 @@ func (t *Task) Stats(ctx context.Context) (*types.Any, error) { - if err != nil { - return nil, err - } -- return typeurl.MarshalAny(stats) -+ return protobuf.MarshalAnyToProto(stats) - } - - // Cgroup returns the underlying cgroup for a linux task -diff --git a/runtime/v1/shim/service.go b/runtime/v1/shim/service.go -index a08757d0a7b9..926134821d38 100644 ---- a/runtime/v1/shim/service.go -+++ b/runtime/v1/shim/service.go -@@ -37,6 +37,7 @@ import ( - "github.com/containerd/containerd/namespaces" - "github.com/containerd/containerd/pkg/process" - "github.com/containerd/containerd/pkg/stdio" -+ "github.com/containerd/containerd/protobuf" - "github.com/containerd/containerd/runtime" - "github.com/containerd/containerd/runtime/linux/runctypes" - shimapi "github.com/containerd/containerd/runtime/v1/shim/v1" -@@ -412,7 +413,7 @@ func (s *Service) ListPids(ctx context.Context, r *shimapi.ListPidsRequest) (*sh - if err != nil { - return nil, fmt.Errorf("failed to marshal process %d info: %w", pid, err) - } -- pInfo.Info = a -+ pInfo.Info = protobuf.FromAny(a) - break - } - } -diff --git a/runtime/v2/manager.go b/runtime/v2/manager.go -index 1927cbb3f0c3..505d5d896995 100644 ---- a/runtime/v2/manager.go -+++ b/runtime/v2/manager.go -@@ -33,6 +33,7 @@ import ( - "github.com/containerd/containerd/pkg/timeout" - "github.com/containerd/containerd/platforms" - "github.com/containerd/containerd/plugin" -+ "github.com/containerd/containerd/protobuf" - "github.com/containerd/containerd/runtime" - shimbinary "github.com/containerd/containerd/runtime/v2/shim" - "github.com/containerd/containerd/runtime/v2/task" -@@ -156,7 +157,7 @@ func (m *ShimManager) ID() string { - - // Start launches a new shim instance - func (m *ShimManager) Start(ctx context.Context, id string, opts runtime.CreateOpts) (_ ShimProcess, retErr error) { -- bundle, err := NewBundle(ctx, m.root, m.state, id, opts.Spec.Value) -+ bundle, err := NewBundle(ctx, m.root, m.state, id, opts.Spec.GetValue()) - if err != nil { - return nil, err - } -@@ -197,7 +198,7 @@ func (m *ShimManager) startShim(ctx context.Context, bundle *Bundle, id string, - } - - topts := opts.TaskOptions -- if topts == nil { -+ if topts == nil || topts.GetValue() == nil { - topts = opts.RuntimeOptions - } - -@@ -212,7 +213,7 @@ func (m *ShimManager) startShim(ctx context.Context, bundle *Bundle, id string, - ttrpcAddress: m.containerdTTRPCAddress, - schedCore: m.schedCore, - }) -- shim, err := b.Start(ctx, topts, func() { -+ shim, err := b.Start(ctx, protobuf.FromAny(topts), func() { - log.G(ctx).WithField("id", id).Info("shim disconnected") - - cleanupAfterDeadShim(context.Background(), id, ns, m.shims, m.events, b) -diff --git a/runtime/v2/runc/container.go b/runtime/v2/runc/container.go -index aac9dad7e916..c7e82b610695 100644 ---- a/runtime/v2/runc/container.go -+++ b/runtime/v2/runc/container.go -@@ -49,12 +49,14 @@ func NewContainer(ctx context.Context, platform stdio.Platform, r *task.CreateTa - } - - var opts options.Options -- if r.Options != nil && r.Options.GetTypeUrl() != "" { -+ if r.Options.GetValue() != nil { - v, err := typeurl.UnmarshalAny(r.Options) - if err != nil { - return nil, err - } -- opts = *v.(*options.Options) -+ if v != nil { -+ opts = *v.(*options.Options) -+ } - } - - var mounts []process.Mount -diff --git a/runtime/v2/runc/task/service.go b/runtime/v2/runc/task/service.go -index d6af20fb03f0..25ec6d1f9df5 100644 ---- a/runtime/v2/runc/task/service.go -+++ b/runtime/v2/runc/task/service.go -@@ -38,6 +38,7 @@ import ( - "github.com/containerd/containerd/pkg/shutdown" - "github.com/containerd/containerd/pkg/stdio" - "github.com/containerd/containerd/pkg/userns" -+ "github.com/containerd/containerd/protobuf" - "github.com/containerd/containerd/runtime/v2/runc" - "github.com/containerd/containerd/runtime/v2/runc/options" - "github.com/containerd/containerd/runtime/v2/shim" -@@ -475,7 +476,7 @@ func (s *service) Pids(ctx context.Context, r *taskAPI.PidsRequest) (*taskAPI.Pi - d := &options.ProcessDetails{ - ExecID: p.ID(), - } -- a, err := typeurl.MarshalAny(d) -+ a, err := protobuf.MarshalAnyToProto(d) - if err != nil { - return nil, fmt.Errorf("failed to marshal process %d info: %w", pid, err) - } -@@ -603,7 +604,7 @@ func (s *service) Stats(ctx context.Context, r *taskAPI.StatsRequest) (*taskAPI. - return nil, err - } - return &taskAPI.StatsResponse{ -- Stats: data, -+ Stats: protobuf.FromAny(data), - }, nil - } - -diff --git a/runtime/v2/runc/v1/service.go b/runtime/v2/runc/v1/service.go -index 8c473430e218..8fdac3f8a2fd 100644 ---- a/runtime/v2/runc/v1/service.go -+++ b/runtime/v2/runc/v1/service.go -@@ -41,6 +41,7 @@ import ( - "github.com/containerd/containerd/pkg/process" - "github.com/containerd/containerd/pkg/schedcore" - "github.com/containerd/containerd/pkg/stdio" -+ "github.com/containerd/containerd/protobuf" - "github.com/containerd/containerd/runtime/v2/runc" - "github.com/containerd/containerd/runtime/v2/runc/options" - "github.com/containerd/containerd/runtime/v2/shim" -@@ -507,7 +508,7 @@ func (s *service) Pids(ctx context.Context, r *taskAPI.PidsRequest) (*taskAPI.Pi - d := &options.ProcessDetails{ - ExecID: p.ID(), - } -- a, err := typeurl.MarshalAny(d) -+ a, err := protobuf.MarshalAnyToProto(d) - if err != nil { - return nil, fmt.Errorf("failed to marshal process %d info: %w", pid, err) - } -@@ -621,7 +622,7 @@ func (s *service) Stats(ctx context.Context, r *taskAPI.StatsRequest) (*taskAPI. - return nil, err - } - return &taskAPI.StatsResponse{ -- Stats: data, -+ Stats: protobuf.FromAny(data), - }, nil - } - -diff --git a/runtime/v2/shim.go b/runtime/v2/shim.go -index 456ffb4409bd..18cc9a0ed6cc 100644 ---- a/runtime/v2/shim.go -+++ b/runtime/v2/shim.go -@@ -34,6 +34,7 @@ import ( - "github.com/containerd/containerd/log" - "github.com/containerd/containerd/namespaces" - "github.com/containerd/containerd/pkg/timeout" -+ "github.com/containerd/containerd/protobuf" - "github.com/containerd/containerd/runtime" - client "github.com/containerd/containerd/runtime/v2/shim" - "github.com/containerd/containerd/runtime/v2/task" -@@ -324,7 +325,7 @@ func (s *shimTask) delete(ctx context.Context, removeTask func(ctx context.Conte - - func (s *shimTask) Create(ctx context.Context, opts runtime.CreateOpts) (runtime.Task, error) { - topts := opts.TaskOptions -- if topts == nil { -+ if topts == nil || topts.GetValue() == nil { - topts = opts.RuntimeOptions - } - request := &task.CreateTaskRequest{ -@@ -335,7 +336,7 @@ func (s *shimTask) Create(ctx context.Context, opts runtime.CreateOpts) (runtime - Stderr: opts.IO.Stderr, - Terminal: opts.IO.Terminal, - Checkpoint: opts.Checkpoint, -- Options: topts, -+ Options: protobuf.FromAny(topts), - } - for _, m := range opts.Rootfs { - request.Rootfs = append(request.Rootfs, &types.Mount{ -diff --git a/runtime/v2/shim/publisher.go b/runtime/v2/shim/publisher.go -index ed1ebdd58b9c..20856f115bd6 100644 ---- a/runtime/v2/shim/publisher.go -+++ b/runtime/v2/shim/publisher.go -@@ -25,8 +25,8 @@ import ( - "github.com/containerd/containerd/events" - "github.com/containerd/containerd/namespaces" - "github.com/containerd/containerd/pkg/ttrpcutil" -+ "github.com/containerd/containerd/protobuf" - "github.com/containerd/ttrpc" -- "github.com/containerd/typeurl" - "github.com/sirupsen/logrus" - ) - -@@ -110,7 +110,7 @@ func (l *RemoteEventsPublisher) Publish(ctx context.Context, topic string, event - if err != nil { - return err - } -- any, err := typeurl.MarshalAny(event) -+ any, err := protobuf.MarshalAnyToProto(event) - if err != nil { - return err - } -diff --git a/services/containers/helpers.go b/services/containers/helpers.go -index aece9ca41471..a75d5d62bbc0 100644 ---- a/services/containers/helpers.go -+++ b/services/containers/helpers.go -@@ -19,6 +19,9 @@ package containers - import ( - api "github.com/containerd/containerd/api/services/containers/v1" - "github.com/containerd/containerd/containers" -+ "github.com/containerd/containerd/protobuf" -+ "github.com/containerd/typeurl" -+ "github.com/gogo/protobuf/types" - ) - - func containersToProto(containers []containers.Container) []api.Container { -@@ -33,20 +36,24 @@ func containersToProto(containers []containers.Container) []api.Container { - } - - func containerToProto(container *containers.Container) api.Container { -+ extensions := make(map[string]types.Any) -+ for k, v := range container.Extensions { -+ extensions[k] = *protobuf.FromAny(v) -+ } - return api.Container{ - ID: container.ID, - Labels: container.Labels, - Image: container.Image, - Runtime: &api.Container_Runtime{ - Name: container.Runtime.Name, -- Options: container.Runtime.Options, -+ Options: protobuf.FromAny(container.Runtime.Options), - }, -- Spec: container.Spec, -+ Spec: protobuf.FromAny(container.Spec), - Snapshotter: container.Snapshotter, - SnapshotKey: container.SnapshotKey, - CreatedAt: container.CreatedAt, - UpdatedAt: container.UpdatedAt, -- Extensions: container.Extensions, -+ Extensions: extensions, - } - } - -@@ -58,6 +65,11 @@ func containerFromProto(containerpb *api.Container) containers.Container { - Options: containerpb.Runtime.Options, - } - } -+ extensions := make(map[string]typeurl.Any) -+ for k, v := range containerpb.Extensions { -+ v := v -+ extensions[k] = &v -+ } - return containers.Container{ - ID: containerpb.ID, - Labels: containerpb.Labels, -@@ -66,6 +78,6 @@ func containerFromProto(containerpb *api.Container) containers.Container { - Spec: containerpb.Spec, - Snapshotter: containerpb.Snapshotter, - SnapshotKey: containerpb.SnapshotKey, -- Extensions: containerpb.Extensions, -+ Extensions: extensions, - } - } -diff --git a/services/events/service.go b/services/events/service.go -index 3b5f811382b7..b1992a1ab716 100644 ---- a/services/events/service.go -+++ b/services/events/service.go -@@ -26,6 +26,7 @@ import ( - "github.com/containerd/containerd/events" - "github.com/containerd/containerd/events/exchange" - "github.com/containerd/containerd/plugin" -+ "github.com/containerd/containerd/protobuf" - "github.com/containerd/ttrpc" - ptypes "github.com/gogo/protobuf/types" - "google.golang.org/grpc" -@@ -115,7 +116,7 @@ func toProto(env *events.Envelope) *api.Envelope { - Timestamp: env.Timestamp, - Namespace: env.Namespace, - Topic: env.Topic, -- Event: env.Event, -+ Event: protobuf.FromAny(env.Event), - } - } - -diff --git a/services/tasks/local.go b/services/tasks/local.go -index 96ed36ca4a34..34cb23d1672c 100644 ---- a/services/tasks/local.go -+++ b/services/tasks/local.go -@@ -41,6 +41,7 @@ import ( - "github.com/containerd/containerd/mount" - "github.com/containerd/containerd/pkg/timeout" - "github.com/containerd/containerd/plugin" -+ "github.com/containerd/containerd/protobuf" - "github.com/containerd/containerd/runtime" - "github.com/containerd/containerd/runtime/linux/runctypes" - "github.com/containerd/containerd/runtime/v2/runc/options" -@@ -461,7 +462,7 @@ func (l *local) ListPids(ctx context.Context, r *api.ListPidsRequest, _ ...grpc. - Pid: p.Pid, - } - if p.Info != nil { -- a, err := typeurl.MarshalAny(p.Info) -+ a, err := protobuf.MarshalAnyToProto(p.Info) - if err != nil { - return nil, fmt.Errorf("failed to marshal process %d info: %w", p.Pid, err) - } -@@ -576,7 +577,7 @@ func (l *local) Checkpoint(ctx context.Context, r *api.CheckpointTaskRequest, _ - return nil, err - } - // write the config to the content store -- data, err := container.Spec.Marshal() -+ data, err := protobuf.FromAny(container.Spec).Marshal() - if err != nil { - return nil, err - } -diff --git a/task.go b/task.go -index ef8cd44942cf..bcb522c52e30 100644 ---- a/task.go -+++ b/task.go -@@ -38,6 +38,7 @@ import ( - "github.com/containerd/containerd/mount" - "github.com/containerd/containerd/oci" - "github.com/containerd/containerd/plugin" -+ "github.com/containerd/containerd/protobuf" - "github.com/containerd/containerd/rootfs" - "github.com/containerd/containerd/runtime/linux/runctypes" - "github.com/containerd/containerd/runtime/v2/runc/options" -@@ -365,7 +366,7 @@ func (t *task) Exec(ctx context.Context, id string, spec *specs.Process, ioCreat - i.Close() - } - }() -- any, err := typeurl.MarshalAny(spec) -+ any, err := protobuf.MarshalAnyToProto(spec) - if err != nil { - return nil, err - } -@@ -465,7 +466,7 @@ func (t *task) Checkpoint(ctx context.Context, opts ...CheckpointTaskOpts) (Imag - } - request.ParentCheckpoint = i.ParentCheckpoint - if i.Options != nil { -- any, err := typeurl.MarshalAny(i.Options) -+ any, err := protobuf.MarshalAnyToProto(i.Options) - if err != nil { - return nil, err - } -@@ -554,7 +555,7 @@ func (t *task) Update(ctx context.Context, opts ...UpdateTaskOpts) error { - if err != nil { - return err - } -- request.Resources = any -+ request.Resources = protobuf.FromAny(any) - } - if i.Annotations != nil { - request.Annotations = i.Annotations --- -2.41.0 - diff --git a/anda/docker/containerd/0001-opencontainers-image-spec-v1.1.0-rc3.patch b/anda/docker/containerd/0001-opencontainers-image-spec-v1.1.0-rc3.patch deleted file mode 100644 index dafb32e536..0000000000 --- a/anda/docker/containerd/0001-opencontainers-image-spec-v1.1.0-rc3.patch +++ /dev/null @@ -1,162 +0,0 @@ -From 4347fc8bc2ac225117a3280c0445e855ca7a69f3 Mon Sep 17 00:00:00 2001 -From: Akihiro Suda -Date: Tue, 9 May 2023 22:24:47 +0900 -Subject: [PATCH] go.mod: github.com/opencontainers/image-spec v1.1.0-rc3 - -Signed-off-by: Akihiro Suda ---- - go.mod | 2 +- - go.sum | 4 +-- - images/converter/default.go | 4 +-- - images/converter/uncompress/uncompress.go | 6 ++-- - images/diffid.go | 2 +- - images/mediatypes.go | 2 +- - integration/client/go.mod | 2 +- - integration/client/go.sum | 4 +-- - integration/client/import_test.go | 8 +++-- - oci/spec_opts.go | 1 + - pkg/cri/opts/spec_windows.go | 4 +-- - remotes/handlers_test.go | 1 + - .../image-spec/specs-go/v1/annotations.go | 3 -- - .../image-spec/specs-go/v1/artifact.go | 34 ------------------- - .../image-spec/specs-go/v1/config.go | 34 ++++++------------- - .../image-spec/specs-go/v1/manifest.go | 11 ++++++ - .../image-spec/specs-go/v1/mediatype.go | 19 +++++++++-- - .../image-spec/specs-go/version.go | 2 +- - vendor/modules.txt | 4 +-- - 19 files changed, 64 insertions(+), 83 deletions(-) - delete mode 100644 vendor/github.com/opencontainers/image-spec/specs-go/v1/artifact.go - -diff --git a/images/converter/default.go b/images/converter/default.go -index c67617e4ccfc..4a887242ce40 100644 ---- a/images/converter/default.go -+++ b/images/converter/default.go -@@ -431,11 +431,11 @@ func ConvertDockerMediaTypeToOCI(mt stri - case images.MediaTypeDockerSchema2LayerGzip: - return ocispec.MediaTypeImageLayerGzip - case images.MediaTypeDockerSchema2LayerForeignGzip: -- return ocispec.MediaTypeImageLayerNonDistributableGzip -+ return ocispec.MediaTypeImageLayerNonDistributableGzip //nolint:staticcheck // deprecated - case images.MediaTypeDockerSchema2Layer: - return ocispec.MediaTypeImageLayer - case images.MediaTypeDockerSchema2LayerForeign: -- return ocispec.MediaTypeImageLayerNonDistributable -+ return ocispec.MediaTypeImageLayerNonDistributable //nolint:staticcheck // deprecated - case images.MediaTypeDockerSchema2Config: - return ocispec.MediaTypeImageConfig - default: -diff --git a/images/converter/uncompress/uncompress.go b/images/converter/uncompress/uncompress.go -index 30ae02cf5ef9..ceb998fb8ff6 100644 ---- a/images/converter/uncompress/uncompress.go -+++ b/images/converter/uncompress/uncompress.go -@@ -99,7 +99,7 @@ func IsUncompressedType(mt string) bool - images.MediaTypeDockerSchema2Layer, - images.MediaTypeDockerSchema2LayerForeign, - ocispec.MediaTypeImageLayer, -- ocispec.MediaTypeImageLayerNonDistributable: -+ ocispec.MediaTypeImageLayerNonDistributable: //nolint:staticcheck // deprecated - return true - default: - return false -@@ -114,8 +114,8 @@ func convertMediaType(mt string) string - return images.MediaTypeDockerSchema2LayerForeign - case ocispec.MediaTypeImageLayerGzip, ocispec.MediaTypeImageLayerZstd: - return ocispec.MediaTypeImageLayer -- case ocispec.MediaTypeImageLayerNonDistributableGzip, ocispec.MediaTypeImageLayerNonDistributableZstd: -- return ocispec.MediaTypeImageLayerNonDistributable -+ case ocispec.MediaTypeImageLayerNonDistributableGzip, ocispec.MediaTypeImageLayerNonDistributableZstd: //nolint:staticcheck // deprecated -+ return ocispec.MediaTypeImageLayerNonDistributable //nolint:staticcheck // deprecated - default: - return mt - } -diff --git a/images/diffid.go b/images/diffid.go -index 1bd5256e2b37..c031f8e36377 100644 ---- a/images/diffid.go -+++ b/images/diffid.go -@@ -36,7 +36,7 @@ func GetDiffID(ctx context.Context, cs c - MediaTypeDockerSchema2Layer, - ocispec.MediaTypeImageLayer, - MediaTypeDockerSchema2LayerForeign, -- ocispec.MediaTypeImageLayerNonDistributable: -+ ocispec.MediaTypeImageLayerNonDistributable: //nolint:staticcheck // deprecated - return desc.Digest, nil - } - info, err := cs.Info(ctx, desc.Digest) -diff --git a/images/mediatypes.go b/images/mediatypes.go -index 067963babba1..d3b28d42dc61 100644 ---- a/images/mediatypes.go -+++ b/images/mediatypes.go -@@ -76,7 +76,7 @@ func DiffCompression(ctx context.Context - return "", nil - } - return "gzip", nil -- case ocispec.MediaTypeImageLayer, ocispec.MediaTypeImageLayerNonDistributable: -+ case ocispec.MediaTypeImageLayer, ocispec.MediaTypeImageLayerNonDistributable: //nolint:staticcheck // Non-distributable layers are deprecated - if len(ext) > 0 { - switch ext[len(ext)-1] { - case "gzip": -diff --git a/integration/client/import_test.go b/integration/client/import_test.go -index f2ba3db35f89..9f2cc46e624e 100644 ---- a/integration/client/import_test.go -+++ b/integration/client/import_test.go -@@ -370,9 +370,11 @@ func createContent(size int64, seed int6 - - func createConfig(osName, archName string) ([]byte, digest.Digest) { - image := ocispec.Image{ -- OS: osName, -- Architecture: archName, -- Author: "test", -+ Platform: ocispec.Platform{ -+ OS: osName, -+ Architecture: archName, -+ }, -+ Author: author, - } - b, _ := json.Marshal(image) - -diff --git a/oci/spec_opts.go b/oci/spec_opts.go -index f38828988577..8c4abd0bd876 100644 ---- a/oci/spec_opts.go -+++ b/oci/spec_opts.go -@@ -446,6 +446,7 @@ func WithImageConfigArgs(image Image, ar - return errors.New("no arguments specified") - } - -+ //nolint:staticcheck // ArgsEscaped is deprecated - if config.ArgsEscaped && (len(config.Entrypoint) > 0 || cmdFromImage) { - s.Process.Args = nil - s.Process.CommandLine = cmd[0] -diff --git a/pkg/cri/opts/spec_windows.go b/pkg/cri/opts/spec_windows.go -index 0964084ca107..0f7307bd0a6f 100644 ---- a/pkg/cri/opts/spec_windows.go -+++ b/pkg/cri/opts/spec_windows.go -@@ -260,7 +260,7 @@ func escapeAndCombineArgsWindows(args [] - // If image.ArgsEscaped field is set, this function sets the process command line and if not, it sets the - // process args field - func WithProcessCommandLineOrArgsForWindows(config *runtime.ContainerConfig, image *imagespec.ImageConfig) oci.SpecOpts { -- if image.ArgsEscaped { -+ if image.ArgsEscaped { //nolint:staticcheck // ArgsEscaped is deprecated - return func(ctx context.Context, client oci.Client, c *containers.Container, s *runtimespec.Spec) (err error) { - // firstArgFromImg is a flag that is returned to indicate that the first arg in the slice comes from either the - // image Entrypoint or Cmd. If the first arg instead comes from the container config (e.g. overriding the image values), -@@ -273,7 +273,7 @@ func WithProcessCommandLineOrArgsForWind - } - - var cmdLine string -- if image.ArgsEscaped && firstArgFromImg { -+ if image.ArgsEscaped && firstArgFromImg { //nolint:staticcheck // ArgsEscaped is deprecated - cmdLine = args[0] - if len(args) > 1 { - cmdLine += " " + escapeAndCombineArgsWindows(args[1:]) -diff --git a/remotes/handlers_test.go b/remotes/handlers_test.go -index c0446e1a52e6..9acf54680bf3 100644 ---- a/remotes/handlers_test.go -+++ b/remotes/handlers_test.go -@@ -78,6 +78,7 @@ func TestContextCustomKeyPrefix(t *testi - }) - } - -+//nolint:staticcheck // Non-distributable layers are deprecated - func TestSkipNonDistributableBlobs(t *testing.T) { - ctx := context.Background() - diff --git a/anda/docker/containerd/0002-Remove-windows-only-dep.patch b/anda/docker/containerd/0002-Remove-windows-only-dep.patch deleted file mode 100644 index 92a2856cfb..0000000000 --- a/anda/docker/containerd/0002-Remove-windows-only-dep.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/pkg/cri/server/helpers.go b/pkg/cri/server/helpers.go -index a8498116d..3682be668 100644 ---- a/pkg/cri/server/helpers.go -+++ b/pkg/cri/server/helpers.go -@@ -40,7 +40,7 @@ import ( - runtimespec "github.com/opencontainers/runtime-spec/specs-go" - "github.com/sirupsen/logrus" - -- runhcsoptions "github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options" -+ // runhcsoptions "github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options" - imagedigest "github.com/opencontainers/go-digest" - "github.com/pelletier/go-toml" - "golang.org/x/net/context" -@@ -366,8 +366,8 @@ func getRuntimeOptionsType(t string) interface{} { - return &runcoptions.Options{} - case plugin.RuntimeLinuxV1: - return &runctypes.RuncOptions{} -- case runtimeRunhcsV1: -- return &runhcsoptions.Options{} -+ // case runtimeRunhcsV1: -+ // return &runhcsoptions.Options{} - default: - return &runtimeoptions.Options{} - } diff --git a/anda/docker/containerd/anda.hcl b/anda/docker/containerd/anda.hcl deleted file mode 100644 index 595cb36095..0000000000 --- a/anda/docker/containerd/anda.hcl +++ /dev/null @@ -1,5 +0,0 @@ -project "pkg" { - rpm { - spec = "containerd.spec" - } -} \ No newline at end of file diff --git a/anda/docker/containerd/changelog b/anda/docker/containerd/changelog deleted file mode 100644 index eef50d4496..0000000000 --- a/anda/docker/containerd/changelog +++ /dev/null @@ -1,167 +0,0 @@ -* Mon Jun 06 2022 Maxwell G 1.6.6-1 -- Update to 1.6.6. -- Mitigates GHSA-5ffw-gxpp-mxpf / CVE-2022-31030. - -* Sun Jun 05 2022 Maxwell G 1.6.5-2 -- Bump release - -* Sat Jun 04 2022 Maxwell G 1.6.5-1 -- Update to 1.6.5. Fixes rhbz#2093608. - -* Wed May 11 2022 Maxwell G 1.6.4-1 -- Update to 1.6.4. Fixes rhbz#079050 and rhbz#2079779. - -* Sat Apr 16 2022 Fabio Alessandro Locati 1.6.2-2 -- Rebuilt for CVE-2022-27191 - -* Sun Apr 03 2022 Maxwell G 1.6.2-1 -- Update to 1.6.2 (rhbz#2068277). Mitigates CVE-2022-24769 / - GHSA-c9cp-9c75-9v8c. - -* Sat Mar 12 2022 Maxwell G 1.6.1-1 -- Update to 1.6.1 (rhbz#2060228). Mitigates CVE-2022-23648. - -* Thu Feb 17 2022 Maxwell G 1.6.0-1 -- Update to 1.6.0 (rhbz#2054935). Use unbundled deps. - -* Sun Feb 06 2022 Robert-André Mauchin 1.6.0~rc.2-2 -- Disable platform tests - -* Sat Feb 05 2022 Robert-André Mauchin 1.6.0~rc.2-1 -- Update to 1.6.0~rc.2 Close: rhbz#1731597 Close: rhbz#1798419 - -* Mon Jan 31 2022 Maxwell G - 1.5.9-1 -- Update to 1.5.9. Fixes FTBFS. Closes rhbz#2045277. -- Mitigates CVE-2021-43816. Closes rhbz#2044434. Closes rhbz#2044436. -- Temporarily build using vendored dependencies. - -* Wed Jan 19 2022 Fedora Release Engineering - 1.5.8-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Mon Nov 22 2021 Olivier Lemasle - 1.5.8-1 -- Update to upstream 1.5.8 (fixes rhbz#2013807) -- Mitigate CVE-2021-41190 (fixes GHSA-5j5w-g665-5m35, fixes rhbz#2024941) - -* Sun Oct 10 2021 Olivier Lemasle - 1.5.7-1 -- Update to upstream 1.5.7 (fixes rhbz#2009149) -- Fixes CVE-2021-41103 (fixes rhbz#2011014, rhbz#2011007) - -* Sun Aug 15 2021 Olivier Lemasle - 1.5.5-1 -- Update to upstream 1.5.5 (fixes rhbz#1983820) -- Fixes CVE-2021-32760 (rhbz#1983932) - -* Wed Jul 21 2021 Fedora Release Engineering - 1.5.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Wed Jul 14 11:28:54 CEST 2021 Olivier Lemasle - 1.5.3-1 -- Update to upstream 1.5.3 (fixes rhbz#1956638) - -* Tue May 04 2021 Olivier Lemasle - 1.5.0-1 -- Update to upstream 1.5.0 (#1956638) - -* Mon Apr 19 2021 Olivier Lemasle - 1.5.0~rc.1-1 -- Update to 1.5.0~rc.1 (#1948041) - -* Wed Mar 17 2021 Olivier Lemasle - 1.5.0~beta.4-1 -- Update to upstream 1.5.0-beta.4 - -* Sat Mar 06 2021 Olivier Lemasle - 1.5.0~beta.3-1 -- Update to upstream 1.5.0-beta.3 - -* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 1.5.0~beta.0-2 -- Rebuilt for updated systemd-rpm-macros - See https://pagure.io/fesco/issue/2583. - -* Thu Jan 28 2021 Olivier Lemasle 1.5.0~beta.0-1 -- Update to 1.5.0~beta.0 (#1918993) - -* Tue Jan 26 2021 Fedora Release Engineering - 1.4.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Tue Dec 01 2020 Olivier Lemasle - 1.4.3-1 -- Fix CVE-2020-15257 (#1903050) -- Update to latest upstream - 1.4.3 (#1901908) - -* Mon Nov 2 23:23:57 CET 2020 Olivier Lemasle - 1.4.1-2 -- Fix man pages - -* Wed Sep 30 2020 Robert-André Mauchin - 1.4.1-1 -- Update to 1.4.1 - -* Sat Aug 01 2020 Fedora Release Engineering - 1.3.3-3 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Mon Jul 27 2020 Fedora Release Engineering - 1.3.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Wed Apr 01 2020 Olivier Lemasle - 1.3.3-1 -- Update to 1.3.3 - -* Sun Mar 22 2020 Olivier Lemasle - 1.2.13-2 -- Remove version requirement on golang-github-containerd-cri - -* Sun Mar 22 2020 Olivier Lemasle - 1.2.13-1 -- Exclude failing integration tests -- Update to containerd 1.2.13 - -* Tue Jan 28 2020 Fedora Release Engineering - 1.2.6-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Wed Jul 24 2019 Fedora Release Engineering - 1.2.6-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Wed May 01 15:33:19 CEST 2019 Robert-André Mauchin - 1.2.6-1.20190501gitd68b593 -- Release 1.2.6, commit d68b593de4ab10bb8b4fd64560e10d43c7156db2 - -* Tue Feb 26 2019 Carl George - 1.2.4-1 -- Latest upstream - -* Thu Jan 31 2019 Fedora Release Engineering - 1.2.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Thu Jan 03 2019 Carl George - 1.2.1-1 -- Latest upstream -- Run test suite (except on el7 or %%arm) - -* Thu Oct 25 2018 Carl George - 1.2.0-1 -- Latest upstream - -* Mon Aug 13 2018 Carl George - 1.1.2-1 -- Latest upstream - -* Thu Jul 12 2018 Fedora Release Engineering - 1.1.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Thu Apr 26 2018 Carl George - 1.1.0-1 -- Latest upstream -- Build and include man pages - -* Wed Apr 04 2018 Carl George - 1.0.3-1 -- Latest upstream - -* Wed Feb 07 2018 Fedora Release Engineering - 1.0.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Mon Jan 22 2018 Carl George - 1.0.1-1 -- Latest upstream - -* Wed Dec 06 2017 Carl George - 1.0.0-1 -- Latest upstream - -* Fri Nov 10 2017 Carl George - 1.0.0-0.5.beta.3 -- Latest upstream - -* Thu Oct 19 2017 Carl George - 1.0.0-0.4.beta.2 -- Own /etc/containerd - -* Thu Oct 12 2017 Carl George - 1.0.0-0.3.beta.2 -- Latest upstream -- Require runc 1.0.0 https://github.com/containerd/containerd/issues/1508#issuecomment-335566293 - -* Mon Oct 09 2017 Carl George - 1.0.0-0.2.beta.1 -- Add provides for vendored dependencies -- Add ctr command - -* Wed Oct 04 2017 Carl George - 1.0.0-0.1.beta.1 -- Initial package diff --git a/anda/docker/containerd/containerd.spec b/anda/docker/containerd/containerd.spec deleted file mode 100644 index 31dfbd92d3..0000000000 --- a/anda/docker/containerd/containerd.spec +++ /dev/null @@ -1,127 +0,0 @@ -# This is a simplified version of the containerd.spec file from Fedora -# designed to build from upstream containerd, not Fedora - -# Created due to https://bugzilla.redhat.com/show_bug.cgi?id=2237396 - -%global debug_package %{nil} - -# https://github.com/containerd/containerd -%global goipath github.com/containerd/containerd -Version: 2.0.2 - -%gometa - -%global goname containerd -%global godevelname containerd-devel - -%global common_description %{expand: -Containerd is an industry-standard container runtime with an emphasis on -simplicity, robustness and portability. It is available as a daemon for Linux -and Windows, which can manage the complete container lifecycle of its host -system: image transfer and storage, container execution and supervision, -low-level storage and network attachments, etc.} - -%global golicenses LICENSE NOTICE -%global godocs docs ROADMAP.md SCOPE.md code-of-conduct.md\\\ - BUILDING.md README.md RELEASES.md - -Name: %{goname} -Release: 1%?dist -Summary: Open and reliable container runtime - -License: Apache-2.0 -URL: https://github.com/containerd/containerd -Source0: %{url}/archive/refs/tags/v%{version}.tar.gz#/containerd-%{version}.tar.gz -Source2: containerd.toml -# Carve out code requiring github.com/Microsoft/hcsshim -#Patch0: 0001-Revert-commit-for-Windows-metrics.patch -#Patch1: 0002-Remove-windows-only-dep.patch -# Backport for github.com/containerd/typeurl update -#Patch2: 0001-Use-typeurl.Any-instead-of-github.com-gogo-protobuf-.patch -# To use with latest go-runc -#Patch3: 0001-Add-reaper-StartLocked.patch -# To use with latest opencontainers/image-spec -#Patch4: 0001-opencontainers-image-spec-v1.1.0-rc3.patch - -BuildRequires: btrfs-progs-devel -BuildRequires: go-md2man -BuildRequires: systemd-rpm-macros -BuildRequires: git-core - -Requires: runc - -%description -%{common_description} - -%package devel -Summary: Development files for %{name} -Requires: %{name}%{?_isa} = %{version}-%{release} - - -%description devel -%{common_description} - -This package contains library source intended for -building other packages which use import path with -%{goname} prefix. - -%prep -%autosetup -p1 -n %{goname}-%{version} -# Used only for generation: -#rm -rf cmd/protoc-gen-gogoctrd -# Replace default bin directory -sed -i "s|/usr/local/bin/containerd|/usr/bin/containerd|" containerd.service - -%build -#pushd containerd -export GOFLAGS="-buildmode=pie -v -x" -%make_build -mkdir _man -go-md2man -in docs/man/containerd-config.8.md -out _man/containerd-config.8 -go-md2man -in docs/man/containerd-config.toml.5.md -out _man/containerd-config.toml.5 -go run cmd/gen-manpages/main.go containerd.8 _man -go run cmd/gen-manpages/main.go ctr.8 _man - -%install -export GOFLAGS="-buildmode=pie -v -x" -%make_install PREFIX=%{_prefix} DESTDIR=%{buildroot} - - - -install -D -p -m 0644 _man/containerd.8 %{buildroot}%{_mandir}/man8/containerd.8 -install -D -p -m 0644 _man/containerd-config.8 %{buildroot}%{_mandir}/man8/containerd-config.8 -install -D -p -m 0644 _man/ctr.8 %{buildroot}%{_mandir}/man8/ctr.8 -install -D -p -m 0644 _man/containerd-config.toml.5 %{buildroot}%{_mandir}/man5/containerd-config.toml.5 -install -D -p -m 0644 containerd.service %{buildroot}%{_unitdir}/containerd.service -install -D -p -m 0644 %{S:2} %{buildroot}%{_sysconfdir}/containerd/config.toml -mkdir -p %{buildroot}%{_sharedstatedir}/containerd/opt - -%post -%systemd_post containerd.service - -%preun -%systemd_preun containerd.service - -%postun -%systemd_postun_with_restart containerd.service - - - -%files -%license LICENSE NOTICE -%doc docs ROADMAP.md SCOPE.md code-of-conduct.md BUILDING.md -%doc README.md RELEASES.md -%{_bindir}/* -%{_mandir}/man8/containerd.8* -%{_mandir}/man8/containerd-config.8* -%{_mandir}/man8/ctr.8* -%{_mandir}/man5/containerd-config.toml.5* -%{_unitdir}/containerd.service -%dir %{_sysconfdir}/containerd -%config(noreplace) %{_sysconfdir}/containerd/config.toml -%dir %{_sharedstatedir}/containerd -%dir %{_sharedstatedir}/containerd/opt - - -%changelog -%autochangelog diff --git a/anda/docker/containerd/containerd.toml b/anda/docker/containerd/containerd.toml deleted file mode 100644 index 4a76ac46c2..0000000000 --- a/anda/docker/containerd/containerd.toml +++ /dev/null @@ -1,9 +0,0 @@ -version = 2 - -[plugins] - [plugins."io.containerd.grpc.v1.cri"] - [plugins."io.containerd.grpc.v1.cri".cni] - bin_dir = "/usr/libexec/cni/" - conf_dir = "/etc/cni/net.d" - [plugins."io.containerd.internal.v1.opt"] - path = "/var/lib/containerd/opt" diff --git a/anda/docker/containerd/update.rhai b/anda/docker/containerd/update.rhai deleted file mode 100644 index 2ff7c6b2db..0000000000 --- a/anda/docker/containerd/update.rhai +++ /dev/null @@ -1 +0,0 @@ -rpm.version(gh("containerd/containerd")); diff --git a/anda/docker/moby-buildx/anda.hcl b/anda/docker/moby-buildx/anda.hcl deleted file mode 100644 index c1ac693b64..0000000000 --- a/anda/docker/moby-buildx/anda.hcl +++ /dev/null @@ -1,5 +0,0 @@ -project pkg { - rpm { - spec = "moby-buildx.spec" - } -} diff --git a/anda/docker/moby-buildx/moby-buildx.spec b/anda/docker/moby-buildx/moby-buildx.spec deleted file mode 100644 index f43a17d62d..0000000000 --- a/anda/docker/moby-buildx/moby-buildx.spec +++ /dev/null @@ -1,46 +0,0 @@ -%define debug_package %nil - -Name: moby-buildx -Version: 0.19.3 -Release: 1%?dist -Summary: Docker CLI plugin for extended build capabilities with BuildKit - -License: Apache-2.0 -URL: https://github.com/docker/buildx -Source0: %{url}/archive/refs/tags/v%{version}.tar.gz - -BuildRequires: go-rpm-macros -BuildRequires: git-core -BuildRequires: gcc -BuildRequires: anda-srpm-macros - -Provides: docker-buildx = %{version}-%{release} -Provides: docker-buildx-cli = %{version}-%{release} - - -%description -buildx is a Docker CLI plugin for extended build capabilities with BuildKit. - - -%prep -%autosetup -n buildx-%{version} - - -%build -export CGO_ENABLED=1 -%go_build_online ./cmd/buildx - - -%install -install -D -m 0755 build/bin/cmd/buildx %{buildroot}%{_libexecdir}/docker/cli-plugins/docker-buildx - - -%files -%license LICENSE -%doc docs -%{_libexecdir}/docker/cli-plugins/docker-buildx - - -%changelog -* Wed Oct 05 2022 Cappy Ishihara - 0.9.1-1 -- Initial Release diff --git a/anda/docker/moby-buildx/update.rhai b/anda/docker/moby-buildx/update.rhai deleted file mode 100644 index 46556d11b8..0000000000 --- a/anda/docker/moby-buildx/update.rhai +++ /dev/null @@ -1 +0,0 @@ -rpm.version(gh("docker/buildx")); diff --git a/anda/docker/moby-compose/anda.hcl b/anda/docker/moby-compose/anda.hcl deleted file mode 100644 index f2e1747dc3..0000000000 --- a/anda/docker/moby-compose/anda.hcl +++ /dev/null @@ -1,5 +0,0 @@ -project pkg { - rpm { - spec = "moby-compose.spec" - } -} diff --git a/anda/docker/moby-compose/update.rhai b/anda/docker/moby-compose/update.rhai deleted file mode 100644 index b9641daa12..0000000000 --- a/anda/docker/moby-compose/update.rhai +++ /dev/null @@ -1 +0,0 @@ -rpm.version(gh("docker/compose")); diff --git a/anda/games/gamescope-legacy/0001-cstdint.patch b/anda/games/gamescope-legacy/0001-cstdint.patch deleted file mode 100644 index 36a9ad59f2..0000000000 --- a/anda/games/gamescope-legacy/0001-cstdint.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 5529e8ac8f3232ec6233e33286834548e1d8018d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= -Date: Sun, 8 Oct 2023 22:10:33 +0200 -Subject: [PATCH] - ---- - src/reshade/source/effect_parser_stmt.cpp | 1 + - src/reshade/source/effect_token.hpp | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/src/reshade/source/effect_parser_stmt.cpp b/src/reshade/source/effect_parser_stmt.cpp -index 7829729..f126be2 100644 ---- a/src/reshade/source/effect_parser_stmt.cpp -+++ b/src/reshade/source/effect_parser_stmt.cpp -@@ -9,6 +9,7 @@ - #include // std::toupper - #include - #include -+#include - #include - - struct on_scope_exit -diff --git a/src/reshade/source/effect_token.hpp b/src/reshade/source/effect_token.hpp -index 072d439..e4bb633 100644 ---- a/src/reshade/source/effect_token.hpp -+++ b/src/reshade/source/effect_token.hpp -@@ -5,6 +5,7 @@ - - #pragma once - -+#include - #include - #include - --- -2.41.0 diff --git a/anda/games/gamescope-legacy/anda.hcl b/anda/games/gamescope-legacy/anda.hcl deleted file mode 100644 index 3f887ed736..0000000000 --- a/anda/games/gamescope-legacy/anda.hcl +++ /dev/null @@ -1,7 +0,0 @@ -project pkg { - arches = ["x86_64", "aarch64", "i386"] - rpm { - spec = "gamescope-legacy.spec" - mock = 1 - } -} diff --git a/anda/games/gamescope-legacy/gamescope-legacy.spec b/anda/games/gamescope-legacy/gamescope-legacy.spec deleted file mode 100644 index 75ead5d764..0000000000 --- a/anda/games/gamescope-legacy/gamescope-legacy.spec +++ /dev/null @@ -1,129 +0,0 @@ -%global libliftoff_minver 0.4.1 -%global reshade_commit 4245743a8c41abbe3dc73980c1810fe449359bf1 -%global reshade_shortcommit %(c=%{reshade_commit}; echo ${c:0:7}) -%global _default_patch_fuzz 2 - - -# ============================================================================= -# IMPORTANT: This package should *not* have an update script, at least not one that -# tracks upstream Gamescope from Valve. This package is intended to be a legacy -# build for Polaris and older GPUs from AMD, and should not be updated to the -# latest version. -# -# This package however, should be obsoleted once https://github.com/ValveSoftware/gamescope/issues/1218 -# is finally resolved, and Gamescope's Wayland backend has a fallback for GPUs without Vulkan DRM modifiers. -# ============================================================================= - - -Name: gamescope-legacy -Version: 3.14.2 -Release: 1%{?dist} -Summary: Legacy builds of gamescope, a micro-compositor for video games on Wayland -Packager: Cappy Ishihara -License: BSD -URL: https://github.com/ValveSoftware/gamescope -Source0: %{url}/archive/%{version}/gamescope-%{version}.tar.gz -# Create stb.pc to satisfy dependency('stb') -Source1: stb.pc -Source2: https://github.com/Joshua-Ashton/reshade/archive/%{reshade_commit}/reshade-%{reshade_shortcommit}.tar.gz - -Patch0: 0001-cstdint.patch - -# https://hhd.dev/ -Patch1: v2-0001-always-send-ctrl-1-2-to-steam-s-wayland-session.patch - -# ChimeraOS -Patch2: legacy-720p.patch - -BuildRequires: meson >= 0.54.0 -BuildRequires: ninja-build -BuildRequires: cmake -BuildRequires: gcc -BuildRequires: gcc-c++ -BuildRequires: glm-devel -BuildRequires: google-benchmark-devel -BuildRequires: libXmu-devel -BuildRequires: libXcursor-devel -BuildRequires: pkgconfig(libdisplay-info) -BuildRequires: pkgconfig(x11) -BuildRequires: pkgconfig(xdamage) -BuildRequires: pkgconfig(xcomposite) -BuildRequires: pkgconfig(xrender) -BuildRequires: pkgconfig(xext) -BuildRequires: pkgconfig(xfixes) -BuildRequires: pkgconfig(xxf86vm) -BuildRequires: pkgconfig(xtst) -BuildRequires: pkgconfig(xres) -BuildRequires: pkgconfig(libdrm) -BuildRequires: pkgconfig(vulkan) -BuildRequires: pkgconfig(wayland-scanner) -BuildRequires: pkgconfig(wayland-server) -BuildRequires: pkgconfig(wayland-protocols) >= 1.17 -BuildRequires: pkgconfig(xkbcommon) -BuildRequires: pkgconfig(sdl2) -BuildRequires: pkgconfig(libpipewire-0.3) -BuildRequires: pkgconfig(libavif) -BuildRequires: (pkgconfig(wlroots) >= 0.17.0 with pkgconfig(wlroots) < 0.18) -BuildRequires: (pkgconfig(libliftoff) >= 0.4.1 with pkgconfig(libliftoff) < 0.5) -BuildRequires: pkgconfig(libcap) -BuildRequires: pkgconfig(hwdata) -BuildRequires: spirv-headers-devel -# Enforce the the minimum EVR to contain fixes for all of: -# CVE-2021-28021 CVE-2021-42715 CVE-2021-42716 CVE-2022-28041 CVE-2023-43898 -# CVE-2023-45661 CVE-2023-45662 CVE-2023-45663 CVE-2023-45664 CVE-2023-45666 -# CVE-2023-45667 -BuildRequires: stb_image-devel >= 2.28^20231011gitbeebb24-12 -# Header-only library: -static is for tracking per guidelines -BuildRequires: stb_image-static -BuildRequires: stb_image_resize-devel -BuildRequires: stb_image_resize-static -BuildRequires: stb_image_write-devel -BuildRequires: stb_image_write-static -BuildRequires: vkroots-devel -BuildRequires: /usr/bin/glslangValidator - -# libliftoff hasn't bumped soname, but API/ABI has changed for 0.2.0 release -Requires: libliftoff%{?_isa} >= %{libliftoff_minver} -Requires: xorg-x11-server-Xwayland - -Requires: terra-gamescope-libs -Requires: terra-gamescope-libs(x86-32) - -Recommends: mesa-dri-drivers -Recommends: mesa-vulkan-drivers - -%description -%{name} is the micro-compositor optimized for running video games on Wayland. This is a legacy build primarily intended for use by Polaris GPUs. - -%prep -%autosetup -p1 -a2 -N -n gamescope-%{version} -# Install stub pkgconfig file -mkdir -p pkgconfig -cp %{SOURCE1} pkgconfig/stb.pc - -# Replace spirv-headers include with the system directory -sed -i 's^../thirdparty/SPIRV-Headers/include/spirv/^/usr/include/spirv/^' src/meson.build - -# Push in reshade from sources instead of submodule -rm -rf src/reshade && mv reshade-%{reshade_commit} src/reshade - -%autopatch -p1 - -%build -export PKG_CONFIG_PATH=pkgconfig -%meson -Dpipewire=enabled -Denable_gamescope_wsi_layer=false -Denable_openvr_support=false -Dforce_fallback_for=[] -%meson_build - -%install -%meson_install -# Rename to not conflict with the base package -mv %{buildroot}%{_bindir}/gamescope %{buildroot}%{_bindir}/gamescope-legacy - -%files -%license LICENSE -%doc README.md -%{_bindir}/gamescope-legacy - -%changelog -%autochangelog - diff --git a/anda/games/gamescope-legacy/legacy-720p.patch b/anda/games/gamescope-legacy/legacy-720p.patch deleted file mode 100644 index 75e367afbb..0000000000 --- a/anda/games/gamescope-legacy/legacy-720p.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 072ebb67cd4a88fd0f5db22a92a46f8316f28a46 Mon Sep 17 00:00:00 2001 -From: Matthew Anderson -Date: Tue, 25 Jul 2023 18:05:05 -0500 -Subject: [PATCH] Set default to native resolution of display if Steam tries to - force 720p/800p - -You can select 720p/800p still in game or via Steam's resolution setting -Steam > Settings > Display > Resolution - -This effectively reverts the changes Valve made a year ago forcing us to -720p. ---- - src/steamcompmgr.cpp | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/src/steamcompmgr.cpp b/src/steamcompmgr.cpp -index 52dd8d1cf..5b0fa6e52 100644 ---- a/src/steamcompmgr.cpp -+++ b/src/steamcompmgr.cpp -@@ -5202,6 +5202,13 @@ handle_property_notify(xwayland_ctx_t *ctx, XPropertyEvent *ev) - size_t server_idx = size_t{ xwayland_mode_ctl[ 0 ] }; - int width = xwayland_mode_ctl[ 1 ]; - int height = xwayland_mode_ctl[ 2 ]; -+ -+ if ( g_nOutputWidth != 1280 && width == 1280 ) -+ { -+ width = g_nOutputWidth; -+ height = g_nOutputHeight; -+ } -+ - bool allowSuperRes = !!xwayland_mode_ctl[ 3 ]; - - if ( !allowSuperRes ) \ No newline at end of file diff --git a/anda/games/gamescope-legacy/stb.pc b/anda/games/gamescope-legacy/stb.pc deleted file mode 100644 index 02c304a9fa..0000000000 --- a/anda/games/gamescope-legacy/stb.pc +++ /dev/null @@ -1,7 +0,0 @@ -prefix=/usr -includedir=${prefix}/include/stb - -Name: stb -Description: Single-file public domain libraries for C/C++ -Version: 0.1.0 -Cflags: -I${includedir} diff --git a/anda/games/gamescope-legacy/v2-0001-always-send-ctrl-1-2-to-steam-s-wayland-session.patch b/anda/games/gamescope-legacy/v2-0001-always-send-ctrl-1-2-to-steam-s-wayland-session.patch deleted file mode 100644 index ad97a5fcc0..0000000000 --- a/anda/games/gamescope-legacy/v2-0001-always-send-ctrl-1-2-to-steam-s-wayland-session.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 35e001dc59a44227d670c667a85a6ef5472eee58 Mon Sep 17 00:00:00 2001 -From: antheas -Date: Sat, 20 Jul 2024 01:23:19 +0300 -Subject: [PATCH v2] always send ctrl+1/2 to steam's wayland session - ---- - src/wlserver.cpp | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -diff --git a/src/wlserver.cpp b/src/wlserver.cpp -index 1852be9..7de737d 100644 ---- a/src/wlserver.cpp -+++ b/src/wlserver.cpp -@@ -369,7 +369,12 @@ static void wlserver_handle_key(struct wl_listener *listener, void *data) - keysym == XKB_KEY_XF86AudioLowerVolume || - keysym == XKB_KEY_XF86AudioRaiseVolume || - keysym == XKB_KEY_XF86PowerOff; -- if ( ( event->state == WL_KEYBOARD_KEY_STATE_PRESSED || event->state == WL_KEYBOARD_KEY_STATE_RELEASED ) && forbidden_key ) -+ -+ // Check for steam keys (ctrl + 1/2) -+ bool is_steamshortcut = (keyboard->wlr->modifiers.depressed & WLR_MODIFIER_CTRL) && (keysym == XKB_KEY_1 || -+ keysym == XKB_KEY_2); -+ -+ if ( ( event->state == WL_KEYBOARD_KEY_STATE_PRESSED || event->state == WL_KEYBOARD_KEY_STATE_RELEASED ) && (forbidden_key || is_steamshortcut) ) - { - // Always send volume+/- to root server only, to avoid it reaching the game. - struct wlr_surface *old_kb_surf = wlserver.kb_focus_surface; -@@ -378,6 +383,9 @@ static void wlserver_handle_key(struct wl_listener *listener, void *data) - { - wlserver_keyboardfocus( new_kb_surf, false ); - wlr_seat_set_keyboard( wlserver.wlr.seat, keyboard->wlr ); -+ // Send modifiers to steam for it to work -+ if (is_steamshortcut) -+ wlr_seat_keyboard_notify_modifiers(wlserver.wlr.seat, &keyboard->wlr->modifiers); - wlr_seat_keyboard_notify_key( wlserver.wlr.seat, event->time_msec, event->keycode, event->state ); - wlserver_keyboardfocus( old_kb_surf, false ); - return; --- -2.45.2 diff --git a/anda/system/mesa-freeworld/Mesa-MLAA-License-Clarification-Email.txt b/anda/system/mesa-freeworld/Mesa-MLAA-License-Clarification-Email.txt deleted file mode 100644 index 30bdf2e9dd..0000000000 --- a/anda/system/mesa-freeworld/Mesa-MLAA-License-Clarification-Email.txt +++ /dev/null @@ -1,117 +0,0 @@ - -Subject: RE: Question about Mesa MLAA license -From: Jorge Jimenez -Date: 01/08/2013 12:50 PM -To: Tom Callaway -CC: "jorge@iryoku.com" - -Yes to both questions. - -Thanks, -Jorge - -From: Tom Callaway -Sent: January 8, 2013 6:49 PM -To: Jorge Jimenez -CC: jorge@iryoku.com -Subject: Re: Question about Mesa MLAA license - -On 01/08/2013 12:39 PM, Jorge Jimenez wrote: -> Hi Tom, -> -> What we meant with that is that we made an exception for clause 2. -> Instead of clause 2, in the case of the Mesa project, you have to name -> the technique Jimenez's MLAA in the config options of Mesa. We did that -> just to allow them to solve license issues. This exception should be for -> the Mesa project, and any project using Mesa, like Fedora. -> -> We want to widespread usage of our MLAA, so we want to avoid any kind of -> license complications. Hope current one is good for Fedora, if not -> please tell, and we'll see what we can do! - -Okay, a few more questions: - -* If Fedora decides to simply reproduce the quoted statement: -"Uses Jimenez's MLAA. Copyright (C) 2010 by Jorge Jimenez, Belen Masia, -Jose I. Echevarria, Fernando Navarro and Diego Gutierrez." - -Specifically, if this is done as part of documentation included with -Mesa, is that sufficient to meet clause 2 even if the Mesa config option -is not set as described in your exception? - -* Currently, the Mesa config option for MLAA says: "Morphological -anti-aliasing based on Jimenez\' MLAA. 0 to disable, 8 for default -quality". Is this in compliance with your exception? - -Thanks again, - -~tom - -== -Fedora Project - -Subject: RE: Question about Mesa MLAA license -From: Jorge Jimenez -Date: 01/08/2013 12:39 PM -To: "jorge@iryoku.com" , Tom Callaway - -Hi Tom, - -What we meant with that is that we made an exception for clause 2. -Instead of clause 2, in the case of the Mesa project, you have to name -the technique Jimenez's MLAA in the config options of Mesa. We did that -just to allow them to solve license issues. This exception should be for -the Mesa project, and any project using Mesa, like Fedora. - -We want to widespread usage of our MLAA, so we want to avoid any kind of -license complications. Hope current one is good for Fedora, if not -please tell, and we'll see what we can do! - -Cheers, -Jorge - -From: Tom Callaway -Sent: January 8, 2013 6:30 PM -To: jorge@iryoku.com -Subject: Question about Mesa MLAA license - -Jorge, - -Thanks for all of your fantastic graphics work! I have been auditing -Fedora (a popular distribution of Linux) for license compliance and I -came across your MLAA code in Mesa. - -The license says: - - * 2. Redistributions in binary form must reproduce the following -statement: - * - * "Uses Jimenez's MLAA. Copyright (C) 2010 by Jorge Jimenez, Belen Masia, - * Jose I. Echevarria, Fernando Navarro and Diego Gutierrez." - * - * Only for use in the Mesa project, this point 2 is filled by naming the - * technique Jimenez's MLAA in the Mesa config options. - -That wording is unclear. When you say "Only for use in the Mesa -project...", it seems like you could either be saying: - -- This code may only be used as part of Mesa. - -OR - -- In Mesa, you can comply with clause 2 by simply selecting "Jimenez's -MLAA" in the Mesa config options. - -***** - -If the first item is true, then we may have to remove the MLAA code from -Fedora's copy of Mesa. However, looking at the license on your SMAA -code, I do not believe it to be the case. Please let me know either way! - -Thanks in advance, - -Tom Callaway -Fedora Legal - -== -Fedora Project diff --git a/anda/system/mesa-freeworld/anda.hcl b/anda/system/mesa-freeworld/anda.hcl deleted file mode 100644 index b10d43824d..0000000000 --- a/anda/system/mesa-freeworld/anda.hcl +++ /dev/null @@ -1,9 +0,0 @@ -project pkg { - arches = ["x86_64", "aarch64", "i386"] - rpm { - spec = "mesa-freeworld.spec" - } - labels { - updbranch = 1 - } -} diff --git a/anda/system/mesa-freeworld/mesa-freeworld.spec b/anda/system/mesa-freeworld/mesa-freeworld.spec deleted file mode 100644 index 71678bb6a2..0000000000 --- a/anda/system/mesa-freeworld/mesa-freeworld.spec +++ /dev/null @@ -1,602 +0,0 @@ -%global srcname mesa -%global _description These drivers contains video acceleration codecs for decoding/encoding H.264 and H.265 \ -algorithms and decoding only VC1 algorithm. -%ifnarch s390x -%global with_hardware 1 -%global with_radeonsi 1 -%global with_vmware 1 -%global with_vulkan_hw 0 -%global with_vdpau 1 -%global with_va 1 -%if !0%{?rhel} -%global with_r300 1 -%global with_r600 1 -%global with_nine 0 -#%%if 0%%{?with_vulkan_hw} -%global with_nvk %{with_vulkan_hw} -#%%endif -%global with_omx 0 -%global with_opencl 0 -%endif -#%%global base_vulkan %%{?with_vulkan_hw:,amd}%%{!?with_vulkan_hw:%%{nil}} -%endif - -#%%ifnarch %%{ix86} -%if !0%{?rhel} -%global with_teflon 0 -%endif -#%%endif - -%ifarch %{ix86} x86_64 -%global with_crocus 0 -%global with_i915 0 -%global with_iris 0 -%global with_xa 0 -%global with_intel_clc 0 -#%%global intel_platform_vulkan %%{?with_vulkan_hw:,intel,intel_hasvk}%%{!?with_vulkan_hw:%%{nil}} -%endif -#%%ifarch x86_64 -#%%if !0%%{?with_vulkan_hw} -%global with_intel_vk_rt 0 -#%%endif -#%%endif - -%ifarch aarch64 x86_64 %{ix86} -%global with_kmsro 0 -%if !0%{?rhel} -%global with_lima 0 -%global with_vc4 0 -%global with_etnaviv 0 -%global with_tegra 0 -%endif -%global with_freedreno 0 -%global with_panfrost 0 -%global with_v3d 0 -%global with_xa 0 -#%%global extra_platform_vulkan %%{?with_vulkan_hw:,broadcom,freedreno,panfrost,imagination-experimental}%%{!?with_vulkan_hw:%%{nil}} -%endif - -%if !0%{?rhel} -%global with_libunwind 1 -%global with_lmsensors 1 -%endif - -%ifarch %{valgrind_arches} -%bcond_without valgrind -%else -%bcond_with valgrind -%endif - -#%%global vulkan_drivers swrast%%{?base_vulkan}%%{?intel_platform_vulkan}%%{?extra_platform_vulkan}%%{?with_nvk:,nouveau} - -Name: %{srcname}-freeworld -Summary: Mesa graphics libraries -%global ver 24.3.0 -Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(ver)} -Release: 1%{?dist} -License: MIT AND BSD-3-Clause AND SGI-B-2.0 -URL: http://www.mesa3d.org - -Source0: https://archive.mesa3d.org/%{srcname}-%{ver}.tar.xz -# src/gallium/auxiliary/postprocess/pp_mlaa* have an ... interestingly worded license. -# Source1 contains email correspondence clarifying the license terms. -# Fedora opts to ignore the optional part of clause 2 and treat that code as 2 clause BSD. -Source1: Mesa-MLAA-License-Clarification-Email.txt -Source2: org.mesa3d.vaapi.freeworld.metainfo.xml -Source3: org.mesa3d.vdpau.freeworld.metainfo.xml - -BuildRequires: meson >= 1.3.0 -BuildRequires: gcc -BuildRequires: gcc-c++ -BuildRequires: gettext -%if 0%{?with_hardware} -BuildRequires: kernel-headers -%endif -# We only check for the minimum version of pkgconfig(libdrm) needed so that the -# SRPMs for each arch still have the same build dependencies. See: -# https://bugzilla.redhat.com/show_bug.cgi?id=1859515 -BuildRequires: pkgconfig(libdrm) >= 2.4.122 -%if 0%{?with_libunwind} -BuildRequires: pkgconfig(libunwind) -%endif -BuildRequires: pkgconfig(expat) -BuildRequires: pkgconfig(zlib) >= 1.2.3 -BuildRequires: pkgconfig(libzstd) -BuildRequires: pkgconfig(libselinux) -BuildRequires: pkgconfig(wayland-scanner) -BuildRequires: pkgconfig(wayland-protocols) >= 1.34 -BuildRequires: pkgconfig(wayland-client) >= 1.11 -BuildRequires: pkgconfig(wayland-server) >= 1.11 -BuildRequires: pkgconfig(wayland-egl-backend) >= 3 -BuildRequires: pkgconfig(x11) -BuildRequires: pkgconfig(xext) -BuildRequires: pkgconfig(xdamage) >= 1.1 -BuildRequires: pkgconfig(xfixes) -BuildRequires: pkgconfig(xcb-glx) >= 1.8.1 -BuildRequires: pkgconfig(xxf86vm) -BuildRequires: pkgconfig(xcb) -BuildRequires: pkgconfig(x11-xcb) -BuildRequires: pkgconfig(xcb-dri2) >= 1.8 -BuildRequires: pkgconfig(xcb-dri3) -BuildRequires: pkgconfig(xcb-present) -BuildRequires: pkgconfig(xcb-sync) -BuildRequires: pkgconfig(xshmfence) >= 1.1 -BuildRequires: pkgconfig(dri2proto) >= 2.8 -BuildRequires: pkgconfig(glproto) >= 1.4.14 -BuildRequires: pkgconfig(xcb-xfixes) -BuildRequires: pkgconfig(xcb-randr) -BuildRequires: pkgconfig(xrandr) >= 1.3 -BuildRequires: bison -BuildRequires: flex -%if 0%{?with_lmsensors} -BuildRequires: lm_sensors-devel -%endif -%if 0%{?with_vdpau} -BuildRequires: pkgconfig(vdpau) >= 1.1 -%endif -%if 0%{?with_va} -BuildRequires: pkgconfig(libva) >= 0.38.0 -%endif -%if 0%{?with_omx} -BuildRequires: pkgconfig(libomxil-bellagio) -%endif -BuildRequires: pkgconfig(libelf) -BuildRequires: pkgconfig(libglvnd) >= 1.3.2 -BuildRequires: llvm-devel >= 7.0.0 -%if 0%{?fedora} >= 41 -BuildRequires: llvm-devel >= 19.0.0 -%endif -%if 0%{?with_teflon} -BuildRequires: flatbuffers-devel -BuildRequires: flatbuffers-compiler -BuildRequires: xtensor-devel -%endif -%if 0%{?with_opencl} || 0%{?with_nvk} || 0%{?with_intel_clc} -BuildRequires: rust-packaging -%endif -%ifarch %{ix86} x86_64 -BuildRequires: clang-devel -BuildRequires: bindgen -BuildRequires: pkgconfig(libclc) -BuildRequires: pkgconfig(SPIRV-Tools) -BuildRequires: pkgconfig(LLVMSPIRVLib) -%endif -%if 0%{?with_nvk} -BuildRequires: cbindgen -BuildRequires: (crate(paste) >= 1.0.14 with crate(paste) < 2) -BuildRequires: (crate(proc-macro2) >= 1.0.56 with crate(proc-macro2) < 2) -BuildRequires: (crate(quote) >= 1.0.25 with crate(quote) < 2) -BuildRequires: (crate(syn/clone-impls) >= 2.0.15 with crate(syn/clone-impls) < 3) -BuildRequires: (crate(unicode-ident) >= 1.0.6 with crate(unicode-ident) < 2) -%endif -%if %{with valgrind} -BuildRequires: pkgconfig(valgrind) -%endif -BuildRequires: python3-devel -BuildRequires: python3-mako -%if 0%{?with_intel_clc} -BuildRequires: python3-ply -%endif -BuildRequires: python3-pycparser -BuildRequires: python3-pyyaml -BuildRequires: vulkan-headers -BuildRequires: glslang -%if 0%{?with_vulkan_hw} -BuildRequires: pkgconfig(vulkan) -%endif - -%description -%{_description} - -%if 0%{?with_va} -%package -n %{srcname}-va-drivers-freeworld -Summary: Mesa-based VA-API drivers -Requires: %{srcname}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version} -Conflicts: %{srcname}-va-drivers%{?_isa} - -%description -n %{srcname}-va-drivers-freeworld -%{_description} -%endif - -%if 0%{?with_vdpau} -%package -n %{srcname}-vdpau-drivers-freeworld -Summary: Mesa-based VDPAU drivers -Requires: %{srcname}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version} -Conflicts: %{srcname}-vdpau-drivers%{?_isa} - -%description -n %{srcname}-vdpau-drivers-freeworld -%{_description} -%endif -%prep -%autosetup -n %{srcname}-%{ver} -p1 -cp %{SOURCE1} docs/ - -%build -# ensure standard Rust compiler flags are set -export RUSTFLAGS="%build_rustflags" - -# We've gotten a report that enabling LTO for mesa breaks some games. See -# https://bugzilla.redhat.com/show_bug.cgi?id=1862771 for details. -# Disable LTO for now -%define _lto_cflags %{nil} - -%meson \ - --libdir=%{_libdir}/dri-freeworld \ - -Dvdpau-libs-path=%{_libdir}/vdpau \ - -Ddri-drivers-path=%{_libdir}/dri-freeworld \ - -Dva-libs-path=%{_libdir}/dri-freeworld \ - -Dplatforms=x11,wayland \ - -Dosmesa=false \ -%if 0%{?with_hardware} - -Dgallium-drivers=swrast,virgl,nouveau%{?with_r300:,r300}%{?with_crocus:,crocus}%{?with_i915:,i915}%{?with_iris:,iris}%{?with_vmware:,svga}%{?with_radeonsi:,radeonsi}%{?with_r600:,r600}%{?with_freedreno:,freedreno}%{?with_etnaviv:,etnaviv}%{?with_tegra:,tegra}%{?with_vc4:,vc4}%{?with_v3d:,v3d}%{?with_lima:,lima}%{?with_panfrost:,panfrost}%{?with_vulkan_hw:,zink} \ -%else - -Dgallium-drivers=swrast,virgl \ -%endif - -Dgallium-vdpau=%{?with_vdpau:enabled}%{!?with_vdpau:disabled} \ - -Dgallium-va=%{?with_va:enabled}%{!?with_va:disabled} \ - -Dgallium-xa=%{!?with_xa:enabled}%{?with_xa:disabled} \ - -Dgallium-nine=%{!?with_nine:true}%{?with_nine:false} \ - -Dteflon=%{!?with_teflon:true}%{?with_teflon:false} \ - -Dgallium-opencl=%{!?with_opencl:icd}%{?with_opencl:disabled} \ -%if 0%{?with_opencl} - -Dgallium-rusticl=true \ -%endif - -Dvideo-codecs=h264dec,h264enc,h265dec,h265enc,vc1dec,av1dec,av1enc,vp9dec \ - -Dvulkan-drivers=%{?vulkan_drivers} \ - -Dvulkan-layers=device-select \ - -Dshared-glapi=enabled \ - -Dgles1=disabled \ - -Dgles2=disabled \ - -Dopengl=true \ - -Dgbm=disabled \ - -Dglx=dri \ - -Degl=disabled \ - -Dglvnd=false \ -%if 0%{?with_intel_clc} - -Dintel-clc=enabled \ -%endif - -Dintel-rt=%{!?with_intel_vk_rt:enabled}%{?with_intel_vk_rt:disabled} \ - -Dmicrosoft-clc=disabled \ - -Dllvm=enabled \ - -Dshared-llvm=enabled \ - -Dvalgrind=%{?with_valgrind:enabled}%{!?with_valgrind:disabled} \ - -Dbuild-tests=false \ - -Dselinux=true \ -%if !0%{?with_libunwind} - -Dlibunwind=disabled \ -%endif -%if !0%{?with_lmsensors} - -Dlmsensors=disabled \ -%endif - -Dandroid-libbacktrace=disabled \ -%ifarch %{ix86} - -Dglx-read-only-text=true \ -%endif - %{nil} -%meson_build - -%install -%meson_install - -# install Appdata files -mkdir -p %{buildroot}%{_metainfodir} -install -pm 0644 %{SOURCE2} %{buildroot}%{_metainfodir} -install -pm 0644 %{SOURCE3} %{buildroot}%{_metainfodir} - -# libvdpau opens the versioned name, don't bother including the unversioned -rm -vf %{buildroot}%{_libdir}/vdpau/*.so -# likewise glvnd -rm -vf %{buildroot}%{_libdir}/libGLX_mesa.so -rm -vf %{buildroot}%{_libdir}/libEGL_mesa.so -# XXX can we just not build this -rm -vf %{buildroot}%{_libdir}/libGLES* - -# glvnd needs a default provider for indirect rendering where it cannot -# determine the vendor -ln -s %{_libdir}/libGLX_mesa.so.0 %{buildroot}%{_libdir}/libGLX_system.so.0 - -# this keeps breaking, check it early. note that the exit from eu-ftr is odd. -pushd %{buildroot}%{_libdir} -for i in libOSMesa*.so libGL.so ; do - eu-findtextrel $i && exit 1 -done -popd - -# strip unneeded files from va-api and vdpau -rm -rf %{buildroot}%{_datadir}/{drirc.d,glvnd,vulkan} -rm -rf %{buildroot}%{_libdir}{,/dri-freeworld}/{d3d,EGL,gallium-pipe,libGLX,pkgconfig} -rm -rf %{buildroot}%{_includedir}/{d3dadapter,EGL,GL,KHR} -rm -fr %{buildroot}%{_sysconfdir}/OpenGL -rm -fr %{buildroot}%{_libdir}{,/dri-freeworld}/libGL.so* -rm -fr %{buildroot}%{_libdir}/libgallium-*.so -rm -fr %{buildroot}%{_libdir}{,/dri-freeworld}/libglapi.so* -rm -fr %{buildroot}%{_libdir}/libOSMesa.so* -rm -fr %{buildroot}%{_libdir}/pkgconfig/osmesa.pc -rm -fr %{buildroot}%{_libdir}/libgbm.so* -rm -fr %{buildroot}%{_includedir}/gbm.h -rm -fr %{buildroot}%{_libdir}{,/dri-freeworld}/libxatracker.so* -rm -fr %{buildroot}%{_includedir}/xa_*.h -rm -fr %{buildroot}%{_libdir}/libMesaOpenCL.so* -rm -fr %{buildroot}%{_libdir}/dri/*_dri.so -rm -fr %{buildroot}%{_libdir}/libvulkan*.so -rm -fr %{buildroot}%{_libdir}{,/dri-freeworld}/libVkLayer_MESA_device_select.so - -%if 0%{?with_va} -%files -n %{srcname}-va-drivers-freeworld -%{_libdir}/dri-freeworld/libgallium-%{ver}.so -%{_libdir}/dri-freeworld/nouveau_drv_video.so -%if 0%{?with_r600} -%{_libdir}/dri-freeworld/r600_drv_video.so -%endif -%if 0%{?with_radeonsi} -%{_libdir}/dri-freeworld/radeonsi_drv_video.so -%endif -%{_libdir}/dri-freeworld/virtio_gpu_drv_video.so -%{_metainfodir}/org.mesa3d.vaapi.freeworld.metainfo.xml -%license docs/license.rst -%endif - -%if 0%{?with_vdpau} -%files -n %{srcname}-vdpau-drivers-freeworld -%{_libdir}/vdpau/libvdpau_nouveau.so.1* -%if 0%{?with_r600} -%{_libdir}/vdpau/libvdpau_r600.so.1* -%endif -%if 0%{?with_radeonsi} -%{_libdir}/vdpau/libvdpau_radeonsi.so.1* -%endif -%{_libdir}/vdpau/libvdpau_virtio_gpu.so.1* -%{_metainfodir}/org.mesa3d.vdpau.freeworld.metainfo.xml -%license docs/license.rst -%endif - -%changelog -* Mon Oct 28 2024 Thorsten Leemhuis - 24.2.5-1 -- Update to 24.2.5 - -* Fri Oct 04 2024 Thorsten Leemhuis - 24.2.4-1 -- Update to 24.2.4 -- drop 0001-gallium-Don-t-pass-avx512er-and-avx512pf-features-on.patch - -* Sun Sep 29 2024 Thorsten Leemhuis - 24.2.3-5 -- rebuild for -Ehuman-not-enough-tee-error - -* Sun Sep 29 2024 Thorsten Leemhuis - 24.2.3-4 -- add 0001-gallium-Don-t-pass-avx512er-and-avx512pf-features-on.patch - -* Wed Sep 25 2024 Thorsten Leemhuis - 24.2.3-3 -- temporarily require llvm 19 for Fedora 41 and up - -* Fri Sep 20 2024 Nicolas Chauvet - 24.2.3-2 -- Attempt to complement Fedora - -* Thu Sep 19 2024 Thorsten Leemhuis - 24.2.3-1 -- Update to 24.2.3 -- Sync a few bits with mesa.spec from fedora - -* Fri Sep 6 2024 Thorsten Leemhuis - 24.2.2-1 -- Update to 24.2.2 -- Sync a few bits with mesa.spec from fedora - -* Thu Aug 29 2024 Thorsten Leemhuis - 24.2.1-1 -- Update to 24.2.1 -- Sync a few bits with mesa.spec from fedora - -* Mon Aug 19 2024 Thorsten Leemhuis - 24.2.0-1 -- Update to 24.2.0 - -* Thu Aug 8 2024 Thorsten Leemhuis - 24.2.0~rc4-1 -- Update to 24.2.0-rc4 - -* Fri Aug 02 2024 RPM Fusion Release Engineering - 24.2.0~rc3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Thu Aug 1 2024 Thorsten Leemhuis - 24.2.0~rc3-1 -- Update to 24.2.0-rc3 -- Drop upstreamed patch - -* Fri Jul 19 2024 Thorsten Leemhuis - 24.1.4-2 -- add revert-6746d4df-to-fix-av1-slice_data_offset.patch - -* Thu Jul 18 2024 Thorsten Leemhuis - 24.1.4-1 -- Update to 24.1.4 -- Drop upstreamed patch - -* Mon Jul 01 2024 Leigh Scott - 24.1.2-2 -- Fix mutter crash when calling eglQueryDmaBufModifiersEXT -- Fix GNOME and KDE crash with some AMD GPUs - -* Thu Jun 20 2024 Thorsten Leemhuis - 24.1.2-1 -- Update to 24.1.2 - -* Thu Jun 06 2024 Thorsten Leemhuis - 24.1.1-1 -- Update to 24.1.1 - -* Thu May 23 2024 Thorsten Leemhuis - 24.1.0-1 -- Update to 24.1.0 - -* Fri May 17 2024 Thorsten Leemhuis - 24.1.0~rc4-2 -- disable teflon on ix86, too - -* Thu May 16 2024 Thorsten Leemhuis - 24.1.0~rc4-1 -- Update to 24.1.0-rc4 -- Sync a few more bits with mesa.spec from fedora - -* Thu May 9 2024 Thorsten Leemhuis - 24.1.0~rc3-1 -- Update to 24.1.0-rc3 -- Sync with_intel_vk_rt bits with mesa.spec from fedora -- Unconditionally BR clang-devel, bindgen, libclc, SPIRV-Tools, and - LLVMSPIRVLib which are needed now - -* Tue May 7 2024 Thorsten Leemhuis - 24.1.0~rc2-1 -- Update to 24.1.0-rc2 - -* Thu Apr 25 2024 Thorsten Leemhuis - 24.0.6-1 -- Update to 24.0.6 - -* Thu Apr 11 2024 Thorsten Leemhuis - 24.0.5-1 -- Update to 24.0.5 - -* Mon Apr 1 2024 Thorsten Leemhuis - 24.0.4-1 -- Update to 24.0.4 - -* Thu Mar 14 2024 Thorsten Leemhuis - 24.0.3-1 -- Update to 24.0.3 - -* Wed Mar 6 2024 Thorsten Leemhuis - 24.0.2-3 -- Disable nvk explicitly to avoid BR on rust-packaging - -* Wed Mar 6 2024 Thorsten Leemhuis - 24.0.2-2 -- Update to 24.0.2 - -* Thu Feb 22 2024 Thorsten Leemhuis - 24.0.0-2 -- enable vp9, av1 codecs due to new meson build flag (#6873) - -* Fri Feb 02 2024 Thorsten Leemhuis - 24.0.0-1 -- Update to 24.0.0 - -* Fri Jan 19 2024 Thorsten Leemhuis - 24.0.0~rc2-1 -- Update to 24.0.0-rc2 - -* Thu Jan 11 2024 Thorsten Leemhuis - 23.3.3-1 -- Update to 23.3.3 - -* Wed Jan 3 2024 Thorsten Leemhuis - 23.3.2-1 -- Update to 23.3.2 - -* Mon Dec 18 2023 Thorsten Leemhuis - 23.3.1-1 -- Update to 23.3.1 - -* Fri Dec 15 2023 Thorsten Leemhuis - 23.3.0-2 -- sync a few bit with fedora's mesa.spec - -* Fri Dec 1 2023 Thorsten Leemhuis - 23.3.0-1 -- Update to 23.3.0 - -* Thu Nov 30 2023 Thorsten Leemhuis - 23.3.0~rc5-1 -- Update to 23.3.0-rc5 - -* Thu Nov 2 2023 Thorsten Leemhuis - 23.3.0~rc2-1 -- Update to 23.3.0-rc2 - -* Thu Oct 26 2023 Thorsten Leemhuis - 23.3.0~rc1-1 -- Update to 23.3.0-rc1 - -* Tue Oct 10 2023 Thorsten Leemhuis - 23.2.1-2 -- follow Fedora: backport MR #24045 to fix Iris crashes (RHBZ#2238711) -- temporarily hard require llvm16, as that's what's used by fedora - -* Sat Sep 30 2023 Thorsten Leemhuis - 23.2.1-1 -- Update to 23.2.1 - -* Wed Sep 6 2023 Thorsten Leemhuis - 23.2.0~rc3.1 -- Update to 23.2.0-rc3 -- sync a few spec file bits with Fedora's mesa package - -* Fri Aug 11 2023 Thorsten Leemhuis - 23.2.0~rc1.1 -- Update to 23.2.0-rc2 - -* Thu Aug 3 2023 Thorsten Leemhuis - 23.1.5-1 -- Update to 23.1.5 - -* Sun Jul 23 2023 Thorsten Leemhuis - 23.1.4-1 -- Update to 23.1.4 - -* Fri Jun 23 2023 Thorsten Leemhuis - 23.1.3-1 -- Update to 23.1.3 - -* Mon Jun 12 2023 Thorsten Leemhuis - 23.1.2-1 -- Update to 23.1.2 -- sync a few spec file bits with Fedora's mesa package - -* Fri May 26 2023 Thorsten Leemhuis - 23.1.1-1 -- Update to 23.1.1 - -* Tue May 23 2023 Thorsten Leemhuis - 23.1.0-1 -- Update to 23.1.0 -- sync a few spec file bits with Fedora's mesa package - -* Tue Apr 25 2023 Thorsten Leemhuis - 23.0.3-1 -- Update to 23.0.3 - -* Thu Apr 20 2023 Thorsten Leemhuis - 23.0.2-1.1 -- Re-introduce Conflicts (rfbz#6612, kwizart) -- Enforces version to avoid miss-match with fedora (rfbz#6613, kwizart) - -* Thu Apr 13 2023 Thorsten Leemhuis - 23.0.2-1 -- Update to 23.0.2 - -* Tue Apr 11 2023 Thorsten Leemhuis - 23.0.1-2 -- Rebuild for LLVM 16 - -* Sat Mar 25 2023 Thorsten Leemhuis - 23.0.1-1 -- Update to 23.0.1 - -* Thu Feb 23 2023 Thorsten Leemhuis - 23.0.0-1 -- Update to 23.0.0 - -* Thu Feb 16 2023 Luya Tshimbalanga - 23.0.0~rc4-2 -- Remove trailed .1 in release tag - -* Thu Feb 2 2023 Thorsten Leemhuis - 23.0.0~rc4-1 -- Update to 23.0.0-rc4 - -* Mon Jan 30 2023 Thorsten Leemhuis - 23.0.0~rc3-1 -- Update to 23.0.0-rc3 - -* Wed Jan 18 2023 Luya Tshimbalanga - 22.3.3-2.1 -- Drop conflicts with provides - -* Tue Jan 17 2023 Luya Tshimbalanga - 22.3.3-2 -- Fix dependencies issues between Fedora and RPM Fusion - -* Thu Jan 12 2023 Thorsten Leemhuis - 22.3.3-1 -- Update to 22.3.3 - -* Wed Jan 4 2023 Luya Tshimbalanga - 22.3.2-3 -- fix typo on conflict condition for vdpau sub-package - -* Sun Jan 1 2023 Luya Tshimbalanga - 22.3.2-2 -- Add conflicts to resolve dependencies from Fedora repo on update - -* Sat Dec 31 2022 Thorsten Leemhuis - 22.3.2-1 -- Update to 22.3.2 - -* Mon Dec 19 2022 Thorsten Leemhuis - 22.3.1-1 -- adjust placement of a few files entries to stay in sync with Fedora; while at it - make it more obvious that the license files are specific to rpmfusion - -* Mon Dec 19 2022 Thorsten Leemhuis - 22.3.1-1 -- Update to 22.3.1 -- sync a few bits with Fedora's mesa.spec - -* Sun Nov 13 2022 Vitaly Zaitsev - 22.3.0~rc2-2 -- Updated to version 22.3.0-rc2. - -* Sun Nov 13 2022 Vitaly Zaitsev - 22.2.3-1 -- Updated to version 22.2.3. - -* Sun Nov 6 2022 Luya Tshimbalanga - 22.2.2-1 -- Update to 22.2.2 - -* Thu Oct 13 2022 Luya Tshimbalanga - 22.2.1-1 -- Update to 22.2.1 -- Add appdata files for each subpackage - -* Wed Oct 5 2022 Luya Tshimbalanga - 22.2.0-4 -- Drop unneeded omx support -- Add missing license for each files - -* Sun Oct 2 2022 Luya Tshimbalanga - 22.2.0-3 -- Rename vaapi to va -- Broaden description -- Add Enhancement line -- Clean up spec file - -* Sat Oct 1 2022 Luya Tshimbalanga - 22.2.0-2 -- Drop unsupported autospec in rpmfusion infra -- Enable h264, h265 and vc1 codecs -- Re-enable vdpau and omx (OpenMax) support - -* Sat Oct 1 2022 Luya Tshimbalanga - 22.2.0-1 -- Initial release diff --git a/anda/system/mesa-freeworld/org.mesa3d.vaapi.freeworld.metainfo.xml b/anda/system/mesa-freeworld/org.mesa3d.vaapi.freeworld.metainfo.xml deleted file mode 100644 index a0091212a1..0000000000 --- a/anda/system/mesa-freeworld/org.mesa3d.vaapi.freeworld.metainfo.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - org.mesa3d.vaapi.freeworld - Video Acceleration API - Video Acceleration API Driver - -

- The Mesa VA-API (Video Acceleration API) - user mode driver brings hardware accelerated decoding, encoding, - and video post processing for AMD graphics processing units and NVIDIA - counterpart running on Nouveau driver. The drive provides support for H264, AVC and VC-1. -

-
- - https://github.com/intel/intel-media-driver - CC0-1.0 - MIT - MESA 3D - - AMD - Nouveau - NVIDIA - driver - VA-API - vaapi - HW - Media - Video - Decode - Encode - hevc - h264 - vp8 - vp9 - - https://bugzilla.rpmfusion.org - mesa-freeworld-owner@rpmfusion.org -
diff --git a/anda/system/mesa-freeworld/org.mesa3d.vdpau.freeworld.metainfo.xml b/anda/system/mesa-freeworld/org.mesa3d.vdpau.freeworld.metainfo.xml deleted file mode 100644 index 4991da06d2..0000000000 --- a/anda/system/mesa-freeworld/org.mesa3d.vdpau.freeworld.metainfo.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - org.mesa3d.vdpau.freeworld - Video Decode and Presentation API for UNIX Driver - Accelerated Linux Graphics Driver - -

- The Mesa VA-API (Video Decode and Presentation API for UNIX) - user mode driver provides an interface to video decode acceleration and presentation hardware present in AMD graphics processing units and NVIDIA - counterpart running on Nouveau driver. The drive provides support for H264, AVC and VC-1. -

-
- - https://github.com/intel/intel-media-driver - CC0-1.0 - MIT - MESA 3D - - AMD - Nouveau - NVIDIA - driver - VDPAU - vdpau - HW - Media - Video - Decode - Encode - hevc - h264 - vp8 - vp9 - - https://bugzilla.rpmfusion.org - mesa-freeworld-owner@rpmfusion.org -
diff --git a/anda/system/mesa-freeworld/update.rhai b/anda/system/mesa-freeworld/update.rhai deleted file mode 100644 index 55ef4263cb..0000000000 --- a/anda/system/mesa-freeworld/update.rhai +++ /dev/null @@ -1,3 +0,0 @@ -import "andax/bump_extras.rhai" as bump; - -rpm.global("ver", bump::bodhi("mesa", labels.branch.as_bodhi_ver()));