AppImageCommunity / pkg2appimage

Tool and recipes to convert existing deb packages to AppImage
http://appimage.org
MIT License
697 stars 216 forks source link

Needing help building a NetBeans 8.2 AppImage #105

Closed fusion809 closed 7 years ago

fusion809 commented 7 years ago

Hi,

I would like to build a NetBeans 8.2 AppImage and this is my current Recipe:

#!/bin/bash

# In this case, the upstream project seems to already
# provide binaries that are supposed to run everywhere,
# so we merely package these as an AppImage

set +e

APP="netbeans"
LOWERAPP="netbeans"
VERSION="8.2"
DATE="201609300101"
rm -rf ./$APP/$APP.AppDir

mkdir -p ./$APP/$APP.AppDir/usr/bin
mkdir -p ./$APP/$APP.AppDir/usr/lib
cd ./$APP

wget -q https://github.com/probonopd/AppImages/raw/master/functions.sh -O ./functions.sh
. ./functions.sh

generate_status

echo "deb http://archive.ubuntu.com/ubuntu/ trusty main universe
" > sources.list

apt-get $OPTIONS update

URLS=$(apt-get $OPTIONS -y install --print-uris $APP | cut -d "'" -f 2 | grep -e "^http")

wget -c $URLS
#8.2 isn't in the official repos of Trusty, so we must get it from this zip archive
wget -c http://download.netbeans.org/netbeans/$VER/final/zip/netbeans-$VER-$DATE.zip

wget -c "https://github.com/probonopd/AppImageKit/releases/download/5/AppRun" # (64-bit)
chmod a+x ./AppRun

cd ./$APP.AppDir/

