[Pkg-xfce-commits] [Git][xfce-team/desktop/xfce4-dev-tools][debian/master] 8 commits: d/watch: update to version 4

Yves-Alexis Perez gitlab at salsa.debian.org
Sat Nov 14 12:03:40 GMT 2020



Yves-Alexis Perez pushed to branch debian/master at xfce / desktop / xfce4-dev-tools


Commits:
a2f54f47 by Yves-Alexis Perez at 2020-11-14T11:39:46+01:00
d/watch: update to version 4

- - - - -
3d2905d5 by Yves-Alexis Perez at 2020-11-14T11:40:28+01:00
New upstream version 4.15.1
- - - - -
eac34ace by Yves-Alexis Perez at 2020-11-14T11:40:28+01:00
Update upstream source from tag 'upstream/4.15.1'

Update to upstream version '4.15.1'
with Debian dir b3afddc795a9d4579a37ed2319d3c91c7f8de2e4
- - - - -
1362c752 by Yves-Alexis Perez at 2020-11-14T11:55:54+01:00
d/control: update dh compat level to 13

- - - - -
a6ed8e31 by Yves-Alexis Perez at 2020-11-14T12:27:33+01:00
d/xdt-csource.1 dropped, upstream provide a manpage

- - - - -
c3e1cb44 by Yves-Alexis Perez at 2020-11-14T12:27:33+01:00
d/xfce4-dev-tools.lintian-overrides dropped

- - - - -
d6f5ab6e by Yves-Alexis Perez at 2020-11-14T12:27:43+01:00
finalize changelog

- - - - -
820c23ae by Yves-Alexis Perez at 2020-11-14T12:48:22+01:00
upload xfce4-dev-tools 4.15.1-1 to experimental

- - - - -


19 changed files:

- AUTHORS
- ChangeLog
- NEWS
- README.md
- configure
- configure.ac
- debian/changelog
- debian/control
- debian/watch
- − debian/xdt-csource.1
- − debian/xfce4-dev-tools.lintian-overrides
- debian/xfce4-dev-tools.manpages
- docs/xdt-csource.1
- helpers/Makefile.am
- helpers/Makefile.in
- + helpers/xfce-do-release
- helpers/xfce-get-translations
- helpers/xfce-update-news
- scripts/xdt-autogen.in


Changes:

=====================================
AUTHORS
=====================================
@@ -1 +1,2 @@
 Benedikt Meurer <benny at xfce.org>
+Romain Bouvier <skunnyk at alteroot.org>


