update for potentially clean linux build
authorKonrad Rosenbaum <konrad@silmor.de>
Sun, 27 Nov 2016 00:18:36 +0000 (01:18 +0100)
committerKonrad Rosenbaum <konrad@silmor.de>
Sun, 27 Nov 2016 06:32:53 +0000 (07:32 +0100)
Change-Id: I84e46d3811c7acc578eb8d67888b923f7f51ccae

Makefile
doc/dptr
doc/elam
doc/zip
linuxdeployqt.sh [new file with mode: 0755]
magicsmoke.aurora

index 506dd04..e833f60 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -79,8 +79,6 @@ none:
        @echo "  nsis - generate NSIS package (Win32)"
        @echo "  dpkg - generate Debian packages"
        @echo "  tgz - generate generic tar.gz packages (Unix/Linux)"
-       @echo "  spack - generate signed self-extracting package"
-       @echo "          for user installation and update"
        @echo "Cleanup:"
        @echo "  clean - clean up intermediate files (Unix/Mac)"
        @echo "  distclean - clean up built files (Unix/Mac)"
@@ -129,17 +127,18 @@ sdoc:
        $(DOXYGEN) Doxyfile-cpp
        $(MAKE) -C pack doc
        cd tzone && $(DOXYGEN) Doxyfile
-       cd elam/src && $(DOXYGEN) Doxyfile
-       cd dptr && $(DOXYGEN) Doxyfile
-       cd zip && $(DOXYGEN) Doxyfile
+       cd taurus/elam/src && $(DOXYGEN) Doxyfile
+       cd taurus/chester && $(DOXYGEN) Doxyfile
+       cd taurus && $(DOXYGEN) Doxyfile
 
 lrelease:
        cd src && $(LREL) smoke.pro
        cd iface && $(LREL) iface.pro
        cd commonlib && $(LREL) commonlib.pro
        cd sessman && $(LREL) sessman.pro
+       cd pack/qtbase && $(LREL) qtbase.pro
        for i in `find plugins -name '*.pro'` ; do $(LREL) $$i ; done
