From af398721048ff08b4a07ca83a65eff8b5adb30fc Mon Sep 17 00:00:00 2001 From: Alf Gaida Date: Sat, 23 Sep 2017 14:06:36 +0200 Subject: [PATCH 1/7] Prepare upcoming release --- debian/bin/evil | 3 + debian/bin/get-snapshot | 59 ++++++++++++++++++ debian/bin/git-versions | 50 +++++++++++++++ debian/bin/mangle | 5 ++ debian/bin/symmangle | 8 +++ debian/changelog | 7 +++ debian/control | 11 ++-- debian/gbp.conf | 2 +- debian/install | 2 + .../git-versions.list.example | 61 +++++++++++++++++++ .../lxqt-build-tools/repository.spec.example | 31 ++++++++++ 11 files changed, 234 insertions(+), 5 deletions(-) create mode 100755 debian/bin/evil create mode 100755 debian/bin/get-snapshot create mode 100755 debian/bin/git-versions create mode 100755 debian/bin/mangle create mode 100755 debian/bin/symmangle create mode 100644 debian/install create mode 100644 debian/usr/share/lxqt-build-tools/git-versions.list.example create mode 100644 debian/usr/share/lxqt-build-tools/repository.spec.example diff --git a/debian/bin/evil b/debian/bin/evil new file mode 100755 index 0000000..2855257 --- /dev/null +++ b/debian/bin/evil @@ -0,0 +1,3 @@ +#!/bin/bash + +lintian -EvIL +pedantic --show-overrides --no-tag-display-limit *changes diff --git a/debian/bin/get-snapshot b/debian/bin/get-snapshot new file mode 100755 index 0000000..4f54255 --- /dev/null +++ b/debian/bin/get-snapshot @@ -0,0 +1,59 @@ +#!/bin/bash + +# Author: 2015-2017 Alf Gaida +# License: WTFPL-2.0 +# Licensetext +# Usage: +# get-snapshot (in package dir) +# one will need a debian/repository file in place + +unset commit +unset branch +target_dir="snapshot" + +[ ! -d debian ] && echo "No debian dir found!" && exit 1 + +if [ -f "debian/repository.spec" ]; then + source debian/repository.spec +else + echo "File debian/repository.spec not found!" + echo "Copied example spec to debian/" + cp /usr/share/lxqt-build-tools/repository.spec.example debian/repository.spec + exit 2; +fi + +ls | grep -v "debian" | xargs rm -rf +rm -rf .pc + +echo "" +echo "┌───────────────────┐" +echo "│ Upstream Settings │" +echo "└───────────────────┘" +[ ! -z "${repository}" ] && echo "repository: ${repository}" +[ ! -z "${branch}" ] && echo "branch: ${branch}" +[ ! -z "${commit}" ] && echo "commit: ${commit}" +[ ! -z "${target_dir}" ] && echo "target_dir: ${target_dir}" +echo "" + +declare -f "cleanup" +declared=$? +echo "" + +snapdir=$(mktemp -d) + +pushd "$snapdir" &>/dev/null + echo "git clone ${branch} ${repository} ${target_dir}" + git clone ${branch} ${repository} ${target_dir} + pushd snapshot &>/dev/null + [ ! -z "${commit}" ] && git reset --hard "${commit}" + description=$(git describe --tags) + # cleanup must be defined in repository + [ "$declared" ] && cleanup + popd &>/dev/null + tar cfJ snapshot.orig.tar.xz snapshot +popd &>/dev/null +tar xf "$snapdir/snapshot.orig.tar.xz" --strip-components 1 +echo "" +echo "New snapshot: $description" +dch "New snapshot: $description" +rm -rf "$snapdir" diff --git a/debian/bin/git-versions b/debian/bin/git-versions new file mode 100755 index 0000000..cc9167e --- /dev/null +++ b/debian/bin/git-versions @@ -0,0 +1,50 @@ +#!/bin/bash + +# Copyright 2015-2017 Alf Gaida +# License: WTFPL-2 +# +# Usage: +# +# +# +# + +[ ! -d "auto" ] && mkdir auto +echo "Current Repository Versions" +echo "===========================" + +if [ ! -f ./.git-versions.list ]; then + echo "Please create a valid ./.git-verisions.list" + echo "One can find the LXQt template in /usr/share/lxqt-build-tools" +else + source ./.git-versions.list +fi + +for i in $repositories; do + if [[ "$i" =~ "==" ]]; then + echo "" + echo "$i" + else + pushd $i >/dev/null + if [ ! -d upstream ]; then + echo "$i: please clone upstream" + else + pushd upstream &>/dev/null + # cleanup possible debris and make sure we are on master + git reset --hard &>/dev/null + # git clean -ffdx &>/dev/null + git remote prune origin &>/dev/null + git checkout master &>/dev/null + ## end cleanup + oldversion=$(git describe --tags --dirty 2>/dev/null) + [[ -z "$oldversion" ]] && oldversion=$(git describe --tags --dirty) + git pull --all --tags >/dev/null 2>/dev/null + version=$(git describe --tags --dirty 2>/dev/null) + [[ -z "$version" ]] && version=$(git describe --tags --dirty) + unset new && [ "$oldversion" != "$version" ] && new="NEW!!" + echo "$i: $version $new" + popd &>/dev/null + fi + popd &>/dev/null + fi +done diff --git a/debian/bin/mangle b/debian/bin/mangle new file mode 100755 index 0000000..5f391a4 --- /dev/null +++ b/debian/bin/mangle @@ -0,0 +1,5 @@ +#!/bin/bash + +echo "A: $@" | sed 's/ \(_.*\) \(.*\)/ (c++)"\1" \2/' | c++filt + + diff --git a/debian/bin/symmangle b/debian/bin/symmangle new file mode 100755 index 0000000..18ead53 --- /dev/null +++ b/debian/bin/symmangle @@ -0,0 +1,8 @@ +#!/bin/bash + +if [ -d ./debian ]; then + for i in `find . -name symbols`; do + k=`echo $i | sed "s#/DEBIAN/symbols##" | sed "s#./debian/##"` + cat "$i" | sed 's/ \(_.*\) \(.*\)/ (c++)"\1" \2/' | c++filt | sort | uniq | tee "debian/$k.mangled"; + done +fi diff --git a/debian/changelog b/debian/changelog index c607491..fd42782 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +lxqt-build-tools (0.3.96-1) experimental; urgency=medium + + * New snapshot: 0.3.2-8-gfc0d797 + * switch to experimental + + -- Alf Gaida Tue, 25 Jul 2017 01:18:13 +0200 + lxqt-build-tools (0.3.2-1) unstable; urgency=medium * Cherry-picking upstream version 0.3.2. diff --git a/debian/control b/debian/control index 51ee6e2..4505da6 100644 --- a/debian/control +++ b/debian/control @@ -6,10 +6,12 @@ Section: devel Priority: optional Build-Depends: debhelper (>= 10), cmake (>= 3.0.2), + libglib2.0-dev, + pkg-config, qtbase5-dev -Standards-Version: 3.9.8 -Vcs-Browser: https://anonscm.debian.org/cgit/pkg-lxqt/lxqt-build-tools.git/?h=debian/sid -Vcs-Git: https://anonscm.debian.org/git/pkg-lxqt/lxqt-build-tools.git -b debian/sid +Standards-Version: 4.1.0 +Vcs-Browser: https://anonscm.debian.org/cgit/pkg-lxqt/lxqt-build-tools.git/?h=debian/experimental +Vcs-Git: https://anonscm.debian.org/git/pkg-lxqt/lxqt-build-tools.git -b debian/experimental Homepage: https://github.com/lxde/lxqt-build-tools Package: lxqt-build-tools @@ -17,7 +19,8 @@ Architecture: all Depends: ${shlibs:Depends}, ${misc:Depends}, cmake (>= 3.0.2), - libqt5xdg-dev (>= 2.0.0), + libqt5xdg-dev (>= 2.0.0), + libglib2.0-dev (>= 2.5.0), pkg-config, qttools5-dev, qttools5-dev-tools diff --git a/debian/gbp.conf b/debian/gbp.conf index 7a9f00a..ffe50a8 100644 --- a/debian/gbp.conf +++ b/debian/gbp.conf @@ -1,5 +1,5 @@ [DEFAULT] -debian-branch = debian/sid +debian-branch = debian/experimental upstream-branch = upstream/latest pristine-tar = True diff --git a/debian/install b/debian/install new file mode 100644 index 0000000..b42580b --- /dev/null +++ b/debian/install @@ -0,0 +1,2 @@ +debian/bin/* /usr/bin +debian/usr/* /usr diff --git a/debian/usr/share/lxqt-build-tools/git-versions.list.example b/debian/usr/share/lxqt-build-tools/git-versions.list.example new file mode 100644 index 0000000..fc70f8b --- /dev/null +++ b/debian/usr/share/lxqt-build-tools/git-versions.list.example @@ -0,0 +1,61 @@ +repositories="\ + ==0== \ + libqtxdg \ + \ + ==I== \ + lxqt-build-tools \ + \ + ==II== \ + liblxqt \ + libsysstat \ + \ + ==III== \ + compton-conf \ + libfm-qt \ + lxqt-l10n \ + lxqt-themes \ + obconf-qt \ + pavucontrol-qt \ + qtermwidget \ + \ + ==IV== \ + lximage-qt \ + lxqt-about \ + lxqt-admin \ + lxqt-config \ + lxqt-globalkeys \ + lxqt-notificationd \ + lxqt-openssh-askpass \ + lxqt-policykit \ + lxqt-powermanagement \ + lxqt-qtplugin \ + lxqt-session \ + lxqt-sudo \ + pcmanfm-qt \ + qterminal \ + \ + ==V== \ + lxqt-panel \ + lxqt-runner \ + \ + ==VI== \ + cmst \ + juffed \ + nomacs \ + qlipper \ + qps \ + screengrab \ + trojita \ + \ + ==MISC== \ + calamares \ + connman \ + fswatch \ + libfm \ + menu-cache \ + meteo-qt \ + orbital \ + qtstyleplugins \ + quassel \ + sddm \ + vokoscreen" diff --git a/debian/usr/share/lxqt-build-tools/repository.spec.example b/debian/usr/share/lxqt-build-tools/repository.spec.example new file mode 100644 index 0000000..37fbd9f --- /dev/null +++ b/debian/usr/share/lxqt-build-tools/repository.spec.example @@ -0,0 +1,31 @@ +#!/bin/bash + +# Author: Alf Gaida +# License: WTFPL-2 +# 0. You just DO WHAT THE FUCK YOU WANT TO. + +# Variables +# ========= +# repository= your repository +# branch= your branch, if needed +# commit= your commit , if needed +# target_dir= target dir, if needed, default is snapshot +# +# Functions +# ========= +# cleanup () + +repository="git@$domain.tld:$foo/$bar" + + +# cleanup function definiton +cleanup() { + echo "" + echo "┌─────────────┐" + echo "│ Cleanup ... │" + echo "└─────────────┘" + rm -rf .git* +} + + + From e6ed253846dd4fb02b815a6417a1a76723aff505 Mon Sep 17 00:00:00 2001 From: Alf Gaida Date: Sat, 23 Sep 2017 15:58:13 +0200 Subject: [PATCH 2/7] Added some scripts for pkg-lxqt --- debian/bin/evil | 9 ++++++++- debian/bin/get-snapshot | 2 +- debian/bin/mangle | 11 ++++++++--- debian/bin/symmangle | 8 ++++++++ debian/changelog | 13 +++++++++---- debian/control | 5 ++++- 6 files changed, 38 insertions(+), 10 deletions(-) diff --git a/debian/bin/evil b/debian/bin/evil index 2855257..6e47294 100755 --- a/debian/bin/evil +++ b/debian/bin/evil @@ -1,3 +1,10 @@ #!/bin/bash - +# Copyright 2015-2017 Alf Gaida +# License: WTFPL-2 +# +# Usage: +# +# +# +# lintian -EvIL +pedantic --show-overrides --no-tag-display-limit *changes diff --git a/debian/bin/get-snapshot b/debian/bin/get-snapshot index 4f54255..6eae4a4 100755 --- a/debian/bin/get-snapshot +++ b/debian/bin/get-snapshot @@ -5,7 +5,7 @@ # Licensetext # Usage: # get-snapshot (in package dir) -# one will need a debian/repository file in place +# one will need a debian/repository.spec file in place unset commit unset branch diff --git a/debian/bin/mangle b/debian/bin/mangle index 5f391a4..ff51ad9 100755 --- a/debian/bin/mangle +++ b/debian/bin/mangle @@ -1,5 +1,10 @@ #!/bin/bash - +# Copyright 2015-2017 Alf Gaida +# License: WTFPL-2 +# +# Usage: +# +# +# +# echo "A: $@" | sed 's/ \(_.*\) \(.*\)/ (c++)"\1" \2/' | c++filt - - diff --git a/debian/bin/symmangle b/debian/bin/symmangle index 18ead53..5737853 100755 --- a/debian/bin/symmangle +++ b/debian/bin/symmangle @@ -1,4 +1,12 @@ #!/bin/bash +# Copyright 2015-2017 Alf Gaida +# License: WTFPL-2 +# +# Usage: +# +# +# +# if [ -d ./debian ]; then for i in `find . -name symbols`; do diff --git a/debian/changelog b/debian/changelog index fd42782..240754c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,14 @@ -lxqt-build-tools (0.3.96-1) experimental; urgency=medium +lxqt-build-tools (0.4.0-1) experimental; urgency=medium - * New snapshot: 0.3.2-8-gfc0d797 - * switch to experimental + * Cherry-picking new upstream release + * Added some pkg-lxqt tools: + - evil: the (in)famous lintian -EvIL ... + - mangle: mangle single symbols + - symmangle: mangle whole symbol files + - git-versions: get current upstream git versions + - get-snapshot: get a git snapshot - -- Alf Gaida Tue, 25 Jul 2017 01:18:13 +0200 + -- Alf Gaida Sat, 23 Sep 2017 15:56:32 +0200 lxqt-build-tools (0.3.2-1) unstable; urgency=medium diff --git a/debian/control b/debian/control index 4505da6..ad472fd 100644 --- a/debian/control +++ b/debian/control @@ -18,9 +18,12 @@ Package: lxqt-build-tools Architecture: all Depends: ${shlibs:Depends}, ${misc:Depends}, + binutils, cmake (>= 3.0.2), - libqt5xdg-dev (>= 2.0.0), + git, + libqt5xdg-dev (>= 3.0.0), libglib2.0-dev (>= 2.5.0), + lintian, pkg-config, qttools5-dev, qttools5-dev-tools From 4f6bd462c8d6532f43ec6609b32f711957603b9f Mon Sep 17 00:00:00 2001 From: Alf Gaida Date: Sat, 23 Sep 2017 16:06:13 +0200 Subject: [PATCH 3/7] Imported upstream version 0.4.0. --- CHANGELOG | 16 ++++- CMakeLists.txt | 16 ++--- cmake/LXQtConfigVars.cmake.in | 6 -- cmake/find-modules/FindExif.cmake | 80 ++++++++++++++++++++++++ cmake/modules/LXQtCompilerSettings.cmake | 13 +++- debian/changelog | 2 +- 6 files changed, 115 insertions(+), 18 deletions(-) create mode 100644 cmake/find-modules/FindExif.cmake diff --git a/CHANGELOG b/CHANGELOG index d89921c..2dd3d3b 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,7 +1,21 @@ -lxqt-build-tools-0.3.2 / 2017-01-14 +lxqt-build-tools-0.4.0 / 2017-09-22 =================================== + * Bump version to 0.4.0 + * Added needed versions + * remove version set from LXQtConfigVars.in + * Move LXQt version to liblxqt + * Fixes a FTBFS with superbuild mode + * Adds a FindExif module + * LXQtCompilerSettings: Fixes a typo in diagnostics-color + * Adds (Ninja) colored diagnostics for GCC (>=4.9) + * Enable strict iterators for debug builds + +0.3.2 / 2017-01-14 +================== + + * Release 0.3.2: Update changelog * Bump version to 0.3.2 - finally the build tools are arch: all (#15) * Warnings (#16) * Remove arched bits from version.cmake-file (#14) diff --git a/CMakeLists.txt b/CMakeLists.txt index e63004c..a276011 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,14 +5,16 @@ cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR) option(WITH_XDG_DIRS_FALLBACK "Use our XDG_CONFIG_DIRS fallback" ON) set(LXQT_BUILD_TOOLS_MAJOR_VERSION 0) -set(LXQT_BUILD_TOOLS_MINOR_VERSION 3) -set(LXQT_BUILD_TOOLS_PATCH_VERSION 2) +set(LXQT_BUILD_TOOLS_MINOR_VERSION 4) +set(LXQT_BUILD_TOOLS_PATCH_VERSION 0) set(LXQT_BUILD_TOOLS_VERSION ${LXQT_BUILD_TOOLS_MAJOR_VERSION}.${LXQT_BUILD_TOOLS_MINOR_VERSION}.${LXQT_BUILD_TOOLS_PATCH_VERSION}) -set(LXQT_MAJOR_VERSION 0) -set(LXQT_MINOR_VERSION 11) -set(LXQT_PATCH_VERSION 1) -set(LXQT_VERSION ${LXQT_MAJOR_VERSION}.${LXQT_MINOR_VERSION}.${LXQT_PATCH_VERSION}) + +# Check for needed versions +# We need at least Qt 5.6.1 and glib-2.0 >= 2.50 to build all LXQt parts +find_package(PkgConfig REQUIRED) +find_package(Qt5Core "5.6.1" REQUIRED) +pkg_check_modules(GLIB2 glib-2.0>=2.50 REQUIRED) include(CMakePackageConfigHelpers) include(GNUInstallDirs) # Standard directories for installation @@ -103,7 +105,7 @@ configure_file( # The package version file is common to superbuild and installable mode configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/lxqt-build-tools-config-version.cmake.in" - "${CMAKE_CURRENT_BINARY_DIR}/lxqt-build-tools-config-version.cmake" + "${CMAKE_BINARY_DIR}/lxqt-build-tools-config-version.cmake" @ONLY ) diff --git a/cmake/LXQtConfigVars.cmake.in b/cmake/LXQtConfigVars.cmake.in index fd8870f..3dfe0e6 100644 --- a/cmake/LXQtConfigVars.cmake.in +++ b/cmake/LXQtConfigVars.cmake.in @@ -16,11 +16,6 @@ # added to XDG_DATA_DIRS by the startlxqt script. -set(LXQT_MAJOR_VERSION "@LXQT_MAJOR_VERSION@") -set(LXQT_MINOR_VERSION "@LXQT_MINOR_VERSION@") -set(LXQT_PATCH_VERSION "@LXQT_PATCH_VERSION@") -set(LXQT_VERSION "@LXQT_VERSION@") - set(LXQT_LIBRARY_NAME "@LXQT_LIBRARY_NAME@") set(LXQT_RELATIVE_SHARE_DIR "@LXQT_RELATIVE_SHARE_DIR@") set(LXQT_SHARE_DIR "@LXQT_SHARE_DIR@") @@ -37,4 +32,3 @@ add_definitions("-DLXQT_SHARE_TRANSLATIONS_DIR=\"${LXQT_TRANSLATIONS_DIR}\"") add_definitions("-DLXQT_GRAPHICS_DIR=\"${LXQT_GRAPHICS_DIR}\"") add_definitions("-DLXQT_ETC_XDG_DIR=\"${LXQT_ETC_XDG_DIR}\"") add_definitions("-DLXQT_DATA_DIR=\"${LXQT_DATA_DIR}\"") -add_definitions("-DLXQT_VERSION=\"${LXQT_VERSION}\"") diff --git a/cmake/find-modules/FindExif.cmake b/cmake/find-modules/FindExif.cmake new file mode 100644 index 0000000..dd4d2b2 --- /dev/null +++ b/cmake/find-modules/FindExif.cmake @@ -0,0 +1,80 @@ +# Distributed under the OSI-approved BSD 3-Clause License. See accompanying +# BSD-3-Clause file for details. + +#.rst: +# FindExif +# ----------- +# +# Try to find the Exif library +# +# Once done this will define +# +# :: +# +# EXIF_FOUND - System has the Exif library +# EXIF_INCLUDE_DIR - The Exif library include directory +# EXIF_INCLUDE_DIRS - Location of the headers needed to use the Exif library +# EXIF_LIBRARIES - The libraries needed to use the Exif library +# EXIF_DEFINITIONS - Compiler switches required for using the Exif library +# EXIF_VERSION_STRING - the version of the Exif library found + + +# use pkg-config to get the directories and then use these values +# in the find_path() and find_library() calls +find_package(PkgConfig QUIET) +pkg_check_modules(PC_EXIF QUIET libexif) +set(EXIF_DEFINITIONS ${PC_EXIF_CFLAGS_OTHER}) + +find_path(EXIF_INCLUDE_DIR NAMES libexif/exif-data.h + HINTS + ${PC_EXIF_INCLUDEDIR} + ${PC_EXIF_INCLUDE_DIRS} + PATH_SUFFIXES libexif +) + +find_library(EXIF_LIBRARIES NAMES exif libexif + HINTS + ${PC_EXIF_LIBDIR} + ${PC_EXIF_LIBRARY_DIRS} +) + + +# iterate over all dependencies +unset(FD_LIBRARIES) +foreach(depend ${PC_EXIF_LIBRARIES}) + find_library(_DEPEND_LIBRARIES + NAMES + ${depend} + HINTS + ${PC_EXIF_LIBDIR} + ${PC_EXIF_LIBRARY_DIRS} + ) + + if (_DEPEND_LIBRARIES) + list(APPEND FD_LIBRARIES ${_DEPEND_LIBRARIES}) + endif() + unset(_DEPEND_LIBRARIES CACHE) +endforeach() + +set(EXIF_VERSION_STRING ${PC_EXIF_VERSION}) +set(EXIF_INCLUDE_DIR ${PC_EXIF_INCLUDEDIR}) + +list(APPEND EXIF_INCLUDE_DIRS + ${EXIF_INCLUDE_DIR} + ${PC_EXIF_INCLUDE_DIRS} +) +list(REMOVE_DUPLICATES EXIF_INCLUDE_DIRS) + +list(APPEND EXIF_LIBRARIES + ${FD_LIBRARIES} +) + +list(REMOVE_DUPLICATES EXIF_LIBRARIES) +# handle the QUIETLY and REQUIRED arguments and set EXIF_FOUND to TRUE if +# all listed variables are TRUE +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(Exif + REQUIRED_VARS EXIF_LIBRARIES EXIF_INCLUDE_DIR EXIF_INCLUDE_DIRS + VERSION_VAR EXIF_VERSION_STRING) + +mark_as_advanced(EXIF_INCLUDE_DIR EXIF_LIBRARIES) diff --git a/cmake/modules/LXQtCompilerSettings.cmake b/cmake/modules/LXQtCompilerSettings.cmake index 2b1e774..14c8398 100644 --- a/cmake/modules/LXQtCompilerSettings.cmake +++ b/cmake/modules/LXQtCompilerSettings.cmake @@ -75,6 +75,10 @@ add_definitions( -DQT_USE_QSTRINGBUILDER ) +if (CMAKE_BUILD_TYPE MATCHES "Debug") + add_definitions(-DQT_STRICT_ITERATORS) +endif() + #----------------------------------------------------------------------------- # Detect Clang compiler @@ -189,9 +193,12 @@ endif() #----------------------------------------------------------------------------- # Enable colored diagnostics for the CLang/Ninja combination #----------------------------------------------------------------------------- -if (LXQT_COMPILER_IS_CLANGCXX AND CMAKE_GENERATOR STREQUAL "Ninja") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fcolor-diagnostics") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fcolor-diagnostics") +if (CMAKE_GENERATOR STREQUAL "Ninja" AND + # Rationale: https://public.kitware.com/Bug/view.php?id=15502 + ((CMAKE_COMPILER_IS_GNUCXX AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9) OR + (LXQT_COMPILER_IS_CLANGCXX AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.5))) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fdiagnostics-color=always") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdiagnostics-color=always") endif() diff --git a/debian/changelog b/debian/changelog index 240754c..232d967 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,7 +8,7 @@ lxqt-build-tools (0.4.0-1) experimental; urgency=medium - git-versions: get current upstream git versions - get-snapshot: get a git snapshot - -- Alf Gaida Sat, 23 Sep 2017 15:56:32 +0200 + -- Alf Gaida Sat, 23 Sep 2017 16:05:32 +0200 lxqt-build-tools (0.3.2-1) unstable; urgency=medium From 39e12b69cfac24d201aa52748516e7b8d04b79bd Mon Sep 17 00:00:00 2001 From: Alf Gaida Date: Sat, 23 Sep 2017 16:21:33 +0200 Subject: [PATCH 4/7] Add BSD-3-clause license headers to scripts --- debian/bin/evil | 30 ++++++++++++++++++++++++++---- debian/bin/get-snapshot | 34 ++++++++++++++++++++++++++++------ debian/bin/git-versions | 30 +++++++++++++++++++++++++----- debian/bin/mangle | 29 +++++++++++++++++++++++++---- debian/bin/symmangle | 30 ++++++++++++++++++++++++++---- debian/copyright | 2 +- 6 files changed, 131 insertions(+), 24 deletions(-) diff --git a/debian/bin/evil b/debian/bin/evil index 6e47294..9c2db26 100755 --- a/debian/bin/evil +++ b/debian/bin/evil @@ -1,10 +1,32 @@ #!/bin/bash + # Copyright 2015-2017 Alf Gaida -# License: WTFPL-2 -# -# Usage: -# # +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: # +# 1. Redistributions of source code must retain the copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. # +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#============================================================================= + +# Usage: evil + + lintian -EvIL +pedantic --show-overrides --no-tag-display-limit *changes diff --git a/debian/bin/get-snapshot b/debian/bin/get-snapshot index 6eae4a4..fd80508 100755 --- a/debian/bin/get-snapshot +++ b/debian/bin/get-snapshot @@ -1,11 +1,33 @@ #!/bin/bash -# Author: 2015-2017 Alf Gaida -# License: WTFPL-2.0 -# Licensetext -# Usage: -# get-snapshot (in package dir) -# one will need a debian/repository.spec file in place +# Copyright 2015-2017 Alf Gaida +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#============================================================================= + +# Usage: get-snapshot (in package dir) +# One will need a debian/repository.spec file in place unset commit unset branch diff --git a/debian/bin/git-versions b/debian/bin/git-versions index cc9167e..98f3779 100755 --- a/debian/bin/git-versions +++ b/debian/bin/git-versions @@ -1,13 +1,33 @@ #!/bin/bash - +#============================================================================= # Copyright 2015-2017 Alf Gaida -# License: WTFPL-2 -# -# Usage: -# # +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: # +# 1. Redistributions of source code must retain the copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. # +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#============================================================================= + +# Usage: git versions +# one should have a valid versions list in the source dir [ ! -d "auto" ] && mkdir auto echo "Current Repository Versions" diff --git a/debian/bin/mangle b/debian/bin/mangle index ff51ad9..5ddc1d5 100755 --- a/debian/bin/mangle +++ b/debian/bin/mangle @@ -1,10 +1,31 @@ #!/bin/bash +#============================================================================= # Copyright 2015-2017 Alf Gaida -# License: WTFPL-2 -# -# Usage: -# # +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: # +# 1. Redistributions of source code must retain the copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. # +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#============================================================================= + +# Usage: mangle $symbolstring + echo "A: $@" | sed 's/ \(_.*\) \(.*\)/ (c++)"\1" \2/' | c++filt diff --git a/debian/bin/symmangle b/debian/bin/symmangle index 5737853..f6ade85 100755 --- a/debian/bin/symmangle +++ b/debian/bin/symmangle @@ -1,12 +1,34 @@ #!/bin/bash +#============================================================================= # Copyright 2015-2017 Alf Gaida -# License: WTFPL-2 -# -# Usage: -# # +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: # +# 1. Redistributions of source code must retain the copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. # +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#============================================================================= + +# Usage: symmangle +# On should use this in the package dir after locale builds in case of +# symbol diffs during the build if [ -d ./debian ]; then for i in `find . -name symbols`; do diff --git a/debian/copyright b/debian/copyright index e19a5dd..7e88fa0 100644 --- a/debian/copyright +++ b/debian/copyright @@ -8,7 +8,7 @@ Copyright: 2010-2012 Razor team License: BSD-3-Clause Files: debian/* -Copyright: 2016-2017 Alf Gaida +Copyright: 2015-2017 Alf Gaida License: BSD-3-Clause License: BSD-3-Clause From 322fb74ec3af50cc39ea7342369b4e317c35263e Mon Sep 17 00:00:00 2001 From: Alf Gaida Date: Sat, 23 Sep 2017 16:28:23 +0200 Subject: [PATCH 5/7] Cherry-picking new upstream release 0.4.0 Added some pkg-lxqt tools: - evil: the (in)famous lintian -EvIL ... - mangle: mangle single symbols - symmangle: mangle whole symbol files - git-versions: get current upstream git versions - get-snapshot: get a git snapshot --- debian/changelog | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 232d967..a53e2a7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,6 @@ lxqt-build-tools (0.4.0-1) experimental; urgency=medium - * Cherry-picking new upstream release + * Cherry-picking new upstream release 0.4.0 * Added some pkg-lxqt tools: - evil: the (in)famous lintian -EvIL ... - mangle: mangle single symbols @@ -8,7 +8,7 @@ lxqt-build-tools (0.4.0-1) experimental; urgency=medium - git-versions: get current upstream git versions - get-snapshot: get a git snapshot - -- Alf Gaida Sat, 23 Sep 2017 16:05:32 +0200 + -- Alf Gaida Sat, 23 Sep 2017 16:28:13 +0200 lxqt-build-tools (0.3.2-1) unstable; urgency=medium From 750c14fdde7b35f7a47d526d38a87e701bcdf89c Mon Sep 17 00:00:00 2001 From: Alf Gaida Date: Sun, 22 Oct 2017 17:02:16 +0200 Subject: [PATCH 6/7] Some things polished * Fixed symmangle - sort order is defined by LC_ALL, so using LC_ALL=C is a good idea in the script * Renamed get-snapshot to git-snapshot * Bumped qtxdg dependency to >= 3.1.0 * Added lintian-overrides --- debian/bin/evil | 2 +- debian/bin/{get-snapshot => git-snapshot} | 0 debian/bin/symmangle | 4 ++-- debian/changelog | 10 ++++++++++ debian/control | 4 ++-- debian/lintian-overrides | 7 +++++++ .../usr/share/lxqt-build-tools/repository.spec.example | 2 -- 7 files changed, 22 insertions(+), 7 deletions(-) rename debian/bin/{get-snapshot => git-snapshot} (100%) create mode 100644 debian/lintian-overrides diff --git a/debian/bin/evil b/debian/bin/evil index 9c2db26..7c31702 100755 --- a/debian/bin/evil +++ b/debian/bin/evil @@ -1,5 +1,5 @@ #!/bin/bash - +#============================================================================= # Copyright 2015-2017 Alf Gaida # # Redistribution and use in source and binary forms, with or without diff --git a/debian/bin/get-snapshot b/debian/bin/git-snapshot similarity index 100% rename from debian/bin/get-snapshot rename to debian/bin/git-snapshot diff --git a/debian/bin/symmangle b/debian/bin/symmangle index f6ade85..95b1240 100755 --- a/debian/bin/symmangle +++ b/debian/bin/symmangle @@ -27,12 +27,12 @@ #============================================================================= # Usage: symmangle -# On should use this in the package dir after locale builds in case of +# One should use this in the package dir after locale builds in case of # symbol diffs during the build if [ -d ./debian ]; then for i in `find . -name symbols`; do k=`echo $i | sed "s#/DEBIAN/symbols##" | sed "s#./debian/##"` - cat "$i" | sed 's/ \(_.*\) \(.*\)/ (c++)"\1" \2/' | c++filt | sort | uniq | tee "debian/$k.mangled"; + cat "$i" | sed 's/ \(_.*\) \(.*\)/ (c++)"\1" \2/' | c++filt | LC_ALL=C sort -u | tee "debian/$k.mangled"; done fi diff --git a/debian/changelog b/debian/changelog index a53e2a7..4b09045 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,13 @@ +lxqt-build-tools (0.4.0-2) experimental; urgency=medium + + * Fixed symmangle - sort order is defined by LC_ALL, so using + LC_ALL=C is a good idea in the script + * Renamed get-snapshot to git-snapshot + * Bumped qtxdg dependency to >= 3.1.0 + * Added lintian-overrides + + -- Alf Gaida Sun, 22 Oct 2017 17:01:49 +0200 + lxqt-build-tools (0.4.0-1) experimental; urgency=medium * Cherry-picking new upstream release 0.4.0 diff --git a/debian/control b/debian/control index ad472fd..14dae5a 100644 --- a/debian/control +++ b/debian/control @@ -9,7 +9,7 @@ Build-Depends: debhelper (>= 10), libglib2.0-dev, pkg-config, qtbase5-dev -Standards-Version: 4.1.0 +Standards-Version: 4.1.1 Vcs-Browser: https://anonscm.debian.org/cgit/pkg-lxqt/lxqt-build-tools.git/?h=debian/experimental Vcs-Git: https://anonscm.debian.org/git/pkg-lxqt/lxqt-build-tools.git -b debian/experimental Homepage: https://github.com/lxde/lxqt-build-tools @@ -21,7 +21,7 @@ Depends: ${shlibs:Depends}, binutils, cmake (>= 3.0.2), git, - libqt5xdg-dev (>= 3.0.0), + libqt5xdg-dev (>= 3.1.0), libglib2.0-dev (>= 2.5.0), lintian, pkg-config, diff --git a/debian/lintian-overrides b/debian/lintian-overrides new file mode 100644 index 0000000..98a5372 --- /dev/null +++ b/debian/lintian-overrides @@ -0,0 +1,7 @@ +# Yes, we know + +lxqt-build-tools: binary-without-manpage usr/bin/evil +lxqt-build-tools: binary-without-manpage usr/bin/git-snapshot +lxqt-build-tools: binary-without-manpage usr/bin/git-versions +lxqt-build-tools: binary-without-manpage usr/bin/mangle +lxqt-build-tools: binary-without-manpage usr/bin/symmangle diff --git a/debian/usr/share/lxqt-build-tools/repository.spec.example b/debian/usr/share/lxqt-build-tools/repository.spec.example index 37fbd9f..e0dac9a 100644 --- a/debian/usr/share/lxqt-build-tools/repository.spec.example +++ b/debian/usr/share/lxqt-build-tools/repository.spec.example @@ -1,5 +1,3 @@ -#!/bin/bash - # Author: Alf Gaida # License: WTFPL-2 # 0. You just DO WHAT THE FUCK YOU WANT TO. From ef7b3bb1fae0f5df4ddabd5b804d1f3ff69aee88 Mon Sep 17 00:00:00 2001 From: Alf Gaida Date: Wed, 25 Oct 2017 01:42:30 +0200 Subject: [PATCH 7/7] Demote git and lintian to recommends - if not installed some dev-scripts will not work, a dev should know how to handle the situation. --- debian/changelog | 7 +++++++ debian/control | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 4b09045..b9dbb38 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +lxqt-build-tools (0.4.0-3) experimental; urgency=medium + + * Demote git and lintian to recommends - if not installed some dev-scripts + will not work, a dev should know how to handle the situation. + + -- Alf Gaida Wed, 25 Oct 2017 01:42:18 +0200 + lxqt-build-tools (0.4.0-2) experimental; urgency=medium * Fixed symmangle - sort order is defined by LC_ALL, so using diff --git a/debian/control b/debian/control index 14dae5a..890a1ab 100644 --- a/debian/control +++ b/debian/control @@ -20,13 +20,13 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, binutils, cmake (>= 3.0.2), - git, libqt5xdg-dev (>= 3.1.0), libglib2.0-dev (>= 2.5.0), - lintian, pkg-config, qttools5-dev, qttools5-dev-tools +Recommends: git, + lintian Description: Build tools for the LXQt desktop environment LXQt is an advanced, easy-to-use, and fast desktop environment based on Qt technologies. It has been tailored for users who value simplicity, speed, and