scribus-indigo
scribus-indigo copied to clipboard
Provide continuous builds for download as AppImage
Currently each commit gets built on Travis CI but then the build artefacts are thrown away. What a waste ;-)
Lets bundle them up as an AppImage for Linux and provide them for download - thus, enabling a very easy way to get and test each build!
It should be relatively straightforward to apply this patch I had done earlier for HOST-Oman/scribus.
Then, each build from Travis CI will available for download as an AppImage for 64-bit Linux. You can find the download link in the Travis CI build log. Towards the end of the log file, look for a line with an URL that begins with with https://transfer.sh/. This is the download link. Download the AppImage, make it executable, and run. No root, no installation, does not touch any of the libaries on your system, can run alongside other versions you might already have.
Travis CI has troubles to create the template folder for AppImage package. https://travis-ci.org/nitramr/scribus-indigo/jobs/173537020
Any ideas how to fix?
Looks like an issue with Scribus not directly related to AppImage, is it trying to install the templates to the non-existing /usr/share/scribus
rather than to the existing $HOME/Scribus/Scribus.AppDir/usr/share/scribus
.
-- Installing: /home/travis/Scribus/Scribus.AppDir/usr/share/scribus/swatches/Japanese_Traditional_README.txt
-- Installing: /home/travis/Scribus/Scribus.AppDir/usr/share/scribus/swatches/CIE-LAB.sbz
-- Installing: /home/travis/Scribus/Scribus.AppDir/usr/share/scribus/swatches/CIE-HLC.sbz
CMake Error at resources/templates/cmake_install.cmake:36 (FILE):
file problem creating directory: /usr/share/scribus/templates/
Call Stack (most recent call first):
cmake_install.cmake:74 (include)
Maybe need to use cmake . -DCMAKE_INSTALL_PREFIX=$HOME/Scribus/Scribus.AppDir/usr/
in .travis.yml
rather than relying on make install DESTDIR=/home/travis/$APP/$APP.AppDir
in the shell script. This might be a bug in the Scribus CMake setup?
Works! I have copy and pasted the files from Oman project. Here the first AppImage: https://transfer.sh/np7R2/scribus-git2ceac8c-glibc2.14-x86-64.appimage
On Fedora 25 Fedora-Workstation-Live-x86_64-25-20161105.n.0.iso
, something about the bundled Python is wrong:
[me@host ~]$ '/home/me/Downloads/scribus-git2ceac8c-glibc2.14-x86-64.appimage'
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
ImportError: No module named site
Scribus Crash
-------------
Scribus crashes due to Signal #11
Segmentation fault
Yes, seems like so. On Ubuntu it looks different as my local installation. Also some icons are missing.
Try copying usr/lib/python2.*/
into the AppImage.
Then your AppImage runs for me :+1:
@probonopd How do we provide a link to the latest appimage (instead of telling people manually to find and click on it in the travisCI logs) and it would be awesome if it could be in 'shield' format (see https://github.com/probonopd/AppImageKit/issues/274) ?
EDIT: clarity
@luzpaz one way to do it would be using GitHub Releases using a small uploader script along the lines of https://github.com/probonopd/uploadtool. Could then use a shield from https://shields.io/ for GitHub Releases.
@probonopd that is f'ing brilliant @nitramr would you consider following those instructions? https://github.com/probonopd/uploadtool#usage
Is updated. lets what happens after compiling of Travis.
So cool! I just saw https://github.com/nitramr/scribus-indigo/releases/tag/continuous I'm downloading in order to test. Very exciting
Could it be that we have now an endless loop?
I could see that Travis compile the same commit more than one time. https://travis-ci.org/nitramr/scribus-indigo/builds
There is an error.
$ ls -lh out/*
ls: cannot access out/: No such file or directory
after_success.2
$ wget -c https://github.com/probonopd/uploadtool/raw/master/upload.sh
--2016-11-07 23:40:51-- https://github.com/probonopd/uploadtool/raw/master/upload.sh
Resolving github.com (github.com)... 192.30.253.113, 192.30.253.112
Connecting to github.com (github.com)|192.30.253.113|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://raw.githubusercontent.com/probonopd/uploadtool/master/upload.sh [following]
--2016-11-07 23:40:52-- https://raw.githubusercontent.com/probonopd/uploadtool/master/upload.sh
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.44.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.44.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2826 (2.8K) [text/plain]
Saving to: ‘upload.sh’
100%[======================================>] 2,826 --.-K/s in 0s
2016-11-07 23:40:52 (49.2 MB/s) - ‘upload.sh’ saved [2826/2826]
after_success.3
$ bash ./upload.sh out/
Delete the release...
delete_url:
Delete the tag as well...
delete_url: https://api.github.com/repos/nitramr/scribus-indigo/git/refs/tags/continuous
Create release...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 445 100 246 100 199 1236 1000 --:--:-- --:--:-- --:--:-- 1242
upload_url:
Upload binaries to the release...
Warning: Couldn't read data from file "out/*", this makes an empty POST.
curl: (3)
Instead of out/*
, point upload.sh to the AppImage...
Instead of out/*, point upload.sh to the AppImage...
@nitramr when you get a moment can you try the above?
I have absolute no idea what is to do. How can I point to the AppImage? As I understand it right the file name of the AppImage will random generated.
it looks like it works now :+1: Only thing is if we can tweek the release text to explain what the file is (an appimage)
As of today, the AppImage is missing from the GitHub Releases page.
the downloadlink to the Appimage on the wiki is dead = Not Found. Is there an appimage for the latest version please? or perhaps a Flatpak ? would be really awsome to have a Flatpak for the scribus-indigo to test on Fedora btw!
Each Travis CI build log contains a transfer.sh download link which is active for 14 days. A current one is https://transfer.sh/WIW1O/scribus-git34e313e-glibc2.14-x86-64.appimage It should run on Fedora, as well as almost every other Linux distribution since 2014.