-       mkdir -p bin && cp src/smoke*.qm iface/smoke*.qm sessman/*.qm commonlib/*.qm bin
+       mkdir -p bin && cp src/smoke*.qm iface/smoke*.qm sessman/*.qm commonlib/*.qm pack/qtbase/*.qm bin
        cp `find plugins -name '*.qm'` bin
        -$(MAKE) -C www/translations LREL=$(LREL) XPAT=$(XPAT) lrelease
 
@@ -154,25 +153,27 @@ lupdate:
 install: install-client install-server install-doc
 
 install-client: client lrelease
-       mkdir -p $(PREFIX)/bin
-       install -D src/msmoke $(PREFIX)/lib/magicsmoke2/msmoke
-       strip $(PREFIX)/lib/magicsmoke2/msmoke
-       cp src/images/icon.png $(PREFIX)/lib/magicsmoke2/
-       cp msmoke2.sh-tmpl $(PREFIX)/bin/msmoke2
-       chmod 755 $(PREFIX)/bin/msmoke2
-
-SPREFIX=$(PREFIX)/share/magicmsoke2-server
+       -rm -rf $(PREFIX)
+       mkdir -p $(PREFIX)
+       install -D bin/msp*.so bin/magicsmoke* bin/lib*.so.? $(PREFIX)
+       -install -D bin/gpg $(PREFIX)
+       -rm $(PREFIX)/*.debug
+       strip $(PREFIX)/*
+       cp src/images/icon.png $(PREFIX)/
+       cp bin/*.qm $(PREFIX)/
+       ./linuxdeployqt.sh $(PREFIX)
+
+SPREFIX=$(PREFIX)/www
 install-server: server
        mkdir -p $(SPREFIX)
        cp -rLTf www $(SPREFIX)
        -rm -f $(SPREFIX)/config.php
        -rm -rf `find $(SPREFIX) -name .svn`
 
-DPREFIX=$(PREFIX)/share/doc/magicsmoke2-doc
+DPREFIX=$(PREFIX)/doc
 install-doc: sdoc
        mkdir -p $(DPREFIX)
        cp -rLTf doc $(DPREFIX)/html
-       -rm -rf `find $(SPREFIX) -name .svn`
 
 clean:
        -rm -rf src/.ctmp src/Makefile* src/msmoke
@@ -215,41 +216,23 @@ nsis: script client
 dpkg:
        fakeroot debian/rules binary
 
-spack-clean tgz-clean:
+tgz-clean:
        -rm -rf dist-srv dist-cli dist-doc
 
 tgz-server: PREFIX=dist-srv
 tgz-server: install-server
        cd dist-srv ; tar c . |gzip > ../magicsmoke2-server.tar.gz
 
-install-libs:
-       mkdir -p dist-cli/lib
-       cp -a $(QTDIR)/lib/libQtScript.s* dist-cli/lib/magicsmoke2
-       cp -a $(QTDIR)/lib/libQtScriptTools.s* dist-cli/lib/magicsmoke2
-       cp -a $(QTDIR)/lib/libQtCore.s* dist-cli/lib/magicsmoke2
-       cp -a $(QTDIR)/lib/libQtGui.s* dist-cli/lib/magicsmoke2
-       cp -a $(QTDIR)/lib/libQtNetwork.s* dist-cli/lib/magicsmoke2
-       cp -a $(QTDIR)/lib/libQtXml.s* dist-cli/lib/magicsmoke2
-       cp -a tzone/libQtTzData.s* dist-cli/lib/magicsmoke2
-       cp -a zip/libQtZipHelper.s* dist-cli/lib/magicsmoke2
-       cp -a elam/libelam.s* dist-cli/lib/magicsmoke2
-       cp -a pack/qtbase/libqwbase.s* dist-cli/lib/magicsmoke2
-
 tgz-client: PREFIX=dist-cli
-tgz-client: install-client install-libs
-       cd dist-cli ; tar c . |gzip >../magicsmoke2-client.tar.gz
+tgz-client: install-client
+       cd dist-cli && tar c . |gzip >../magicsmoke2-client.tar.gz
 
-tgz-doc: PREFIX=dist-srv
+tgz-doc: PREFIX=dist-doc
 tgz-doc: install-doc
-       cd dist-doc ; tar c . |gzip >../magicsmoke2-doc.tar.gz
+       cd dist-doc && tar c . |gzip >../magicsmoke2-doc.tar.gz
 
 tgz: tgz-clean tgz-server tgz-client tgz-doc
 
 
-spack: PREFIX=dist-cli
-spack: tgz-clean install-client install-libs
-       -rm magicsmoke-installer magicsmoke-installer.exe
-       cd dist-cli && 7z a -sfx ../magicsmoke-installer 
-       
 #tell Make that the rules above are symbolic:
 .PHONY: script woc wob server client sdoc taurus wbase clean distclean tzone debug macosx
index e869720..71e01db 120000 (symlink)
--- a/doc/dptr
+++ b/doc/dptr
@@ -1 +1 @@
-../dptr/html
\ No newline at end of file
+../taurus/chester/html
\ No newline at end of file
index 2d8f95b..176766e 120000 (symlink)
--- a/doc/elam
+++ b/doc/elam
@@ -1 +1 @@
-../elam/doc
\ No newline at end of file
+../taurus/elam/doc
\ No newline at end of file
diff --git a/doc/zip b/doc/zip
index 223bbde..ddfc2f7 120000 (symlink)
--- a/doc/zip
+++ b/doc/zip
@@ -1 +1 @@
-../zip/html
\ No newline at end of file
+../taurus/html
\ No newline at end of file
diff --git a/linuxdeployqt.sh b/linuxdeployqt.sh
new file mode 100755 (executable)
index 0000000..5e45295
--- /dev/null
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+cd $1
+
+echo "Copying plugins..."
+QPLGDIR=$(qmake -query QT_INSTALL_PLUGINS)
+cp -r $QPLGDIR/generic .
+cp -r $QPLGDIR/iconengines .
+cp -r $QPLGDIR/imageformats .
+cp -r $QPLGDIR/platforminputcontexts .
+mkdir -p platforms
+for fn in qminimal qoffscreen qxcb ; do
+       cp $QPLGDIR/platforms/lib$fn.so platforms
+done
+cp -r $QPLGDIR/printsupport .
+cp -r $QPLGDIR/xcb* .
+
+echo "Checking linked Libraries..."
+QLIBDIR=$(qmake -query QT_INSTALL_LIBS)
+export LD_LIBRARY_PATH=$QLIBDIR
+QLIBS="$(for i in magicsmoke* $(find . -name '*.so'); do ldd $i ; done | grep $QLIBDIR | cut -d = -f 1 | sort | uniq)"
+
+echo "Copying Libraries..."
+for fn in $QLIBS ; do
+       echo "  $fn"
+       cp $QLIBDIR/$fn .
+done
+
+echo Done.
index 3d3f210..fbf158b 100644 (file)
@@ -8,7 +8,7 @@
           release: 2.11.33 (2-major, 11-minor, 33- patch)
           hint: "-" is ASCII code 0x2d, "." is 0x2e
         -->
-        <CurrentVersion version="2.0-beta1" mrv="2.00-b1"/>
+        <CurrentVersion version="2.1" mrv="2.01.00"/>
         <!-- in the build/meta file this is a template for config, it is copied to the installation -->
         <Settings baseurl="http://www.daszauberschloss.de/shopclient" indexfile="magicsmoke.xml" pollinterval="1800" fulltargetdir="dist-*"/>
         
                 zipbase="..." - a prefix directory inside the archive (if missing: no prefix)
                 
         -->
-        <ArchiveSource name="magicsmoke-*.zip" buildbase="bin">
+        <ArchiveSource name="magicsmoke-*.zip">
                 <!-- list of files or file patterns for one platform
                         os="..." - operating system, "linux", "windows", "any", "all"
                                 any=same for all OS, separate archive files
                                 all=same for all OS, just one archive file for all of them
                 -->
                 <Platform os="linux">
-                        <Files exclude="*.debug">
-                                magicsmoke
-                                gpg
-                                lib*.so*
+                        <Files exclude="*.debug" buildbase="dist-cli">
+                                magicsmoke*
+                               libmagicsmoke*
+                               libelam*
+                               libAurora*
+                               icon.png
+                               libQtTzData*
+                               libQtZip*
+                               libqwbase* buildbase=""
+                               msp-*
                         </Files>
-                        <Files buildbase="../src/images">icon.png</Files>
                 </Platform>
-                <Platform os="windows">
+                <Platform os="windows" buildbase="bin">
                         <Files>
                                 magicsmoke.exe
                                magicsmoke.dll
                 </Platform>
         </ArchiveSource>
         <!-- this one uses pipe-syntax to get to the main path and it also uses additional <Files> tags to drill deeper -->
-        <ArchiveSource name="qtlibs-*.zip" buildbase="|qmake -query QT_INSTALL_PREFIX">
-                <Platform os="linux">
-                        <Files buildbase="./lib" exclude="*.debug">
-                                libQt5Core.so*
-                                libQt5Gui.so*
-                                libQt5Network.so*
-                                libQt5PrintSupport.so*
-                                libQt5Script.so*
-                                libQt5ScriptTools.so*
-                                libQt5Widgets.so*
-                                libQt5Xml.so*
-                                libQt5Svg.so*
-                                libQt5DBus.so*
+        <ArchiveSource name="qtlibs-*.zip">
+                <Platform os="linux" buildbase="dist-cli" >
+                        <Files exclude="*.debug">
+                                libQt5*
                         </Files>
-                        <Files buildbase="./plugins" exclude="*.debug">
+                        <Files exclude="*.debug">
                                 platforms/*.so
                                 platforminputcontexts/*.so
                                 imageformats/*.so
                                 iconengines/*.so
                                 printsupport/*.so
-                                bearer/*.so
                                 generic/*.so
+                               xcb*/*.so
                         </Files>
                 </Platform>
                 <Platform os="windows">
