-
-
Notifications
You must be signed in to change notification settings - Fork 12.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Protobuf 21.2 #105712
Protobuf 21.2 #105712
Conversation
Btw, the extra commits are not unrelated. We need them to avoid breaking dependents when we ship the new version of protobuf. |
ah hah, yea I sort of deduced that but thanks for clarifying that for me. |
Let's try this to get Homebrew#105712 over the line.
Rebased again. Forgot the |
Let's try this to get #105712 over the line.
With new version scheme, do we know how upstream will update protobuf-all tarball when only a single language runtime is updated? Is it going to be modified in-place and trigger checksum issues in Homebrew? If I understand correctly, the upstream's version scheme is to allow them to keep the same version (e.g. 21.2) while independently modifying a language version (e.g. update Python from 4.21.2 to 5.21.2). On side note, this will hit same issue we saw in other PR #99843 (comment). Upstream has closed issues related to this so might need to manually pass |
I imagine this would trigger a minor or patch version bump - from the news item
so even if only one language has a small tweak, all languages get a new release with a new sha. You can see this (sort of) with the changes from v21.0 to v21.1. Note that although only the C++ and Python languages received changes (so two languages, not one like in your question), all languages received a version bump.
Yes I think you're understanding this correctly. |
Will need rebasing after #105756 is merged (leave that to me). Failures in formulae modified here (let's ignore dependents for now): All macOS
And on Monterey (both ARM and Intel)
Linux
Less sure about the rest. Presumably, a number of the |
Formulae affected by the
Not sure what's going on with
|
From grpc/grpc-web#1251, looks like This PR may be blocked until we get a release for https://github.com/protocolbuffers/protobuf-javascript |
Looks like 3.20.1 isn't affected by this problem. We might want to consider updating to that in the meantime. I think that should be enough to unblock mobile-shell/mosh#1210, which seems to be what prompted this PR. Or, does it make sense to add https://github.com/protocolbuffers/protobuf-javascript as a resource to |
I guess one option is to finish #99843 (3.20.1) and then rebase this PR to continue 21.2 update. Most of failures in that PR are probably the same as what we see here.
One related question is how many users would be impacted by missing Javascript functionality (as seen by users commenting in New Javascript runtime repo is still showing version as 3.20.1 https://github.com/protocolbuffers/protobuf-javascript/blob/main/package.json#L3. Haven't actually checked on how it is supposed to be built/used. |
Based on last commit in repo (PR: protocolbuffers/protobuf-javascript#1), it doesn't seem possible to build yet. |
...oh. That's unfortunate. |
Also, set `-DNDEBUG` to ensure that we have a proper destructor for `InternalMetadata`.
Also, set `-DNDEBUG` to ensure we have a proper destructor for `InternalMetadata`.
Also, set `-DNDEBUG` to ensure we have a proper destructor for `InternalMetadata`.
Conflict with `percona-xtrabackup` to avoid a `brew install` failure in CI. This needs a proper fix, but we use this for now to unblock the `protobuf` version bump.
Conflict with `percona-server` to avoid a `brew install` failure in CI. This needs a proper fix, but we use this for now to unblock the `protobuf` version bump.
Also, set `-DNDEBUG` to ensure that we have a proper destructor for `InternalMetadata`.
This doesn't work with the latest `protobuf`, so depend on `protobuf@3`, which provides Protobuf 3.20.1.
ARM builds are green. Also, we may want to migrate this to using CMake at some point: protocolbuffers/protobuf#10209 (comment) |
All builds are 🍏. |
system "cmake", ".", *std_cmake_args | ||
system "make", "install" | ||
# https://github.com/protocolbuffers/protobuf/issues/9947 | ||
ENV.append_to_cflags "-DNDEBUG" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a little weird that we need this, since I always thought that CMAKE_BUILD_TYPE=Release
already added -DNDEBUG
to C[XX]FLAGS
.
It turns out that this is only true for CMAKE_C_FLAGS
:
❯ cat CMakeLists.txt
cmake_minimum_required(VERSION 3.20)
project(flags C)
message(STATUS "CMAKE_C_FLAGS_RELEASE = ${CMAKE_C_FLAGS_RELEASE}")
message(STATUS "CMAKE_CXX_FLAGS_RELEASE = ${CMAKE_CXX_FLAGS_RELEASE}")
❯ cmake .
-- The C compiler identification is AppleClang 13.1.6.13160021
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- CMAKE_C_FLAGS_RELEASE = -O3 -DNDEBUG
-- CMAKE_CXX_FLAGS_RELEASE =
-- Configuring done
-- Generating done
-- Build files have been written to: /var/folders/kb/pf4wbfc512z47l56g5072l900000gn/T/tmp.KkoU3ADrCO
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, no, it's definitely there:
❯ cat CMakeLists.txt
cmake_minimum_required(VERSION 3.20)
project(flags C CXX)
message(STATUS "CMAKE_C_FLAGS_RELEASE = ${CMAKE_C_FLAGS_RELEASE}")
message(STATUS "CMAKE_CXX_FLAGS_RELEASE = ${CMAKE_CXX_FLAGS_RELEASE}")
❯ cmake .
-- The C compiler identification is AppleClang 13.1.6.13160021
-- The CXX compiler identification is AppleClang 13.1.6.13160021
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- CMAKE_C_FLAGS_RELEASE = -O3 -DNDEBUG
-- CMAKE_CXX_FLAGS_RELEASE = -O3 -DNDEBUG
-- Configuring done
-- Generating done
-- Build files have been written to: /var/folders/kb/pf4wbfc512z47l56g5072l900000gn/T/tmp.KkoU3ADrCO
We're close to merging Homebrew#105712, so we can remove the lines that were added in Homebrew#105715.
Thank you everyone who helped with this! |
Note: Starting with
v21.0-rc1,
protobuf is using a new versioning scheme.
Signed-off-by: Wolfgang Sanyer [email protected]
brew install --build-from-source <formula>
, where<formula>
is the name of the formula you're submitting?brew test <formula>
, where<formula>
is the name of the formula you're submitting?brew audit --strict <formula>
(after doingbrew install --build-from-source <formula>
)? If this is a new formula, does it passbrew audit --new <formula>
?This is a duplicate of #105661, where I accidentally deleted my branch b/c I
thought the PR was merged - or rather, I accidentally deleted my branch and then
the PR was closed and then I thought the PR was merged.