Skip to content

Commit f70bde6

Browse files
committed
crit/images: fix name conflict with letsencrypt
The core.proto and so.proto files provided by criu have conflicting names with the proto files included in https://github.com/letsencrypt/boulder Since protobuf v1.26.0 a hard error is reported when a compiled Go program starts up that has multiple conflicting protobuf names linked into it. This results in the following error when running the podman tests: panic: proto: file "sa.proto" is already registered previously from: "github.com/letsencrypt/boulder/sa/proto" currently from: "github.com/checkpoint-restore/go-criu/v6/crit/images" See https://developers.google.com/protocol-buffers/docs/reference/go/faq#namespace-conflict goroutine 1 [running]: google.golang.org/protobuf/reflect/protoregistry.glob..func1({0x1b0b380?, 0xc0004ce240?}, {0x1b0b380?, 0xc0004ce280}) /home/rst/tmp/libpod/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go:56 +0x1ee google.golang.org/protobuf/reflect/protoregistry.(*Files).RegisterFile(0xc0001a8678, {0x1b204c8?, 0xc0000fc000?}) /home/rst/tmp/libpod/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go:130 +0x39c google.golang.org/protobuf/internal/filedesc.Builder.Build({{0x153c2e0, 0x34}, {0x25a1a80, 0x100, 0x100}, 0x0, 0x1, 0x0, 0x0, {0x1b10fd0, ...}, ...}) /home/rst/tmp/libpod/vendor/google.golang.org/protobuf/internal/filedesc/build.go:112 +0x1d6 google.golang.org/protobuf/internal/filetype.Builder.Build({{{0x153c2e0, 0x34}, {0x25a1a80, 0x100, 0x100}, 0x0, 0x1, 0x0, 0x0, {0x0, ...}, ...}, ...}) /home/rst/tmp/libpod/vendor/google.golang.org/protobuf/internal/filetype/build.go:138 +0x19d github.com/checkpoint-restore/go-criu/v6/crit/images.file_sa_proto_init() /home/rst/tmp/libpod/vendor/github.com/checkpoint-restore/go-criu/v6/crit/images/sa.pb.go:190 +0x198 github.com/checkpoint-restore/go-criu/v6/crit/images.file_core_proto_init() /home/rst/tmp/libpod/vendor/github.com/checkpoint-restore/go-criu/v6/crit/images/core.pb.go:1109 +0x6f github.com/checkpoint-restore/go-criu/v6/crit/images.init.12() /home/rst/tmp/libpod/vendor/github.com/checkpoint-restore/go-criu/v6/crit/images/core.pb.go:1095 +0x17 path is /home/rst/tmp/libpod/.coverage Unable to read coverage file cmd/podman/coverprofile to combine, open cmd/podman/coverprofile: no such file or directory This patch fixes this error by prepending the `criu-` prefix to core.proto and so.proto. Fixes: #94 Co-developed-by: Prajwal S N <[email protected]> Signed-off-by: Radostin Stoyanov <[email protected]>
1 parent 9f713a6 commit f70bde6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+460
-469
lines changed

crit/Makefile

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,17 @@ update-proto:
1717
rm ./images/*.proto || true
1818
git clone --depth 1 --branch master https://github.com/checkpoint-restore/criu criu-temp
1919
cp criu-temp/images/*.proto ./images/
20-
rm -R criu-temp
20+
rm -rf criu-temp
21+
# To prevent namespace conflict with proto files
22+
# in github.com/letsencrypt/boulder, we prepend
23+
# a prefix to the filenames.
24+
mv ./images/sa.proto ./images/criu-sa.proto
25+
sed -i 's/sa\.proto/criu-sa\.proto/g' images/*.proto
26+
mv ./images/core.proto ./images/criu-core.proto
27+
sed -i 's/core\.proto/criu-core\.proto/g' images/*.proto
2128

2229
gen-proto:
30+
rm -f ./images/*.pb.go
2331
@protoc \
2432
--proto_path=$(proto_path) \
2533
--go_out=$(proto_path) \

crit/images/apparmor.pb.go

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crit/images/autofs.pb.go

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crit/images/binfmt-misc.pb.go

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crit/images/bpfmap-data.pb.go

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crit/images/bpfmap-file.pb.go

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crit/images/cgroup.pb.go

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crit/images/core-aarch64.pb.go

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crit/images/core-arm.pb.go

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crit/images/core-mips.pb.go

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)