-                        <Files buildbase="./bin">
+                        <Files  buildbase="|qmake -query QT_INSTALL_LIBS">
                                 Qt5Core.dll
                                 Qt5Gui.dll
                                 Qt5Network.dll
@@ -89,7 +85,7 @@
                                 Qt5Xml.dll
                                 Qt5Svg.dll
                         </Files>
-                        <Files buildbase="./plugins" exclude="*d.dll">
+                        <Files  buildbase="|qmake -query QT_INSTALL_PLUGINS" exclude="*d.dll">
                                 platforms/*.dll
                                 imageformats/*.dll
                                 iconengines/*.dll
                         </Files>
                 </Platform>
         </ArchiveSource>
-        <ArchiveSource name="icu-*.zip" buildbase="|qmake -query QT_INSTALL_PREFIX">
-                <Platform os="windows">
+        <ArchiveSource name="icu-*.zip">
+                <Platform os="windows" buildbase="|qmake -query QT_INSTALL_PREFIX">
                         <Files buildbase="./bin">
                                 lib*.dll
                                 icu*.dll
                         </Files>
                 </Platform>
-                <Platform os="linux">
-                        <Files buildbase="lib" exclude="*.debug">
+                <Platform os="linux" buildbase="dist-cli">
+                        <Files exclude="*.debug">
                                 libicu*.so*
                         </Files>
                 </Platform>
         </ArchiveSource>
-        <ArchiveSource name="magicsmoke-i18n.zip" buildbase="src">
+        <ArchiveSource name="magicsmoke-i18n.zip" buildbase="dist-cli">
                 <Platform os="all" cpu="all">
                         <Files>
                                 *.qm
                         <Files buildbase="|qmake -query QT_INSTALL_TRANSLATIONS">
                                 qt_de.qm
                                 qtbase_de.qm
-                                qtscript_de.qm
                         </Files>
                 </Platform>
         </ArchiveSource>