From d42200bec37eef2a7478d88988ff00addd0a9202 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 25 Jan 2020 11:50:47 +0000 Subject: gentoo resync : 25.01.2020 --- app-forensics/sleuthkit/Manifest | 3 + app-forensics/sleuthkit/sleuthkit-4.8.0.ebuild | 292 +++++++++++++++++++++++++ 2 files changed, 295 insertions(+) create mode 100644 app-forensics/sleuthkit/sleuthkit-4.8.0.ebuild (limited to 'app-forensics/sleuthkit') diff --git a/app-forensics/sleuthkit/Manifest b/app-forensics/sleuthkit/Manifest index 2840a2a702af..c2e114ddd8d1 100644 --- a/app-forensics/sleuthkit/Manifest +++ b/app-forensics/sleuthkit/Manifest @@ -1,12 +1,14 @@ AUX sleuthkit-4.1.0-tools-shared-libs.patch 1678 BLAKE2B f60496480425fd78bc211a663be80db2472a9683f1ff76c747f8190d5544df532857f6e1fb4343d0405f8bf51aa7b7bf86ed55fffbeea0153341ce9f2dca077b SHA512 b559f669837194bed447ac269884ab50e6ea746aba2df799688964245c22814567871f12f96d43ba74016d5c448247b02bef5d7bdfd32fd782ef5e668686238e AUX sleuthkit-4.6.4-default-jar-location-fix.patch 1768 BLAKE2B d9a0675223506649a5db7aa4e0ef883ecea84c8484836d2020528696f13e14bbe9334c2967c7b698126fb1cedd6a6719fbbe3fb945b4ea9b89d643a61232d5e8 SHA512 acc076ca74d3e5d7c75425292730783801a7afe858ea119186229a319ba4fd2e076c1214daca3e4aa3d5a7717c5ed08a9ca0bf11bb4dc2a04d3aad190dbf57c6 DIST SparseBitSet-1.1.jar 23706 BLAKE2B 8623a723f11f97386a108c775fefddd324997b68bea7f7ade0581ec5800bfa8d32f699ab903ad66c631b7b5c69ba1ef377243653f5044f39234dac07543eb129 SHA512 cf75431c5f705961800ce5cbca2acb9b2459eaf98ec37b5ee21c5a90d204ffb466fa25457b0560fbb024489777efbea0276201024c7b1b2853124930ac490983 +DIST gson-2.8.5.jar 241622 BLAKE2B b13887177b5d5f2a11b2dde1fdbaa3a95b55bb7b5500624c7eb0745e861c897ed1e27868bad19d30a1670c90f3068a8fd40e1b81e5e25e96819fa5c371a5e1af SHA512 5dd7214c542a7b93aab3eab0ba13e4ac3d6ddb05c795fb6d3992e21925a98dce87cb186ac67b4d3ad146f96e14d38b3892837eca57a27b4e845aca6d4e4f708a DIST libewf-20130128.tar.gz 1978794 BLAKE2B e5d2bd8f4a8b878e13536b89b032d8cee6982272065b2bf325f8a811dff258264118a79496912377337ceb9ad630138b6bedb89e3c3be89a5f6a6fea85ab586b SHA512 94cdd0c3f0d8f535f3462c5adba266302f9b129abacda077ed429fa38af6862fca5a90ba2e606b78607b509769305cc6134c483c7033c20e226596cca2d42b90 DIST sleuthkit-4.5.0.tar.gz 8611141 BLAKE2B a1ae66bfcb74ce1fec24f80dfe60cd68f1de53119331c38848f7f82de8052eda49d78fdea49e42ada5843094939ef212dece42a5ceb85931a79e02adccda30e6 SHA512 911890cacca739f121681514197104cb2dc3bd219f3e068c4ce61264498c56989359976fc75172e1f456c94e4e25c6206413b0234c36e55736a577b8e664e4b3 DIST sleuthkit-4.6.5.tar.gz 8658866 BLAKE2B 29b75c96a14c5d42522e7116a80cc368c8097fa43af27c0e958215142d6ee61131c7b154fb876fa3ea9c727e8100de9bd703dfd8cef9ccce1f6602222c8470fa SHA512 ba21be166da1a7bdd197946722a1e0947f90bbb2c27d635cdfbcbc870aa42937fe6b42f432482f70a5e686942c8891d0367b5ce28615315d8905661e73aefe32 DIST sleuthkit-4.6.6.tar.gz 8668433 BLAKE2B 49594dd329e7c67c473130659bbdab02d448e15974d0ba35a9b999dc54df06f674cfb2a4916ff7b53879c00b387c3915e21aa67fe5656556f65b121b308a516c SHA512 42eba3d420fcdb37966c70bd158ff379292bf6e0366cf9b4c43b7e0d1fa4d729d1a31c49ddc7ce17bd6c31d63ddc34251ec53878714274c910db2b6974e17f19 DIST sleuthkit-4.6.7.tar.gz 8672554 BLAKE2B def0bc3cd4c1ae1485efe683f581209b2c57bdcb1009bdd0b81cff284b6d3cb221a85ef12012a360bf2c07f84f12a6741ab2281cd0f51ecaff4685b84bf0ea1f SHA512 5b2000960a054fd947acb214532076a369d788914a8ff141c9a2d1b8a69e001c891b1e4b8dd40f94d96810a436e240e5a76e9f90ccab462888fad789c1181cc6 DIST sleuthkit-4.7.0.tar.gz 8715010 BLAKE2B cdbe4ff4d3a4f6606dec9fc7dc867c9186fc628cba02ea21240875b5da0b1c61c65f9d68b8059651026f06bfd2976bc10d3077cf765083ef97c631af85e27c62 SHA512 bd39101f89615485c17d72836689ee14cf1199c26f2a84a56c4a127d6ced1acf091ff8a4bd373acd970c8a88e3625edc3f6e7d028f292f74439590b11c15be80 +DIST sleuthkit-4.8.0.tar.gz 10176958 BLAKE2B 65922a680e32effaedf669d076a242facbea98c6f53df841936bcd8b65a903309265c8a3e74bccd8e4d2694c8d10cb700079fc4499fcd82f02a27fedd38a446e SHA512 6dd225225c59013c128015f9b71b73bb82ba21887a695f8bc7325e1d11e2471d6e364077631b8d543c8c25ce9781470893f37998c38151347bb96d258f13ccc7 DIST sleuthkit-libewf_64bit-20130416.tar.gz 23818247 BLAKE2B 23be933ed8a74e4834ee6571a28d81ba16e98e4e4e27b5b1b3b655d1d92a6eadcba35aadf96aa404e6e0a225b27f3f5daff2836879b87fe58440a3ad5645de44 SHA512 611cbb57de17600caee0330bbe9917c4481d7711a35dba8c072fd49cd3e1714e0a3ce30fd8fcac9981db848e80870bf5d215326c56808bb6f5b4c8dcc1e5a3c9 DIST sqlite-jdbc-3.25.2.jar 7064881 BLAKE2B 3917da6127137bab710a9e61f326f59320ce94654ebb8ae5e694b05aed6b9b1bd367ade2f08ce5bb52c3ac296992240ad949969f5eff712615d07a18588c6a17 SHA512 efd1ea26d7f4f9bc66bf0d5f80234a0c535829bd498e4c5a0cab42873b58ac69133497d8c45689a1d3a39e657a2d0474d6b930c7bc415dd623801ee4a7354ffb DIST sqlite-jdbc-3.8.11.jar 5131732 BLAKE2B 1a04fa9e9cb97fdddc19af2de9efa7b54c0b527642e6e325e31054e4e294e3bc6af00ea291087ed9dd26668d48dae356035fc85212c0eb81656550d552103ed0 SHA512 5f4705101992e8916e29742c560aef0d01eba9dc0d2d984b75a77e56be3c9fd20b284390fe8f9bb54bf9d1f8528c3413922684c446212ca8961ac731543fb179 @@ -15,4 +17,5 @@ EBUILD sleuthkit-4.6.5.ebuild 6879 BLAKE2B 38c78e4fcba9fbdb65518e14120b3544659a1 EBUILD sleuthkit-4.6.6.ebuild 6879 BLAKE2B b39fd3fe82839ae23bb6ef43c13c3bc146b43136f4a0d4fb58c774e57b6c45a6223d6ca0788ede698222d758539cdc83963d44c330900924d9eac8bf1f6ab3b5 SHA512 87001bffbe2abbed8db08f8e15a30a1884b5f75f1eab7c6cb6e612e9f4098e1d8d52cb19656e7d47774127ee9d9e82c030d4ce3962da287bb76e0f08482f4392 EBUILD sleuthkit-4.6.7.ebuild 6809 BLAKE2B ad038763c9c1c8b9eb5b96b2eac68a8ed0b6cc92179a7b980e091b2e91f8f83490279b5c314c9e03d60eb8e4465fd94b415f1df7d909349b8c63c463c07b071f SHA512 c9207604973caf8f8fd4ee99313bf38b6b7c67c707e266cad06888c66dd3657598f23f34c39142648d1d40fe83e7a87b7d23201e5d3f5e7bd7dcb51b14bca73b EBUILD sleuthkit-4.7.0.ebuild 7483 BLAKE2B 57b1094cf98aaac26a8f5ed1f455e9957b022cd782e9eecb440bef39205b5488f091367f2c4965be941b33741775c1e1376c9c44542ffc06240bfa66d8324a58 SHA512 781bef3bbdb7ec31e56170097836d9d0146c347f8c75de953f29a3a33f24c209dae38c09d5e76927113d5abfc2ef046cfed3b903e8218ec3d78d416a843ac5ee +EBUILD sleuthkit-4.8.0.ebuild 7691 BLAKE2B c22eed13d47a957ad1f203da415f2a733c35127d8c90dd4ffafddce90ad70b8f208a7023816ee907129f7220df3f8a2e1fee3d21ab916129101b3f640ac8c866 SHA512 20b3482a5a5206671063db42fc2d2560e4aee91c02086128a22997cd1f15babbc43710ec1637bc8800b5e81f02452c97f1e67398df39d7a2632c14890dbc8983 MISC metadata.xml 607 BLAKE2B 2c651da1253ec986eb766b6949ea9a9059d76351081e805aba5f795971bb3b9368987cc9d39fc335c1e65c12de9347471686984e2753487cafab431488762064 SHA512 2dbce141f133a9172c6ba61924a9fac2674394096063b899be5a90111a9741789e2a09aa06cc49e17a253d088d20c1ddad1c748b6e09f650131ec0f91116ae08 diff --git a/app-forensics/sleuthkit/sleuthkit-4.8.0.ebuild b/app-forensics/sleuthkit/sleuthkit-4.8.0.ebuild new file mode 100644 index 000000000000..c37fd3109fd6 --- /dev/null +++ b/app-forensics/sleuthkit/sleuthkit-4.8.0.ebuild @@ -0,0 +1,292 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +JAVA_PKG_BSFIX_NAME="build.xml build-unix.xml" +inherit autotools java-pkg-opt-2 java-ant-2 + +DESCRIPTION="A collection of file system and media management forensic analysis tools" +HOMEPAGE="https://www.sleuthkit.org/sleuthkit/" +# TODO: sqlite-jdbc does not exist in the tree, we bundle it for now +# See: https://bugs.gentoo.org/690010 +# TODO: SparseBitSet does not exist in the tree, we bundle it for now +# See: https://bugs.gentoo.org/690012 +# TODO: Upstream uses a very specific version of libewf which is not in +# the tree anymore. So we statically compile and link to sleuthkit. +# Hopefully upstream will figure something out in the future. +# See: https://bugs.gentoo.org/689752 +# TODO: gson-2.8.5 does not exist in the tree. Building it seems to +# require Java 9. We have Java 11 in the tree but I don't see a +# way to use it as a gentoo-vm in order to build gson. Sleuthkit +# upstream still uses Java 8. +# See: https://bugs.gentoo.org/706274 +SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.tar.gz + java? ( + https://repo1.maven.org/maven2/com/google/code/gson/gson/2.8.5/gson-2.8.5.jar + http://repo1.maven.org/maven2/org/xerial/sqlite-jdbc/3.25.2/sqlite-jdbc-3.25.2.jar + http://repo1.maven.org/maven2/com/zaxxer/SparseBitSet/1.1/SparseBitSet-1.1.jar + ) + ewf? ( https://github.com/sleuthkit/libewf_64bit/archive/VisualStudio_2010.tar.gz -> sleuthkit-libewf_64bit-20130416.tar.gz )" + +LICENSE="BSD CPL-1.0 GPL-2+ IBM java? ( Apache-2.0 )" +SLOT="0/13" # subslot = major soname version +KEYWORDS="~amd64 ~hppa ~ppc ~x86" +IUSE="aff doc ewf java postgres static-libs test +threads zlib" +RESTRICT="!test? ( test )" + +# +# Note: It is not possible to move the dep on dev-java/jdbc-postgresql +# inside a conditional postgres? block because java sources import +# org.postgres unconditionally as of writing this (version 4.6.4). The +# postgres USE flag will be used for the TSK postgresql support however. +# +DEPEND=" + dev-db/sqlite:3 + dev-lang/perl:* + aff? ( app-forensics/afflib ) + ewf? ( sys-libs/zlib ) + java? ( + >=dev-java/c3p0-0.9.5:0 + dev-java/commons-lang:3.1 + dev-java/guava:20 + >=dev-java/jdbc-postgresql-9.4:0 + >=dev-java/joda-time-2.4:0 + ) + postgres? ( dev-db/postgresql:= ) + zlib? ( sys-libs/zlib ) +" +# TODO: add support for not-in-tree libraries libvhdi and libvmdk +# libvhdi: https://github.com/libyal/libvhdi +# libvmdk: https://github.com/libyal/libvmdk +# DEPEND="${DEPEND} +# vhdi? ( dev-libs/libvhdi ) +# vmdk? ( dev-libs/libvmdk ) +# " + +RDEPEND="${DEPEND} + java? ( + || ( + virtual/jre:1.8 + virtual/jdk:1.8 + ) + ) +" +DEPEND="${DEPEND} + java? ( virtual/jdk:1.8 ) + doc? ( app-doc/doxygen ) + test? ( >=dev-util/cppunit-1.2.1 ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-4.1.0-tools-shared-libs.patch + "${FILESDIR}"/${PN}-4.6.4-default-jar-location-fix.patch +) + +src_unpack() { + local f + + unpack ${P}.tar.gz + + if use ewf; then + pushd "${T}" &>/dev/null || die + unpack sleuthkit-libewf_64bit-20130416.tar.gz + export TSK_LIBEWF_SRCDIR="${T}"/libewf_64bit-VisualStudio_2010 + popd &>/dev/null || die + fi + + # Copy the jar files that don't exist in the tree yet + if use java; then + TSK_JAR_DIR="${T}/lib" + mkdir "${TSK_JAR_DIR}" || die + for f in ${A}; do + if [[ ${f} =~ .jar$ ]]; then + cp "${DISTDIR}"/"${f}" "${TSK_JAR_DIR}" || die + fi + done + export TSK_JAR_DIR + fi +} + +tsk_prepare_libewf() { + # Inlining breaks the compilation, disable it + sed -e 's/LIBUNA_INLINE inline/LIBUNA_INLINE/' \ + -i "${TSK_LIBEWF_SRCDIR}"/libuna/libuna_inline.h || die +} + +src_prepare() { + use ewf && tsk_prepare_libewf + + if use java; then + pushd "${S}"/bindings/java &>/dev/null || die + + # Prevent "make install" from installing + # jar files under /usr/share/java + # We'll use the java eclasses for this + # See: https://github.com/sleuthkit/sleuthkit/pull/1379 + sed -e '/^jar_DATA/ d;' -i Makefile.am || die + + java-pkg-opt-2_src_prepare + + popd &>/dev/null || die + fi + + # Override the doxygen output directories + if use doc; then + sed -e "/^OUTPUT_DIRECTORY/ s|=.*$|= ${T}/doc|" \ + -i tsk/docs/Doxyfile \ + -i bindings/java/doxygen/Doxyfile || die + fi + + # It's safe to call this even after java-pkg-opt-2_src_prepare + # because future calls to eapply_user do nothing and return 0 + default + + eautoreconf +} + +tsk_compile_libewf() { + local myeconfargs=( + --prefix=/ + --libdir=/lib + --enable-static + --disable-shared + --disable-winapi + --without-libbfio + --with-zlib + --without-bzip2 + --without-libhmac + --without-openssl + --without-libuuid + --without-libfuse + + --with-libcstring=no + --with-libcerror=no + --with-libcdata=no + --with-libclocale=no + --with-libcnotify=no + --with-libcsplit=no + --with-libuna=no + --with-libcfile=no + --with-libcpath=no + --with-libbfio=no + --with-libfcache=no + --with-libfvalue=no + + ) + # We want to contain our build flags + local CFLAGS="${CFLAGS}" + local LDFLAGS="${LDFLAGS}" + + pushd "${TSK_LIBEWF_SRCDIR}" &>/dev/null || die + + # Produce relocatable code + CFLAGS+=" -fPIC" + LDFLAGS+=" -fPIC" + econf "${myeconfargs[@]}" + + # Do not waste CPU cycles on building ewftools + sed -e '/ewftools/ d' -i Makefile || die + emake + + # Only install the headers and the library + emake -C libewf DESTDIR="${T}"/image install + emake -C include DESTDIR="${T}"/image install + find "${T}"/image -name '*.la' -delete || die + + popd &>/dev/null || die +} + +src_configure() { + local myeconfargs=( + --enable-offline="${TSK_JAR_DIR}" + $(use_enable java) + $(use_enable static-libs static) + $(use_enable threads multithreading) + $(use_with aff afflib) + $(use_with zlib) + ) + # Workaround the automagic detection of postgresql + local -x ac_cv_lib_pq_PQlibVersion="$(usex postgres)" + # TODO: add support for non-existing libraries libvhdi and libvmdk + # myeconfargs+=( + # $(use_with vhdi libvhdi) + # $(use_with vmdk libvmdk) + # ) + myeconfargs+=( + --without-libvhdi + --without-libvmdk + ) + + use ewf && tsk_compile_libewf + myeconfargs+=( $(use_with ewf libewf "${T}"/image) ) + + if use java; then + pushd "${S}"/bindings/java &>/dev/null || die + java-ant-2_src_configure + popd &>/dev/null || die + fi + + econf "${myeconfargs[@]}" +} + +src_compile() { + # Give it an existing bogus ivy home #672220 + local -x IVY_HOME="${T}" + + # Create symlinks of jars for the required dependencies + if use java; then + pushd "${S}"/bindings/java &>/dev/null || die + + java-pkg_jar-from --into "${TSK_JAR_DIR}" c3p0 + java-pkg_jar-from --into "${TSK_JAR_DIR}" commons-lang:3.1 + java-pkg_jar-from --into "${TSK_JAR_DIR}" guava:20 + java-pkg_jar-from --into "${TSK_JAR_DIR}" jdbc-postgresql + java-pkg_jar-from --into "${TSK_JAR_DIR}" joda-time + + popd &>/dev/null || die + fi + + # Create the doc output dirs if requested + if use doc; then + mkdir -p "${T}"/doc/{api-docs,jni-docs} || die + fi + + emake all $(usex doc api-docs "") +} + +src_install() { + local f + + if use java; then + pushd "${S}"/bindings/java &>/dev/null || die + + java-pkg_newjar "dist/${P}.jar" "${PN}.jar" + + # Install the bundled jar files + pushd "${TSK_JAR_DIR}" &>/dev/null || die + for f in *; do + # Skip the symlinks java-pkg_jar-from created + [[ -f ${f} ]] || continue + + # Strip the version numbers as per eclass recommendation + [[ ${f} =~ -([0-9]+\.)+jar$ ]] || continue + + java-pkg_newjar "${f}" "${f/${BASH_REMATCH[0]}/.jar}" + done + popd &>/dev/null || die + + popd &>/dev/null || die + fi + + default + + # It unconditionally builds both api and jni docs + # We install conditionally based on the provided use flags + if use doc; then + dodoc -r "${T}"/doc/api-docs + use java && dodoc -r "${T}"/doc/jni-docs + fi + + find "${D}" -name '*.la' -delete || die +} -- cgit v1.2.3