From 0088d12f221ae6084fb5ff2bd30821879260d698 Mon Sep 17 00:00:00 2001 From: Felix Kauselmann <2039670+selmf@users.noreply.github.com> Date: Mon, 6 Jul 2015 10:16:17 +0200 Subject: [PATCH] Update compilation documentation and tarball script --- INSTALL.txt | 49 +++++++++++++++++++++++++++-- compressed_archive/README_7zip.txt | 14 ++++++--- compressed_archive/unarr/README.txt | 7 ++++- mktarball.sh | 4 +-- 4 files changed, 64 insertions(+), 10 deletions(-) diff --git a/INSTALL.txt b/INSTALL.txt index 55eef0b0..3863450e 100644 --- a/INSTALL.txt +++ b/INSTALL.txt @@ -2,14 +2,57 @@ COMPILATION GUIDE FOR LINUX/UNIX USERS ********************************** YACReader and YACReaderLibrary are build using qmake. To build and install the program, run: -qmake +qmake-qt5 CONFIG+=[Options] make make install from the source dir. For seperate builds of YACReader or YACReaderLibrary, enter their respective subfolders and run the commands from there. -Build options: +Dependencies: +----------------------- + +- Qt >= 5.3 with the following modules: + - declarative + - sql + - script + - multimedia + - imageformats + - opengl + - sql-sqlite + +- poppler-qt5 +- qrencode +- sqllite +- glu +- a decompression backend, either 7zip or unarr (see below) + + +Decompression backend: +--------------------------------------- + +YACReader supports two decompression backends: + +- unarr +- p7zip=9.20.1 + +These can be selected at build time by adding either CONFIG+=unarr or CONFIG+=7zip as an option when running qmake. +If none of these is provided, the build system will default to unarr on Linux/Unix and [p]7zip on Windows and OS X. + +The decompression backends have their own dependencies and require additional steps like downloading additional source code +for setup. Please consult the README files provided in the compressed_archive and compressed_archive/unarr folders for details. + +If you chose to build YACReader with p7zip as a backend on Linux/Unix, please take notice that this backend has some problems: + +- p7zip > 9.20.1 is not supported +- p7zip 9.20.1 has known bugs that are fixed only in the later versions +- a system update that replaces p7zip 9.20.1 with a later version will make YACReader unusable + +If your system already ships with p7zip > 9.20.1 you can place 7z.so and the Codecs folder with the Rar29.so from p7zip 9.20.1 in /usr/lib/yacreader +YACReader will check this folder first and can thus continue using 7zip as a backend with p7zip > 9.20.1 installed on your system. + +Other build options: --------------------- + You can adjust the installation prefix as well als the path make install uses to install the files. Use "qmake PREFIX=DIR" to configure YACReader for your systems default prefix (for example "/", "/usr", "/usr/local"). @@ -24,7 +67,7 @@ On embedded devices that don't support desktop OpenGL, it is recommended to use qmake CONFIG+=no_opengl -This will remove any dependency on desktop OpenGL. +This will remove any dependency on desktop OpenGL and hardlock rendering to software. DO YOU WANT TO HELP YACREADER? diff --git a/compressed_archive/README_7zip.txt b/compressed_archive/README_7zip.txt index 3e4a5864..1653bbdd 100644 --- a/compressed_archive/README_7zip.txt +++ b/compressed_archive/README_7zip.txt @@ -1,7 +1,13 @@ -If you are trying to compile YACReader, you need to donwload de source code of 7zip (Windows) or p7zip (Linux/MacOSX). +If you are trying to compile YACReader with a 7zip decompression backend, you need to download de source code of 7zip (Windows) or p7zip (Linux/MacOSX). -Please, extract it and rename the folder to lib7zip (Windows) or libp7zip (Linux/MacOSX), then copy it to $YACREADER_SRC/compressed_archive/ (this -folder). If you are using a 64 bit Linux-System, please apply libp7zip.patch for successfull compilation or use compileX11.sh. +Please extract it and rename the folder to lib7zip (Windows) or libp7zip (Linux/MacOSX), then copy it to $YACREADER_SRC/compressed_archive/ (this +folder). -YACReader is compiled using 7zip/p7zip 9.20.1 +YACReader is compiled using 7zip/p7zip 9.20.1 and will not work with newer versions. +On Linux/Unix this means your YACReader installation will stop working if you update your installation of p7zip to a newer version. If you wish to keep using +p7zip with YACReader, you can copy 7z.so and Codecs/Rar29.so from p7zip 9.20.1 to "/usr/lib/yacreader/". YACReader will then detect these files and use +them instead of the system provided p7zip files which allows you to keep both YACReader and an up to date p7zip installation. + +Please keep in mind this is only a workaround that is provided for backwards compatibility and not intended as a long time solution. +It is recommended that you switch to unarr as a decompression backend instead (see README.txt in compressed_archive/unarr). \ No newline at end of file diff --git a/compressed_archive/unarr/README.txt b/compressed_archive/unarr/README.txt index 4db97915..bc96eb93 100644 --- a/compressed_archive/unarr/README.txt +++ b/compressed_archive/unarr/README.txt @@ -1 +1,6 @@ -To use unarr download https://github.com/zeniko/unarr/archive/master.zip and extract it in this folder. Run qmake with CONFIG+=unarr \ No newline at end of file +To use unarr as a decompression engine when building YACReader, download https://github.com/zeniko/unarr/archive/master.zip and extract it in this folder. +This will build unarr as a part of YACReader (static build). + +If you're on a Linux/Unix system and prefer to use unarr as a shared library, have a look at https://github.com/selmf/unarr/ +This fork of unarr includes a CMake based build system that allows you to build and install unarr as a shared library. YACReader will detect and use +the installed library at build time if it is installed. \ No newline at end of file diff --git a/mktarball.sh b/mktarball.sh index 52d72371..d1a84f8c 100755 --- a/mktarball.sh +++ b/mktarball.sh @@ -2,7 +2,7 @@ #Script to create a source tarball for YACReader distribution and packaging #This should be run from YACReaders top source directory -YACVERSION=7.2.0 +YACVERSION=8.0 if [ -f Makefile ] then make distclean @@ -17,6 +17,6 @@ fi #Use tar's --exclude feature to make sure we get a pristine tar for distribution. #Exclude all version control system related files and rename the top directory in the tarball using --transform. tar cfJ yacreader-${YACVERSION}-src.tar.xz --exclude '*.rej' --exclude '*.orig' --exclude '*.gch' --exclude 'dependencies' --exclude '*.o' \ ---exclude 'yacreader*tar*' --exclude '.hg*' --exclude 'lib7zip' --exclude 'libp7zip' --exlude 'unarr-master' --exclude-vcs ./* --transform s/./yacreader-${YACVERSION}/ +--exclude 'yacreader*tar*' --exclude '.hg*' --exclude 'lib7zip' --exclude 'libp7zip' --exclude 'unarr-master' --exclude-vcs ./* --transform s/./yacreader-${YACVERSION}/ #Calculate checksum to enable packagers to verify whether they are using the original tarball. md5sum yacreader-${YACVERSION}-src.tar.xz > yacreader-${YACVERSION}-src.tar.xz.md5sum \ No newline at end of file