diff --git a/docker-builder-data/build/script/common/manager.sh b/docker-builder-data/build/script/common/manager.sh index bb57a10..aaec329 100755 --- a/docker-builder-data/build/script/common/manager.sh +++ b/docker-builder-data/build/script/common/manager.sh @@ -65,13 +65,13 @@ INITIAL_PKG_CONFIG_PATH=$PKG_CONFIG_PATH # 6. | env # | | # | envdeps* -# | -# 7. install_release # | # | env_release^ +# | | +# 7. | envdeps_release # | | -# 8. | envdeps_release -# | | +# 8. install_release +# | # 9. env_release # | # envdeps_release* @@ -300,7 +300,7 @@ env() { local NAME=$1 - if ! (install $1 && envdeps $1); then + if ! (envdeps $1 && install $1); then return 1 fi @@ -319,12 +319,6 @@ env() { set_done $NAME env } -install_release() { - if ! (check_packet_function $1 install_release || (install $1 && call_packet_function $1 install_release)); then - return 1 - fi -} - envdeps_release() { if check_packet_function $1 envdeps_release; then return 0 @@ -350,6 +344,12 @@ envdeps_release() { set_done $NAME envdeps_release } +install_release() { + if ! (check_packet_function $1 install_release || (envdeps_release $1 && install $1 && call_packet_function $1 install_release)); then + return 1 + fi +} + env_release() { if check_packet_function $1 env_release; then return 0 @@ -357,7 +357,7 @@ env_release() { local NAME=$1 - if ! (install_release $1 && envdeps_release $1); then + if ! (envdeps_release $1 && install_release $1); then return 1 fi diff --git a/docker-builder-data/build/script/packet/appimagekit-master.sh b/docker-builder-data/build/script/packet/appimagekit-master.sh index 8d8cbe2..95d0ff3 100644 --- a/docker-builder-data/build/script/packet/appimagekit-master.sh +++ b/docker-builder-data/build/script/packet/appimagekit-master.sh @@ -1,11 +1,9 @@ -DEPS="png-1.6.25 fuse-2.9.7 cmake-3.6.2" +DEPS="png-1.6.25 cmake-3.6.2" PK_DIRNAME="AppImageKit" PK_URL="https://github.com/probonopd/$PK_DIRNAME.git" source $INCLUDE_SCRIPT_DIR/inc-pkallunpack-git.sh -source $INCLUDE_SCRIPT_DIR/inc-pkinstall-default.sh -source $INCLUDE_SCRIPT_DIR/inc-pkinstall_release-default.sh pkbuild() { cd "$BUILD_PACKET_DIR/$PK_DIRNAME" @@ -21,3 +19,11 @@ pkbuild() { return 1 fi } + +pkinstall() { + mkdir -p "$INSTALL_PACKET_DIR/bin" + if ! (cp -f "$BUILD_PACKET_DIR/$PK_DIRNAME/AppImageAssistant" "$INSTALL_PACKET_DIR/bin/" \ + && cp -f "$BUILD_PACKET_DIR/$PK_DIRNAME/AppRun" "$INSTALL_PACKET_DIR/bin/"); then + return 1 + fi +} diff --git a/docker-builder-data/build/script/packet/boost-1.61.0.sh b/docker-builder-data/build/script/packet/boost-1.61.0.sh index 7775baa..574fda2 100644 --- a/docker-builder-data/build/script/packet/boost-1.61.0.sh +++ b/docker-builder-data/build/script/packet/boost-1.61.0.sh @@ -8,8 +8,8 @@ source $INCLUDE_SCRIPT_DIR/inc-pkallunpack-default.sh source $INCLUDE_SCRIPT_DIR/inc-pkinstall_release-default.sh pkinstall() { - mkdir -p "$INSTALL_PACKET_DIR/include/" - if ! cp -r "$BUILD_PACKET_DIR/$PK_DIRNAME/boost" "$INSTALL_PACKET_DIR/include/"; then + mkdir -p "$INSTALL_PACKET_DIR/include/boost" + if ! copy "$BUILD_PACKET_DIR/$PK_DIRNAME/boost" "$INSTALL_PACKET_DIR/include/boost"; then return 1 fi } diff --git a/docker-builder-data/build/script/packet/cmake-3.6.2.sh b/docker-builder-data/build/script/packet/cmake-3.6.2.sh index 8517d12..9f4b532 100644 --- a/docker-builder-data/build/script/packet/cmake-3.6.2.sh +++ b/docker-builder-data/build/script/packet/cmake-3.6.2.sh @@ -4,4 +4,6 @@ PK_DIRNAME="cmake-3.6.2" PK_ARCHIVE="$PK_DIRNAME.tar.gz" PK_URL="https://cmake.org/files/v3.6/$PK_ARCHIVE" -source $INCLUDE_SCRIPT_DIR/inc-pkall-default.sh +source $INCLUDE_SCRIPT_DIR/inc-pkallunpack-default.sh +source $INCLUDE_SCRIPT_DIR/inc-pkbuild-default.sh +source $INCLUDE_SCRIPT_DIR/inc-pkinstall-default.sh diff --git a/docker-builder-data/build/script/packet/fuse-2.9.7.sh b/docker-builder-data/build/script/packet/fuse-2.9.7.sh deleted file mode 100644 index 1211466..0000000 --- a/docker-builder-data/build/script/packet/fuse-2.9.7.sh +++ /dev/null @@ -1,7 +0,0 @@ -DEPS="" - -PK_DIRNAME="fuse-2.9.7" -PK_ARCHIVE="$PK_DIRNAME.tar.gz" -PK_URL="https://github.com/libfuse/libfuse/releases/download/$PK_DIRNAME/$PK_ARCHIVE" - -source $INCLUDE_SCRIPT_DIR/inc-pkall-default.sh diff --git a/docker-builder-data/build/script/packet/opentoonz-appimage.files/opentoonz.desktop b/docker-builder-data/build/script/packet/opentoonz-appimage.files/opentoonz.desktop new file mode 100644 index 0000000..39b4896 --- /dev/null +++ b/docker-builder-data/build/script/packet/opentoonz-appimage.files/opentoonz.desktop @@ -0,0 +1,4 @@ +[Desktop Entry] +Name=OpenToonz +Exec=launch-opentoonz.sh +Icon=opentoonz diff --git a/docker-builder-data/build/script/packet/opentoonz-appimage.files/opentoonz.png b/docker-builder-data/build/script/packet/opentoonz-appimage.files/opentoonz.png new file mode 100644 index 0000000..3d696a9 Binary files /dev/null and b/docker-builder-data/build/script/packet/opentoonz-appimage.files/opentoonz.png differ diff --git a/docker-builder-data/build/script/packet/opentoonz-appimage.sh b/docker-builder-data/build/script/packet/opentoonz-appimage.sh new file mode 100644 index 0000000..7e9abb4 --- /dev/null +++ b/docker-builder-data/build/script/packet/opentoonz-appimage.sh @@ -0,0 +1,35 @@ +DEPS="appimagekit-master opentoonz-master" + +PK_APPIMAGEKIT_DIR=$PACKET_DIR/appimagekit-master/ +PK_APPDIR_NAME="opentoonz" + +pkinstall() { + # copy files from envdeps (install requires envdeps explicit) + + local APPDIR="$INSTALL_RELEASE_PACKET_DIR/$PK_APPDIR_NAME.AppDir" + mkdir -p "$APPDIR/usr" + if ! cp "$ENVDEPS_PACKET_DIR/bin/AppRun" "$APPDIR/"; then + return 1 + fi + if ! (cp "$FILES_PACKET_DIR/opentoonz.desktop" "$APPDIR/" \ + && cp "$FILES_PACKET_DIR/opentoonz.png" "$APPDIR/"); then + return 1 + fi +} + +pkinstall_release() { + if ! copy "$INSTALL_PACKET_DIR" "$INSTALL_RELEASE_PACKET_DIR"; then + return 1 + fi + + # copy files from envdeps_release (install_releas requires envdeps_release explicit) + + local APPDIR="$INSTALL_RELEASE_PACKET_DIR/$PK_APPDIR_NAME.AppDir" + if ! copy "$ENVDEPS_RELEASE_PACKET_DIR" "$APPDIR/usr"; then + return 1 + fi + if ! AppImageAssistant "$APPDIR" "$INSTALL_RELEASE_PACKET_DIR/$PK_APPDIR_NAME.appimage"; then + return 1 + fi + rm -rf "$APPDIR" +} diff --git a/docker-builder-data/build/script/packet/opentoonz-master.files/launch-opentoonz.sh b/docker-builder-data/build/script/packet/opentoonz-master.files/launch-opentoonz.sh index fab0b86..0f84b34 100755 --- a/docker-builder-data/build/script/packet/opentoonz-master.files/launch-opentoonz.sh +++ b/docker-builder-data/build/script/packet/opentoonz-master.files/launch-opentoonz.sh @@ -1,33 +1,12 @@ #!/bin/sh -SCRIPT_FILE=`realpath "$0"` -SCRIPT_DIR=`dirname "$SCRIPT_FILE"` +SCRIPT_DIR=$(cd `dirname "$0"`; pwd) BASE_DIR=`dirname "$SCRIPT_DIR"` -if [ ! -d "$HOME/.config/OpenToonz" ]; then - mkdir -p $HOME/.config/OpenToonz - cp -r $BASE_DIR/share/openttoonz/stuff $HOME/.config/OpenToonz/ - -cat << EOF > $HOME/.config/OpenToonz/SystemVar.ini -[General] -OPENTOONZROOT="$HOME/.config/OpenToonz/stuff" -OpenToonzPROFILES="$HOME/.config/OpenToonz/stuff/profiles" -TOONZCACHEROOT="$HOME/.config/OpenToonz/stuff/cache" -TOONZCONFIG="$HOME/.config/OpenToonz/stuff/config" -TOONZFXPRESETS="$HOME/.config/OpenToonz/stuff/projects/fxs" -TOONZLIBRARY="$HOME/.config/OpenToonz/stuff/projects/library" -TOONZPROFILES="$HOME/.config/OpenToonz/stuff/profiles" -TOONZPROJECTS="$HOME/.config/OpenToonz/stuff/projects" -TOONZROOT="$HOME/.config/OpenToonz/stuff" -TOONZSTUDIOPALETTE="$HOME/.config/OpenToonz/stuff/projects/studiopalette" -EOF - -fi - export LD_LIBRARY_PATH="$BASE_DIR/lib:$BASE_DIR/lib64:$LD_LIBRARY_PATH" export QT_XKB_CONFIG_ROOT=$QT_XKB_CONFIG_ROOT:/usr/local/share/X11/xkb:/usr/share/X11/xkb -OLDDIR=$(cd `dirname "$0"`; pwd) +OLDDIR=`pwd` cd "$BASE_DIR/bin" -./opentoonz +./opentoonz "$@" cd "$OLDDIR" diff --git a/docker-builder-data/build/script/packet/opentoonz-master.sh b/docker-builder-data/build/script/packet/opentoonz-master.sh index 0fcbb5e..1c24516 100644 --- a/docker-builder-data/build/script/packet/opentoonz-master.sh +++ b/docker-builder-data/build/script/packet/opentoonz-master.sh @@ -60,7 +60,4 @@ pkinstall() { if ! cp -f $BUILD_PACKET_DIR/$PK_DIRNAME/thirdparty/tiff-4.0.3/libtiff/.libs/libtiffxx.so* "$INSTALL_PACKET_DIR/lib"; then return 1 fi - if ! cp -f "/usr/bin/realpath" "$INSTALL_PACKET_DIR/bin"; then - return 1 - fi } diff --git a/docker-builder-i386/Dockerfile b/docker-builder-i386/Dockerfile index a2ab6da..f6ebc5e 100644 --- a/docker-builder-i386/Dockerfile +++ b/docker-builder-i386/Dockerfile @@ -53,5 +53,6 @@ RUN apt-get -yq install csh RUN apt-get -yq install xsltproc RUN apt-get -yq install libudev-dev RUN apt-get -yq install m4 +RUN apt-get -yq install libfuse-dev CMD mkdir /build diff --git a/docker-builder-i386/run.sh b/docker-builder-i386/run.sh index 38a4f90..59d6a85 100755 --- a/docker-builder-i386/run.sh +++ b/docker-builder-i386/run.sh @@ -22,6 +22,7 @@ mkdir -p $PACKET_BUILD_DIR docker run -it \ --name "builder-i386" \ $DOCKER_RUN_OPTIONS \ + --privileged=true \ -v "$PACKET_BUILD_DIR:/build/packet" \ -v "$SCRIPT_BUILD_DIR:/build/script" \ -e PLATFORM=linux-i386 \ diff --git a/docker-builder/Dockerfile b/docker-builder/Dockerfile index d0095b7..7081c5b 100644 --- a/docker-builder/Dockerfile +++ b/docker-builder/Dockerfile @@ -53,5 +53,6 @@ RUN apt-get -yq install csh RUN apt-get -yq install xsltproc RUN apt-get -yq install libudev-dev RUN apt-get -yq install m4 +RUN apt-get -yq install libfuse-dev CMD mkdir /build diff --git a/docker-builder/run.sh b/docker-builder/run.sh index 1333de6..e03f7a0 100755 --- a/docker-builder/run.sh +++ b/docker-builder/run.sh @@ -21,6 +21,7 @@ mkdir -p $PACKET_BUILD_DIR docker run -it \ --name "builder" \ + --privileged=true \ $DOCKER_RUN_OPTIONS \ -v "$PACKET_BUILD_DIR:/build/packet" \ -v "$SCRIPT_BUILD_DIR:/build/script" \