From 8bafbc300450c765b3394144a8cc677daca3c650 Mon Sep 17 00:00:00 2001 From: Konrad Rosenbaum Date: Sun, 27 Nov 2016 01:18:36 +0100 Subject: [PATCH] update for potentially clean linux build Change-Id: I84e46d3811c7acc578eb8d67888b923f7f51ccae --- Makefile | 61 +++++++++++++++++++--------------------------------- doc/dptr | 2 +- doc/elam | 2 +- doc/zip | 2 +- linuxdeployqt.sh | 29 +++++++++++++++++++++++++ magicsmoke.aurora | 57 ++++++++++++++++++++++--------------------------- 6 files changed, 80 insertions(+), 73 deletions(-) create mode 100755 linuxdeployqt.sh diff --git a/Makefile b/Makefile index 506dd04..e833f60 100644 --- 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 diff --git a/doc/dptr b/doc/dptr index e869720..71e01db 120000 --- 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 diff --git a/doc/elam b/doc/elam index 2d8f95b..176766e 120000 --- 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 --- 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 index 0000000..5e45295 --- /dev/null +++ b/linuxdeployqt.sh @@ -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. diff --git a/magicsmoke.aurora b/magicsmoke.aurora index 3d3f210..fbf158b 100644 --- a/magicsmoke.aurora +++ b/magicsmoke.aurora @@ -8,7 +8,7 @@ release: 2.11.33 (2-major, 11-minor, 33- patch) hint: "-" is ASCII code 0x2d, "." is 0x2e --> - + @@ -22,21 +22,26 @@ zipbase="..." - a prefix directory inside the archive (if missing: no prefix) --> - + - - magicsmoke - gpg - lib*.so* + + magicsmoke* + libmagicsmoke* + libelam* + libAurora* + icon.png + libQtTzData* + libQtZip* + libqwbase* buildbase="" + msp-* - icon.png - + magicsmoke.exe magicsmoke.dll @@ -53,32 +58,23 @@ - - - - libQt5Core.so* - libQt5Gui.so* - libQt5Network.so* - libQt5PrintSupport.so* - libQt5Script.so* - libQt5ScriptTools.so* - libQt5Widgets.so* - libQt5Xml.so* - libQt5Svg.so* - libQt5DBus.so* + + + + libQt5* - + platforms/*.so platforminputcontexts/*.so imageformats/*.so iconengines/*.so printsupport/*.so - bearer/*.so generic/*.so + xcb*/*.so - + Qt5Core.dll Qt5Gui.dll Qt5Network.dll @@ -89,7 +85,7 @@ Qt5Xml.dll Qt5Svg.dll - + platforms/*.dll imageformats/*.dll iconengines/*.dll @@ -99,20 +95,20 @@ - - + + lib*.dll icu*.dll - - + + libicu*.so* - + *.qm @@ -120,7 +116,6 @@ qt_de.qm qtbase_de.qm - qtscript_de.qm -- 1.7.2.5