Remove protobuf

Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
This commit is contained in:
Maksym Pavlenko committed 2026-01-08 15:40:54 -08:00
1 parent aca62ae10d
commit edb3e08697
5 files changed
-90

No files matched your search

-5
View File
@@ -24,10 +24,5 @@ script/setup/install-failpoint-binaries
script/setup/install-gotestsum
script/setup/install-teststat
script/setup/install-protobuf \
&& mkdir -p /go/src/usr/local/bin /go/src/usr/local/include \
&& mv /usr/local/bin/protoc /go/src/usr/local/bin/protoc \
&& mv /usr/local/include/google /go/src/usr/local/include/google
make binaries GO_BUILD_FLAGS="-mod=vendor"
sudo -E PATH=$PATH make install
-8
View File
@@ -94,14 +94,6 @@ jobs:
echo "GOPATH=${{ github.workspace }}" >> $GITHUB_ENV
echo "${{ github.workspace }}/bin" >> $GITHUB_PATH
- name: Install protobuf
run: |
sudo -E PATH=$PATH script/setup/install-protobuf
sudo chmod +x /usr/local/bin/protoc
sudo chmod og+rx /usr/local/include/google /usr/local/include/google/protobuf /usr/local/include/google/protobuf/compiler
sudo chmod -R og+r /usr/local/include/google/protobuf/
protoc --version
- run: script/setup/install-dev-tools
- run: make proto-fmt
- run: make check-protos check-api-descriptors
-2
View File
@@ -43,8 +43,6 @@ You need `git` to checkout the source code:
git clone https://github.com/containerd/containerd
```
For proper results, install the `protoc` release into `/usr/local` on your build system. When generating source code from `.proto` files, containerd may rely on some external protocol buffer files. These external dependencies should be added to the `/usr/local/include` directory. To install the appropriate version of `protoc` and download any necessary external protocol buffer files on a Linux host, run the install script located at `script/setup/install-protobuf`.
To enable optional [Btrfs](https://en.wikipedia.org/wiki/Btrfs) snapshotter, you should have the headers from the Linux kernel 4.12 or later.
The dependency on the kernel headers only affects users building containerd from source.
Users on older kernels may opt to not compile the btrfs support (see `BUILDTAGS=no_btrfs` below),
-4
View File
@@ -19,11 +19,7 @@
#
set -eu -o pipefail
# install `protobuild` and other commands
go install github.com/containerd/protobuild@v0.3.0
go install github.com/containerd/protobuild/cmd/go-fix-acronym@v0.3.0
go install github.com/cpuguy83/go-md2man/v2@v2.0.7
go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.1.5
go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.28.1
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.2.0
go install github.com/containerd/ttrpc/cmd/protoc-gen-go-ttrpc@v1.2.5
-71
View File
@@ -1,71 +0,0 @@
#!/usr/bin/env bash
# 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.
#
# Downloads and installs protobuf
#
set -eu -o pipefail
PROTOBUF_VERSION=3.20.1
PROTOBUF_DIR=$(mktemp -d)
# Use `go tool dist list` for the full list of targets
TARGET="$(go env GOOS)-$(go env GOARCH)"
TARGET_ORIG=$TARGET
# Fix up OS/ARCH to get proper download link for https://github.com/protocolbuffers/protobuf/releases
# Darwin
TARGET=${TARGET/darwin-amd64/osx-x86_64}
TARGET=${TARGET/darwin-arm64/osx-aarch_64}
# Windows
TARGET=${TARGET/windows-amd64/win64}
TARGET=${TARGET/windows-386/win32}
# Linux
TARGET=${TARGET/linux-386/linux-x86_32}
TARGET=${TARGET/linux-amd64/linux-x86_64}
TARGET=${TARGET/linux-arm64/linux-aarch_64}
TARGET=${TARGET/linux-ppc64le/linux-ppcle_64}
if [[ $TARGET != $TARGET_ORIG ]]
then
wget -O "$PROTOBUF_DIR/protobuf" "https://github.com/protocolbuffers/protobuf/releases/download/v$PROTOBUF_VERSION/protoc-$PROTOBUF_VERSION-$TARGET.zip"
unzip "$PROTOBUF_DIR/protobuf" -d /usr/local
else
# Build from source
wget -O "$PROTOBUF_DIR/protobuf" "https://github.com/protocolbuffers/protobuf/releases/download/v$PROTOBUF_VERSION/protobuf-cpp-$PROTOBUF_VERSION.zip"
unzip "$PROTOBUF_DIR/protobuf" -d /usr/src/protobuf
cd "/usr/src/protobuf/protobuf-$PROTOBUF_VERSION"
./autogen.sh
./configure --disable-shared
make
make check
make install
ldconfig
fi
rm -rf "$PROTOBUF_DIR"
# Download status.proto. grpc repos' one seems copied from
# https://github.com/googleapis/googleapis/blob/master/google/rpc/status.proto,
# but we use grpc's since the repos has tags/releases.
mkdir -p /usr/local/include/google/rpc
curl \
-L https://raw.githubusercontent.com/grpc/grpc/v1.45.2/src/proto/grpc/status/status.proto \
-o /usr/local/include/google/rpc/status.proto