find ../*.deb -exec dpkg -x {} . \; || true
bsdtar -xf ../netbeans*.zip

wget -cqO- http://www.file-extensions.org/imgs/app-icon/128/5149/netbeans-icon.png > netbeans.png
get_apprun

rm -rf ./etc/ ./home/ || true

# patch_usr
# Patching only the executable files seems not to be enough for some apps
find usr/ -type f -exec sed -i -e "s|/usr|././|g" {} \;

cd ..
wget -c "https://github.com/probonopd/AppImageKit/releases/download/5/AppImageAssistant" # (64-bit)
chmod a+x ./AppImageAssistant
mkdir -p ../out
if [[ -f ../out/$APP"-"$VERSION"-x86_64.AppImage" ]]; then
  rm $APP"-"$VERSION"-x86_64.AppImage"
fi
./AppImageAssistant ./$APP.AppDir/ ../out/$APP"-"$VERSION"-x86_64.AppImage"

and I'm afraid it's failing at line 29 (the URLS=... line), specifically it's giving the error:

Reading package lists... Done
  Installing libnb-platform13-java as Depends of netbeans
    Installing javahelp2 as Depends of libnb-platform13-java
      Installing default-jre as Depends of javahelp2
        Installing default-jre-headless as Depends of default-jre
          Installing openjdk-7-jre-headless as Depends of default-jre-headless
            Installing multiarch-support as PreDepends of openjdk-7-jre-headless
            Installing ca-certificates-java as Depends of openjdk-7-jre-headless
              Installing ca-certificates as Depends of ca-certificates-java
                Installing openssl as Depends of ca-certificates
                  Installing libssl1.0.0 as Depends of openssl
            Installing tzdata-java as Depends of openjdk-7-jre-headless
              Installing tzdata as Depends of tzdata-java
            Installing java-common as Depends of openjdk-7-jre-headless
            Installing liblcms2-2 as Depends of openjdk-7-jre-headless
            Installing libjpeg8 as Depends of openjdk-7-jre-headless
              Installing libjpeg-turbo8 as Depends of libjpeg8
            Installing libnss3-1d as Depends of openjdk-7-jre-headless
              libnss3-1d:amd64 Depends on libnss3 [ amd64 ] < 9:999.999.999 > ( unknown ) (= 2:3.15.4-1ubuntu7) can't be satisfied!
            Installing libpcsclite1 as Depends of openjdk-7-jre-headless
            Installing libfreetype6 as Depends of openjdk-7-jre-headless
              Installing libpng12-0 as Depends of libfreetype6
                Installing zlib1g as Depends of libpng12-0
            Installing libkrb5-3 as Depends of openjdk-7-jre-headless
              Installing libcomerr2 as Depends of libkrb5-3
              Installing libk5crypto3 as Depends of libkrb5-3
                Installing libkrb5support0 as Depends of libk5crypto3
              Installing libkeyutils1 as Depends of libkrb5-3
        Installing openjdk-7-jre as Depends of default-jre
          Installing libgif4 as Depends of openjdk-7-jre
          Installing libpulse0 as Depends of openjdk-7-jre
            Installing libasyncns0 as Depends of libpulse0
            Installing libjson-c2 as Depends of libpulse0
            Installing libsndfile1 as Depends of libpulse0
              Installing libflac8 as Depends of libsndfile1
                Installing libogg0 as Depends of libflac8
              Installing libvorbis0a as Depends of libsndfile1
              Installing libvorbisenc2 as Depends of libsndfile1
            Installing libwrap0 as Depends of libpulse0
            Installing libxcb1 as Depends of libpulse0
              Installing libxau6 as Depends of libxcb1
              Installing libxdmcp6 as Depends of libxcb1
          Installing libx11-6 as Depends of openjdk-7-jre
            Installing libx11-data as Depends of libx11-6
          Installing libxext6 as Depends of openjdk-7-jre
          Installing libxi6 as Depends of openjdk-7-jre
          Installing libxrender1 as Depends of openjdk-7-jre
          Installing libxtst6 as Depends of openjdk-7-jre
            Installing x11-common as Depends of libxtst6
          Installing libxrandr2 as Depends of openjdk-7-jre
          Installing libxinerama1 as Depends of openjdk-7-jre
          Installing libatk-wrapper-java-jni as Depends of openjdk-7-jre
            Installing libatk-wrapper-java as Depends of libatk-wrapper-java-jni
    Installing libswing-layout-java as Depends of libnb-platform13-java
    Installing libjna-java as Depends of libnb-platform13-java
      Installing libffi6 as Depends of libjna-java
    Installing junit4 as Depends of libnb-platform13-java
      Installing libhamcrest-java as Depends of junit4
    Installing libfelix-framework-java as Depends of libnb-platform13-java
    Installing libfelix-main-java as Depends of libnb-platform13-java
    Installing libosgi-core-java as Depends of libnb-platform13-java
    Installing libosgi-compendium-java as Depends of libnb-platform13-java
      Installing libgeronimo-jpa-2.0-spec-java as Depends of libosgi-compendium-java
        Installing aspectj as Depends of libgeronimo-jpa-2.0-spec-java
          Installing libaspectj-java as Depends of aspectj
        Installing libgeronimo-osgi-support-java as Depends of libgeronimo-jpa-2.0-spec-java
      Installing libosgi-foundation-ee-java as Depends of libosgi-compendium-java
      Installing libservlet2.5-java as Depends of libosgi-compendium-java
    Installing libnb-org-openide-util-java as Depends of libnb-platform13-java
      Installing libnb-org-openide-util-lookup-java as Depends of libnb-org-openide-util-java
    Installing antlr3 as Depends of libnb-platform13-java
      Installing libstringtemplate-java as Depends of antlr3
        Installing libantlr-java as Depends of libstringtemplate-java
    Installing libnb-org-openide-modules-java as Depends of libnb-platform13-java
  Installing openjdk-6-jdk as Depends of netbeans
    Installing openjdk-6-jre as Depends of openjdk-6-jdk
      Installing openjdk-6-jre-headless as Depends of openjdk-6-jre
        Installing openjdk-6-jre-lib as Depends of openjdk-6-jre-headless
        Installing libnss3-1d as Depends of openjdk-6-jre-headless
          libnss3-1d:amd64 Depends on libnss3 [ amd64 ] < 9:999.999.999 > ( unknown ) (= 2:3.15.4-1ubuntu7) can't be satisfied!
  Installing libnb-ide14-java as Depends of netbeans
    Installing libcommons-codec-java as Depends of libnb-ide14-java
    Installing libbytelist-java as Depends of libnb-ide14-java
      Installing libjcodings-java as Depends of libbytelist-java
    Installing libcommons-logging-java as Depends of libnb-ide14-java
      Installing libcommons-parent-java as Depends of libcommons-logging-java
        Installing libapache-pom-java as Depends of libcommons-parent-java
    Installing libcommons-net1-java as Depends of libnb-ide14-java
      Installing liboro-java as Depends of libcommons-net1-java
    Installing libflute-java as Depends of libnb-ide14-java
    Installing libfreemarker-java as Depends of libnb-ide14-java
      Installing libslf4j-java as Depends of libfreemarker-java
    Installing libini4j-java as Depends of libnb-ide14-java
      Installing bsh as Depends of libini4j-java
        Installing libjline-java as Depends of bsh
        Installing libbsh-java as Depends of bsh
      Installing libeasymock-java as Depends of libini4j-java
      Installing libjetty-java as Depends of libini4j-java
    Installing libjsch-java as Depends of libnb-ide14-java
    Installing libjvyamlb-java as Depends of libnb-ide14-java
      Installing libjoda-time-java as Depends of libjvyamlb-java
    Installing libjzlib-java as Depends of libnb-ide14-java
    Installing liblucene2-java as Depends of libnb-ide14-java
    Installing libxml-commons-resolver1.1-java as Depends of libnb-ide14-java
    Installing libsac-java as Depends of libnb-ide14-java
    Installing libsvnclientadapter-java as Depends of libnb-ide14-java
      Installing libsvn-java as Depends of libsvnclientadapter-java
        Installing libsvn1 as Depends of libsvn-java
          Installing libsqlite3-0 as Depends of libsvn1
          Installing libapr1 as Depends of libsvn1
            Installing libuuid1 as Depends of libapr1
          Installing libaprutil1 as Depends of libsvn1
            Installing libdb5.3 as Depends of libaprutil1
            Installing libexpat1 as Depends of libaprutil1
          Installing libsasl2-2 as Depends of libsvn1
            Installing libsasl2-modules-db as Depends of libsasl2-2
          Installing libserf-1-1 as Depends of libsvn1
    Installing libsvnkit-java as Depends of libnb-ide14-java
      Installing libtrilead-ssh2-java as Depends of libsvnkit-java
      Installing libsqljet-java as Depends of libsvnkit-java
      Installing libsequence-library-java as Depends of libsvnkit-java
    Installing libswingx1-java as Depends of libnb-ide14-java
    Installing libsimple-validation-java as Depends of libnb-ide14-java
    Installing libxerces2-java as Depends of libnb-ide14-java
      Installing libxml-commons-external-java as Depends of libxerces2-java
    Installing libpostgresql-jdbc-java as Depends of libnb-ide14-java
    Installing libmysql-java as Depends of libnb-ide14-java
  Installing libnb-java5-java as Depends of netbeans
    Installing libnb-absolutelayout-java as Depends of libnb-java5-java
    Installing junit as Depends of libnb-java5-java
    Installing junit-doc as Depends of libnb-java5-java
    Installing junit4-doc as Depends of libnb-java5-java
    Installing libbetter-appframework-java as Depends of libnb-java5-java
      Installing libnetx-java as Depends of libbetter-appframework-java
    Installing libbeansbinding-java as Depends of libnb-java5-java
    Installing libcglib-java as Depends of libnb-java5-java
      Installing libasm3-java as Depends of libcglib-java
    Installing libnb-javaparser-java as Depends of libnb-java5-java
    Installing ant as Depends of libnb-java5-java
    Installing ant-optional as Depends of libnb-java5-java
  Installing libnb-apisupport3-java as Depends of netbeans
    Installing libnb-platform-devel-java as Depends of libnb-apisupport3-java
      Installing libjemmy2-java as Depends of libnb-platform-devel-java
      Installing libbindex-java as Depends of libnb-platform-devel-java
Starting pkgProblemResolver with broken count: 2
Starting 2 pkgProblemResolver with broken count: 2
Investigating (0) openjdk-7-jre-headless [ amd64 ] < none -> 7u51-2.4.6-1ubuntu4 > ( java )
Broken openjdk-7-jre-headless:amd64 Depends on libnss3-1d [ amd64 ] < none -> 2:3.15.4-1ubuntu7 > ( libs ) (>= 3.12.9+ckbi-1.82-0ubuntu4)
  Considering libnss3-1d:amd64 0 as a solution to openjdk-7-jre-headless:amd64 12
  Holding Back openjdk-7-jre-headless:amd64 rather than change libnss3-1d:amd64
Investigating (0) openjdk-7-jre [ amd64 ] < none -> 7u51-2.4.6-1ubuntu4 > ( java )
Broken openjdk-7-jre:amd64 Depends on openjdk-7-jre-headless [ amd64 ] < none -> 7u51-2.4.6-1ubuntu4 > ( java ) (= 7u51-2.4.6-1ubuntu4)
  Considering openjdk-7-jre-headless:amd64 12 as a solution to openjdk-7-jre:amd64 3
  Holding Back openjdk-7-jre:amd64 rather than change openjdk-7-jre-headless:amd64
Investigating (0) openjdk-6-jre-headless [ amd64 ] < none -> 6b31-1.13.3-1ubuntu1 > ( universe/interpreters )
Broken openjdk-6-jre-headless:amd64 Depends on libnss3-1d [ amd64 ] < none -> 2:3.15.4-1ubuntu7 > ( libs ) (>= 3.12.9+ckbi-1.82-0ubuntu4)
  Considering libnss3-1d:amd64 0 as a solution to openjdk-6-jre-headless:amd64 0
  Holding Back openjdk-6-jre-headless:amd64 rather than change libnss3-1d:amd64
Investigating (0) openjdk-6-jre-lib [ amd64 ] < none -> 6b31-1.13.3-1ubuntu1 > ( universe/interpreters )
Broken openjdk-6-jre-lib:amd64 Depends on openjdk-6-jre-headless [ amd64 ] < none -> 6b31-1.13.3-1ubuntu1 > ( universe/interpreters ) (>= 6b27)
  Considering openjdk-6-jre-headless:amd64 0 as a solution to openjdk-6-jre-lib:amd64 -1
  Holding Back openjdk-6-jre-lib:amd64 rather than change openjdk-6-jre-headless:amd64
Investigating (0) openjdk-6-jre [ amd64 ] < none -> 6b31-1.13.3-1ubuntu1 > ( universe/interpreters )
Broken openjdk-6-jre:amd64 Depends on openjdk-6-jre-headless [ amd64 ] < none -> 6b31-1.13.3-1ubuntu1 > ( universe/interpreters ) (>= 6b31-1.13.3-1ubuntu1)
  Considering openjdk-6-jre-headless:amd64 0 as a solution to openjdk-6-jre:amd64 -1
  Holding Back openjdk-6-jre:amd64 rather than change openjdk-6-jre-headless:amd64
Investigating (1) default-jre-headless [ amd64 ] < none -> 2:1.7-51 > ( interpreters )
Broken default-jre-headless:amd64 Depends on openjdk-7-jre-headless [ amd64 ] < none -> 7u51-2.4.6-1ubuntu4 > ( java ) (>= 7~u3-2.1.1)
  Considering openjdk-7-jre-headless:amd64 12 as a solution to default-jre-headless:amd64 19
  Holding Back default-jre-headless:amd64 rather than change openjdk-7-jre-headless:amd64
Investigating (1) antlr3 [ amd64 ] < none -> 3.2.is.3.2-7ubuntu3 > ( universe/devel )
Broken antlr3:amd64 Depends on default-jre-headless [ amd64 ] < none -> 2:1.7-51 > ( interpreters )
  Considering default-jre-headless:amd64 19 as a solution to antlr3:amd64 10
  Holding Back antlr3:amd64 rather than change default-jre-headless:amd64
Broken antlr3:amd64 Depends on java2-runtime-headless [ amd64 ] < none > ( none )
  Considering openjdk-6-jre-headless:amd64 0 as a solution to antlr3:amd64 10
  Holding Back antlr3:amd64 rather than change java2-runtime-headless:amd64
Broken antlr3:amd64 Depends on java5-runtime-headless [ amd64 ] < none > ( none )
  Considering openjdk-6-jre-headless:amd64 0 as a solution to antlr3:amd64 10
  Holding Back antlr3:amd64 rather than change java5-runtime-headless:amd64
Broken antlr3:amd64 Depends on java6-runtime-headless [ amd64 ] < none > ( none )
  Considering openjdk-6-jre-headless:amd64 0 as a solution to antlr3:amd64 10
  Holding Back antlr3:amd64 rather than change java6-runtime-headless:amd64
  Or group keep for antlr3:amd64
Investigating (1) libnb-platform13-java [ amd64 ] < none -> 7.0.1+dfsg1-5ubuntu2 > ( universe/java )
Broken libnb-platform13-java:amd64 Depends on antlr3 [ amd64 ] < none -> 3.2.is.3.2-7ubuntu3 > ( universe/devel ) (>= 3.2)
  Considering antlr3:amd64 10 as a solution to libnb-platform13-java:amd64 7
  Holding Back libnb-platform13-java:amd64 rather than change antlr3:amd64
Investigating (1) junit4 [ amd64 ] < none -> 4.11-2 > ( devel )
Broken junit4:amd64 Depends on default-jre-headless [ amd64 ] < none -> 2:1.7-51 > ( interpreters )
  Considering default-jre-headless:amd64 19 as a solution to junit4:amd64 6
  Holding Back junit4:amd64 rather than change default-jre-headless:amd64
Broken junit4:amd64 Depends on java5-runtime-headless [ amd64 ] < none > ( none )
  Considering openjdk-6-jre-headless:amd64 0 as a solution to junit4:amd64 6
  Holding Back junit4:amd64 rather than change java5-runtime-headless:amd64
  Or group keep for junit4:amd64
Investigating (1) default-jre [ amd64 ] < none -> 2:1.7-51 > ( interpreters )
Broken default-jre:amd64 Depends on default-jre-headless [ amd64 ] < none -> 2:1.7-51 > ( interpreters ) (= 2:1.7-51)
  Considering default-jre-headless:amd64 19 as a solution to default-jre:amd64 6
  Holding Back default-jre:amd64 rather than change default-jre-headless:amd64
Investigating (1) javahelp2 [ amd64 ] < none -> 2.0.05.ds1-6 > ( universe/devel )
Broken javahelp2:amd64 Depends on default-jre [ amd64 ] < none -> 2:1.7-51 > ( interpreters )
  Considering default-jre:amd64 6 as a solution to javahelp2:amd64 5
  Holding Back javahelp2:amd64 rather than change default-jre:amd64
Broken javahelp2:amd64 Depends on java2-runtime [ amd64 ] < none > ( none )
  Considering openjdk-6-jre:amd64 -1 as a solution to javahelp2:amd64 5
  Holding Back javahelp2:amd64 rather than change java2-runtime:amd64
  Or group keep for javahelp2:amd64
Investigating (1) ant [ amd64 ] < none -> 1.9.3-2build1 > ( java )
Broken ant:amd64 Depends on default-jre-headless [ amd64 ] < none -> 2:1.7-51 > ( interpreters )
  Considering default-jre-headless:amd64 19 as a solution to ant:amd64 4
  Holding Back ant:amd64 rather than change default-jre-headless:amd64
Broken ant:amd64 Depends on java5-runtime-headless [ amd64 ] < none > ( none )
  Considering openjdk-6-jre-headless:amd64 0 as a solution to ant:amd64 4
  Holding Back ant:amd64 rather than change java5-runtime-headless:amd64
Broken ant:amd64 Depends on java6-runtime-headless [ amd64 ] < none > ( none )
  Considering openjdk-6-jre-headless:amd64 0 as a solution to ant:amd64 4
  Holding Back ant:amd64 rather than change java6-runtime-headless:amd64
Broken ant:amd64 Depends on java7-runtime-headless [ amd64 ] < none > ( none )
  Considering openjdk-7-jre-headless:amd64 12 as a solution to ant:amd64 4
  Holding Back ant:amd64 rather than change java7-runtime-headless:amd64
  Or group keep for ant:amd64
Investigating (1) ca-certificates-java [ amd64 ] < none -> 20130815ubuntu1 > ( misc )
Broken ca-certificates-java:amd64 Depends on openjdk-7-jre-headless [ amd64 ] < none -> 7u51-2.4.6-1ubuntu4 > ( java ) (>= 7~u3-2.1.1~pre1-1)
  Considering openjdk-7-jre-headless:amd64 12 as a solution to ca-certificates-java:amd64 3
  Holding Back ca-certificates-java:amd64 rather than change openjdk-7-jre-headless:amd64
Broken ca-certificates-java:amd64 Depends on java6-runtime-headless [ amd64 ] < none > ( none )
  Considering openjdk-6-jre-headless:amd64 0 as a solution to ca-certificates-java:amd64 3
  Holding Back ca-certificates-java:amd64 rather than change java6-runtime-headless:amd64
  Or group keep for ca-certificates-java:amd64
Investigating (1) libsvnkit-java [ amd64 ] < none -> 1.7.5+dfsg-2 > ( universe/java )
Broken libsvnkit-java:amd64 Depends on antlr3 [ amd64 ] < none -> 3.2.is.3.2-7ubuntu3 > ( universe/devel )
  Considering antlr3:amd64 10 as a solution to libsvnkit-java:amd64 3
  Holding Back libsvnkit-java:amd64 rather than change antlr3:amd64
Investigating (1) libstringtemplate-java [ amd64 ] < none -> 3.2.1-1 > ( universe/devel )
Broken libstringtemplate-java:amd64 Depends on default-jre-headless [ amd64 ] < none -> 2:1.7-51 > ( interpreters )
  Considering default-jre-headless:amd64 19 as a solution to libstringtemplate-java:amd64 3
  Holding Back libstringtemplate-java:amd64 rather than change default-jre-headless:amd64
Broken libstringtemplate-java:amd64 Depends on java2-runtime-headless [ amd64 ] < none > ( none )
  Considering openjdk-6-jre-headless:amd64 0 as a solution to libstringtemplate-java:amd64 3
  Holding Back libstringtemplate-java:amd64 rather than change java2-runtime-headless:amd64
  Or group keep for libstringtemplate-java:amd64
Investigating (1) libnb-ide14-java [ amd64 ] < none -> 7.0.1+dfsg1-5ubuntu2 > ( universe/java )
Broken libnb-ide14-java:amd64 Depends on libnb-platform13-java [ amd64 ] < none -> 7.0.1+dfsg1-5ubuntu2 > ( universe/java ) (>= 7.0)
  Considering libnb-platform13-java:amd64 7 as a solution to libnb-ide14-java:amd64 3
  Holding Back libnb-ide14-java:amd64 rather than change libnb-platform13-java:amd64
Investigating (1) libini4j-java [ amd64 ] < none -> 0.5.2-SNAPSHOT-2 > ( universe/libs )
Broken libini4j-java:amd64 Depends on junit4 [ amd64 ] < none -> 4.11-2 > ( devel )
  Considering junit4:amd64 6 as a solution to libini4j-java:amd64 2
  Holding Back libini4j-java:amd64 rather than change junit4:amd64
Investigating (1) libatk-wrapper-java [ amd64 ] < none -> 0.30.4-4 > ( java )
Broken libatk-wrapper-java:amd64 Depends on default-jre [ amd64 ] < none -> 2:1.7-51 > ( interpreters )
  Considering default-jre:amd64 6 as a solution to libatk-wrapper-java:amd64 2
  Holding Back libatk-wrapper-java:amd64 rather than change default-jre:amd64
Broken libatk-wrapper-java:amd64 Depends on java2-runtime [ amd64 ] < none > ( none )
  Considering openjdk-6-jre:amd64 -1 as a solution to libatk-wrapper-java:amd64 2
  Holding Back libatk-wrapper-java:amd64 rather than change java2-runtime:amd64
  Or group keep for libatk-wrapper-java:amd64
Investigating (1) libatk-wrapper-java-jni [ amd64 ] < none -> 0.30.4-4 > ( java )
Broken libatk-wrapper-java-jni:amd64 Depends on default-jre [ amd64 ] < none -> 2:1.7-51 > ( interpreters )
  Considering default-jre:amd64 6 as a solution to libatk-wrapper-java-jni:amd64 2
  Holding Back libatk-wrapper-java-jni:amd64 rather than change default-jre:amd64
Broken libatk-wrapper-java-jni:amd64 Depends on java2-runtime [ amd64 ] < none > ( none )
  Considering openjdk-6-jre:amd64 -1 as a solution to libatk-wrapper-java-jni:amd64 2
  Holding Back libatk-wrapper-java-jni:amd64 rather than change java2-runtime:amd64
  Or group keep for libatk-wrapper-java-jni:amd64
Broken libatk-wrapper-java-jni:amd64 Depends on libatk-wrapper-java [ amd64 ] < none -> 0.30.4-4 > ( java ) (>= 0.30.4-4)
  Considering libatk-wrapper-java:amd64 2 as a solution to libatk-wrapper-java-jni:amd64 2
  Holding Back libatk-wrapper-java-jni:amd64 rather than change libatk-wrapper-java:amd64
Investigating (1) libsac-java [ amd64 ] < none -> 1.3-6 > ( universe/libs )
Broken libsac-java:amd64 Depends on default-jre-headless [ amd64 ] < none -> 2:1.7-51 > ( interpreters )
  Considering default-jre-headless:amd64 19 as a solution to libsac-java:amd64 2
  Holding Back libsac-java:amd64 rather than change default-jre-headless:amd64
Broken libsac-java:amd64 Depends on java2-runtime-headless [ amd64 ] < none > ( none )
  Considering openjdk-6-jre-headless:amd64 0 as a solution to libsac-java:amd64 2
  Holding Back libsac-java:amd64 rather than change java2-runtime-headless:amd64
  Or group keep for libsac-java:amd64
Investigating (1) libbetter-appframework-java [ amd64 ] < none -> 1.9-3 > ( universe/java )
Broken libbetter-appframework-java:amd64 Depends on junit4 [ amd64 ] < none -> 4.11-2 > ( devel )
  Considering junit4:amd64 6 as a solution to libbetter-appframework-java:amd64 1
  Holding Back libbetter-appframework-java:amd64 rather than change junit4:amd64
Investigating (1) libsqljet-java [ amd64 ] < none -> 1.1.4-2 > ( universe/java )
Broken libsqljet-java:amd64 Depends on antlr3 [ amd64 ] < none -> 3.2.is.3.2-7ubuntu3 > ( universe/devel )
  Considering antlr3:amd64 10 as a solution to libsqljet-java:amd64 1
  Holding Back libsqljet-java:amd64 rather than change antlr3:amd64
Investigating (1) libnb-java5-java [ amd64 ] < none -> 7.0.1+dfsg1-5ubuntu2 > ( universe/java )
Broken libnb-java5-java:amd64 Depends on libnb-platform13-java [ amd64 ] < none -> 7.0.1+dfsg1-5ubuntu2 > ( universe/java ) (>= 7.0)
  Considering libnb-platform13-java:amd64 7 as a solution to libnb-java5-java:amd64 1
  Holding Back libnb-java5-java:amd64 rather than change libnb-platform13-java:amd64
Investigating (1) libnetx-java [ amd64 ] < none -> 0.5-2 > ( universe/java )
Broken libnetx-java:amd64 Depends on default-jre-headless [ amd64 ] < none -> 2:1.7-51 > ( interpreters )
  Considering default-jre-headless:amd64 19 as a solution to libnetx-java:amd64 0
  Holding Back libnetx-java:amd64 rather than change default-jre-headless:amd64
Broken libnetx-java:amd64 Depends on java2-runtime [ amd64 ] < none > ( none )
  Considering openjdk-6-jre:amd64 -1 as a solution to libnetx-java:amd64 0
  Holding Back libnetx-java:amd64 rather than change java2-runtime:amd64
  Or group keep for libnetx-java:amd64
Investigating (1) aspectj [ amd64 ] < none -> 1.6.12+dfsg-3 > ( universe/devel )
Broken aspectj:amd64 Depends on default-jre-headless [ amd64 ] < none -> 2:1.7-51 > ( interpreters )
  Considering default-jre-headless:amd64 19 as a solution to aspectj:amd64 0
  Holding Back aspectj:amd64 rather than change default-jre-headless:amd64
Broken aspectj:amd64 Depends on java2-runtime-headless [ amd64 ] < none > ( none )
  Considering openjdk-6-jre-headless:amd64 0 as a solution to aspectj:amd64 0
  Holding Back aspectj:amd64 rather than change java2-runtime-headless:amd64
  Or group keep for aspectj:amd64
Investigating (1) bsh [ amd64 ] < none -> 2.0b4-15 > ( devel )
Broken bsh:amd64 Depends on default-jre-headless [ amd64 ] < none -> 2:1.7-51 > ( interpreters )
  Considering default-jre-headless:amd64 19 as a solution to bsh:amd64 0
  Holding Back bsh:amd64 rather than change default-jre-headless:amd64
Broken bsh:amd64 Depends on java1-runtime-headless [ amd64 ] < none > ( none )
  Considering gcj-jre-headless:amd64 0 as a solution to bsh:amd64 0
  Holding Back bsh:amd64 rather than change java1-runtime-headless:amd64
Broken bsh:amd64 Depends on java2-runtime-headless [ amd64 ] < none > ( none )
  Considering openjdk-6-jre-headless:amd64 0 as a solution to bsh:amd64 0
  Holding Back bsh:amd64 rather than change java2-runtime-headless:amd64
  Or group keep for bsh:amd64
Investigating (1) libnb-platform-devel-java [ amd64 ] < none -> 7.0.1+dfsg1-5ubuntu2 > ( universe/libs )
Broken libnb-platform-devel-java:amd64 Depends on libnb-platform13-java [ amd64 ] < none -> 7.0.1+dfsg1-5ubuntu2 > ( universe/java )
  Considering libnb-platform13-java:amd64 7 as a solution to libnb-platform-devel-java:amd64 0
  Holding Back libnb-platform-devel-java:amd64 rather than change libnb-platform13-java:amd64
Investigating (1) libnb-apisupport3-java [ amd64 ] < none -> 7.0.1+dfsg1-5ubuntu2 > ( universe/java )
Broken libnb-apisupport3-java:amd64 Depends on libnb-platform13-java [ amd64 ] < none -> 7.0.1+dfsg1-5ubuntu2 > ( universe/java ) (>= 7.0)
  Considering libnb-platform13-java:amd64 7 as a solution to libnb-apisupport3-java:amd64 0
  Holding Back libnb-apisupport3-java:amd64 rather than change libnb-platform13-java:amd64
Investigating (1) openjdk-6-jdk [ amd64 ] < none -> 6b31-1.13.3-1ubuntu1 > ( universe/devel )
Broken openjdk-6-jdk:amd64 Depends on openjdk-6-jre [ amd64 ] < none -> 6b31-1.13.3-1ubuntu1 > ( universe/interpreters ) (>= 6b31-1.13.3-1ubuntu1)
  Considering openjdk-6-jre:amd64 -1 as a solution to openjdk-6-jdk:amd64 -1
  Holding Back openjdk-6-jdk:amd64 rather than change openjdk-6-jre:amd64
Investigating (2) netbeans [ amd64 ] < none -> 7.0.1+dfsg1-5ubuntu2 > ( universe/java )
Broken netbeans:amd64 Depends on libnb-platform13-java [ amd64 ] < none -> 7.0.1+dfsg1-5ubuntu2 > ( universe/java ) (>= 7.0)
  Considering libnb-platform13-java:amd64 7 as a solution to netbeans:amd64 9999
  Re-Instated ca-certificates-java:amd64
    Reinst Failed early because of libnss3:amd64
    Reinst Failed because of libnss3-1d:amd64
    Reinst Failed because of openjdk-7-jre-headless:amd64
    Reinst Failed because of default-jre-headless:amd64
    Reinst Failed because of default-jre:amd64
  Re-Instated openjdk-6-jre-lib:amd64
    Reinst Failed because of libnss3-1d:amd64
    Reinst Failed because of openjdk-6-jre-headless:amd64
    Reinst Failed because of openjdk-6-jre:amd64
    Reinst Failed because of javahelp2:amd64
Broken netbeans:amd64 Depends on openjdk-6-jdk [ amd64 ] < none -> 6b31-1.13.3-1ubuntu1 > ( universe/devel )
  Considering openjdk-6-jdk:amd64 -1 as a solution to netbeans:amd64 9999
    Reinst Failed because of openjdk-6-jre:amd64
Broken netbeans:amd64 Depends on java6-sdk [ amd64 ] < none > ( none )
  Considering openjdk-6-jdk:amd64 -1 as a solution to netbeans:amd64 9999
  Considering openjdk-7-jdk:amd64 0 as a solution to netbeans:amd64 9999
    Reinst Failed because of openjdk-7-jre-headless:amd64
    Reinst Failed because of openjdk-7-jre:amd64
  Considering default-jdk:amd64 0 as a solution to netbeans:amd64 9999
    Reinst Failed because of default-jre:amd64
Broken netbeans:amd64 Depends on java7-sdk [ amd64 ] < none > ( none )
  Considering default-jdk:amd64 0 as a solution to netbeans:amd64 9999
Broken netbeans:amd64 Depends on libnb-ide14-java [ amd64 ] < none -> 7.0.1+dfsg1-5ubuntu2 > ( universe/java ) (= 7.0.1+dfsg1-5ubuntu2)
  Considering libnb-ide14-java:amd64 3 as a solution to netbeans:amd64 9999
    Reinst Failed because of libnb-platform13-java:amd64
Broken netbeans:amd64 Depends on libnb-java5-java [ amd64 ] < none -> 7.0.1+dfsg1-5ubuntu2 > ( universe/java ) (= 7.0.1+dfsg1-5ubuntu2)
  Considering libnb-java5-java:amd64 1 as a solution to netbeans:amd64 9999
    Reinst Failed because of libnb-platform13-java:amd64
Broken netbeans:amd64 Depends on libnb-apisupport3-java [ amd64 ] < none -> 7.0.1+dfsg1-5ubuntu2 > ( universe/java ) (= 7.0.1+dfsg1-5ubuntu2)
  Considering libnb-apisupport3-java:amd64 0 as a solution to netbeans:amd64 9999
    Reinst Failed because of libnb-platform13-java:amd64
Investigating (2) ant-optional [ amd64 ] < none -> 1.9.3-2build1 > ( java )
Broken ant-optional:amd64 Depends on ant [ amd64 ] < none -> 1.9.3-2build1 > ( java ) (= 1.9.3-2build1)
  Considering ant:amd64 4 as a solution to ant-optional:amd64 4
  Holding Back ant-optional:amd64 rather than change ant:amd64
Investigating (2) ca-certificates-java [ amd64 ] < none -> 20130815ubuntu1 > ( misc )
Broken ca-certificates-java:amd64 Depends on openjdk-7-jre-headless [ amd64 ] < none -> 7u51-2.4.6-1ubuntu4 > ( java ) (>= 7~u3-2.1.1~pre1-1)
  Considering openjdk-7-jre-headless:amd64 12 as a solution to ca-certificates-java:amd64 3
  Holding Back ca-certificates-java:amd64 rather than change openjdk-7-jre-headless:amd64
Broken ca-certificates-java:amd64 Depends on java6-runtime-headless [ amd64 ] < none > ( none )
  Considering openjdk-6-jre-headless:amd64 0 as a solution to ca-certificates-java:amd64 3
  Holding Back ca-certificates-java:amd64 rather than change java6-runtime-headless:amd64
  Or group keep for ca-certificates-java:amd64
Investigating (2) libgeronimo-jpa-2.0-spec-java [ amd64 ] < none -> 1.1-2 > ( universe/java )
Broken libgeronimo-jpa-2.0-spec-java:amd64 Depends on aspectj [ amd64 ] < none -> 1.6.12+dfsg-3 > ( universe/devel )
  Considering aspectj:amd64 0 as a solution to libgeronimo-jpa-2.0-spec-java:amd64 1
  Holding Back libgeronimo-jpa-2.0-spec-java:amd64 rather than change aspectj:amd64
Investigating (2) openjdk-6-jre-lib [ amd64 ] < none -> 6b31-1.13.3-1ubuntu1 > ( universe/interpreters )
Broken openjdk-6-jre-lib:amd64 Depends on openjdk-6-jre-headless [ amd64 ] < none -> 6b31-1.13.3-1ubuntu1 > ( universe/interpreters ) (>= 6b27)
  Considering openjdk-6-jre-headless:amd64 0 as a solution to openjdk-6-jre-lib:amd64 -1
  Holding Back openjdk-6-jre-lib:amd64 rather than change openjdk-6-jre-headless:amd64
Investigating (3) netbeans [ amd64 ] < none -> 7.0.1+dfsg1-5ubuntu2 > ( universe/java )
Broken netbeans:amd64 Depends on libnb-platform13-java [ amd64 ] < none -> 7.0.1+dfsg1-5ubuntu2 > ( universe/java ) (>= 7.0)
  Considering libnb-platform13-java:amd64 7 as a solution to netbeans:amd64 9999
Broken netbeans:amd64 Depends on openjdk-6-jdk [ amd64 ] < none -> 6b31-1.13.3-1ubuntu1 > ( universe/devel )
  Considering openjdk-6-jdk:amd64 -1 as a solution to netbeans:amd64 9999
Broken netbeans:amd64 Depends on java6-sdk [ amd64 ] < none > ( none )
  Considering openjdk-6-jdk:amd64 -1 as a solution to netbeans:amd64 9999
  Considering openjdk-7-jdk:amd64 0 as a solution to netbeans:amd64 9999
  Considering default-jdk:amd64 0 as a solution to netbeans:amd64 9999
Broken netbeans:amd64 Depends on java7-sdk [ amd64 ] < none > ( none )
  Considering default-jdk:amd64 0 as a solution to netbeans:amd64 9999
Broken netbeans:amd64 Depends on libnb-ide14-java [ amd64 ] < none -> 7.0.1+dfsg1-5ubuntu2 > ( universe/java ) (= 7.0.1+dfsg1-5ubuntu2)
  Considering libnb-ide14-java:amd64 3 as a solution to netbeans:amd64 9999
Broken netbeans:amd64 Depends on libnb-java5-java [ amd64 ] < none -> 7.0.1+dfsg1-5ubuntu2 > ( universe/java ) (= 7.0.1+dfsg1-5ubuntu2)
  Considering libnb-java5-java:amd64 1 as a solution to netbeans:amd64 9999
Broken netbeans:amd64 Depends on libnb-apisupport3-java [ amd64 ] < none -> 7.0.1+dfsg1-5ubuntu2 > ( universe/java ) (= 7.0.1+dfsg1-5ubuntu2)
  Considering libnb-apisupport3-java:amd64 0 as a solution to netbeans:amd64 9999
Investigating (3) libosgi-compendium-java [ amd64 ] < none -> 4.3.0-1 > ( universe/java )
Broken libosgi-compendium-java:amd64 Depends on libgeronimo-jpa-2.0-spec-java [ amd64 ] < none -> 1.1-2 > ( universe/java )
  Considering libgeronimo-jpa-2.0-spec-java:amd64 1 as a solution to libosgi-compendium-java:amd64 5
  Holding Back libosgi-compendium-java:amd64 rather than change libgeronimo-jpa-2.0-spec-java:amd64
Investigating (3) libgeronimo-osgi-support-java [ amd64 ] < none -> 1.0-2 > ( universe/java )
Broken libgeronimo-osgi-support-java:amd64 Depends on libosgi-compendium-java [ amd64 ] < none -> 4.3.0-1 > ( universe/java )
  Considering libosgi-compendium-java:amd64 5 as a solution to libgeronimo-osgi-support-java:amd64 0
  Holding Back libgeronimo-osgi-support-java:amd64 rather than change libosgi-compendium-java:amd64
Investigating (4) netbeans [ amd64 ] < none -> 7.0.1+dfsg1-5ubuntu2 > ( universe/java )
Broken netbeans:amd64 Depends on libnb-platform13-java [ amd64 ] < none -> 7.0.1+dfsg1-5ubuntu2 > ( universe/java ) (>= 7.0)
  Considering libnb-platform13-java:amd64 7 as a solution to netbeans:amd64 9999
Broken netbeans:amd64 Depends on openjdk-6-jdk [ amd64 ] < none -> 6b31-1.13.3-1ubuntu1 > ( universe/devel )
  Considering openjdk-6-jdk:amd64 -1 as a solution to netbeans:amd64 9999
Broken netbeans:amd64 Depends on java6-sdk [ amd64 ] < none > ( none )
  Considering openjdk-6-jdk:amd64 -1 as a solution to netbeans:amd64 9999
  Considering openjdk-7-jdk:amd64 0 as a solution to netbeans:amd64 9999
  Considering default-jdk:amd64 0 as a solution to netbeans:amd64 9999
Broken netbeans:amd64 Depends on java7-sdk [ amd64 ] < none > ( none )
  Considering default-jdk:amd64 0 as a solution to netbeans:amd64 9999
Broken netbeans:amd64 Depends on libnb-ide14-java [ amd64 ] < none -> 7.0.1+dfsg1-5ubuntu2 > ( universe/java ) (= 7.0.1+dfsg1-5ubuntu2)
  Considering libnb-ide14-java:amd64 3 as a solution to netbeans:amd64 9999
Broken netbeans:amd64 Depends on libnb-java5-java [ amd64 ] < none -> 7.0.1+dfsg1-5ubuntu2 > ( universe/java ) (= 7.0.1+dfsg1-5ubuntu2)
  Considering libnb-java5-java:amd64 1 as a solution to netbeans:amd64 9999
Broken netbeans:amd64 Depends on libnb-apisupport3-java [ amd64 ] < none -> 7.0.1+dfsg1-5ubuntu2 > ( universe/java ) (= 7.0.1+dfsg1-5ubuntu2)
  Considering libnb-apisupport3-java:amd64 0 as a solution to netbeans:amd64 9999
Done
E: Unable to correct problems, you have held broken packages.
wget: missing URL
Usage: wget [OPTION]... [URL]...

Not sure how to fix it. Maybe line 24-25 (the echo "deb ... lines) should be extended to include extra trusty repos?

Thanks for your time, Brenton

fusion809 commented 7 years ago

I have managed to get a Recipe that builds an AppImage, although not a working one. This is my Recipe:

#!/bin/bash

# In this case, the upstream project seems to already
# provide binaries that are supposed to run everywhere,
# so we merely package these as an AppImage

set +e

APP="netbeans"
LOWERAPP="netbeans"
VERSION="7.0.1"
DATE="201609300101"
rm -rf ./$APP/$APP.AppDir

mkdir -p ./$APP/$APP.AppDir/usr/bin
mkdir -p ./$APP/$APP.AppDir/usr/lib
cd ./$APP

wget -q https://github.com/probonopd/AppImages/raw/master/functions.sh -O ./functions.sh
. ./functions.sh

generate_status

echo "deb http://archive.ubuntu.com/ubuntu/ trusty main restricted
deb-src http://archive.ubuntu.com/ubuntu/ trusty main restricted
deb http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted
deb-src http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted

deb http://archive.ubuntu.com/ubuntu/ trusty universe
deb-src http://archive.ubuntu.com/ubuntu/ trusty universe
deb http://archive.ubuntu.com/ubuntu/ trusty-updates universe
deb-src http://archive.ubuntu.com/ubuntu/ trusty-updates universe

deb http://archive.ubuntu.com/ubuntu/ trusty-security main restricted
deb-src http://archive.ubuntu.com/ubuntu/ trusty-security main restricted
deb http://archive.ubuntu.com/ubuntu/ trusty-security universe
deb-src http://archive.ubuntu.com/ubuntu/ trusty-security universe
" > sources.list

apt-get $OPTIONS update

URLS=$(apt-get $OPTIONS -y install --print-uris $APP | cut -d "'" -f 2 | grep -e "^http")

wget -c $URLS
#wget -c http://download.netbeans.org/netbeans/$VERSION/final/zip/netbeans-$VERSION-$DATE.zip

wget -c "https://github.com/probonopd/AppImageKit/releases/download/5/AppRun" # (64-bit)
chmod a+x ./AppRun

cd ./$APP.AppDir/

find ../*.deb -exec dpkg -x {} . \;
#bsdtar -xf ../netbeans*.zip -C usr/share
#cp usr/share/$APP/bin/$APP usr/bin

wget -cqO- http://www.file-extensions.org/imgs/app-icon/128/5149/netbeans-icon.png > netbeans.png
echo "[Desktop Entry]
Encoding=UTF-8
Name=NetBeans IDE
Comment=The Smarter Way to Code
Exec=netbeans
Icon=netbeans
Categories=Application;Development;Java;IDE
Version=1.0
Type=Application
Terminal=0" > netbeans.desktop
chmod +x netbeans.desktop
cp netbeans.desktop usr/share/applications
get_apprun

rm -rf ./etc/ ./home/ || true

# patch_usr
# Patching only the executable files seems not to be enough for some apps
find usr/ -type f -exec sed -i -e "s|/usr|././|g" {} \;

cd ..
wget -c "https://github.com/probonopd/AppImageKit/releases/download/5/AppImageAssistant" # (64-bit)
chmod a+x ./AppImageAssistant
mkdir -p ../out
if [[ -f ../out/$APP"-"$VERSION"-x86_64.AppImage" ]]; then
  rm $APP"-"$VERSION"-x86_64.AppImage"
fi
./AppImageAssistant ./$APP.AppDir/ ../out/$APP"-"$VERSION"-x86_64.AppImage"

The error I get whenever I try to run the AppImage generated by this is:

Cannot read cluster file: ././/share/netbeans/7.0.1/bin/../etc/netbeans.clusters
probonopd commented 7 years ago

Please request an AppImage from the upstream NetBeans project :-)

fusion809 commented 7 years ago

Tried to do that, but they flagged my bug report as spam, rofl. Here is what I used in my report:

NetBeans would not need to be installed if this site provided an AppImage (https://appimage.org) for it. AppImages are a type of cross-distribution packaging format that does not need to be installed in order to be used. All that needs to be done in order to use them is to make them executable (with chmod +x) and execute them. No specialist software needs to be installed in order to run an AppImage.

I have sent an email requesting that they accept my bug report. But, there's no way for me to know how long it'll take for them to respond to it.

probonopd commented 7 years ago

Did you get any response from upstream?

fusion809 commented 7 years ago

I haven't had a chance to file a feature request at their bug tracker thanks to them continually flagging my reports as spam. As previously mentioned I sent them an email mentioning this issue with their bug tracker, but still no reply has been received. Likewise I have created a new thread at their forums asking for help with their bug tracker, still no reply.

probonopd commented 7 years ago

If you want to roll your own AppImage, I'd recommend something more along the lines of this - i.e., don't use deb packages if you can have upstream zip files.

fusion809 commented 7 years ago

That yaml has one issue. It bundles a proprietary JRE with the AppImage. The JREs provided by Oracle are licensed under a proprietary EULA. Hence OpenJDK must be used.

probonopd commented 7 years ago

Can you point me to the exact paragraph that mandates that?

fusion809 commented 7 years ago

Not sure, I have asked about JRE bundling with other apps and the answer has been licensing restrictions prevent it. Been looking for this but so far I haven't found it. I also have a few other active issues I'm dealing with.

probonopd commented 7 years ago

Well...

The Java™ Platform, Standard Edition Runtime Environment (JRE) is intended for software developers and vendors to redistribute with their applications.

http://www.oracle.com/technetwork/java/javase/jre-8-readme-2095710.html

fusion809 commented 7 years ago

I figured out where this was said. On the #flatpak IRC channel. I am asking them if they have logs, so I can find out who said it and ask them for proof.

fusion809 commented 7 years ago

Another dilemma is that NetBeans zip files do not have a download link that will always download the latest version of NetBeans, unlike your Mediakview yml, which will always download the latest version of Mediakview. As the download links for NetBeans zip files include the specific version being downloaded.

probonopd commented 7 years ago

Yes, they seem to be hiding in https://netbeans.org/images_www/v6/download/8.2/final/js/files.js https://netbeans.org/images_www/v6/download/community/8.2/js/files.js The string "8.2" can be scraped from the headline on https://netbeans.org/downloads/index.html

Look at some of my other yml files to see how to do this with wget, cut, and sed.

fusion809 commented 7 years ago

Well this yaml I created:

app: netbeans

ingredients:
  script:
    - URL=http://download.netbeans.org/netbeans/8.2/final/zip/netbeans-8.2-201609300101.zip
    - wget -c "$URL" --trust-server-names
    - wget -c --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u66-b17/jre-8u66-linux-x64.tar.gz
    - printf "8.2" > VERSION

script:
  - mkdir -p usr/lib/jvm/
  - tar xf ../jre* -C usr/lib/jvm/
  - ( cd usr/bin ; ln -s ../lib/jvm/jre*/bin/java . )
  - unzip ../netbeans*zip -d usr/
  - rm -rf usr/bin
  - mv ./usr/netbeans ./usr/bin
  - ( cd ./usr/bin; ln -sf bin/netbeans . )
  - find . -name *.exe -exec rm {} \;
  - cat > netbeans.desktop <<\EOF
  - [Desktop Entry]
  - Name=NetBeans
  - Exec=netbeans
  - Icon=netbeans
  - Type=Application
  - Categories=IDE;Development;
  - Comment=NetBeans IDE
  - EOF
  - cp ./usr/bin/nb/netbeans.png netbeans.png