=====================================
ChangeLog
=====================================
@@ -1,3 +1,176 @@
+commit 7416c0dd5bedc0372f18338cbd80db6bee5ed42f
+Author: Andre Miranda <andre42m at gmail.com>
+Date:   Thu Oct 15 01:19:31 2020 -0300
+
+    get-translations: Fix line wrapping
+
+commit ec0295a92ba60a9cf258eb90013e3d993d09b5c4
+Author: Gaël Bonithon <trash.paradise at protonmail.com>
+Date:   Fri Oct 2 13:01:59 2020 +0200
+
+    xdt-autogen: Various small improvements
+    
+    - quoting
+    - replace backticks with $()
+    - replace 'test "x$var"' with 'test "$var"'
+    - replace $(pwd) with $PWD
+    - simplify the command to search for languages
+    - do not use subshell when unneeded
+    - do not use redirection when unneeded
+    - directly test command exit codes instead of using $?
+    - readability (useless ";", indenting)
+
+commit 72483f0e80a4241893711f6431d53def515e5b6d
+Author: Gaël Bonithon <trash.paradise at protonmail.com>
+Date:   Fri Oct 2 12:25:44 2020 +0200
+
+    xdt-autogen: Properly handle whitespaces in filenames
+    
+    and more generally special characters different from '\1'.
+    
+    This is achieved by replacing the filename separator ' ' with '\1' in
+    lookup_configure_ac_*(), and the default IFS=' \t\n' with IFS='\1', but
+    only where necessary: the default IFS is usually required for things to
+    go as expected.
+    
+    So we have to do an IFS round-trip substitution around each "for" loop
+    on filenames, just before and just after pathname expansion by the
+    shell.
+    
+    Additionally, when running $XDT_PROG_ACLOCAL, one has to define some
+    new variables ACLOCAL_DIR and use conditional parameter expansion, to
+    properly set the program flags:
+    $XDT_PROG_ACLOCAL ${ACLOCAL_DIR:+-I "$ACLOCAL_DIR"}
+    
+    Finally, one has to take care of some non optional quoting
+    (strictly speaking, some are optional in this commit, but I preferred
+    not to cut as close as possible and to keep an overall coherence).
+
+commit 3e01e2136b0cb687987345cd19e0458e46e2d5b9
+Author: Gaël Bonithon <trash.paradise at protonmail.com>
+Date:   Fri Oct 2 10:49:06 2020 +0200
+
+    xdt-autogen: Use sed instead of tr to replace strings
+    
+    The purpose of the current code seems to be to replace the strings
+    '\t', '\n' and '\\' by a single space ' ', not the characters
+    "horizontal tab", "line feed" and "backslash" by a single space.
+    
+    So the right command to do this is sed, not tr, which doesn't do the
+    job expected here.
+
+commit bf575df6b316d860b922b952a2c0645257cb1993
+Author: Kevin Bowen <kevin.bowen at gmail.com>
+Date:   Fri Sep 18 09:49:40 2020 +0200
+
+    Updates README.md
+
+commit ed5e81009853fa1c1870ae53f39542e7dc9c56ad
+Author: Romain Bouvier <skunnyk at alteroot.org>
+Date:   Sat Jul 18 13:04:25 2020 +0200
+
+    xfce-build: Add libclutter-1.0-dev for xfdashboard build
+
+commit 119263d75aec66e35015a89c0c7041b54ec54162
+Author: Andre Miranda <andreldm at xfce.org>
+Date:   Sun Jul 12 15:22:46 2020 -0300
+
+    Update .gitignore
+
+commit ed122f07cfeed391f2fe3b4c32b8aa027ba7080f
+Author: Andre Miranda <andreldm at xfce.org>
+Date:   Sun Jul 12 15:21:33 2020 -0300
+
+    helpers: Use blank line for tags message
+
+commit 4ada3e6733bf7e6383be78702c669beb3c4bcad5
+Author: Andre Miranda <andreldm at xfce.org>
+Date:   Thu Jul 9 20:38:37 2020 -0300
+
+    helpers: Reuse release notes from NEWS for tag message
+
+commit 3412f9b7d22490792707e7aecb1c06a4bf8f27e8
+Author: Andre Miranda <andreldm at xfce.org>
+Date:   Thu Jul 9 20:10:01 2020 -0300
+
+    helpers: Simplify xfce-update-news
+    
+    In my tests this works fine, unless I'm missing something
+    I don't see a reason for writing to files.
+
+commit 796174773bde6d16790e5b48e2403747345c1a0d
+Author: Andre Miranda <andreldm at xfce.org>
+Date:   Thu Jul 9 20:03:39 2020 -0300
+
+    helpers: Do not strip NEWS blank line at EOF
+
+commit 2b5b1052785cd31574d480d487921a13a63d03f4
+Author: Andre Miranda <andreldm at xfce.org>
+Date:   Thu Jul 9 20:03:17 2020 -0300
+
+    helpers: Install xfce-do-release
+
+commit c7d3216976ac0f7735c75c174583fa4c269bfd46
+Author: Simon Steinbeiss <simon.steinbeiss at elfenbeinturm.at>
+Date:   Wed Jul 8 10:39:32 2020 +0200
+
+    xfce-build: Add depend for mousepad (Fixes #37)
+    
+    Add libgtksourceview-4-dev to support mousepad's transition to it.
+    Also see apps/mousepad!10
+
+commit 4ec5547b07f497902faf264b738718cdd7f91694
+Author: Simon Steinbeiß <ochosi at xfce.org>
+Date:   Wed Jul 8 10:36:58 2020 +0200
+
+    helpers: Add do-release helper and Readme
+
+commit cae6670c3d3e0db1c31acc388c0e1249b94a1c0d
+Author: Romain Bouvier <skunnyk at alteroot.org>
+Date:   Tue Jul 7 21:17:16 2020 +0200
+
+    xfce-build: Install python3 version of distutils-extra
+    
+    - Needed for catfish build
+
+commit 2067ef1b2fc4cdcac6cb5fb40be8f20159f02b7f
+Author: Simon Steinbeiss <simon.steinbeiss at elfenbeinturm.at>
+Date:   Tue Jul 7 10:18:22 2020 +0200
+
+    helpers: Make get-translations executable
+
+commit 2b9dbea980d4df3b44a4176cc5d3fb58beafca97
+Author: Andre Miranda <andreldm at xfce.org>
+Date:   Tue Jul 7 00:13:27 2020 -0300
+
+    get-translations: Remove last comma
+
+commit f57b4a8017874733589f4cb9607c249a03a1fb5b
+Author: Andre Miranda <andreldm at xfce.org>
+Date:   Mon Jul 6 23:34:09 2020 -0300
+
+    get-translations: Correctly get locale from commit messages
+    
+    The forth field of messages such as:
+    I18n: Add new translation sq (100%).
+    
+    Is "translation", that's why we should pick the second last field.
+
+commit 8fb443963bb6851a9e82b531dcd93b6c9a2fcd14
+Author: Simon Steinbeiß <ochosi at xfce.org>
+Date:   Thu Jun 25 00:51:49 2020 +0200
+
+    xfce-build: Replace build-dep with package names
+    
+    Also take further measures to make the container slimmer and more portable.
+    Thanks to Romain and Florian (schuellerf/xfce-test)!
+
+commit caa7aca47d8a9d217e78f4846122b63c3905938d
+Author: Romain Bouvier <skunnyk at alteroot.org>
+Date:   Wed Jun 24 23:40:32 2020 +0200
+
+    Back to development
+
 commit c9edd8f4c03159df2c9da1a871355c64b3af4a65
 Author: Romain Bouvier <skunnyk at alteroot.org>
 Date:   Wed Jun 24 23:21:12 2020 +0200


=====================================
NEWS
=====================================
@@ -1,3 +1,29 @@
+4.15.1
+======
+
+Various improvments to the helpers introduced in 4.15.0,
+cleanup of xdt-autogen code, various fixes for our CI.
+
+- get-translations: Fix line wrapping
+- xdt-autogen: Various small improvements
+- xdt-autogen: Properly handle whitespaces in filenames
+- xdt-autogen: Use sed instead of tr to replace strings
+- Updates README.md
+- xfce-build: Add libclutter-1.0-dev for xfdashboard build
+- Update .gitignore
+- helpers: Use blank line for tags message
+- helpers: Reuse release notes from NEWS for tag message
+- helpers: Simplify xfce-update-news
+- helpers: Do not strip NEWS blank line at EOF
+- helpers: Install xfce-do-release
+- xfce-build: Add depend for mousepad (Fixes #37)
+- helpers: Add do-release helper and Readme
+- xfce-build: Install python3 version of distutils-extra
+- helpers: Make get-translations executable
+- get-translations: Remove last comma
+- get-translations: Correctly get locale from commit messages
+- xfce-build: Replace build-dep with package names
+
 4.15.0
 ======
 


=====================================
README.md
=====================================
@@ -1,9 +1,14 @@
-## What is it?
+[![License](https://img.shields.io/badge/License-GPL%20v2-blue.svg)](https://gitlab.xfce.org/xfce/xfce4-dev-tools/-/blob/master/COPYING)
+
+# xfce4-dev-tools
+
 
 The Xfce development tools are a collection of tools and macros for
-Xfce developers and people that want to build Xfce from Git In addition
+Xfce developers and people that want to build Xfce from git. In addition,
 it contains the Xfce developer's handbook.
 
+----
+
 ## `xfce-build` containerized build environment
 
 This project also contains the code to build and deploy xfce-build to the 
@@ -17,8 +22,8 @@ docker run --rm -u $(id -u ${USER}):$(id -g ${USER}) \
   -c "cd /tmp; ./autogen.sh && make distcheck"
 ```
 
-The steps to build the container are encoded in the [`Dockerfile`](Dockerfile) in
-this repository, and is built via the build job in [`.gitlab-ci.yml`](.gitlab-ci.yml).
+The steps to build the container are encoded in the [`Dockerfile`](https://gitlab.xfce.org/xfce/xfce4-dev-tools/-/blob/master/Dockerfile) in
+this repository, and is built via the build job in [`.gitlab-ci.yml`](https://gitlab.xfce.org/xfce/xfce4-dev-tools/-/blob/master/.gitlab-ci.yml).
 
 ## CI templates for Xfce
 
@@ -27,10 +32,44 @@ Xfce projects, as well as supporting scripts such as `build_libs.sh` which handl
 building any needed dependencies. This helps us avoid repeating the same build
 code in each project.
 
-## How to report bugs?
+----
+
+### Homepage
+
+[Xfce4-dev-tools documentation](https://docs.xfce.org/xfce/xfce4-dev-tools/start)
+
+### Changelog
+
+See [NEWS](https://gitlab.xfce.org/xfce/xfce4-dev-tools/-/blob/master/NEWS) for details on changes and fixes made in the current release.
+
+### Source Code Repository
+
+[Xfce4-dev-tools source code](https://gitlab.xfce.org/xfce/xfce4-dev-tools)
+
+### Download a Release Tarball
+
+[Xfce4-dev-tools archive](https://archive.xfce.org/src/xfce/xfce4-dev-tools)
+    or
+[Xfce4-dev-tools tags](https://gitlab.xfce.org/xfce/xfce4-dev-tools/-/tags)
+
+### Installation
+
+From source: 
+
+    % cd xfce4-dev-tools
+    % ./autogen.sh
+    % make
+    % make install
+
+From release tarball:
+
+    % tar xf xfce4-dev-tools-<version>.tar.bz2
+    % cd xfce4-dev-tools-<version>
+    % ./configure
+    % make
+    % make install
+
+### Reporting Bugs
 
-Bugs should be reported to the [Xfce bugtracking system](https://gitlab.xfce.org/xfce/xfce4-dev-tools/).
-You will need to create an account for yourself.
+Visit the [reporting bugs](https://docs.xfce.org/xfce/xfce4-dev-tools/bugs) page to view currently open bug reports and instructions on reporting new bugs or submitting bugfixes.
 
-Please read the file [`HACKING`](HACKING) for information on where to send changes
-or bugfixes for this package.


=====================================
configure
=====================================
@@ -1,7 +1,7 @@
 #! /bin/sh
 # From configure.ac .
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for xfce4-dev-tools 4.15.0.
+# Generated by GNU Autoconf 2.69 for xfce4-dev-tools 4.15.1.
 #
 # Report bugs to <https://gitlab.xfce.org/xfce/xfce4-dev-tools/>.
 #
@@ -593,8 +593,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='xfce4-dev-tools'
 PACKAGE_TARNAME='xfce4-dev-tools'
-PACKAGE_VERSION='4.15.0'
-PACKAGE_STRING='xfce4-dev-tools 4.15.0'
+PACKAGE_VERSION='4.15.1'
+PACKAGE_STRING='xfce4-dev-tools 4.15.1'
 PACKAGE_BUGREPORT='https://gitlab.xfce.org/xfce/xfce4-dev-tools/'
 PACKAGE_URL=''
 
@@ -1334,7 +1334,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures xfce4-dev-tools 4.15.0 to adapt to many kinds of systems.
+\`configure' configures xfce4-dev-tools 4.15.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1404,7 +1404,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of xfce4-dev-tools 4.15.0:";;
+     short | recursive ) echo "Configuration of xfce4-dev-tools 4.15.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1524,7 +1524,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-xfce4-dev-tools configure 4.15.0
+xfce4-dev-tools configure 4.15.1
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1895,7 +1895,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by xfce4-dev-tools $as_me 4.15.0, which was
+It was created by xfce4-dev-tools $as_me 4.15.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2251,7 +2251,7 @@ VERSION_MAJOR=4
 
 VERSION_MINOR=15
 
-VERSION_MICRO=0
+VERSION_MICRO=1
 
 VERSION_REVISION=
 
@@ -2771,7 +2771,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='xfce4-dev-tools'
- VERSION='4.15.0'
+ VERSION='4.15.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -13097,7 +13097,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by xfce4-dev-tools $as_me 4.15.0, which was
+This file was extended by xfce4-dev-tools $as_me 4.15.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -13154,7 +13154,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-xfce4-dev-tools config.status 4.15.0
+xfce4-dev-tools config.status 4.15.1
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 


=====================================
configure.ac
=====================================
@@ -9,7 +9,7 @@ dnl ***************************
 dnl *** Version information ***
 dnl ***************************
 
-XDT_VERSION_INIT([4.15.0], [])
+XDT_VERSION_INIT([4.15.1], [])
 
 dnl # DO NOT MODIFY ANYTHING BELOW THIS LINE, UNLESS YOU KNOW WHAT
 dnl # YOU ARE DOING.


=====================================
debian/changelog
=====================================
@@ -1,3 +1,13 @@
+xfce4-dev-tools (4.15.1-1) experimental; urgency=medium
+
+  * d/watch: update to version 4
+  * New upstream version 4.15.1
+  * d/control: update dh compat level to 13
+  * d/xdt-csource.1 dropped, upstream provide a manpage
+  * d/xfce4-dev-tools.lintian-overrides dropped
+
+ -- Yves-Alexis Perez <corsac at debian.org>  Sat, 14 Nov 2020 12:48:08 +0100
+
 xfce4-dev-tools (4.15.0-1) experimental; urgency=medium
 
   * Team upload.


=====================================
debian/control
=====================================
@@ -3,7 +3,7 @@ Section: xfce
 Priority: optional
 Maintainer: Debian Xfce Maintainers <debian-xfce at lists.debian.org>
 Uploaders: Yves-Alexis Perez <corsac at debian.org>
-Build-Depends: debhelper-compat (= 12),
+Build-Depends: debhelper-compat (= 13),
                libglib2.0-dev
 Rules-Requires-Root: no
 Standards-Version: 4.5.0


=====================================
debian/watch
=====================================
@@ -1,3 +1,3 @@
-version=3
+version=4
 https://archive.xfce.org/src/xfce/@PACKAGE@/(\d[\d\.]+)/ \
 	@PACKAGE@@ANY_VERSION@@ARCHIVE_EXT@


=====================================
debian/xdt-csource.1 deleted
=====================================
@@ -1,52 +0,0 @@
-.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.40.4.
-.TH XDT-CSOURCE "1" "October 2011" "xdt-csource 4.9.0" "User Commands"
-.SH NAME
-xdt-csource \- C code generation utility for arbitrary data
-.SH SYNOPSIS
-.PP
-.B xdt-csource
-[\fIoptions\fR] [\fIfile\fR]
-.PP
-.B xdt-csource
-[\fIoptions\fR] \fB\-\-build\-list\fR [[\fIname file\fR]...]
-.SH DESCRIPTION
-.PP
-\fBxdt\-csource\fR
-is a small utility that generates C code containing arbitrary data, useful for compiling texts or other data directly into programs\&.
-.SH INVOCATION
-.PP
-\fBxdt\-csource\fR
-either takes as input one file name to generate code for, or, using the
-\fB\-\-build\-list\fR
-option, a list of (\fIname\fR,
-\fIfile\fR) pairs to generate code for a list of images into named variables\&.
-.TP
-\fB\-h\fR, \fB\-\-help\fR
-Print this help message and exit
-.TP
-\fB\-V\fR, \fB\-\-version\fR
-Print version information and exit
-.TP
-\fB\-\-extern\fR
-Generate extern symbols
-.TP
-\fB\-\-static\fR
-Generate static symbols
-.TP
-\fB\-\-name\fR=\fIidentifier\fR
-C macro/variable name
-.TP
-\fB\-\-build\-list\fR
-Parse (name, file) pairs
-.TP
-\fB\-\-strip\-comments\fR
-Remove comments from XML files
-.TP
-\fB\-\-strip\-content\fR
-Remove node contents from XML files
-.SH COPYRIGHT
-Copyright \(co 2005\-2011
-.IP
-The Xfce development team. All rights reserved.
-.PP
-Please report bugs to <http://bugzilla.xfce.org/enter_bug.cgi?product=Xfce4\-dev\-tools>.


=====================================
debian/xfce4-dev-tools.lintian-overrides deleted
=====================================
@@ -1,2 +0,0 @@
-# we do build with hardening flags
-xfce4-dev-tools: hardening-no-stackprotector usr/bin/xdt-csource


=====================================
debian/xfce4-dev-tools.manpages
=====================================
@@ -1,2 +1 @@
 debian/xdt-autogen.1
-debian/xdt-csource.1


=====================================
docs/xdt-csource.1
=====================================
@@ -2,12 +2,12 @@
 .\"     Title: xdt-csource
 .\"    Author: [see the "Author" section]
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 06/24/2020
+.\"      Date: 11/02/2020
 .\"    Manual: Xfce User\*(Aqs Manual
 .\"    Source: Xfce
 .\"  Language: English
 .\"
-.TH "XDT\-CSOURCE" "1" "06/24/2020" "Xfce" "Xfce User\*(Aqs Manual"
+.TH "XDT\-CSOURCE" "1" "11/02/2020" "Xfce" "Xfce User\*(Aqs Manual"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------


=====================================
helpers/Makefile.am
=====================================
@@ -3,6 +3,7 @@
 #
 
 bin_SCRIPTS =								\
+	xfce-do-release								\
 	xfce-get-release-notes							\
 	xfce-get-translations							\
 	xfce-update-news


=====================================
helpers/Makefile.in
=====================================
@@ -283,6 +283,7 @@ top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 bin_SCRIPTS = \
+	xfce-do-release								\
 	xfce-get-release-notes							\
 	xfce-get-translations							\
 	xfce-update-news


=====================================
helpers/xfce-do-release
=====================================
@@ -0,0 +1,230 @@
+#!/bin/bash
+
+component=$1
+version=$2
+steps=0
+steps_complete=0
+version_scheme=1
+
+# Check if the working directory is in the state we expect it to be in
+sanity_checks () {
+	is_git=$(git rev-parse --is-inside-work-tree)
+	if [ "$is_git" != "true" ]; then
+		exit 1
+	fi
+	current_branch=$(git rev-parse --abbrev-ref HEAD)
+	if [ "$current_branch" != "master" ]; then
+		if [[ "$current_branch" == *"xfce-4"* ]]; then
+			echo "You are on a maintenance branch."
+		else
+			printf "\e[1mWarning:\e[0m You are not on the master branch.\n"
+			read -n 1 -s -p "Do you really want to continue?"
+		fi
+	fi
+	echo "Updating $current_branch to avoid conflicts..."
+	git pull
+	if [ -n "$(git status --untracked-files=no --porcelain)" ]; then
+		printf "\e[1mWarning:\e[0m The working directory is not clean.\nYou have the following unstaged or uncommitted changes:\n"
+		git status --untracked-files=no -s
+		read -n 1 -s -p "Do you really want to continue?"
+	fi
+	if ! which xfce-test >/dev/null; then
+		echo "INFO: please install xfce-test to support building in a clean environment. See https://github.com/schuellerf/xfce-test"
+	else
+		images=$(docker images|grep -Po "(?<=^schuellerf/xfce-test) +[^ ]+"|tr -d ' ')
+		echo "Select xfce-test docker-tag to work with:"
+		select image in $images; do
+			break
+		done
+
+		if [ -z "$image" ]; then
+			echo "No xfce-test images found or selected. Use 'xfce-test pull' to get one."
+		else
+			export TAG=$image
+			echo "Working with $image"
+		fi
+
+	fi
+}
+
+# Check if the input parameters (component version) were provided
+test_parameters () {
+	# Get the component
+	if [ -n "$1" ]; then
+		echo "Component: $component"
+	else
+		currentdir=${PWD##*/}
+		read -p "Specify a component (Default: '$currentdir') " new_component
+		if [ "$new_component" = "" ]; then
+			component="$(echo "$currentdir")"
+			echo "Component: $component"
+		else
+			component="$(echo "$new_component")"
+			echo "Component: $component"
+		fi
+	fi
+
+	# Get the latest tag and increment the patch version by 1
+	latest_tag=$(git describe --abbrev=0 --match "$component*" 2>/dev/null)
+	if [ "$latest_tag" = "" ]; then
+		echo "Note: This repository does not follow the <component>-<version> schema."
+		latest_tag=$(git describe --abbrev=0)
+		version_scheme=0
+	fi
+
+	if [ $version_scheme = 0 ]; then
+		latest_major=$(echo $latest_tag | sed 's/\(.*\)\.\(.*\)\.\(.*\)/\1/')
+		latest_minor=$(echo $latest_tag | sed 's/\(.*\)\.\(.*\)\.\(.*\)/\2/')
+		latest_patch=$(echo $latest_tag | sed 's/\(.*\)\.\(.*\)\.\(.*\)/\3/')
+	else
+		latest_major=$(echo $latest_tag | sed 's/\(.*\)-\(.*\)\.\(.*\)\.\(.*\)/\2/')
+		latest_minor=$(echo $latest_tag | sed 's/\(.*\)-\(.*\)\.\(.*\)\.\(.*\)/\3/')
+		latest_patch=$(echo $latest_tag | sed 's/\(.*\)-\(.*\)\.\(.*\)/\3/')
+	fi
+	new_patch=$(echo "$(($latest_patch + 1))")
+
+	# Get the version
+	if [ -n "$2" ]; then
+		echo "Version: $version"
+	else
+		read -p "Specify a version (Default: $latest_major.$latest_minor.$new_patch): " new_version
+		if [ "$new_version" = "" ]; then
+			version="$(echo "$latest_major.$latest_minor.$new_patch")"
+			echo "Version: $version"
+		else
+			if [ "$(git tag | grep -c $new_version\$)" = "1" ]; then
+				read -n 1 -p "\e[1mWarning:\e[0m The version you specified ('$new_version') exists as a git tag. Do you really want to release again?"
+			fi
+			version="$(echo "$new_version")"
+			echo "Version: $version"
+		fi
+	fi
+
+	# Split up the actual version number so we can re-use it later
+	semantic_version=( ${version//./ } )
+	version_major="${semantic_version[0]}"
+	version_minor="${semantic_version[1]}"
+	version_patch="${semantic_version[2]}"
+}
+
+# Print the step info
+step () {
+	printf "\n\n \e[1mStep $steps: $1\e[0m\n ==================\n"
+}
+
+# Just pause for user confirmation
+get_on_with_it () {
+	read -n 1 -p " → Done?"
+	let steps++
+	let steps_complete++
+}
+
+# Ask whether the step should be executed
+run_command () {
+	let steps++
+	read -n 1 -p " → Do it? ([y]es, [n]o, [s]kip)" response
+	printf "\n"
+	if [ "$response" = "y" ]; then
+		eval $1 && eval $2 && eval $3
+		printf "\n ✓ Done."
+		let steps_complete++
+	elif [ "$response" = "s" ]; then
+		printf "\n Step $(( $steps - 1 )) skipped."
+		return
+	else
+		read -n 1 -p " Step $(( $steps - 1 )) aborted. Do you really want to quit? ([y]es, [n]o)" abort
+		if [ "$abort" = "y" ]; then
+			printf "\n Aborted. (Steps complete: $steps_complete)\n"
+			exit 0
+		else
+			printf "\n Step $(( $steps - 1 )) aborted. Continuing...\n"
+			return
+		fi
+	fi
+}
+
+edit () {
+	read -n 1 -p " → Accept? ([y]es, [e]dit" response
+	if [ "$response" = "y" ]; then
+		printf "\n ✓ Accepted.\n"
+	elif [ "$response" = "e" ]; then
+		$(git config --global core.editor) $1
+	fi
+}
+
+update_configure_ac_in () {
+	if [ -f "configure.ac.in" ]; then
+		if [ "$1" = "pre" ]; then
+			sed -i "s/^\(m4_define(\[.*_version_major\].* \[\)\(.*\)\(\])\)/\1$version_major\3/g" configure.ac.in
+			sed -i "s/^\(m4_define(\[.*_version_minor\].* \[\)\(.*\)\(\])\)/\1$version_minor\3/g" configure.ac.in
+			sed -i "s/^\(m4_define(\[.*_version_micro\].* \[\)\(.*\)\(\])\)/\1$version_patch\3/g" configure.ac.in
+			sed -i 's/^\(m4_define(\[.*_version_tag\], \[\)\(git\)\(\])\)/\1\3/g' configure.ac.in
+		elif [ "$1" = "post" ]; then
+			sed -i 's/\(m4_define(\[.*_version_tag\], \[\)\(.*\)\(\])\)/\1git\3/g' configure.ac.in
+		fi
+		git diff configure.ac.in
+	elif [ -f "configure.ac" ]; then
+		if [ "$1" = "pre" ]; then
+			sed -i "s/^\(XDT_VERSION_INIT\s*\)(.*/\1([$version])/" configure.ac
+		elif [ "$1" = "post" ]; then
+			sed -i "s/^\(XDT_VERSION_INIT\s*\)(.*/\1([$version], [git])/" configure.ac
+		fi
+	else
+		echo "There is no 'configure.ac.in' or 'configure.ac' file."
+	fi
+}
+
+get_sha1_hash () {
+	sha1sum $component-$version.tar.bz2 | cut -d ' ' -f 1
+}
+
+# Playbook for all release steps
+run_steps () {
+	step "Update configure.ac.in \e[0m(add new version and remove git tag)"
+	run_command "update_configure_ac_in pre"
+
+	step "Update NEWS file with changelog? \e[0m(xfce-update-news)"
+	run_command "xfce-update-news $component $version"
+	edit NEWS
+
+	step "Build the tarball \e[0m(./autogen.sh && make distcheck)"
+	# either in xfce-test container or on the local machine
+	if [ -n "$TAG" ]; then
+		run_command "xfce-test call ./autogen.sh" "xfce-test call make distcheck"
+	else
+		run_command "./autogen.sh" "make distcheck"
+	fi
+
+	step "Commit the changes \e[0m(git add -u; git commit -m 'Updates for release')"
+	run_command "git add -u" "git commit -m 'Updates for release'"
+
+	step "Tag the version \e[0m(git tag -a $component-$version)"
+	run_command 'git tag -a $component-$version -e -m "$(xfce-update-news $component $version WRITETAG)"'
+
+	step "Push your changes \e[0m(git push && git push --tags)"
+	run_command "git push" "git push --tags"
+
+	step "Log in to the release manager \e[0m(https://releases.xfce.org/)"
+	run_command "exo-open 'https://releases.xfce.org/'"
+
+	step "Click on 'Release New Version' \e[0m(https://releases.xfce.org/project/$component/new-release/tarball)"
+	run_command "exo-open 'https://releases.xfce.org/project/$component/new-release/tarball?checksum=$(get_sha1_hash)'"
+
+	step "Add the git back to version_tag() in configure.ac.in"
+	run_command "update_configure_ac_in post"
+
+	step "Commit and push the change \e[0m(git add -u; git commit -m 'Back to development'; git push)"
+	run_command "git add -u" "git commit -m 'Back to development'" "git push"
+}
+
+### Main loop
+
+main () {
+	sanity_checks
+	test_parameters $component $version
+	run_steps
+
+	printf "\nCongrats, you completed $steps_complete of $steps steps of doing a release for Xfce!\n"
+}
+
+main


=====================================
helpers/xfce-get-translations
=====================================
@@ -8,10 +8,10 @@ STARTTAG="${1:-$LAST_TAG}"
 ENDTAG="${2:-HEAD}"
 SILENT="${3:-}"
 
-LINE_LENGTH=72
+LINE_LENGTH=70 # 72 considering 2 spaces for indentation
 INDENT="  "
 
-UPDATES=$(git log --pretty=format:'%s' "$STARTTAG".."$ENDTAG" -- po/*.po | awk '{print $4}' | sort -u)
+UPDATES=$(git log --pretty=format:'%s' "$STARTTAG".."$ENDTAG" -- po/*.po | awk '{print $(NF-1)}' | sort -u)
 
 if [ "${ENDTAG}" == "HEAD" ]; then
 	ENDTAG_PRETTY="now"
@@ -28,13 +28,15 @@ printf '%s\n' '- Translation Updates:'
 
 LANGUAGES=$(
 for l in $UPDATES; do
-	echo "$(grep '^"Language-Team:' po/$l.po | grep -Po '(?<=: ).*' | grep -Po '^(.*)(?= \(http)')"
+	echo -n "$(grep '^"Language-Team:' po/$l.po | grep -Po '(?<=: ).*' | grep -Po '^(.*)(?= \(http)')"
+	echo ","
 done
 )
 
 SORTED=$(echo "$LANGUAGES" | sort)
+SORTED=${SORTED::-1} # remove last comma
 while read line; do
-	echo -n "$line, "
+	echo -n "$line "
 done <<< "$SORTED" | fold -s -w $LINE_LENGTH - | sed -e "s/^[^ ]/${INDENT}&/g" | sed -e 's/[[:space:]]*$//'
 echo ""
 


=====================================
helpers/xfce-update-news
=====================================
@@ -3,28 +3,21 @@
 COMPONENT=$1
 VERSION=$2
 WRITE_TAG=$3
-LAST_TAG=$(git describe  --abbrev=0)
-RELEASE_NOTES="/tmp/release_notes"
-TRANSLATIONS="/tmp/translations"
+LAST_TAG=$(git describe --abbrev=0)
+RELEASE_NOTES=$(xfce-get-release-notes "$LAST_TAG" silent)
+TRANSLATIONS=$(xfce-get-translations "$LAST_TAG" "HEAD" silent)
 
-# Push the release notes and translations text to tmp files
-xfce-get-release-notes $LAST_TAG silent > $RELEASE_NOTES
-xfce-get-translations "$LAST_TAG" "HEAD" silent > $TRANSLATIONS
-
-cleanup () {
-    rm $RELEASE_NOTES
-    rm $TRANSLATIONS
-}
-
-# Check if there is a NEWS file
 if [ "$WRITE_TAG" = "WRITETAG" ]; then
-    printf '%s\n\n%s\n%s\n' $VERSION "$(cat $RELEASE_NOTES)" "$(cat $TRANSLATIONS)"
+    # Use release note from NEWS if possible, they may have been edited
+    if [ -f "NEWS" ] && [ "$VERSION" = "$(head -n 1 NEWS)" ]; then
+        sed '/^[[:space:]]*$/q' NEWS | sed 's/======//'
+    else
+        printf '%s\n\n%s\n%s\n' $VERSION "$RELEASE_NOTES" "$TRANSLATIONS"
+    fi
 elif [ ! -f "NEWS" ]; then
     echo "There is no 'NEWS' file. Changelog since $VERSION:"
-    printf '%s\n======\n%s\n%s\n\n%s' $VERSION "$(cat $RELEASE_NOTES)" "$(cat $TRANSLATIONS)"
-    cleanup
+    printf '%s\n======\n%s\n%s\n\n%s' $VERSION "$RELEASE_NOTES" "$TRANSLATIONS"
 else
-    printf '%s\n======\n%s\n%s\n\n%s' $VERSION "$(cat $RELEASE_NOTES)" "$(cat $TRANSLATIONS)" "$(cat NEWS)" > NEWS
-    cleanup
+    printf '%s\n======\n%s\n%s\n\n%s\n' $VERSION "$RELEASE_NOTES" "$TRANSLATIONS" "$(cat NEWS)" > NEWS
     git diff NEWS
 fi


=====================================
scripts/xdt-autogen.in
=====================================
@@ -33,6 +33,14 @@ prefix="@prefix@"
 datarootdir="@datarootdir@"
 m4macrodir="${datarootdir}/aclocal"
 
+##
+## to properly handle whitespaces in filenames,
+## and more generally special characters different from '\1'
+##
+
+default_IFS=$IFS
+special_IFS=$(printf '\1')
+
 ##
 ## a few portability tests
 ##
@@ -51,7 +59,9 @@ fi
 ##
 parse_configure_subdirs()
 {
-  test -f "$1" && cat "$1" | tr '\\n\\t\\\\' '   ' | sed -ne 's|.*AC_CONFIG_SUBDIRS(\[\{0,1\}\([[:alnum:]_ @/-]\{1,\}\).*|\1|p'
+  test -f "$1" && sed -n -e 's|\\[\\nt]| |g' \
+                         -e 's|.*AC_CONFIG_SUBDIRS(\[\{0,1\}\([[:alnum:]_ @/-]\{1,\}\).*|\1|p' \
+                      "$1"
 }
 
 ##
@@ -74,10 +84,12 @@ EOF
     exit 1
   fi
 
-  test "x$configure_ac_file" != "x" && printf "%s" "$configure_ac_file "
+  test -n "$configure_ac_file" && printf "%s$special_IFS" "$configure_ac_file"
 
-  subdirs=`parse_configure_subdirs ${configure_ac_file}`
+  subdirs=$(parse_configure_subdirs "${configure_ac_file}")
+  IFS=$special_IFS
   for subdir in $subdirs; do
+    IFS=$default_IFS
     lookup_configure_ac_files "$1/$subdir";
   done
 }
@@ -95,10 +107,12 @@ lookup_configure_ac_in_files()
     configure_ac_in_file="$1/configure.in.in";
   fi
 
-  test "x$configure_ac_in_file" != "x" && printf "%s" "$configure_ac_in_file "
+  test -n "$configure_ac_in_file" && printf "%s$special_IFS" "$configure_ac_in_file"
 
-  subdirs=`parse_configure_subdirs ${configure_ac_in_file}`
+  subdirs=$(parse_configure_subdirs "${configure_ac_in_file}")
+  IFS=$special_IFS
   for subdir in $subdirs; do
+    IFS=$default_IFS
     lookup_configure_ac_in_files "$1/$subdir";
   done
 }
@@ -108,8 +122,8 @@ lookup_configure_ac_in_files()
 ##
 ## check command-line args
 ##
-if test "x$1" = "x--version" -o "x$1" = "x-V"; then
-  echo "`basename $0` $VERSION"
+if test "$1" = "--version" -o "$1" = "-V"; then
+  echo "$(basename "$0") $VERSION"
   exit 0
 fi
 
@@ -119,20 +133,20 @@ fi
 do_version_check() {
   test -z "$XDT_AUTOGEN_REQUIRED_VERSION" && return 0
 
-  major=`echo $XDT_AUTOGEN_REQUIRED_VERSION | cut -d. -f1`
-  test "$major" || return 1
-  test $major -le $XDT_AUTOGEN_VERSION_MAJOR || return 1
-  test $XDT_AUTOGEN_VERSION_MAJOR -gt $major && return 0
+  major=$(echo "$XDT_AUTOGEN_REQUIRED_VERSION" | cut -d. -f1)
+  test -n "$major" || return 1
+  test "$major" -le "$XDT_AUTOGEN_VERSION_MAJOR" || return 1
+  test "$XDT_AUTOGEN_VERSION_MAJOR" -gt "$major" && return 0
 
-  minor=`echo $XDT_AUTOGEN_REQUIRED_VERSION | cut -d. -f2`
-  test "$minor" || return 1
-  test $minor -le $XDT_AUTOGEN_VERSION_MINOR || return 1
-  test $XDT_AUTOGEN_VERSION_MINOR -gt $minor && return 0
+  minor=$(echo "$XDT_AUTOGEN_REQUIRED_VERSION" | cut -d. -f2)
+  test -n "$minor" || return 1
+  test "$minor" -le "$XDT_AUTOGEN_VERSION_MINOR" || return 1
+  test "$XDT_AUTOGEN_VERSION_MINOR" -gt "$minor" && return 0
 
-  micro=`echo $XDT_AUTOGEN_REQUIRED_VERSION | cut -d. -f3`
-  test "$micro" || return 1
-  test $micro -le $XDT_AUTOGEN_VERSION_MICRO || return 1
-  test $XDT_AUTOGEN_VERSION_MICRO -gt $micro && return 0
+  micro=$(echo "$XDT_AUTOGEN_REQUIRED_VERSION" | cut -d. -f3)
+  test -n "$micro" || return 1
+  test "$micro" -le "$XDT_AUTOGEN_VERSION_MICRO" || return 1
+  test "$XDT_AUTOGEN_VERSION_MICRO" -gt "$micro" && return 0
 
   return 0
 }
@@ -156,30 +170,32 @@ XDG_DATA_DIRS="${XDG_DATA_HOME}:${XDG_DATA_DIRS}"
 export XDG_DATA_DIRS XDG_DATA_HOME
 
 
-MASTER_DIR=`pwd`; test -z "${MASTER_DIR}" && MASTER_DIR="."
+MASTER_DIR=$PWD; test -z "${MASTER_DIR}" && MASTER_DIR="."
 
 ##
 ## First we do some substitutions to generate configure.{ac,in} if necessary
 ##
-CONFIGURE_AC_IN_FILES=`lookup_configure_ac_in_files "$MASTER_DIR"`
+CONFIGURE_AC_IN_FILES=$(lookup_configure_ac_in_files "$MASTER_DIR")
+IFS=$special_IFS
 for configure_ac_in_file in $CONFIGURE_AC_IN_FILES; do
-  configure_ac_file="`echo $configure_ac_in_file | sed -e 's:\.in$::'`"
+  IFS=$default_IFS
+  configure_ac_file=${configure_ac_in_file%.in}
 
   # first generate a revision id
   if test -d .git; then
-    revision=`git rev-parse --short HEAD`
+    revision=$(git rev-parse --short HEAD)
   fi
 
-  if test "x$revision" = "x"; then
+  if test -z "$revision"; then
     revision="UNKNOWN"
   fi
 
   # find out what languages we support
-  conf_dir=`dirname $configure_ac_file`
-  linguas=$(echo $(for i in "$conf_dir"/po/*.po; do test -e "$i" && basename -- "$i" .po; done) | tr -d '\n')
+  conf_dir=$(dirname "$configure_ac_file")
+  linguas=$(find "$conf_dir/po" -type f -name '*.po' -printf "%f " | sed 's/\.po//g')
 
   # and do the substitution
-  tmp=`basename ${configure_ac_in_file}`
+  tmp=$(basename "${configure_ac_in_file}")
   cat >"$configure_ac_file" <<EOF
 dnl
 dnl This file was autogenerated from "${tmp}".
@@ -189,7 +205,7 @@ dnl
 EOF
   sed -e "s/@REVISION@/${revision}/g" \
       -e "s/@LINGUAS@/${linguas}/g" \
-      < "$configure_ac_in_file" >> "$configure_ac_file"
+      "$configure_ac_in_file" >> "$configure_ac_file"
 
 done
 
@@ -197,16 +213,16 @@ done
 ##
 ## Search for the configure.{ac,in} files
 ##
-CONFIGURE_AC_FILES=`lookup_configure_ac_files "$MASTER_DIR"`
+CONFIGURE_AC_FILES=$(lookup_configure_ac_files "$MASTER_DIR")
 
 
 ##
 ## Check for a suitable make
 ##
-if test x"${MAKE}" = x""; then
-  if (type gmake) >/dev/null 2>/dev/null; then
+if test -z "${MAKE}"; then
+  if type gmake >/dev/null 2>/dev/null; then
     MAKE="gmake"
-  elif (type make) >/dev/null 2>/dev/null; then
+  elif type make >/dev/null 2>/dev/null; then
     MAKE="make"
   else
     cat >&2 <<EOF
@@ -221,50 +237,65 @@ fi
 ##
 ## cleanup autogenerated files
 ##
-if test x"$1" = x"clean"; then
+if test "$1" = "clean"; then
+  IFS=$special_IFS
   for configure_ac_file in $CONFIGURE_AC_FILES; do
-    directory=`dirname ${configure_ac_file}`
+    IFS=$default_IFS
+    directory=$(dirname "${configure_ac_file}")
     
     echo "Running ${MAKE} distclean in ${directory}..."
-    (cd ${directory} ; ${MAKE} distclean) >/dev/null 2>&1
+    ( cd "${directory}" && ${MAKE} distclean ) >/dev/null 2>&1
 
     echo "Cleaning generated files in ${directory}..."
 
     # determine the output files used in this package directory
-    output_files=`tr '\\n\\t\\\\' '   ' < ${configure_ac_file} | sed -ne 's|.*AC_OUTPUT(\[\{0,1\}\([[:alnum:]_@/\. -]\{1,\}\).*|\1|p'`;
+    output_files=$(
+      sed -n -e 's|\\[\\nt]| |g' \
+             -e 's|.*AC_OUTPUT(\[\{0,1\}\([[:alnum:]_@/\. -]\{1,\}\).*|\1|p' \
+          "${configure_ac_file}"
+    )
+    # we are in the repository here: these filenames don't contain whitespaces
+    # nor special characters: no need to change the IFS
     for output_file in $output_files; do
-      if test x`basename $output_file` = x"Makefile"; then
-        rm -f "${directory}/${output_file}.in";
-        rm -f "${directory}/${output_file}.in.in";
+      if test "$(basename "$output_file")" = "Makefile"; then
+        rm -f "${directory}/${output_file}.in"
+        rm -f "${directory}/${output_file}.in.in"
       fi
-      rm -f "${directory}/${output_file}";
+      rm -f "${directory}/${output_file}"
     done
 
-    (cd ${directory} ;
-     rm -f config.* configure configure.lineno aclocal.m4 ;
-     rm -f compile depcomp ltmain.sh missing install-sh ;
-     rm -f po/Makefile.in.in po/stamp-it ;
-     rm -f stamp-h1 *.spec ;
-     rm -f mkinstalldirs libtool ;
-     rm -rf autom4te.cache m4 gtk-doc.m4 ;
-     rm -f intltool-* gtk-doc.make ;
-     rm -f test-driver ;
-
-     if test -f po/POTFILES.in; then
-         rm -f po/POTFILES
-     fi
-     if test -f configure.ac.in -a -f configure.ac; then
-       rm -f configure.ac
-     elif test -f configure.in.in -a -f configure.in; then
-       rm -f configure.in
-     fi)
+    (
+      cd "${directory}" && {
+        rm -f config.* configure configure.lineno aclocal.m4
+        rm -f compile depcomp ltmain.sh missing install-sh
+        rm -f po/Makefile.in.in po/stamp-it
+        rm -f stamp-h1 ./*.spec
+        rm -f mkinstalldirs libtool
+        rm -rf autom4te.cache m4 gtk-doc.m4
+        rm -f intltool-* gtk-doc.make
+        rm -f test-driver
+
+        if test -f po/POTFILES.in; then
+          rm -f po/POTFILES
+        fi
+        if test -f configure.ac.in -a -f configure.ac; then
+          rm -f configure.ac
+        elif test -f configure.in.in -a -f configure.in; then
+          rm -f configure.in
+        fi
+      }
+    )
 
     # determine translations used in this package directory
-#    translations=`tr '\\n\\\\' '  ' < ${configure_ac_file} | sed -ne 's/.*XDT_I18N(\[\{0,1\}\([a-zA-Z_@ ]\{1,\}\).*/\1/p'`;
+#    translations=$(
+#      sed -n -e 's|\\[\\nt]| |g' \
+#             -e 's|.*XDT_I18N(\[\{0,1\}\([a-zA-Z_@ ]\{1,\}\).*|\1|p') \
+#          "${configure_ac_file}"
+#    )
 #    for translation in $translations; do
-#      rm -f "${directory}/po/${translation}.gmo";
+#      rm -f "${directory}/po/${translation}.gmo"
 #    done
-    rm -f ${directory}/po/*.gmo;
+    rm -f "${directory}"/po/*.gmo;
   done
 
   exit 0
@@ -276,8 +307,7 @@ fi
 ##
 if test -z "${XDT_PROG_AUTOCONF}"; then
   test -z "${AUTOCONF_VERSION}" && i=autoconf || i=autoconf-${AUTOCONF_VERSION}
-  (${i} --version) </dev/null >/dev/null 2>&1 &&
-    XDT_PROG_AUTOCONF=${i}
+  ${i} --version </dev/null >/dev/null 2>&1 && XDT_PROG_AUTOCONF=${i}
 fi
 
 test -z "${XDT_PROG_AUTOCONF}" && {
@@ -294,20 +324,25 @@ EOF
 ## Check for intltoolize
 ##
 test -z "${XDT_PROG_INTLTOOLIZE}" && XDT_PROG_INTLTOOLIZE="intltoolize"
+IFS=$special_IFS
 for configure_ac_file in $CONFIGURE_AC_FILES; do
+  IFS=$default_IFS
   if $EGREP -q "^(AC|IT)_PROG_INTLTOOL" "${configure_ac_file}"; then
-    (${XDT_PROG_INTLTOOLIZE} --version) </dev/null >/dev/null 2>&1 || {
+    ${XDT_PROG_INTLTOOLIZE} --version </dev/null >/dev/null 2>&1 || {
       cat >&2 <<EOF
 xdt-autogen: You must have "intltool" installed on your system.
              You can download the source tarball from
              ftp://ftp.gnome.org/pub/GNOME/.
 EOF
       exit 1
-    };
-    break;
-  fi;
+    }
+    break
+  fi
 done
+
+IFS=$special_IFS
 for configure_ac_file in $CONFIGURE_AC_FILES; do
+  IFS=$default_IFS
   if grep -q "^AC_PROG_INTLTOOL" "${configure_ac_file}"; then
   cat >&2 <<EOF
 xdt-autogen: It is recommended to use IT_PROG_INTLTOOL([0.35.0])
@@ -317,7 +352,7 @@ xdt-autogen: It is recommended to use IT_PROG_INTLTOOL([0.35.0])
              more information.
 
 EOF
-  fi;
+  fi
 done
 
 
@@ -331,7 +366,10 @@ if test -z "${XDT_PROG_LIBTOOLIZE}"; then
     XDT_PROG_LIBTOOLIZE="libtoolize"
   fi
 fi
+
+IFS=$special_IFS
 for configure_ac_file in $CONFIGURE_AC_FILES; do
+  IFS=$default_IFS
   runlibtoolize=0
   if grep -q "^AC_PROG_LIBTOOL" "${configure_ac_file}"; then
   cat >&2 <<EOF
@@ -344,23 +382,23 @@ xdt-autogen: It is recommended to use LT_PREREQ([@VERSION_LIBTOOL@]) and
 
 EOF
     runlibtoolize=1
-  fi;
+  fi
 
   if grep -q "^LT_PREREQ" "${configure_ac_file}"; then
     runlibtoolize=1
-  fi;
+  fi
 
-  if test $runlibtoolize -eq 1; then
-    (${XDT_PROG_LIBTOOLIZE} --version) </dev/null >/dev/null 2>&0 || {
+  if test "$runlibtoolize" -eq 1; then
+    ${XDT_PROG_LIBTOOLIZE} --version </dev/null >/dev/null 2>&1 || {
       cat >&2 <<EOF
 xdt-autogen: You must have "libtool" installed on your system.
              Download the appropriate package for your distribution,
              or get the source tarball at ftp://ftp.gnu.org/pub/gnu/.
 EOF
       exit 1
-    };
-    break;
-  fi;
+    }
+    break
+  fi
 done
 
 
@@ -368,18 +406,20 @@ done
 ## Check for glib-gettextize
 ##
 test -z "${XDT_PROG_GLIB_GETTEXTIZE}" && XDT_PROG_GLIB_GETTEXTIZE="glib-gettextize"
+IFS=$special_IFS
 for configure_ac_file in $CONFIGURE_AC_FILES; do
-  directory=`dirname ${configure_ac_file}`
+  IFS=$default_IFS
+  directory=$(dirname "${configure_ac_file}")
   if test -d "${directory}/po"; then
-    (${XDT_PROG_GLIB_GETTEXTIZE} --version) </dev/null >/dev/null 2>&1 || {
+    ${XDT_PROG_GLIB_GETTEXTIZE} --version </dev/null >/dev/null 2>&1 || {
       cat >&2 <<EOF
 xdt-autogen: You must have "glib2" installed. You can get if from
              ftp://ftp.gtk.org/pub/gtk/.
 EOF
       exit 1
-    };
-    break;
-  fi;
+    }
+    break
+  fi
 done
 
 
@@ -387,17 +427,19 @@ done
 ## Check for gtkdocize
 ##
 test -z "${XDT_PROG_GTKDOCIZE}" && XDT_PROG_GTKDOCIZE="gtkdocize"
+IFS=$special_IFS
 for configure_ac_file in $CONFIGURE_AC_FILES; do
+  IFS=$default_IFS
   if grep -q "^GTK_DOC_CHECK" "${configure_ac_file}"; then
-    (${XDT_PROG_GTKDOCIZE} --version) </dev/null >/dev/null 2>&1 || {
+    ${XDT_PROG_GTKDOCIZE} --version </dev/null >/dev/null 2>&1 || {
       cat >&2 <<EOF
 xdt-autogen: You must have "gtk-doc" installed. You can get if from
              http://www.gtk.org/gtk-doc/.
 EOF
       exit 1
-    };
-    break;
-  fi;
+    }
+    break
+  fi
 done
 
 
@@ -406,8 +448,7 @@ done
 ##
 if test -z "${XDT_PROG_ACLOCAL}"; then
   test -z "${ACLOCAL_VERSION}" && i=aclocal || i=aclocal-${ACLOCAL_VERSION}
-  (${i} --version) </dev/null >/dev/null 2>&1 &&
-    XDT_PROG_ACLOCAL=${i}
+  ${i} --version </dev/null >/dev/null 2>&1 && XDT_PROG_ACLOCAL=${i}
 fi
 
 test -z "${XDT_PROG_ACLOCAL}" && {
@@ -424,11 +465,13 @@ EOF
 ## Check for autoheader
 ##
 test -z "${XDT_PROG_AUTOHEADER}" &&
+IFS=$special_IFS
 for configure_ac_file in $CONFIGURE_AC_FILES; do
+  IFS=$default_IFS
   if $EGREP -q "^A(M|C)_CONFIG_HEADER" "${configure_ac_file}"; then
-    test -z "${AUTOHEADER_VERSION}" && i=autoheader || i=autoheader-${AUTOHEADER_VERSION}
-    (${i} --version) </dev/null >/dev/null 2>&1 &&
-      XDT_PROG_AUTOHEADER=${i}
+    test -z "${AUTOHEADER_VERSION}" && i=autoheader \
+                                    || i=autoheader-${AUTOHEADER_VERSION}
+    ${i} --version </dev/null >/dev/null 2>&1 && XDT_PROG_AUTOHEADER=${i}
 
     test -z "${XDT_PROG_AUTOHEADER}" && {
       cat >&2 <<EOF
@@ -437,9 +480,9 @@ xdt-autogen: You must have "autoconf" installed (which includes the
              ftp://ftp.gnu.org/pub/gnu/.
 EOF
       exit 1
-    };
-    break;
-  fi;
+    }
+    break
+  fi
 done
 
 
@@ -448,8 +491,7 @@ done
 ##
 if test -z "${XDT_PROG_AUTOMAKE}"; then
   test -z "${AUTOMAKE_VERSION}" && i=automake || i=automake-${AUTOMAKE_VERSION}
-  (${i} --version) </dev/null >/dev/null 2>&1 &&
-    XDT_PROG_AUTOMAKE=${i}
+  ${i} --version </dev/null >/dev/null 2>&1 && XDT_PROG_AUTOMAKE=${i}
 fi
 
 test -z "${XDT_PROG_AUTOMAKE}" && {
@@ -466,61 +508,66 @@ EOF
 ## Check for configure flags
 ##
 test -z "${XDT_CONFIGURE_FLAGS}" && XDT_CONFIGURE_FLAGS="--enable-maintainer-mode"
-CONFIGURE_FLAGS="${XDT_CONFIGURE_FLAGS} $@"
+CONFIGURE_FLAGS="${XDT_CONFIGURE_FLAGS} $*"
 
 
 ##
 ## Do the real work(TM)
 ##
+IFS=$special_IFS
 for configure_ac_file in ${CONFIGURE_AC_FILES}; do
+  IFS=$default_IFS
   # figure out the package dir path
-  source_dir=`dirname ${configure_ac_file}`
+  source_dir=$(dirname "${configure_ac_file}")
   echo "Preparing package directory ${source_dir}..."
 
   # set aclocal flags
   ACLOCAL_FLAGS="${ACLOCAL_FLAGS} ${XDT_ACLOCAL_FLAGS} -I ${m4macrodir}"
   if test -d "${source_dir}/m4macros"; then
-    ACLOCAL_FLAGS="${ACLOCAL_FLAGS} -I ${source_dir}/m4macros";
+    ACLOCAL_DIR_1="${source_dir}/m4macros";
   fi
   if test -d "${source_dir}/m4"; then
-    ACLOCAL_FLAGS="${ACLOCAL_FLAGS} -I ${source_dir}/m4";
+    ACLOCAL_DIR_2="${source_dir}/m4";
   fi
 
   if test -d "${source_dir}/po"; then
     if test ! -f "${source_dir}/aclocal.m4"; then
-      (echo "Creating ${source_dir}/aclocal.m4..." &&
-       echo "dnl Auto-generated by xdt-autogen" > "${source_dir}/aclocal.m4") || exit 1
+      echo "Creating ${source_dir}/aclocal.m4..." \
+      && echo "dnl Auto-generated by xdt-autogen" > "${source_dir}/aclocal.m4" \
+      || exit 1
     fi
-    (echo "Running ${XDT_PROG_GLIB_GETTEXTIZE} --force --copy..." &&
-     ${XDT_PROG_GLIB_GETTEXTIZE} --force --copy) || exit 1
+    echo "Running ${XDT_PROG_GLIB_GETTEXTIZE} --force --copy..." \
+    && ${XDT_PROG_GLIB_GETTEXTIZE} --force --copy \
+    || exit 1
     if test -f "${source_dir}/aclocal.m4" -a ! -w "${source_dir}/aclocal.m4"; then
-      (echo "Making ${source_dir}/aclocal.m4 writable..." &&
-       chmod u+w "${source_dir}/aclocal.m4") || exit 1
+      echo "Making ${source_dir}/aclocal.m4 writable..." \
+      && chmod u+w "${source_dir}/aclocal.m4" \
+      || exit 1
     fi
   fi
 
   if $EGREP -q "^(AC|IT)_PROG_INTLTOOL" "${configure_ac_file}"; then
-    (echo "Running ${XDT_PROG_INTLTOOLIZE} --automake --copy --force" &&
-     cd "${source_dir}" &&
-     ${XDT_PROG_INTLTOOLIZE} --automake --copy --force) || exit 1
+    ( echo "Running ${XDT_PROG_INTLTOOLIZE} --automake --copy --force" \
+      && cd "${source_dir}" \
+      && ${XDT_PROG_INTLTOOLIZE} --automake --copy --force ) || exit 1
   fi
 
   # patch the po/Makefile.in.in to take into account the setting of
   # XGETTEXT_ARGS properly
   if test -f "${source_dir}/po/Makefile.in.in"; then
-    grep -q '^XGETTEXT_ARGS[ ]*=[ ]*@XGETTEXT_ARGS@$' \
-      "${source_dir}/po/Makefile.in.in" 2> /dev/null
-    if test $? -ne 0; then
+    if ! grep -q '^XGETTEXT_ARGS[ ]*=[ ]*@XGETTEXT_ARGS@$' \
+                 "${source_dir}/po/Makefile.in.in"
+    then
       echo "Patching file 'po/Makefile.in.in'"
-      sed \
+      if sed \
         -e 's/^\(XGETTEXT[ ]*=[ ]*@XGETTEXT@\)[ ]*$/\1 $(XGETTEXT_ARGS)/' \
         -e 's/^\(MSGMERGE[ ]*=\)[ ]*\(INTLTOOL_EXTRACT=\)/\1 XGETTEXT_ARGS="$(XGETTEXT_ARGS)" \2/' \
         -e 's/^\(GENPOT[ ]*=\)[ ]*\(INTLTOOL_EXTRACT=\)/\1 XGETTEXT_ARGS="$(XGETTEXT_ARGS)" \2/' \
         -e "/^XGETTEXT = @XGETTEXT@/{
 i\\
 XGETTEXT_ARGS = @XGETTEXT_ARGS@
-}" < "${source_dir}/po/Makefile.in.in" > "${source_dir}/po/Makefile.in.in.tmp"
-      if test $? -eq 0; then
+}" "${source_dir}/po/Makefile.in.in" > "${source_dir}/po/Makefile.in.in.tmp"
+      then
         mv -f "${source_dir}/po/Makefile.in.in.tmp" \
           "${source_dir}/po/Makefile.in.in" || exit 1
       fi
@@ -528,34 +575,39 @@ XGETTEXT_ARGS = @XGETTEXT_ARGS@
   fi
 
   if grep -q -e "^AC_PROG_LIBTOOL" -e "^LT_PREREQ" "${configure_ac_file}"; then
-    (echo "Running ${XDT_PROG_LIBTOOLIZE} --force --copy..." &&
-     cd "${source_dir}" &&
-     ${XDT_PROG_LIBTOOLIZE} --force --copy) || exit 1
+    ( echo "Running ${XDT_PROG_LIBTOOLIZE} --force --copy..." \
+      && cd "${source_dir}" \
+      && ${XDT_PROG_LIBTOOLIZE} --force --copy ) || exit 1
   fi
 
   if grep -q "^GTK_DOC_CHECK" "${configure_ac_file}"; then
-    (echo "Running ${XDT_PROG_GTKDOCIZE} --copy..." &&
-     cd ${source_dir} &&
-     ${XDT_PROG_GTKDOCIZE} --copy) || exit 1
+    ( echo "Running ${XDT_PROG_GTKDOCIZE} --copy..." \
+      && cd "${source_dir}" \
+      && ${XDT_PROG_GTKDOCIZE} --copy ) || exit 1
   fi
 
-  (echo "Running ${XDT_PROG_ACLOCAL} ${ACLOCAL_FLAGS}..." &&
-   cd ${source_dir} &&
-   ${XDT_PROG_ACLOCAL} ${ACLOCAL_FLAGS}) || exit 1
+  ( echo -n "Running ${XDT_PROG_ACLOCAL}" ${ACLOCAL_FLAGS} \
+            ${ACLOCAL_DIR_1:+-I "${ACLOCAL_DIR_1}"} \
+            ${ACLOCAL_DIR_2:+-I "${ACLOCAL_DIR_2}"} \
+    && echo '...' \
+    && cd "${source_dir}" \
+    && ${XDT_PROG_ACLOCAL} ${ACLOCAL_FLAGS} \
+         ${ACLOCAL_DIR_1:+-I "${ACLOCAL_DIR_1}"} \
+         ${ACLOCAL_DIR_2:+-I "${ACLOCAL_DIR_2}"} ) || exit 1
 
   if $EGREP -q "^A(M|C)_CONFIG_HEADER" "${configure_ac_file}"; then
-    (echo "Running ${XDT_PROG_AUTOHEADER}..." &&
-     cd ${source_dir} &&
-     ${XDT_PROG_AUTOHEADER}) || exit 1
+    ( echo "Running ${XDT_PROG_AUTOHEADER}..." \
+      && cd "${source_dir}" \
+      && ${XDT_PROG_AUTOHEADER} ) || exit 1
   fi
 
-  (echo "Running ${XDT_PROG_AUTOMAKE} --force-missing --add-missing --copy --gnu..." &&
-   cd ${source_dir} &&
-   ${XDT_PROG_AUTOMAKE} --force-missing --add-missing --copy --gnu) || exit 1
+  ( echo "Running ${XDT_PROG_AUTOMAKE} --force-missing --add-missing --copy --gnu..." \
+    && cd "${source_dir}" \
+    && ${XDT_PROG_AUTOMAKE} --force-missing --add-missing --copy --gnu ) || exit 1
 
-  (echo "Running ${XDT_PROG_AUTOCONF}..." &&
-   cd ${source_dir} &&
-   ${XDT_PROG_AUTOCONF}) || exit 1
+  ( echo "Running ${XDT_PROG_AUTOCONF}..." \
+    && cd "${source_dir}" \
+    && ${XDT_PROG_AUTOCONF} ) || exit 1
 
   echo
 done
@@ -564,11 +616,11 @@ done
 ##
 ## Run configure
 ##
-if test x"${NOCONFIGURE}" = x""; then
-  (echo "Running ${MASTER_DIR}/configure ${CONFIGURE_FLAGS}..." &&
-   cd "${MASTER_DIR}" &&
-   ./configure ${CONFIGURE_FLAGS} &&
-   echo "Now type \"make\" to compile.") || exit 1
+if test -z "${NOCONFIGURE}"; then
+  ( echo "Running ${MASTER_DIR}/configure ${CONFIGURE_FLAGS}..." \
+    && cd "${MASTER_DIR}" \
+    && ./configure ${CONFIGURE_FLAGS} \
+    && echo "Now type \"make\" to compile." ) || exit 1
 else
   echo "Skipping configure process."
 fi



View it on GitLab: https://salsa.debian.org/xfce-team/desktop/xfce4-dev-tools/-/compare/9774b64238f4a70e61953719829ec2f0157edd91...820c23ae342930a241fe518aba4ffbbe3f9a5633

-- 
View it on GitLab: https://salsa.debian.org/xfce-team/desktop/xfce4-dev-tools/-/compare/9774b64238f4a70e61953719829ec2f0157edd91...820c23ae342930a241fe518aba4ffbbe3f9a5633
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-xfce-commits/attachments/20201114/a541357e/attachment-0001.html>


More information about the Pkg-xfce-commits mailing list