diff --git a/debian/bin/evil b/debian/bin/evil index 2855257..7c31702 100755 --- a/debian/bin/evil +++ b/debian/bin/evil @@ -1,3 +1,32 @@ #!/bin/bash +#============================================================================= +# 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: evil + lintian -EvIL +pedantic --show-overrides --no-tag-display-limit *changes diff --git a/debian/bin/git-snapshot b/debian/bin/git-snapshot new file mode 100755 index 0000000..fd80508 --- /dev/null +++ b/debian/bin/git-snapshot @@ -0,0 +1,81 @@ +#!/bin/bash + +# 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 +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..98f3779 --- /dev/null +++ b/debian/bin/git-versions @@ -0,0 +1,70 @@ +#!/bin/bash +#============================================================================= +# 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: git versions +# one should have a valid versions list in the source dir + +[ ! -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 index 5f391a4..5ddc1d5 100755 --- a/debian/bin/mangle +++ b/debian/bin/mangle @@ -1,5 +1,31 @@ #!/bin/bash +#============================================================================= +# 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. +#============================================================================= -echo "A: $@" | sed 's/ \(_.*\) \(.*\)/ (c++)"\1" \2/' | c++filt - +# Usage: mangle $symbolstring +echo "A: $@" | sed 's/ \(_.*\) \(.*\)/ (c++)"\1" \2/' | c++filt diff --git a/debian/bin/symmangle b/debian/bin/symmangle index 18ead53..95b1240 100755 --- a/debian/bin/symmangle +++ b/debian/bin/symmangle @@ -1,8 +1,38 @@ #!/bin/bash +#============================================================================= +# 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: symmangle +# 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 c607491..b9dbb38 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,32 @@ +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 + 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 + * 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 Sat, 23 Sep 2017 16:28: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 4ebd6d4..16dee25 100644 --- a/debian/control +++ b/debian/control @@ -6,8 +6,10 @@ Section: devel Priority: optional Build-Depends: debhelper (>= 10), cmake (>= 3.0.2), + 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/sid Vcs-Git: https://anonscm.debian.org/git/pkg-lxqt/lxqt-build-tools.git -b debian/sid Homepage: https://github.com/lxde/lxqt-build-tools @@ -16,11 +18,15 @@ Package: lxqt-build-tools Architecture: all Depends: ${shlibs:Depends}, ${misc:Depends}, + binutils, cmake (>= 3.0.2), - libqt5xdg-dev (>= 2.0.0), + libqt5xdg-dev (>= 3.1.0), + libglib2.0-dev (>= 2.5.0), 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 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 diff --git a/debian/install b/debian/install index ce533ad..b42580b 100644 --- a/debian/install +++ b/debian/install @@ -1 +1,2 @@ debian/bin/* /usr/bin +debian/usr/* /usr 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/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..e0dac9a --- /dev/null +++ b/debian/usr/share/lxqt-build-tools/repository.spec.example @@ -0,0 +1,29 @@ +# 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* +} + + +