This commit is contained in:
Greg DiCristofaro 2022-10-17 16:26:24 -04:00
parent d8c49530a5
commit 2ce70f0564
5 changed files with 72 additions and 16 deletions

31
homebrew/autopsy.cask.rb Normal file
View File

@ -0,0 +1,31 @@
cask "autopsy" do
version "4.19.3"
# sha256 "a33aca4dd6686b1dba790b224c9e686d7e08c86e6074379194f3bde478d883ed"
url "https://github.com/sleuthkit/autopsy/releases/download/autopsy-4.19.2/autopsy-4.19.2.zip"
appcast "https://github.com/sleuthkit/autopsy/releases.atom"
name "autopsy"
desc "Minimal installer for conda specific to conda-forge"
homepage "https://github.com/conda-forge/miniforge"
auto_updates true
conflicts_with cask: "miniconda"
container type: :naked
installer script: {
executable: "Miniforge3-#{version}-MacOSX-x86_64.sh",
args: ["-b", "-p", "#{caskroom_path}/base"],
}
binary "#{caskroom_path}/base/condabin/conda"
uninstall delete: "#{caskroom_path}/base"
zap trash: [
"~/.condarc",
"~/.conda",
]
caveats <<~EOS
Please run the following to setup your shell:
conda init "$(basename "${SHELL}")"
EOS
end

View File

@ -11,14 +11,34 @@ class Autopsy < Formula
depends_on "postgresql@14"
depends_on "testdisk"
depends_on "sleuthkit"
# TODO is this right?
depen# ds_on "gstreamer"
depends_on "zip" => :build
depends_on "tar" => :build
depends_on "ant" => :build
def install
ENV.deparallelize
# ----- GET ADDITIONAL DEPENDENCIES -----
# TODO may be a better way to handle this
system "brew", "tap", "bell-sw/liberica"
system "brew", "install", "--cask", "liberica-jdk8-full"
# system "brew", "tap", "bell-sw/liberica"
# system "brew", "install", "--cask", "liberica-jdk8-full"
# jvm_tar_name = "bellsoft-jdk8u345+1-macos-amd64.tar.gz"
# jvm_tmp_path = "#{prefix}/#{jvm_tar_name}"
# jvm_bin_path = "#{prefix}/liberica_jvm"
# system "curl", "-k", "-o", jvm_tmp_path, "https://download.bell-sw.com/java/8u345+1/#{jvm_tar_name}"
# system "mkdir", "-p", jvm_bin_path
# system "tar", "-xf", "#{prefix}/#{jvm_tar_name}", "-C", jvm_bin_path
# # TODO do we need any permissions?
# system "rm", jvm_tmp_path
jvm_pkg_name = "bellsoft-jdk8u345+1-macos-amd64.pkg"
jvm_tmp_path = "#{prefix}/#{jvm_pkg_name}"
jvm_bin_path = "#{prefix}/liberica_jvm"
system "curl", "-k", "-o", jvm_tmp_path, "https://download.bell-sw.com/java/8u345+1/bellsoft-jdk8u345+1-macos-amd64.pkg"
system "mkdir", "-p", jvm_bin_path
system "installer", "-pkg", jvm_tmp_path, "-target", jvm_bin_path
system "rm", jvm_tmp_path
# TODO may be a better way to handle this
gstreamer_tmp_path = "#{prefix}/gstreamer-1.0-1.20.3-universal.pkg"
@ -30,7 +50,7 @@ class Autopsy < Formula
# ----- BUILD ZIP -----
autopsy_src_path = `pwd`
java_path = `/usr/libexec/java_home -v 1.8`
java_path = `#{jvm_bin_path}/bin/java`
netbeans_plat_ver = `grep "netbeans-plat-version=" "$AUTOPSY_SRC_PATH/nbproject/platform.properties" | cut -d'=' -f2`
autopsy_platform_path = File.join(autopsy_src_path, "netbeans-plat", netbeans_plat_ver)

2
snap/gui/autopsy.desktop Normal file
View File

@ -0,0 +1,2 @@
Exec=autopsy
Icon=${SNAP}/meta/gui/autopsy.png

View File

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 47 KiB

View File

@ -7,8 +7,9 @@ grade: stable # must be 'stable' to release into candidate/stable channels
# TODO look into turning back to strict for store inclusion
confinement: classic # use 'strict' once you have the right plugs and slots
architectures: [amd64, arm64]
# improves startup performance
compression: lzo
# TODO improves startup performance
# compression: lzo
icon: snap/gui/autopsy.png
# Java package repo to use with snapcraft
package-repositories:
@ -20,8 +21,6 @@ package-repositories:
url: https://apt.bell-sw.com/
layout:
/usr/lib/jvm/bellsoft-java8-full-amd64:
bind: $SNAP/usr/lib/jvm/bellsoft-java8-full-amd64
/usr/bin/photorec:
symlink: $SNAP/usr/bin/photorec
/usr/local/bin:
@ -35,7 +34,7 @@ plugs:
apps:
autopsy:
environment:
jdkhome: /usr/lib/jvm/bellsoft-java8-full-amd64
jdkhome: $SNAP/usr/lib/jvm/bellsoft-java8-full-amd64
LD_LIBRARY_PATH: $SNAP/usr/local/lib:$LD_LIBRARY_PATH
PATH: $SNAP/usr/local/bin:$PATH
SOLR_LOGS_DIR: $HOME/.autopsy/dev/solr/logs
@ -174,14 +173,18 @@ parts:
$UNIX_SETUP_SCRIPT
chmod 755 "$AUTOPSY_LOCATION/bin/autopsy"
# ----- INSTALL DESKTOP SHORTCUT -----
AUTOPSY_DESKTOP_PATH="$SNAPCRAFT_PART_INSTALL/usr/share/applications/"
mkdir -p $AUTOPSY_DESKTOP_PATH
sed -i 's|Icon=autopsy|Icon=${SNAP}/usr/share/pixmaps/autopsy.png|g' ${AUTOPSY_DESKTOP_PATH}/autopsy.desktop
sed -i 's|Exec=${SNAP}/autopsy/bin/autopsy|Exec=autopsy|g' ${AUTOPSY_DESKTOP_PATH}/autopsy.desktop
AUTOPSY_ICON_BASE_PATH="usr/share/pixmaps/"
mkdir -p "$SNAPCRAFT_PART_INSTALL/$AUTOPSY_ICON_BASE_PATH"
cp ./snap/autopsy.png "$SNAPCRAFT_PART_INSTALL/$AUTOPSY_ICON_BASE_PATH"
# # ----- INSTALL DESKTOP SHORTCUT -----
# AUTOPSY_DESKTOP_PATH="$SNAPCRAFT_PART_INSTALL/usr/share/applications/"
# AUTOPSY_ICON_BASE_PATH="usr/share/pixmaps/"
# mkdir -p "$SNAPCRAFT_PART_INSTALL/$AUTOPSY_ICON_BASE_PATH"
# cp ./snap/autopsy.png "$SNAPCRAFT_PART_INSTALL/$AUTOPSY_ICON_BASE_PATH"
# mkdir -p $AUTOPSY_DESKTOP_PATH
# sudo sh -c "cat << EOF > ${AUTOPSY_DESKTOP_PATH}/autopsy.desktop
# Icon=\$SNAP/${AUTOPSY_ICON_BASE_PATH}/autopsy.png
# Exec=\$SNAP/autopsy/bin/autopsy
# EOF"
# include this line to print all set variables
# TODO remove after debugging