Part of: #3511
User Story
As a Fedora packager building the python3-openshell subpackage, I want the Python protobuf stubs to be generated as part of the build, so the package doesn't silently ship stale or missing files.
Problem Statement
python/openshell/_proto/*.py (the generated gRPC/protobuf stubs consumed by the Python SDK) is .gitignored and produced by tasks/scripts/generate_python_proto.py, not committed to the repo. openshell.spec's %install copies python/%{name}/_proto/*.py into the buildroot, but nothing in %prep/%build generates these files first.
Impact / Why This Matters
Without this fix, the python3-openshell subpackage either fails to build from a clean source tree, or worse, silently packages stale stubs left over from an unrelated local build — a correctness risk, not just a build failure.
Acceptance Criteria
Reproduction Steps
- Check out a clean tree (or extract a
git archive-style source tarball) with no prior local build artifacts.
- Run
rpmbuild -bb openshell.spec.
%install's install -pm 0644 python/%{name}/_proto/*.py ... fails — the files don't exist.
Environment
- Any environment building from a clean checkout/source tarball rather than a local dev tree that has already run proto generation
Part of: #3511
User Story
As a Fedora packager building the
python3-openshellsubpackage, I want the Python protobuf stubs to be generated as part of the build, so the package doesn't silently ship stale or missing files.Problem Statement
python/openshell/_proto/*.py(the generated gRPC/protobuf stubs consumed by the Python SDK) is.gitignored and produced bytasks/scripts/generate_python_proto.py, not committed to the repo.openshell.spec's%installcopiespython/%{name}/_proto/*.pyinto the buildroot, but nothing in%prep/%buildgenerates these files first.Impact / Why This Matters
Without this fix, the
python3-openshellsubpackage either fails to build from a clean source tree, or worse, silently packages stale stubs left over from an unrelated local build — a correctness risk, not just a build failure.Acceptance Criteria
%prepor%buildrunstasks/scripts/generate_python_proto.py(or equivalent) against the vendoredproto/*.protofiles, offlineBuildRequiresadded for whatever protoc/grpc-tools package this needs (e.g.python3-grpcio-toolsor a protobuf-compiler equivalent)%checkverifies the generated stub files exist and are importable (mirroring the existing Python SDK smoke test already in%check)Reproduction Steps
git archive-style source tarball) with no prior local build artifacts.rpmbuild -bb openshell.spec.%install'sinstall -pm 0644 python/%{name}/_proto/*.py ...fails — the files don't exist.Environment