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
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/
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.
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.
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.
This is an automatic check from review-stats script. This review request ticket hasn't been updated for some time. We're sorry it is taking so long. If you're still interested in packaging this software into Fedora repositories, please respond to this comment clearing the NEEDINFO flag. You may want to update the specfile and the src.rpm to the latest version available and to propose a review swap on Fedora devel mailing list to increase chances to have your package reviewed. If this is your first package and you need a sponsor, you may want to post some informal reviews. Read more at https://fedoraproject.org/wiki/How_to_get_sponsored_into_the_packager_group. Without any reply, this request will shortly be considered abandoned and will be closed. Thank you for your patience.