On Sat, Aug 10, 2019 at 4:36 PM Commit Bot <b...@cloudius-systems.com> wrote:

> From: Waldemar Kozaczuk <jwkozac...@gmail.com>
> Committer: Waldemar Kozaczuk <jwkozac...@gmail.com>
> Branch: master
>
> java: add standard /usr/bin/java executable to jdk apps
>
> This patch tweaks openjdk* makefiles to retain
> bin/java executable and makes module.py create
> a symlink /usr/bin/java pointing to the JDK
> java executable.
>

Nice. So in theory we no longer need our own /java.so, i.e., java.cc?
But I wonder if there's anything in our java.cc that we still need and will
no longer have. In particular, how do we handle the shutdown, where the
regular java executable leaves behind a bunch of threads so OSv will not
know it completed?

I also have a request below:



> Signed-off-by: Waldemar Kozaczuk <jwkozac...@gmail.com>
>
> ---
> diff --git a/java-from-host/Makefile b/java-from-host/Makefile
> --- a/java-from-host/Makefile
> +++ b/java-from-host/Makefile
> @@ -8,6 +8,7 @@ java_jre_path = $(shell dirname $(java_bin_path))
>
>   module:
>         echo "/java.so: ->$(java_exe_path)" > usr.manifest
> +       echo "/usr/bin/java: ->$(java_exe_path)" > usr.manifest
>         $(SRC)/scripts/manifest_from_host.sh -rR $(java_jre_path) >>
> usr.manifest
>
>   clean:
> diff --git a/java-from-host/usr.manifest b/java-from-host/usr.manifest
> --- a/java-from-host/usr.manifest
> +++ b/java-from-host/usr.manifest
> @@ -0,0 +1,39 @@
> +/usr/java/bin: ->/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
> +/usr/lib/jvm/java-8-openjdk-amd64/jre/**:
> /usr/lib/jvm/java-8-openjdk-amd64/jre/**
> +# --------------------
> +# Dependencies
> +# --------------------
> +/usr/lib/libasound.so.2: /usr/lib/x86_64-linux-gnu/libasound.so.2
> +/usr/lib/libasyncns.so.0: /usr/lib/x86_64-linux-gnu/libasyncns.so.0
>

Where does this long list of libraries suddenly come from - why was it not
needed earlier? Or is this
https://github.com/cloudius-systems/osv/issues/601?

Some of the libraries on this list, like libX11, seem to not be a good idea
:-(

I see you already committed this patch, but can you please rethink this
list and send a followup patch?

Also, I don't understand where the specific version numbers come from :-(
In the past, we used to
take known stuff from external.git, so we could use specific version
numbers. But here, how do you
know that libFLAC is "/usr/lib/x86_64-linux-gnu/libFLAC.so.8"? Wouldn't a
different Linux distribution
have a different version number or put it in a different directory? So I
think this list will break immediately
every time a new Linux distribution comes out, and we need to automate this
with ldd or something.

Or maybe this *is* automated ldd output, and you just accidentally commited
it? :-)


> +/usr/lib/libbsd.so.0: /usr/lib/x86_64-linux-gnu/libbsd.so.0
> +/usr/lib/libdbus-1.so.3: /lib/x86_64-linux-gnu/libdbus-1.so.3
> +/usr/lib/libFLAC.so.8: /usr/lib/x86_64-linux-gnu/libFLAC.so.8
> +/usr/lib/libfreetype.so.6: /usr/lib/x86_64-linux-gnu/libfreetype.so.6
> +/usr/lib/libgcrypt.so.20: /lib/x86_64-linux-gnu/libgcrypt.so.20
> +/usr/lib/libgif.so.7: /usr/lib/x86_64-linux-gnu/libgif.so.7
> +/usr/lib/libgpg-error.so.0: /lib/x86_64-linux-gnu/libgpg-error.so.0
> +/usr/lib/libjpeg.so.8: /usr/lib/x86_64-linux-gnu/libjpeg.so.8
> +/usr/lib/liblcms2.so.2: /usr/lib/x86_64-linux-gnu/liblcms2.so.2
> +/usr/lib/liblz4.so.1: /usr/lib/x86_64-linux-gnu/liblz4.so.1
> +/usr/lib/liblzma.so.5: /lib/x86_64-linux-gnu/liblzma.so.5
> +/usr/lib/libnsl.so.1: /lib/x86_64-linux-gnu/libnsl.so.1
> +/usr/lib/libogg.so.0: /usr/lib/x86_64-linux-gnu/libogg.so.0
> +/usr/lib/libpcsclite.so.1: /usr/lib/x86_64-linux-gnu/libpcsclite.so.1
> +/usr/lib/libpng16.so.16: /usr/lib/x86_64-linux-gnu/libpng16.so.16
> +/usr/lib/libpulsecommon-12.2.so:
> /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-12.2.so
> +/usr/lib/libpulse.so.0: /usr/lib/x86_64-linux-gnu/libpulse.so.0
> +/usr/lib/libsndfile.so.1: /usr/lib/x86_64-linux-gnu/libsndfile.so.1
> +/usr/lib/libsystemd.so.0: /lib/x86_64-linux-gnu/libsystemd.so.0
> +/usr/lib/libthread_db.so.1: /lib/x86_64-linux-gnu/libthread_db.so.1
> +/usr/lib/libvorbisenc.so.2: /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2
> +/usr/lib/libvorbis.so.0: /usr/lib/x86_64-linux-gnu/libvorbis.so.0
> +/usr/lib/libwrap.so.0: /lib/x86_64-linux-gnu/libwrap.so.0
> +/usr/lib/libX11.so.6: /usr/lib/x86_64-linux-gnu/libX11.so.6
> +/usr/lib/libXau.so.6: /usr/lib/x86_64-linux-gnu/libXau.so.6
> +/usr/lib/libxcb.so.1: /usr/lib/x86_64-linux-gnu/libxcb.so.1
> +/usr/lib/libXdmcp.so.6: /usr/lib/x86_64-linux-gnu/libXdmcp.so.6
> +/usr/lib/libXext.so.6: /usr/lib/x86_64-linux-gnu/libXext.so.6
> +/usr/lib/libXi.so.6: /usr/lib/x86_64-linux-gnu/libXi.so.6
> +/usr/lib/libXrender.so.1: /usr/lib/x86_64-linux-gnu/libXrender.so.1
> +/usr/lib/libXtst.so.6: /usr/lib/x86_64-linux-gnu/libXtst.so.6
> +/usr/lib/libz.so.1: /lib/x86_64-linux-gnu/libz.so.1
> diff --git a/openjdk-zulu-9-and-above/module.py
> b/openjdk-zulu-9-and-above/module.py
> --- a/openjdk-zulu-9-and-above/module.py
> +++ b/openjdk-zulu-9-and-above/module.py
> @@ -16,3 +16,4 @@
>
> usr_files.add('${OSV_BASE}/apps/openjdk-zulu-9-and-above/install/usr/lib/jvm/java')
>
> \
>       .to('/usr/lib/jvm/java') \
>       .allow_symlink()
> +usr_files.link('/usr/bin/java').to('/usr/lib/jvm/java/bin/java')
> diff --git a/openjdk8-fedora/module.py b/openjdk8-fedora/module.py
> --- a/openjdk8-fedora/module.py
> +++ b/openjdk8-fedora/module.py
> @@ -13,3 +13,4 @@
>   usr_files = FileMap()
>
>
> usr_files.add('${OSV_BASE}/apps/openjdk8-fedora/install').to('/').allow_symlink()
>   usr_files.link('/usr/lib/jvm/jre').to('/usr/lib/jvm/java/jre')
> +usr_files.link('/usr/bin/java').to('/usr/lib/jvm/java/jre/bin/java')
> diff --git a/openjdk8-zulu-compact-common/common.gmk
> b/openjdk8-zulu-compact-common/common.gmk
> --- a/openjdk8-zulu-compact-common/common.gmk
> +++ b/openjdk8-zulu-compact-common/common.gmk
> @@ -21,7 +21,6 @@ module:
>         mkdir -p install/usr/lib/jvm/$(COMPACT_PROFILE_IMAGE_DIR)
>         mv
> upstream/openjdk8_compact_profiles_builder/work/build/linux-x86_64-normal-server-release/images/$(COMPACT_PROFILE_IMAGE_DIR)
>
> $(jvm_dir)/$(COMPACT_PROFILE_IMAGE_DIR)/jre
>         ln -sf $(COMPACT_PROFILE_IMAGE_DIR) install/usr/lib/jvm/java
> -       rm -rf $(jvm_dir)/java/jre/bin
>         rm -rf $(jvm_dir)/java/jre/lib/security/cacerts
>         rm -rf $(jvm_dir)/java/jre/lib/audio/*
>         ln -s /etc/pki/java/cacerts
> install/usr/lib/jvm/java/jre/lib/security/
> diff --git a/openjdk8-zulu-compact1/module.py
> b/openjdk8-zulu-compact1/module.py
> --- a/openjdk8-zulu-compact1/module.py
> +++ b/openjdk8-zulu-compact1/module.py
> @@ -17,3 +17,4 @@
>       .to('/usr/lib/jvm/java') \
>       .allow_symlink()
>   usr_files.link('/usr/lib/jvm/jre').to('/usr/lib/jvm/java/jre')
> +usr_files.link('/usr/bin/java').to('/usr/lib/jvm/java/jre/bin/java')
> diff --git a/openjdk8-zulu-compact2/module.py
> b/openjdk8-zulu-compact2/module.py
> --- a/openjdk8-zulu-compact2/module.py
> +++ b/openjdk8-zulu-compact2/module.py
> @@ -17,3 +17,4 @@
>       .to('/usr/lib/jvm/java') \
>       .allow_symlink()
>   usr_files.link('/usr/lib/jvm/jre').to('/usr/lib/jvm/java/jre')
> +usr_files.link('/usr/bin/java').to('/usr/lib/jvm/java/jre/bin/java')
> diff --git a/openjdk8-zulu-compact3-with-java-beans/module.py
> b/openjdk8-zulu-compact3-with-java-beans/module.py
> --- a/openjdk8-zulu-compact3-with-java-beans/module.py
> +++ b/openjdk8-zulu-compact3-with-java-beans/module.py
> @@ -16,3 +16,4 @@
>       .to('/usr/lib/jvm/java') \
>       .allow_symlink()
>   usr_files.link('/usr/lib/jvm/jre').to('/usr/lib/jvm/java/jre')
> +usr_files.link('/usr/bin/java').to('/usr/lib/jvm/java/jre/bin/java')
> diff --git a/openjdk8-zulu-compact3/module.py
> b/openjdk8-zulu-compact3/module.py
> --- a/openjdk8-zulu-compact3/module.py
> +++ b/openjdk8-zulu-compact3/module.py
> @@ -17,3 +17,4 @@
>       .to('/usr/lib/jvm/java') \
>       .allow_symlink()
>   usr_files.link('/usr/lib/jvm/jre').to('/usr/lib/jvm/java/jre')
> +usr_files.link('/usr/bin/java').to('/usr/lib/jvm/java/jre/bin/java')
> diff --git a/openjdk8-zulu-full/module.py b/openjdk8-zulu-full/module.py
> --- a/openjdk8-zulu-full/module.py
> +++ b/openjdk8-zulu-full/module.py
> @@ -14,3 +14,4 @@
>   usr_files = FileMap()
>
>
> usr_files.add('${OSV_BASE}/apps/openjdk8-zulu-full/install').to('/').allow_symlink()
>   usr_files.link('/usr/lib/jvm/jre').to('/usr/lib/jvm/java/jre')
> +usr_files.link('/usr/bin/java').to('/usr/lib/jvm/java/jre/bin/java')
>
> --
> You received this message because you are subscribed to the Google Groups
> "OSv Development" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to osv-dev+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/osv-dev/000000000000062ffd058fc362fc%40google.com
> .
>

-- 
You received this message because you are subscribed to the Google Groups "OSv 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to osv-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/osv-dev/CANEVyjtc%2Bucezz0WXvujoBup6LNWXx2Ogtdt8Grye_2yTyW4PA%40mail.gmail.com.

Reply via email to