the AppImage it builds to run giving the error:

/root/.cache/thumbnails/normal/a9e2e0e7bb9b3aa815aaf87cc982ba91.png is missing. Probably not running ./bin//netbeans.wrapper from within an AppImage.
Hence falling back to using .DirIcon
./bin//netbeans.wrapper: line 110:  2751 Aborted                 (core dumped) LD_LIBRARY_PATH="" zenity --question --title="$TITLE" --text="$TEXT" 2> /dev/null
Cannot find java. Please use the --jdkhome switch.

so quite clearly there is something that is needed to be done to make the JRE locatable.

probonopd commented 7 years ago

JRE normally is relocateable - must be something else. Are you sure that your usr/bin/java symlink is actually working?

fusion809 commented 7 years ago

No it isn't actually there is no usr/bin/java symlink. I copied your Mediakview yaml's attempt at creating the symlink perfectly. Any idea why it doesn't exist?

fusion809 commented 7 years ago

Oh never mind, I know why. The netbeans zip contains a java folder. So there's a conflict. Is there a way to fix that? Like if I move the java folder to /usr/share/netbeans it probably won't be located properly.

fusion809 commented 7 years ago

Aha, I found a solution! Putting the java symlink in /bin. It's working, here is my yaml now:

app: netbeans

ingredients:
  script:
    - URL=http://download.netbeans.org/netbeans/8.2/final/zip/netbeans-8.2-201609300101.zip
    - wget -c "$URL" --trust-server-names
    - wget -c --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u66-b17/jre-8u66-linux-x64.tar.gz
    - printf "8.2" > VERSION

