4bb380b Disable copy-jdk-configs and bootstrapping for Flatpak builds

1 file Authored by sbergmann 2 years ago, Committed by ahughes 2 years ago,
    Disable copy-jdk-configs and bootstrapping for Flatpak builds
    
    There does not appear to be any value in having copy-jdk-config in Flatpak
    builds (where a given Flatpak bundles one specific JDK, so no need for a
    "Utility script to transfer JDKs configuration files between updates or for
    archiving.")
    
    And at least when trying to do a LibreOffice Flatpak build from Fedora 34 RPM
    specs (which includes java-11-openjdk among its components), the #!/usr/bin/lua
    shebang in copy_jdk_configs.lua would have caused a requirement on
    /usr/bin/lua, but which a lua RPM bundled in the Flatpak would not provide (as
    it would provide /app/bin/lua instead).  And the easiest way to work around that
    issue is to just disable the unnecessary copy-jdk-configs.
    
    ...after "Temporarily move x86 to use Zero in order to get a working build":
    
    When building the
    
    >       if ${run_bootstrap} ; then
    
    branch for suffix='' and loop='-main', the second
    
    >           buildjdk ${builddir} $(pwd)/${bootinstalldir}/images/%{jdkimage} "${maketargets}" ${debugbuild} ${link_opt}
    
    uses the JDK (`$(pwd)/${bootinstalldir}/images/%{jdkimage}`) from the installjdk
    on the previous line.  But installjdk does
    
    > 	rm ${imagepath}/lib/tzdb.dat
    > 	ln -s %{_datadir}/javazi-1.8/tzdb.dat ${imagepath}/lib/tzdb.dat
    
    which made that JDK's tzdb.dat link to /app/share/javazi-1.8/tzdb.dat in a
    flatpak build (rather than the usual /usr/share/javazi-1.8/tzdb.dat in a non-
    flatpak build) which is not present at build-time (but will be present at
    runtime in at least the LibreOffice flatpak, which bundles tzdata-java built for
    the flatpak /app prefix).  So using that JDK's compiler during the build kept
    failing due to java.io.FileNotFoundException for its lib/tzdb.dat.
    
    (This was not an issue prior to the recent change, as installjdk's
    modification of lib/tzdb.dat used to be done only for the "Final setup
    on the main image" at the very end of the build, not during the build
    for JDKs that are themselves used later during the build.)
    
    The easiest workaround for this issue appears to be to just not bootstrap_build
    in the flatpak case, avoiding the situation that a JDK whose lib/tzdb.dat has
    been modified through installjdk is used during the build.
    
        
  • Package tests for 4bb380bd: passed
    2 years ago
  • Zuul
    success
    Jobs result is success
    2 years ago
  • Build completed
    success
    Built as java-1.8.0-openjdk-1:1.8.0.332.b09-3.fc37
    2 years ago
  • Build completed
    success
    Built as java-1.8.0-openjdk-1:1.8.0.332.b09-3.eln120
    2 years ago
file modified
+11 -1