aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2018-02-18 04:41:02 +0100
committerJay Berkenbilt <ejb@ql.org>2018-02-18 05:39:14 +0100
commit1e86f3ab70ad20971a800089ec531f567dcc58da (patch)
tree6719dd2d510dad9a046e271e153a7c9f44543356
parent356e71522856b73456bb82b3ddbd253f441fa209 (diff)
downloadqpdf-1e86f3ab70ad20971a800089ec531f567dcc58da.tar.zst
Complete .travis.yml and AppImage support (fixes #160, #161)
-rw-r--r--.gitignore1
-rw-r--r--.travis.yml24
-rw-r--r--Makefile1
-rw-r--r--appimage/AppRun (renamed from dist/AppRun)0
-rwxr-xr-xappimage/build-appimage36
-rw-r--r--appimage/qpdf.desktop (renamed from dist/qpdf.desktop)0
-rw-r--r--dist/qpdf.pngbin4870 -> 0 bytes
7 files changed, 41 insertions, 21 deletions
diff --git a/.gitignore b/.gitignore
index f206a21e..c8bd500b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
*.pdb
.lineno
aclocal.m4
+appimage/build
autoconf.mk
autofiles.zip
autom4te.cache/
diff --git a/.travis.yml b/.travis.yml
index 16bafa3d..fe84f3c8 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -4,28 +4,10 @@ sudo: require
dist: trusty
script:
- - ./autogen.sh
- - ./configure --prefix=/usr
- - make -j$(nproc)
- - make check
- - make install DESTDIR=$(readlink -f appdir) ; find appdir/
- - rm -rf appdir/usr/include/ appdir/usr/lib/pkgconfig/ appdir/usr/lib/*.{a,la} # Don't bundle developer stuff
- - sudo mv appdir/usr/lib/* /usr/local/lib/ # Workaround for https://github.com/probonopd/linuxdeployqt/issues/160
- - mkdir -p appdir/usr/share/icons/hicolor/128x128/apps ; cp dist/qpdf.png appdir/usr/share/icons/hicolor/128x128/apps/
- - mkdir -p appdir/usr/share/applications ; cp dist/qpdf.desktop appdir/usr/share/applications/
- - wget -c "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage"
- - chmod a+x linuxdeployqt*.AppImage
- - unset QTDIR; unset QT_PLUGIN_PATH ; unset LD_LIBRARY_PATH
- - export LD_LIBRARY_PATH=/usr/local/lib/ # Workaround for https://github.com/probonopd/linuxdeployqt/issues/160
- - ./linuxdeployqt*.AppImage ./appdir/usr/share/applications/*.desktop -bundle-non-qt-libs
- - # In addition to the main executable, we have additional ones to process
- - # ./linuxdeployqt*.AppImage ./appdir/usr/bin/fix-qdf -bundle-non-qt-libs # Not an ELF?
- - ./linuxdeployqt*.AppImage ./appdir/usr/bin/zlib-flate -bundle-non-qt-libs
- - # Generate AppImage
- - ./linuxdeployqt*.AppImage --appimage-extract
- - rm ./appdir/AppRun ; cp dist/AppRun appdir/ ; chmod a+x ./appdir/AppRun # Replace symlink with custom script
- - PATH=./squashfs-root/usr/bin:$PATH ./squashfs-root/usr/bin/appimagetool ./appdir/
+ - appimage/build-appimage
after_success:
+ - cd appimage/build
- find ./appdir -executable -type f -exec ldd {} \; | grep " => /usr" | cut -d " " -f 2-3 | sort | uniq
- curl --upload-file ./QPDF*.AppImage https://transfer.sh/QPDF-git.$(git rev-parse --short HEAD)-x86_64.AppImage
+ - sha512sum ./QPDF*.AppImage
diff --git a/Makefile b/Makefile
index 47dfbed1..d5c2c2b3 100644
--- a/Makefile
+++ b/Makefile
@@ -90,6 +90,7 @@ export QPDF_SKIP_TEST_COMPARE_IMAGES
export QPDF_LARGE_FILE_TEST_PATH
clean:: $(CLEAN_TARGETS)
+ $(RM) -r appimage/build
.PHONY: $(CLEAN_TARGETS)
$(foreach B,$(BUILD_ITEMS),$(eval \
diff --git a/dist/AppRun b/appimage/AppRun
index 8a2e5935..8a2e5935 100644
--- a/dist/AppRun
+++ b/appimage/AppRun
diff --git a/appimage/build-appimage b/appimage/build-appimage
new file mode 100755
index 00000000..a00761be
--- /dev/null
+++ b/appimage/build-appimage
@@ -0,0 +1,36 @@
+#!/bin/sh
+set -ex
+here="$(dirname $(readlink -f "$0"))"
+top=$(dirname $here)
+cd $top
+appdir=$here/build/appdir
+rm -rf $here/build
+./autogen.sh
+./configure --prefix=/usr --enable-werror --enable-show-failed-test-output
+make -j$(nproc)
+make check
+mkdir -p $appdir
+make install DESTDIR=$appdir; find $appdir
+cd $here/build
+# Don't bundle developer stuff
+rm -rf appdir/usr/include appdir/usr/lib/pkgconfig appdir/usr/lib/*.{a,la,so}
+rm -rf appdir/usr/share/doc appdir/usr/share/man
+for i in appdir/usr/share/icons/hicolor/128x128/apps; do
+ mkdir -p $i
+ cp $top/logo/qpdf.svg $i
+ convert -resize '128x128>' $top/logo/qpdf.svg $i/qpdf.png
+done
+for i in appdir/usr/share/applications; do mkdir -p $i; cp $top/appimage/qpdf.desktop $i; done
+wget -c "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage"
+chmod a+x linuxdeployqt*.AppImage
+unset QTDIR; unset QT_PLUGIN_PATH ; unset LD_LIBRARY_PATH
+./linuxdeployqt*.AppImage appdir/usr/share/applications/*.desktop -bundle-non-qt-libs
+# In addition to the main executable, we have additional ones to process
+./linuxdeployqt*.AppImage appdir/usr/bin/zlib-flate -bundle-non-qt-libs
+# Generate AppImage
+./linuxdeployqt*.AppImage --appimage-extract
+rm appdir/AppRun ; cp $top/appimage/AppRun appdir; chmod a+x appdir/AppRun # Replace symlink with custom script
+PATH=./squashfs-root/usr/bin:$PATH ./squashfs-root/usr/bin/appimagetool appdir
+echo ""
+echo "*** AppImage is ready in appimage/build ***"
+echo ""
diff --git a/dist/qpdf.desktop b/appimage/qpdf.desktop
index b030a6db..b030a6db 100644
--- a/dist/qpdf.desktop
+++ b/appimage/qpdf.desktop
diff --git a/dist/qpdf.png b/dist/qpdf.png
deleted file mode 100644
index f7a46c6f..00000000
--- a/dist/qpdf.png
+++ /dev/null
Binary files differ