Skip to content

Commit

Permalink
Adds default-jdk to java
Browse files Browse the repository at this point in the history
This PR adds a dependency to java so that visualvm can install only visualvm related stuff.

Also updates the installation script to avoid an issue with the resulting module..
  • Loading branch information
DT3264 committed Jun 25, 2023
1 parent dc6b2dd commit c851cad
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 30 deletions.
25 changes: 2 additions & 23 deletions software-modules/base/04-shared-libs/dependencies.txt
Original file line number Diff line number Diff line change
@@ -1,26 +1,14 @@
antlr3
aspnetcore-runtime-6.0
aspnetcore-targeting-pack-6.0
binutils
binutils-common
binutils-x86-64-linux-gnu
ca-certificates-java
chromium-common
codeblocks-common
default-jre
default-jre-headless
dotnet-apphost-pack-6.0
dotnet-host
dotnet-hostfxr-6.0
dotnet-runtime-6.0
dotnet-runtime-deps-6.0
dotnet-targeting-pack-6.0
emacs-bin-common
emacs-common
emacs-el
emacs-gtk
g++-12
gawk
gcc-12
geany-common
gedit-common
gettext-base
Expand All @@ -33,7 +21,6 @@ gir1.2-soup-3.0
git
git-man
install-info
java-common
javahelp2
junit4
kate5-data
Expand All @@ -59,7 +46,6 @@ libbsh-java
libc-dev-bin
libc6-dbg
libc6-dev
libcc1-0
libclang1-14
libcodeblocks0
libcommons-codec-java
Expand Down Expand Up @@ -175,7 +161,6 @@ libserf-1-1
libsigsegv2
libsource-highlight-common
libsource-highlight4v5
libstdc++-12-dev
libstringtemplate4-java
libsvn1
libswing-layout-java
Expand All @@ -193,7 +178,6 @@ libutf8proc2
libvisualvm-jni
libvterm0
libwxbase3.2-1
libwxgtk3.2-1
libxcb-composite0
libxcb-damage0
libxm4
Expand All @@ -204,10 +188,6 @@ lua-luv
m17n-db
mc-data
neovim-runtime
netstandard-targeting-pack-2.1
openjdk-17-jdk-headless
openjdk-17-jre
openjdk-17-jre-headless
plasma-framework
pypy3-lib
python3-bs4
Expand All @@ -218,7 +198,6 @@ python3-charset-normalizer
python3-click
python3-colorama
python3-dbus
python3-gi-cairo
python3-gtts
python3-gtts-token
python3-idna
Expand All @@ -237,7 +216,7 @@ qml-module-qtquick-layouts
qml-module-qtquick-xmllistmodel
qml-module-qtwebkit
rake
rpcsvc-proto
ruby
ruby-net-telnet
ruby-rubygems
ruby-sdbm
Expand Down
24 changes: 19 additions & 5 deletions software-modules/debuggers/visualvm/visualvm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,31 @@
set -xe
NAME=visualvm
TARGET_DIR="/run/initramfs/memory/system/huronOS/software/debuggers/"
MAIN_PATH="$(dirname "$(readlink -f "$0")")"

## In this particular script, given that visualvm depends on java but java cannot be installed directly in the dependencies,
## it is required to create a temp layer installing the remaining dependencies related to java before actually installing visualvm.
apt update

## Patch visualvm so it is not linked to the javasdk
## allowing only the relevant visualvm files to be preserved
cd /tmp
apt download visualvm
mkdir tmp-visualvm
dpkg-deb -R visualvm_2.1.5-1_all.deb tmp-visualvm
sed -i 's/default-jdk (>= 2:1.11) | java11-sdk, //' tmp-visualvm/DEBIAN/control
dpkg-deb -b tmp-visualvm visualvm-patched.deb

## Install java so it doesn't autoinstall
apt install --yes --no-install-recommends openjdk-17-jdk default-jdk

## Install software
apt update
apt install --yes --no-install-recommends $NAME
apt autoremove --yes

## Remove java and it's dependencies
## effectively keeping visualvm and its files
apt remove --yes --autoremove openjdk-17-jdk default-jdk

## Prepare final files
cp ./$NAME.desktop /usr/share/applications/
cp "$MAIN_PATH/$NAME.desktop" /usr/share/applications/

## Create packed changes
savechanges /tmp/$NAME.hsm
Expand Down
5 changes: 3 additions & 2 deletions software-modules/langs/java/javac/java.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ TARGET_DIR="/run/initramfs/memory/system/huronOS/software/langs/"

## Install software
apt update
apt install --yes --no-install-recommends openjdk-17-jdk
apt install --yes --no-install-recommends openjdk-17-jdk default-jdk
apt autoremove --yes

## Prepare final files
Expand All @@ -36,7 +36,8 @@ savechanges /tmp/$NAME.hsm
## Clean package to maintain only relevant files
hsm2dir /tmp/$NAME.hsm
cd /tmp/$NAME.hsm
find . ! -path "./usr/lib/jvm*" ! -path "./usr/bin*" ! -path "./usr/share/icons*" ! -path "./usr/share/man*" ! -path "./usr/share/pixmaps*" ! -path "./etc/alternatives*" ! -path "./usr/share/application-registry*" ! -path "./usr/share/lintian*" ! -path "./usr/share/applications/java-documentation.desktop" ! -path "./usr/share/doc/reference/java*" -delete
find . ! -path "./usr/lib/jvm*" ! -path "./usr/bin*" ! -path "./usr/share/icons*" ! -path "./usr/share/man*" ! -path "./usr/share/pixmaps*" ! -path "./etc/alternatives*" ! -path "./usr/share/application-registry*" ! -path "./usr/share/lintian*" ! -path "./usr/share/applications/java-documentation.desktop" ! -path "./usr/share/doc/reference/java*" -delete || true
cd ..
dir2hsm /tmp/$NAME.hsm

cp /tmp/$NAME.hsm "$TARGET_DIR"
Expand Down

0 comments on commit c851cad

Please sign in to comment.