From 3897ff83b6848e4169f1641b1132714870f01801 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Sun, 19 Mar 2017 17:52:44 +0100 Subject: Updated BUILDING.md mach script can now build tarballs --- BUILDING.md | 51 ++++++++++++++++++++++++++------------------------- 1 file changed, 26 insertions(+), 25 deletions(-) (limited to 'BUILDING.md') diff --git a/BUILDING.md b/BUILDING.md index 2af8d4b..8118420 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -14,73 +14,74 @@ qbs setup-qt /usr/bin/qmake-qt5 qt5 For more information on qbs, refer to the [Qbs manual][1], sections Configuring and Managing Qt versions. -### Steps +### Compiling * Create a build folder ``` -[smolbote repo]$ mkdir build +[smolbote repo]$ mkdir ../build ``` * Run qbs ``` -[smolbote repo]$ qbs build --build-directory build profile:qt5 release +[smolbote repo]$ qbs build -d ../build profile:qt5 release ``` -Shortened: -``` -[smolbote repo]$ qbs build -d build profile:qt5 release -``` -This installs the files to build/release/install-root. +This installs the files to ../build/release/install-root. -* Test run using the specified Qt profile (optional) +* Test run (optional) ``` -[smolbote repo]$ qbs run --build-directory build --file src/smolbote.qbs --products poi profile:qt5 release +[smolbote repo]$ qbs run -d ../build -p poi profile:qt5 release ``` -Shortened: + +### Installing +* With qbs ``` -[smolbote repo]$ qbs run -d build -f src/smolbote.qbs -p poi profile:qt5 release +[smolbote repo]$ sudo qbs install -d build --no-build --install-root /usr/local --settings-dir /home/usr/.config/QtProject/qbs/1.7.1 profile:qt5 release" ``` ### Notes * Windows: MSVC compiler is required because of QtWebEngine dependency * Windows: Passing the -v or -h parameters creates a dialog box instead of writing the output to stdout. This is Qt behaviour. +* Windows: Use windeployqt.exe to collect the libraries +``` +QT_DIR\QT_VER\msvc2015_64\windeployqt.exe build-PROFILE\release\qtbrowser.exe +``` * grsecurity: You may need to exception qbs. ## Packaging ### Tarball -Creating a tarball: +* Creating a tarball: ``` -tar -I "lzip -9" -cf build.tar.lz release-folder/* +tar -I"lzip -9" -cf smolbote-$(git describe --tags).tar.lz --directory=../build/release/install-root . --owner=user:1000 --group=users:1000 ``` -Signing a tarball: +* Signing a tarball: ``` -gpg -u $FINGERPRINT -b $FILENAME +gpg -u $email -b --armor $tarball ``` -u, --local-user name > Use name as the user ID to sign. This option is silently ignored for the list commands, so that it can be used in an options file. - -b, --detach-sign > Make a detached signature. +--armor +> Create a human-readable signature -Creating checksum: +* Verify signature: ``` -sha512sum --binary build.tar.lz > checksum.sha512 +gpg --verify $signature $tarball ``` -Verifying checksum: +* Creating checksum: ``` -sha512sum --check checksum.sha512 +sha512sum --binary $tarball* > $tarball.sha512 ``` -### Windows -Collect the required libraries using - +* Verifying checksum: ``` -QT_DIR\QT_VER\msvc2015_64\windeployqt.exe build-PROFILE\release\qtbrowser.exe +sha512sum --check $tarball.sha512 ``` [1]: https://doc.qt.io/qbs/index.html -- cgit v1.2.1