script:
  - mkdir -p usr/lib/jvm/
  - tar xf ../jre* -C usr/lib/jvm/
  - mkdir -p bin
  - ( cd ./bin; ln -sf ../usr/lib/jvm/jre*/bin/java . )
  - unzip ../netbeans*zip -d usr/
  - rm -rf usr/bin
  - mv ./usr/netbeans ./usr/bin
  - ( cd ./usr/bin; ln -sf bin/netbeans . )
  - find . -name *.exe -exec rm {} \;
  - cat > netbeans.desktop <<\EOF
  - [Desktop Entry]
  - Name=NetBeans
  - Exec=netbeans
  - Icon=netbeans
  - Type=Application
  - Categories=IDE;Development;
  - Comment=NetBeans IDE
  - EOF
  - cp ./usr/bin/nb/netbeans.png netbeans.png
fusion809 commented 7 years ago

One last problem I'm gonna try to solve: the AppImage is over 400 MB in size. I'm gonna strip some components used for other OSs.

probonopd commented 7 years ago

Good! Run a tool like baobab on the AppDir to find out what the large files and/or directories are.

fusion809 commented 7 years ago

Most of the space is being taken up by modules, which I assume are the jars used by NetBeans, so I don't think I can remove them. My only option for further cutting down on size (which I expect to cut at most 20 MB from its size, TBH) is to delete documentation files. Not sure if I should though, as an IDE is pretty useless unless it's well documented.

probonopd commented 7 years ago

Well, if the original download is also that large, then it's how it is and there is not much you can do about it. Find a good hoster that accepts such large files, and make sure to include proper update information for binary delta updates.

fusion809 commented 7 years ago

Best one I know of is GitHub itself. https://github.com/fusion809/AppImages/releases/tag/netbeans8.2.

probonopd commented 7 years ago

Best one I know of is GitHub itself

You are right. Testing it now.

probonopd commented 7 years ago

Wow. Runs out of the box, as you can see took me less than a minute from 0 to 100. Awesome!