[Pkg-xfce-commits] [Git][xfce-team/desktop/xfce4-dev-tools][upstream/latest] New upstream version 4.15.1
Yves-Alexis Perez
gitlab at salsa.debian.org
Sat Nov 14 12:03:50 GMT 2020
Yves-Alexis Perez pushed to branch upstream/latest at xfce / desktop / xfce4-dev-tools
Commits:
3d2905d5 by Yves-Alexis Perez at 2020-11-14T11:40:28+01:00
New upstream version 4.15.1
- - - - -
13 changed files:
- AUTHORS
- ChangeLog
- NEWS
- README.md
- configure
- configure.ac
- 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?
+[](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.
=====================================
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/-/commit/3d2905d526d61fb4b7ac03edc7652442a2e2469b
--
View it on GitLab: https://salsa.debian.org/xfce-team/desktop/xfce4-dev-tools/-/commit/3d2905d526d61fb4b7ac03edc7652442a2e2469b
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/0db80a48/attachment-0001.html>
More information about the Pkg-xfce-commits
mailing list