https://bugzilla.redhat.com/show_bug.cgi?id=2015277
Bug ID: 2015277 Summary: Review Request: bazel - A java based build system Product: Fedora Version: rawhide Status: NEW Component: Package Review Assignee: nobody@fedoraproject.org Reporter: trix@redhat.com QA Contact: extras-qa@fedoraproject.org CC: package-review@lists.fedoraproject.org Target Milestone: --- Classification: Fedora
Spec URL: https://trix.fedorapeople.org/bazel.spec
SRPM URL: https://trix.fedorapeople.org/bazel-3.7.2-5.fc36.src.rpm
Description: Bazel is a java based build system.
Fedora Account System Username: trix
https://bugzilla.redhat.com/show_bug.cgi?id=2015277
Ben Beasley code@musicinmybrain.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |code@musicinmybrain.net
--- Comment #1 from Ben Beasley code@musicinmybrain.net --- I am totally unable to review a Java package, but I can provide some context.
Here is a link to the last attempt to get bazel in Fedora: https://bugzilla.redhat.com/show_bug.cgi?id=1470842 Here is a comment in that issue revisiting what would be needed as of Fedora 32: https://bugzilla.redhat.com/show_bug.cgi?id=1470842#c6
I assume that most of the issues raised there are still unresolved.
Here is the widely-used bazel COPR maintained by Vincent Batts: https://copr.fedorainfracloud.org/coprs/vbatts/bazel/
https://bugzilla.redhat.com/show_bug.cgi?id=2015277
--- Comment #2 from Ben Beasley code@musicinmybrain.net --- Here is a list of .jar and .zip files in the source archive:
./derived/distdir/1.25.0.zip ./derived/distdir/46993efdd33b73649796c5fc5c9efb193ae19d51.zip ./derived/distdir/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip ./derived/distdir/b1c40e1de81913a3c40e5948f78719c28152486d.zip ./derived/distdir/coverage_output_generator-v2.5.zip ./derived/distdir/e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip ./derived/distdir/java_tools_javac11_darwin-v10.0.zip ./derived/distdir/java_tools_javac11_linux-v10.0.zip ./derived/distdir/java_tools_javac11_windows-v10.0.zip ./derived/jars/com_google_protobuf/java/core/libcore.jar ./derived/jars/com_google_protobuf/java/core/liblite.jar ./derived/jars/com_google_protobuf/java/util/libutil.jar ./src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/LibraryModuleInfo.jar ./src/test/java/com/google/devtools/build/android/desugar/b72690624_testdata.jar ./src/test/java/com/google/devtools/build/android/desugar/classes_for_testing_type_inference/test_subjects.jar ./src/test/java/com/google/devtools/build/android/desugar/jacoco_0_7_5_default_method.jar ./src/test/java/com/google/devtools/build/android/desugar/unused_closed_resource.jar ./src/test/java/com/google/devtools/build/lib/bazel/repository/test_decompress_archive.zip ./src/test/py/bazel/testdata/bazel_external_repository_test/archive_with_symlink.zip ./src/tools/singlejar/data/empty.zip ./third_party/allocation_instrumenter/java-allocation-instrumenter-3.0.1.jar ./third_party/android_common/com.android_annotations_25.0.0.jar ./third_party/android_common/com.android.tools.build_builder_2.0.0.jar ./third_party/android_common/com.android.tools.build_builder-model_2.0.0.jar ./third_party/android_common/com.android.tools.build_builder-test-api_2.0.0.jar ./third_party/android_common/com.android.tools.build_manifest-merger_25.0.0-patched.jar ./third_party/android_common/com.android.tools_common_25.0.0.jar ./third_party/android_common/com.android.tools_dvlib_25.0.0.jar ./third_party/android_common/com.android.tools.external.lombok_lombok-ast_0.2.3.jar ./third_party/android_common/com.android.tools.layoutlib_layoutlib_26.1.2.jar ./third_party/android_common/com.android.tools.layoutlib_layoutlib_26.1.2-stripped.jar ./third_party/android_common/com.android.tools.lint_lint-api_25.0.0.jar ./third_party/android_common/com.android.tools.lint_lint-checks_25.0.0.jar ./third_party/android_common/com.android.tools_repository_25.0.0.jar ./third_party/android_common/com.android.tools_sdk-common_25.0.0-patched.jar ./third_party/android_common/com.android.tools_sdk-common_25.0.0-patched-stripped.jar ./third_party/android_common/com.android.tools_sdklib_25.0.0.jar ./third_party/animal_sniffer/animal-sniffer-annotations-1.14.jar ./third_party/antlr/antlr4-4.5.3.jar ./third_party/apache_commons_codec/commons-codec-1.10.jar ./third_party/apache_commons_collections/commons-collections-3.2.2.jar ./third_party/apache_commons_compress/apache-commons-compress-1.9.jar ./third_party/apache_commons_io/commons-io-2.4.jar ./third_party/apache_commons_lang/commons-lang-2.6.jar ./third_party/apache_commons_logging/commons-logging-1.1.1.jar ./third_party/apache_commons_pool2/commons-pool2-2.8.0.jar ./third_party/apache_velocity/velocity-1.7.jar ./third_party/api_client/google-api-client-1.22.0.jar ./third_party/api_client/google-api-client-jackson2-1.22.0.jar ./third_party/api_client/google-http-client-1.22.0-SNAPSHOT.jar ./third_party/api_client/google-http-client-jackson2-1.22.0.jar ./third_party/asm/asm-8.0.jar ./third_party/asm/asm-8.0-sources.jar ./third_party/asm/asm-analysis-8.0.jar ./third_party/asm/asm-analysis-8.0-sources.jar ./third_party/asm/asm-commons-8.0.jar ./third_party/asm/asm-commons-8.0-sources.jar ./third_party/asm/asm-tree-8.0.jar ./third_party/asm/asm-tree-8.0-sources.jar ./third_party/asm/asm-util-8.0.jar ./third_party/asm/asm-util-8.0-sources.jar ./third_party/auth/google-auth-library-credentials-0.17.1.jar ./third_party/auth/google-auth-library-oauth2-http-0.17.1.jar ./third_party/auto/auto-common-0.10.jar ./third_party/auto/auto-service-1.0-rc4.jar ./third_party/auto/auto-value-1.6.3rc1.jar ./third_party/auto/auto-value-annotations-1.6.3rc1.jar ./third_party/bazel_bootstrap/libautocodec-annotation.jar ./third_party/bazel_bootstrap/libautocodec-processor.jar ./third_party/bazel_bootstrap/libregistered-singleton.jar ./third_party/bazel_bootstrap/libserialization-constant-annotation.jar ./third_party/bazel_bootstrap/libserialization-constant-processor.jar ./third_party/bazel_bootstrap/libserialization.jar ./third_party/bazel_bootstrap/libserialization-processor-util.jar ./third_party/bazel_bootstrap/libunsafe-provider.jar ./third_party/bytebuddy/byte-buddy-1.9.7.jar ./third_party/bytebuddy/byte-buddy-agent-1.9.7.jar ./third_party/caffeine/caffeine-2.8.0.jar ./third_party/checker_framework_annotations/checker-qual-3.2.0.jar ./third_party/checker_framework_annotations/checker-qual-3.2.0-sources.jar ./third_party/checker_framework_dataflow/dataflow-shaded-3.1.2.jar ./third_party/checker_framework_dataflow/dataflow-shaded-3.1.2-sources.jar ./third_party/checker_framework_javacutil/javacutil-3.2.0.jar ./third_party/checker_framework_javacutil/javacutil-3.2.0-sources.jar ./third_party/compile_testing/compile-testing-0.18.jar ./third_party/diffutils/diffutils-1.3.0.jar ./third_party/error_prone/error_prone_annotation-2.4.0.jar ./third_party/error_prone/error_prone_annotations-2.4.0.jar ./third_party/error_prone/error_prone_check_api-2.4.0.jar ./third_party/error_prone/error_prone_core-2.4.0.jar ./third_party/error_prone/error_prone_type_annotations-2.4.0.jar ./third_party/error_prone/threeten-extra-1.5.0.jar ./third_party/flogger/flogger-0.5.1.jar ./third_party/flogger/flogger-system-backend-0.5.1.jar ./third_party/flogger/google-extensions-0.5.1.jar ./third_party/grpc/grpc-api-1.26.0.jar ./third_party/grpc/grpc-auth-1.26.0.jar ./third_party/grpc/grpc-context-1.26.0.jar ./third_party/grpc/grpc-core-1.26.0.jar ./third_party/grpc/grpc-netty-1.26.0.jar ./third_party/grpc/grpc-protobuf-1.26.0.jar ./third_party/grpc/grpc-protobuf-lite-1.26.0.jar ./third_party/grpc/grpc-stub-1.26.0.jar ./third_party/gson/gson-2.8.0.jar ./third_party/guava/failureaccess-1.0.1.jar ./third_party/guava/guava-25.1-jre.jar ./third_party/guava/guava-29.0-jre.jar ./third_party/guava/guava-testlib-25.1-jre.jar ./third_party/guava/guava-testlib-29.0-jre.jar ./third_party/hamcrest/hamcrest-core-1.3.jar ./third_party/hungarian_algorithm/software-and-algorithms-1.0.jar ./third_party/hungarian_algorithm/software-and-algorithms-1.0-src.jar ./third_party/ijar/test/jar-with-manifest-and-target-label.jar ./third_party/ijar/test/jar-with-manifest.jar ./third_party/ijar/test/jar-without-manifest.jar ./third_party/ijar/test/libwrongcentraldir.jar ./third_party/ijar/test/nestmates/nestmates.jar ./third_party/jackson2/jackson-core-2.8.6.jar ./third_party/java/android_databinding/v3_4_0/base.jar ./third_party/java/android_databinding/v3_4_0/compiler_common.jar ./third_party/java/android_databinding/v3_4_0/compiler.jar ./third_party/java/android_databinding/v3_4_0/exec.jar ./third_party/java/android_databinding/v3_4_0/x_common.jar ./third_party/java-diff-utils/java-diff-utils-4.0.jar ./third_party/java/j2objc-annotations/j2objc-annotations-1.1.jar ./third_party/java/jacoco/jacocoagent-0.8.3.jar ./third_party/java/jacoco/org.jacoco.agent-0.8.3.jar ./third_party/java/jacoco/org.jacoco.agent-0.8.3-sources.jar ./third_party/java/jacoco/org.jacoco.core-0.8.3.jar ./third_party/java/jacoco/org.jacoco.core-0.8.3-sources.jar ./third_party/java/jacoco/org.jacoco.report-0.8.3.jar ./third_party/java/jacoco/org.jacoco.report-0.8.3-sources.jar ./third_party/java/javapoet/javapoet-1.8.0.jar ./third_party/java/jcommander/jcommander-1.48.jar ./third_party/java/jdk/langtools/javac-9+181-r4173-1.jar ./third_party/java/jdk/langtools/java_compiler.jar ./third_party/java/jdk/langtools/java_compiler-src.jar ./third_party/java/jdk/langtools/jdk_compiler.jar ./third_party/java/jdk/langtools/jdk_compiler-src.jar ./third_party/java/proguard/proguard5.3.3/examples/annotations/lib/annotations.jar ./third_party/java/proguard/proguard5.3.3/lib/proguardgui.jar ./third_party/java/proguard/proguard5.3.3/lib/proguard.jar ./third_party/java/proguard/proguard5.3.3/lib/retrace.jar ./third_party/javax_activation/javax.activation-api-1.2.0.jar ./third_party/javax_activation/javax.activation-api-1.2.0-sources.jar ./third_party/javax_annotations/javax.annotation-api-1.3.2.jar ./third_party/javax_annotations/javax.annotation-api-1.3.2-sources.jar ./third_party/jaxb/2.3.0/jaxb-api-2.3.0.jar ./third_party/jaxb/2.3.0/jaxb-api-2.3.0-sources.jar ./third_party/jaxb/2.3.0/jaxb-core-2.3.0.jar ./third_party/jaxb/2.3.0/jaxb-core-2.3.0-sources.jar ./third_party/jaxb/2.3.0/jaxb-impl-2.3.0.jar ./third_party/jaxb/2.3.0/jaxb-impl-2.3.0-sources.jar ./third_party/jaxb/jaxb-api-2.3.1.jar ./third_party/jaxb/jaxb-api-2.3.1-patched.jar ./third_party/jaxb/jaxb-api-2.3.1-sources.jar ./third_party/jcip_annotations/jcip-annotations-1.0-1.jar ./third_party/jetbrains_annotations/annotations-13.0.jar ./third_party/jetifier/jetifier-core-1.0.0-beta04.jar ./third_party/jimfs/jimfs-1.1.jar ./third_party/jsr305/jsr-305.jar ./third_party/jsr330_inject/javax.inject.jar ./third_party/junit/junit-4.13.jar ./third_party/juniversalchardet/juniversalchardet-1.0.3.jar ./third_party/kotlin_stdlib/kotlin-stdlib-1.3.21.jar ./third_party/kotlin_stdlib/kotlin-stdlib-common-1.3.21.jar ./third_party/kotlin_stdlib/kotlin-stdlib-jdk7-1.3.21.jar ./third_party/kotlin_stdlib/kotlin-stdlib-jdk8-1.3.21.jar ./third_party/mockito/mockito-core-2.25.1.jar ./third_party/netty/netty-all-4.1.48.Final.jar ./third_party/netty_tcnative/netty-tcnative-boringssl-static-2.0.24.Final.jar ./third_party/objenesis/objenesis-1_3.jar ./third_party/opencensus/opencensus-api-0.24.0.jar ./third_party/opencensus/opencensus-contrib-grpc-metrics-0.24.0.jar ./third_party/pcollections/pcollections-2.1.2.jar ./third_party/perfmark/perfmark-api-0.19.0.jar ./third_party/tomcat_annotations_api/tomcat-annotations-api-8.0.5.jar ./third_party/truth8/truth-java8-extension-1.0.1.jar ./third_party/truth/truth-1.0.1.jar ./third_party/turbine/turbine_direct.jar ./third_party/xz/xz-1.5.jar ./tools/android/emulator/snapshots.img.zip
As I understand it, all of the .jar files would need to be removed in %prep and replaced either with separate Fedora Java packages, or with bundled Java packages following the bundling guidelines that are compiled from source in %build. Bundling is OK (under certain conditions); precompiled bytecode is not.
Some of the .zip files might also contain precompiled bytecode.
https://bugzilla.redhat.com/show_bug.cgi?id=2015277
Ben Beasley code@musicinmybrain.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags| |needinfo?(trix@redhat.com)
--- Comment #3 from Ben Beasley code@musicinmybrain.net --- If you have a plan for how to do a bootstrap from sources only, without any of the bundled precompiled Java bytecode, please comment. I wouldn’t be able to review it, but a lot of people would be excited if it were possible.
Otherwise it’s probably best to close this as WONTFIX—either you can do this, or I can take the review and fail it due to the precompiled jars.
https://bugzilla.redhat.com/show_bug.cgi?id=2015277
Tom Rix trix@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags|needinfo?(trix@redhat.com) |
--- Comment #4 from Tom Rix trix@redhat.com --- Wowza! That is a lot of precompiled jars to unrazel. I'll need a bit to see if that is possible. My first thought is to see how capable the bootstrapped bazel and if it has such a huge list of dependencies.
https://bugzilla.redhat.com/show_bug.cgi?id=2015277
Zbigniew Jędrzejewski-Szmek zbyszek@in.waw.pl changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |zbyszek@in.waw.pl Whiteboard| |NotReady
https://bugzilla.redhat.com/show_bug.cgi?id=2015277
Tom Rix trix@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |CLOSED Resolution|--- |DEFERRED Last Closed| |2022-11-22 01:00:19
https://bugzilla.redhat.com/show_bug.cgi?id=2015277
Tom Rix trix@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags|needinfo?(trix@redhat.com) |
Product: Fedora Version: rawhide Component: Package Review
Tom Rix trix@redhat.com has canceled Package Review package-review@lists.fedoraproject.org's request for Tom Rix trix@redhat.com's needinfo: Bug 2015277: Review Request: bazel - A java based build system https://bugzilla.redhat.com/show_bug.cgi?id=2015277
package-review@lists.fedoraproject.org