From 2fcc003ecd01d17307e723ce22190407ab2b7b2bc09daa71c4d8b1d01b581aa4 Mon Sep 17 00:00:00 2001 From: Jean Delvare Date: Mon, 16 Feb 2015 15:03:39 +0000 Subject: [PATCH 1/2] - Update to version 0.64: o Performance: Several optimizations o Test suite: Several fixes and coverage improvements o Test suite: Run the tests in predictable order o files: Add support for unapplied patches o graph: Check for graphviz availability o mail: Remove procmail dependency o push: Do not use interactive mode with -f o Obsoletes dont-substitute-release.patch o Obsoletes hackweek-11-*.patch o Obsoletes inspect-skip-version-check.patch o Obsoletes pop-add-auto-refresh.patch o Obsoletes push-add-auto-refresh.patch o Obsoletes quilt-check-modified-series-rearm.patch o Obsoletes quilt-check-modified-series.patch o Obsoletes quilt-el-fix-patch-select-completion.patch o Obsoletes quilt-el-fix-tramp-support.patch o Obsoletes quilt-format-options-pass-through.patch o Obsoletes setup-check-for-rpmbuild.patch o Obsoletes setup-fix-tar-with-long-options.patch o Obsoletes setup-skip-version-check.patch - Refresh suse-workaround-pseudo-release.patch OBS-URL: https://build.opensuse.org/package/show/devel:tools:scm/quilt?expand=0&rev=99 --- dont-substitute-release.patch | 43 -- hackweek-11-01-comment-update.patch | 18 - hackweek-11-02-cleanups.patch | 98 --- hackweek-11-03-inspect-list-all-options.patch | 20 - hackweek-11-04-pass-through.patch | 32 - hackweek-11-05-no-explicit-rm.patch | 24 - hackweek-11-06-exclude-from-md5sums.patch | 24 - hackweek-11-07-normalize-path.patch | 47 -- ...k-11-08-inspect-split-wrapper-script.patch | 598 ------------------ ...ek-11-09-inspect-temporary-data-file.patch | 29 - ...1-10-setup-fix-path-to-extra-patches.patch | 74 --- hackweek-11-11-setup-trace-call-first.patch | 53 -- ...-setup-alternative-implementation-v2.patch | 221 ------- ...tup-let-normalize_path-deal-with-dot.patch | 27 - hackweek-11-14-setup-fix-link-creation.patch | 22 - ...tup-missing-escape-in-normalize_path.patch | 27 - ...setup-fix-create_symlink-corner-case.patch | 25 - inspect-skip-version-check.patch | 24 - pop-add-auto-refresh.patch | 89 --- push-add-auto-refresh.patch | 87 --- quilt-0.63.tar.bz2 | 3 - quilt-0.64.tar.bz2 | 3 + quilt-check-modified-series-rearm.patch | 88 --- quilt-check-modified-series.patch | 139 ---- quilt-el-fix-patch-select-completion.patch | 22 - quilt-el-fix-tramp-support.patch | 32 - quilt-format-options-pass-through.patch | 24 - quilt.changes | 41 ++ quilt.spec | 58 +- setup-check-for-rpmbuild.patch | 28 - setup-fix-tar-with-long-options.patch | 87 --- setup-skip-version-check.patch | 43 -- suse-workaround-pseudo-release.patch | 32 +- 33 files changed, 61 insertions(+), 2121 deletions(-) delete mode 100644 dont-substitute-release.patch delete mode 100644 hackweek-11-01-comment-update.patch delete mode 100644 hackweek-11-02-cleanups.patch delete mode 100644 hackweek-11-03-inspect-list-all-options.patch delete mode 100644 hackweek-11-04-pass-through.patch delete mode 100644 hackweek-11-05-no-explicit-rm.patch delete mode 100644 hackweek-11-06-exclude-from-md5sums.patch delete mode 100644 hackweek-11-07-normalize-path.patch delete mode 100644 hackweek-11-08-inspect-split-wrapper-script.patch delete mode 100644 hackweek-11-09-inspect-temporary-data-file.patch delete mode 100644 hackweek-11-10-setup-fix-path-to-extra-patches.patch delete mode 100644 hackweek-11-11-setup-trace-call-first.patch delete mode 100644 hackweek-11-12-setup-alternative-implementation-v2.patch delete mode 100644 hackweek-11-13-setup-let-normalize_path-deal-with-dot.patch delete mode 100644 hackweek-11-14-setup-fix-link-creation.patch delete mode 100644 hackweek-11-15-setup-missing-escape-in-normalize_path.patch delete mode 100644 hackweek-11-16-setup-fix-create_symlink-corner-case.patch delete mode 100644 inspect-skip-version-check.patch delete mode 100644 pop-add-auto-refresh.patch delete mode 100644 push-add-auto-refresh.patch delete mode 100644 quilt-0.63.tar.bz2 create mode 100644 quilt-0.64.tar.bz2 delete mode 100644 quilt-check-modified-series-rearm.patch delete mode 100644 quilt-check-modified-series.patch delete mode 100644 quilt-el-fix-patch-select-completion.patch delete mode 100644 quilt-el-fix-tramp-support.patch delete mode 100644 quilt-format-options-pass-through.patch delete mode 100644 setup-check-for-rpmbuild.patch delete mode 100644 setup-fix-tar-with-long-options.patch delete mode 100644 setup-skip-version-check.patch diff --git a/dont-substitute-release.patch b/dont-substitute-release.patch deleted file mode 100644 index 23cf88d..0000000 --- a/dont-substitute-release.patch +++ /dev/null @@ -1,43 +0,0 @@ -From: Jean Delvare -Subject: mail: Don't include the release number in User-Agent -Upstream: Committed (2c8ddc751606ad7c36381269af1f64b4c62ba44c) - -@RELEASE@ is replaced with the package-level release number in two -places: the spec file, where it is legitimate, and the mail command's -User-Agent string, where I think it is not. The package release -number should not affect the contents of the package, otherwise it -makes it difficult to compare build results. - -I have checked other MUA (Mutt, Thunderbird, Claws Mail) and they all -only include the version, not the release number in their User-Agent -string. - -Drop the @RELEASE@ replacement rule to make sure we don't use it -accidentally anywhere in the future. The spec file has its own build -rule so it is not affected. ---- - Makefile.in | 1 - - quilt/mail.in | 2 +- - 2 files changed, 1 insertion(+), 2 deletions(-) - ---- a/Makefile.in -+++ b/Makefile.in -@@ -264,7 +264,6 @@ $(patsubst %.in,%,$(wildcard bin/*.in qu - -e 's:@PATCH''@:$(PATCH):g' \ - -e 's:@STAT_HARDLINK''@:$(STAT_HARDLINK):g' \ - -e 's:@VERSION''@:$(VERSION):g' \ -- -e 's:@RELEASE''@:$(RELEASE):g' \ - -e 's:@ETCDIR''@:$(etcdir):g' \ - -e 's:@LOCALEDIR''@:$(localedir):g' \ - -e 's:@DOCSUBDIR''@:$(docdir):g' \ ---- a/quilt/mail.in -+++ b/quilt/mail.in -@@ -495,7 +495,7 @@ introduction="$(gen_tempfile)" - ( - cat <<-EOF - Message-Id: <$(msgid)> -- User-Agent: quilt/@VERSION@-@RELEASE@ -+ User-Agent: quilt/@VERSION@ - Date: $(date --rfc-822) - From: ${opt_from:-$opt_sender} - To: $(IFS=,; echo "${opt_to[*]}") diff --git a/hackweek-11-01-comment-update.patch b/hackweek-11-01-comment-update.patch deleted file mode 100644 index 06b5e87..0000000 --- a/hackweek-11-01-comment-update.patch +++ /dev/null @@ -1,18 +0,0 @@ -From: Jean Delvare -Subject: inspect: Comment update -Upstream: Committed (40f5bfbbd4f0a3f9e74c2129a142aab7f6f8ac14) ---- - quilt/scripts/inspect.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/quilt/scripts/inspect.in -+++ b/quilt/scripts/inspect.in -@@ -150,7 +150,7 @@ done > $tmpdir/md5sums - echo >&4 - shopt -u nullglob - --# wrapper script for patch and tar -+# wrapper script for patch, tar and unzip - cat <<-'EOF' > $tmpdir/bin/wrapper - #! @BASH@ - diff --git a/hackweek-11-02-cleanups.patch b/hackweek-11-02-cleanups.patch deleted file mode 100644 index 7b858a4..0000000 --- a/hackweek-11-02-cleanups.patch +++ /dev/null @@ -1,98 +0,0 @@ -From: Jean Delvare -Subject: setup/inspect: Cleanups -Upstream: Committed (aa5d1389f7ce7ca2fc51e791ec33b68404fdea6b) - -* Drop quotes that aren't needed and break syntax highlighting in some - editors. -* Coding style cleanups. ---- - quilt/scripts/inspect.in | 23 +++++++++++++---------- - quilt/setup.in | 6 +++--- - 2 files changed, 16 insertions(+), 13 deletions(-) - ---- a/quilt/scripts/inspect.in -+++ b/quilt/scripts/inspect.in -@@ -65,7 +65,7 @@ else - specdir=$PWD - fi - --tmpdir="$(gen_tempfile -d ${VARTMPDIR:-/var/tmp}/${0##*/})" -+tmpdir=$(gen_tempfile -d ${VARTMPDIR:-/var/tmp}/${0##*/}) - mkdir -p $tmpdir || exit 1 - add_exit_handler "rm -rf $tmpdir" - mkdir -p $tmpdir/build -@@ -116,7 +116,7 @@ do - filetype="xz" - ;; - *) -- filetype="$(file -b "$file")" -+ filetype=$(file -b "$file") - ;; - esac - -@@ -239,7 +239,8 @@ cat <<-'EOF' > $tmpdir/bin/wrapper - while [ $# -gt 0 ]; do - case "$1" in - -i|--input) -- if [ $# -ge 2 ]; then -+ if [ $# -ge 2 ] -+ then - echo "$2" - return - fi -@@ -372,12 +373,13 @@ cat <<-'EOF' > $tmpdir/bin/wrapper - inputfile=$(unzip_input_file "$@") - ;; - esac -- if [ -z "$inputfile" ]; then -- # put data from stdin into tmpfile -- cat > $tmpdir/data -+ if [ -z "$inputfile" ] -+ then -+ # put data from stdin into tmpfile -+ cat > $tmpdir/data - fi - -- unpackfile="$(original_file ${inputfile:-$tmpdir/data})" -+ unpackfile=$(original_file ${inputfile:-$tmpdir/data}) - if [ -n "$unpackfile" ] - then - case "${0##*/}" in -@@ -403,10 +405,11 @@ cat <<-'EOF' > $tmpdir/bin/wrapper - fi - - PATH=${PATH#*:} -- if [ -n "$inputfile" ]; then -- ${0##*/} "$@" -+ if [ -n "$inputfile" ] -+ then -+ ${0##*/} "$@" - else -- ${0##*/} "$@" < $tmpdir/data -+ ${0##*/} "$@" < $tmpdir/data - fi - EOF - ---- a/quilt/setup.in -+++ b/quilt/setup.in -@@ -205,7 +205,7 @@ case "$1" in - "# Source: "*) - shift 2 - source="$@" -- filetype="$(file -b "$source")" -+ filetype=$(file -b "$source") - case "$filetype" in - Zip*) - echo "unzip ${tar_dir:-.} ${source// /\\ }" -@@ -273,9 +273,9 @@ while read tag dir arg1 arg2 - do - case "$tag" in - tar|unzip) -- tar_dir="$dir" -+ tar_dir=$dir - [ "$tar_dir" = . ] && tar_dir= -- tar_file="$arg1" -+ tar_file=$arg1 - ;; - patch) - if [ ! -e "$prefix$dir/$QUILT_PATCHES" ] diff --git a/hackweek-11-03-inspect-list-all-options.patch b/hackweek-11-03-inspect-list-all-options.patch deleted file mode 100644 index a2cea49..0000000 --- a/hackweek-11-03-inspect-list-all-options.patch +++ /dev/null @@ -1,20 +0,0 @@ -From: Jean Delvare -Subject: inspect: List all options in usage text -Upstream: Committed (c57b81b7367ebc6f3757b114302b537d6e305431) - -Options -v and --sourcedir were not listed. ---- - quilt/scripts/inspect.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/quilt/scripts/inspect.in -+++ b/quilt/scripts/inspect.in -@@ -21,7 +21,7 @@ cd ${SUBDIR:-.} - - usage() - { -- echo "Usage: ${0##*/} [--fuzz=N] specfile" -+ echo "Usage: ${0##*/} [-v] [--sourcedir dir] [--fuzz=N] specfile" - exit 1 - } - diff --git a/hackweek-11-04-pass-through.patch b/hackweek-11-04-pass-through.patch deleted file mode 100644 index 077d78e..0000000 --- a/hackweek-11-04-pass-through.patch +++ /dev/null @@ -1,32 +0,0 @@ -From: Jean Delvare -Subject: inspect: Pass through the wrappers when appropriate -Upstream: Committed (e3ee2d8596cbac98d29d72292b6b45706c0010af) - -The wrappers may be called before the %prep section is entered, in -which case RPM_BUILD_DIR isn't set yet. In that case we want to -pass trough transparently. ---- - quilt/scripts/inspect.in | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - ---- a/quilt/scripts/inspect.in -+++ b/quilt/scripts/inspect.in -@@ -358,6 +358,10 @@ cat <<-'EOF' > $tmpdir/bin/wrapper - echo "$dir" - } - -+ PATH=${PATH#*:} -+ # If we are called too early, pass through without processing -+ [ -n "$RPM_BUILD_DIR" ] || exec ${0##*/} "$@" -+ - tmpdir=${RPM_BUILD_DIR%/*} - rm -f $tmpdir/data - case "${0##*/}" in -@@ -404,7 +408,6 @@ cat <<-'EOF' > $tmpdir/bin/wrapper - esac - fi - -- PATH=${PATH#*:} - if [ -n "$inputfile" ] - then - ${0##*/} "$@" diff --git a/hackweek-11-05-no-explicit-rm.patch b/hackweek-11-05-no-explicit-rm.patch deleted file mode 100644 index 22dec31..0000000 --- a/hackweek-11-05-no-explicit-rm.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Jean Delvare -Subject: inspect: Don't explicitly delete the temporary data file -Upstream: Committed (3931a551f43751c6c18e6439864a7d012f2d5f4e) - -This temporary data file is overwritten as needed and the directory -it sits in is blasted when the script exits, so there is no point in -explicitly deleting this file at the beginning of each wrapper -invocation. - -This simple change speeds up "inspect" by 3-4% in my tests. ---- - quilt/scripts/inspect.in | 1 - - 1 file changed, 1 deletion(-) - ---- a/quilt/scripts/inspect.in -+++ b/quilt/scripts/inspect.in -@@ -363,7 +363,6 @@ cat <<-'EOF' > $tmpdir/bin/wrapper - [ -n "$RPM_BUILD_DIR" ] || exec ${0##*/} "$@" - - tmpdir=${RPM_BUILD_DIR%/*} -- rm -f $tmpdir/data - case "${0##*/}" in - patch) - inputfile=$(patch_input_file "$@") diff --git a/hackweek-11-06-exclude-from-md5sums.patch b/hackweek-11-06-exclude-from-md5sums.patch deleted file mode 100644 index 8d5bfee..0000000 --- a/hackweek-11-06-exclude-from-md5sums.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Jean Delvare -Subject: inspect: Exclude more files from md5sums -Upstream: Committed (367ef38abdfc93ceef435f805c97af7a092ea46e) - -A few more files can be excluded from md5sums as we know they are -neither patches nor archives: -* _constraints, _service and baselibs.conf, from the Build Service -* signature files -* rpmlintrc files ---- - quilt/scripts/inspect.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/quilt/scripts/inspect.in -+++ b/quilt/scripts/inspect.in -@@ -95,7 +95,7 @@ for file in $sourcedir/* - do - basename=${file##*/} - case "$basename" in -- ready|bigpack|MD5SUMS|MD5SUMS.meta|*.spec|*.changes) -+ ready|bigpack|_constraints|_service|baselibs.conf|MD5SUMS|MD5SUMS.meta|*.spec|*.changes|*.sig|*.sign|*rpmlintrc) - continue - ;; - esac diff --git a/hackweek-11-07-normalize-path.patch b/hackweek-11-07-normalize-path.patch deleted file mode 100644 index fc60eab..0000000 --- a/hackweek-11-07-normalize-path.patch +++ /dev/null @@ -1,47 +0,0 @@ -From: Jean Delvare -Subject: setup: Introduce function normalize_path -Upstream: Committed (1e8e4ff9b8027235d0577369719c0c58ba460cf8) - -Move the path normalization code to a separate function, to avoid -redundancy and make the code more readable. ---- - quilt/setup.in | 21 +++++++++++---------- - 1 file changed, 11 insertions(+), 10 deletions(-) - ---- a/quilt/setup.in -+++ b/quilt/setup.in -@@ -71,6 +71,15 @@ check_for_existing_files() - return $status - } - -+# Resolve ".." in path and clean up double slashes -+normalize_path() -+{ -+ echo "$1" | sed -r -e 's://:/:g' \ -+ -e ':again' \ -+ -e 's:/[^/]+/\.\.(/|$):\1:g' \ -+ -e 'tagain' -+} -+ - create_symlink() - { - local target=$1 link=$2 up -@@ -80,16 +89,8 @@ create_symlink() - return - fi - -- set -- "$(echo "$PWD/$target" | \ -- sed -r -e 's://:/:g' \ -- -e ':again' \ -- -e 's:/[^/]+/\.\.(/|$):\1:g' \ -- -e 'tagain')" \ -- "$(echo "$PWD/$link" | \ -- sed -r -e 's://:/:g' \ -- -e ':again' \ -- -e 's:/[^/]+/\.\.(/|$):\1:g' \ -- -e 'tagain')" -+ set -- "$(normalize_path "$PWD/$target")" \ -+ "$(normalize_path "$PWD/$link")" - while [ "${1%%/*}" = "${2%%/*}" ] - do - set -- "${1#*/}" "${2#*/}" diff --git a/hackweek-11-08-inspect-split-wrapper-script.patch b/hackweek-11-08-inspect-split-wrapper-script.patch deleted file mode 100644 index e6d780a..0000000 --- a/hackweek-11-08-inspect-split-wrapper-script.patch +++ /dev/null @@ -1,598 +0,0 @@ -From: Jean Delvare -Subject: inspect: Split the patch/tar/unzip wrapper to a separate script -Upstream: Committed (9f1f21a1fcd6700c9f9fda8c1b953f7e76538c76) - -I couldn't find any reason why the patch/tar/unzip wrapper is -generated each time inspect is invoked. Make it a separate script in -its own right and let the patch, tar and unzip links point to it. - -This makes this piece of code easier to read, edit, trace and debug. -This also solves the case where the filesystem hosting the temporary -files is mounted with noexec. ---- - Makefile.in | 6 - quilt/scripts/inspect-wrapper.in | 265 ++++++++++++++++++++++++++++++++++++ - quilt/scripts/inspect.in | 282 --------------------------------------- - 3 files changed, 271 insertions(+), 282 deletions(-) - ---- a/Makefile.in -+++ b/Makefile.in -@@ -79,8 +79,8 @@ QUILT := $(QUILT_IN) - SRC += $(QUILT_SRC:%=quilt/%) - DIRT += $(QUILT_IN:%=quilt/%) - --SCRIPTS_IN := patchfns inspect dependency-graph edmail \ -- remove-trailing-ws backup-files -+SCRIPTS_IN := patchfns inspect inspect-wrapper dependency-graph \ -+ edmail remove-trailing-ws backup-files - - SCRIPTS_SRC := $(SCRIPTS_IN:%=%.in) - SCRIPTS := $(SCRIPTS_IN) -@@ -391,7 +391,7 @@ test/.depend : Makefile $(TESTS) - -e 's:quilt/graph:quilt/graph quilt/scripts/dependency-graph:' \ - -e 's:quilt/mail:quilt/mail quilt/scripts/edmail:' \ - -e 's:quilt/refresh:quilt/refresh quilt/scripts/remove-trailing-ws:' \ -- -e 's:quilt/setup:quilt/setup quilt/scripts/inspect:' \ -+ -e 's:quilt/setup:quilt/setup quilt/scripts/inspect quilt/scripts/inspect-wrapper:' \ - > $@ - - ifneq ($(shell . $(QUILTRC) ; echo $$QUILT_PATCHES_PREFIX),) ---- /dev/null -+++ b/quilt/scripts/inspect-wrapper.in -@@ -0,0 +1,265 @@ -+#! @BASH@ -+ -+# find original data file by md5sum -+original_file() -+{ -+ local file=$1 md5sum -+ -+ set -- $(md5sum < $file) -+ md5sum=$1 -+ while read md5sum_ file_ -+ do -+ if [ "$md5sum" = "$md5sum_" ] -+ then -+ echo ${file_#\*} -+ return 0 -+ fi -+ done < $tmpdir/md5sums -+ -+ # Try harder -+ if ! [ -e $tmpdir/more-md5sums ] -+ then -+ ( cd $RPM_BUILD_DIR -+ find . -type f \ -+ | sed -e 's:^.\/::' \ -+ | xargs md5sum \ -+ ) > $tmpdir/more-md5sums -+ fi -+ -+ while read md5sum_ file_ -+ do -+ if [ "$md5sum" = "$md5sum_" ] -+ then -+ echo ${file_#\*} -+ return 0 -+ fi -+ done < $tmpdir/more-md5sums -+ -+ return 1 -+} -+ -+# Extract a command line option with or without argument -+cmdline_option() -+{ -+ local letter=$1 no_arg=$2 -+ shift -+ -+ while [ $# -ne 0 ] -+ do -+ if [ "${1:0:2}" = -$letter ] -+ then -+ if [ -z "$no_arg" ] -+ then -+ [ "$1" = -$letter ] && set -- "$1$2" -+ fi -+ echo $1 -+ break -+ fi -+ shift -+ done -+} -+ -+# Extract the -p option from the command line -+strip_option() -+{ -+ set -- $(cmdline_option p "$@") -+ [ "$1" != -p1 ] && echo $1 -+} -+ -+# Extract the -R option from the command line -+reverse_option() -+{ -+ set -- $(cmdline_option R no_arg "$@") -+ echo $1 -+} -+ -+patch_opt_d() -+{ -+ local subdir=$(cmdline_option d "$@") -+ [ -z "$subdir" ] || echo "${subdir:2}" -+ -+} -+ -+patch_input_file() -+{ -+ while [ $# -gt 0 ] -+ do -+ case "$1" in -+ -i|--input) -+ if [ $# -ge 2 ] -+ then -+ echo "$2" -+ return -+ fi -+ ;; -+ -i*) -+ echo "${1#-i}" -+ return -+ ;; -+ --input=*) -+ echo "${1#--input=}" -+ return -+ ;; -+ esac -+ shift -+ done -+ return 1 -+} -+ -+tar_input_file() -+{ -+ case "$1" in -+ # Modern option format -+ -*) -+ while [ $# -gt 0 ] -+ do -+ case "$1" in -+ # Extract the file name (long option) -+ --file) -+ echo "$2" -+ return -+ ;; -+ --file=*) -+ echo "${1#--file=}" -+ return -+ ;; -+ # Skip other long options -+ --*) -+ shift -+ ;; -+ # Extract the file name (short option) -+ -*f) -+ echo "$2" -+ return -+ ;; -+ -f*) -+ echo "${1#-f}" -+ return -+ ;; -+ # Skip other short options and parameters -+ *) -+ shift -+ ;; -+ esac -+ done -+ ;; -+ # Legacy option format (must always come first) -+ *C*f*) -+ echo "$3" -+ return -+ ;; -+ *f*) -+ echo "$2" -+ return -+ ;; -+ ?*) -+ # Eat legacy options and try again -+ until [ $# -eq 0 -o "${1:0:1}" = "-" ] -+ do -+ shift -+ done -+ tar_input_file "$@" -+ return -+ ;; -+ esac -+ return 1 -+} -+ -+unzip_input_file() -+{ -+ while [ $# -gt 0 ] -+ do -+ case "$1" in -+ -*) -+ shift -+ ;; -+ *) -+ echo "$1" -+ return -+ ;; -+ esac -+ done -+ return 1 -+} -+ -+tar_opt_C() -+{ -+ case "$1" in -+ *C*f*) -+ echo "$2" -+ return ;; -+ esac -+} -+ -+pwd_to_dir() -+{ -+ local subdir=$1 dir -+ -+ if [ -n "$subdir" ] -+ then -+ dir=$(cd "$subdir" && echo $PWD) -+ else -+ dir=$PWD -+ fi -+ dir=${dir/$RPM_BUILD_DIR} -+ dir=${dir##/} -+ dir=${dir// /\\ } -+ -+ echo "$dir" -+} -+ -+PATH=${PATH#*:} -+# If we are called too early, pass through without processing -+[ -n "$RPM_BUILD_DIR" ] || exec ${0##*/} "$@" -+ -+tmpdir=${RPM_BUILD_DIR%/*} -+case "${0##*/}" in -+patch) -+ inputfile=$(patch_input_file "$@") -+ ;; -+tar) -+ inputfile=$(tar_input_file "$@") -+ # For tar, file - means read from stdin -+ [ "$inputfile" = "-" ] && inputfile= -+ ;; -+unzip) -+ inputfile=$(unzip_input_file "$@") -+ ;; -+esac -+if [ -z "$inputfile" ] -+then -+ # put data from stdin into tmpfile -+ cat > $tmpdir/data -+fi -+ -+unpackfile=$(original_file ${inputfile:-$tmpdir/data}) -+if [ -n "$unpackfile" ] -+then -+ case "${0##*/}" in -+ patch) -+ echo -n p >&4 -+ subdir=$(patch_opt_d "$@") -+ dir=$(pwd_to_dir $subdir) -+ echo "${0##*/} ${dir:-.} $unpackfile" \ -+ $(strip_option "$@") $(reverse_option "$@") >&3 -+ ;; -+ tar) -+ echo -n t >&4 -+ subdir=$(tar_opt_C "$@") -+ dir=$(pwd_to_dir $subdir) -+ echo "${0##*/} ${dir:-.} $unpackfile" >&3 -+ ;; -+ unzip) -+ echo -n Z >&4 -+ dir=$(pwd_to_dir) -+ echo "${0##*/} ${dir:-.} $unpackfile" >&3 -+ ;; -+ esac -+fi -+ -+if [ -n "$inputfile" ] -+then -+ ${0##*/} "$@" -+else -+ ${0##*/} "$@" < $tmpdir/data -+fi ---- a/quilt/scripts/inspect.in -+++ b/quilt/scripts/inspect.in -@@ -150,285 +150,9 @@ done > $tmpdir/md5sums - echo >&4 - shopt -u nullglob - --# wrapper script for patch, tar and unzip --cat <<-'EOF' > $tmpdir/bin/wrapper -- #! @BASH@ -- -- # find original data file by md5sum -- original_file() -- { -- local file=$1 md5sum -- -- set -- $(md5sum < $file) -- md5sum=$1 -- while read md5sum_ file_ -- do -- if [ "$md5sum" = "$md5sum_" ] -- then -- echo ${file_#\*} -- return 0 -- fi -- done < $tmpdir/md5sums -- -- # Try harder -- if ! [ -e $tmpdir/more-md5sums ] -- then -- ( cd $RPM_BUILD_DIR -- find . -type f \ -- | sed -e 's:^.\/::' \ -- | xargs md5sum \ -- ) > $tmpdir/more-md5sums -- fi -- -- while read md5sum_ file_ -- do -- if [ "$md5sum" = "$md5sum_" ] -- then -- echo ${file_#\*} -- return 0 -- fi -- done < $tmpdir/more-md5sums -- -- return 1 -- } -- -- # Extract a command line option with or without argument -- cmdline_option() -- { -- local letter=$1 no_arg=$2 -- shift -- -- while [ $# -ne 0 ] -- do -- if [ "${1:0:2}" = -$letter ] -- then -- if [ -z "$no_arg" ] -- then -- [ "$1" = -$letter ] && set -- "$1$2" -- fi -- echo $1 -- break -- fi -- shift -- done -- } -- -- # Extract the -p option from the command line -- strip_option() -- { -- set -- $(cmdline_option p "$@") -- [ "$1" != -p1 ] && echo $1 -- } -- -- # Extract the -R option from the command line -- reverse_option() -- { -- set -- $(cmdline_option R no_arg "$@") -- echo $1 -- } -- -- patch_opt_d() -- { -- local subdir=$(cmdline_option d "$@") -- [ -z "$subdir" ] || echo "${subdir:2}" -- -- } -- -- patch_input_file() -- { -- while [ $# -gt 0 ]; do -- case "$1" in -- -i|--input) -- if [ $# -ge 2 ] -- then -- echo "$2" -- return -- fi -- ;; -- -i*) -- echo "${1#-i}" -- return -- ;; -- --input=*) -- echo "${1#--input=}" -- return -- ;; -- esac -- shift -- done -- return 1 -- } -- -- tar_input_file() -- { -- case "$1" in -- # Modern option format -- -*) -- while [ $# -gt 0 ]; do -- case "$1" in -- # Extract the file name (long option) -- --file) -- echo "$2" -- return -- ;; -- --file=*) -- echo "${1#--file=}" -- return -- ;; -- # Skip other long options -- --*) -- shift -- ;; -- # Extract the file name (short option) -- -*f) -- echo "$2" -- return -- ;; -- -f*) -- echo "${1#-f}" -- return -- ;; -- # Skip other short options and parameters -- *) -- shift -- ;; -- esac -- done -- ;; -- # Legacy option format (must always come first) -- *C*f*) -- echo "$3" -- return -- ;; -- *f*) -- echo "$2" -- return -- ;; -- ?*) -- # Eat legacy options and try again -- until [ $# -eq 0 -o "${1:0:1}" = "-" ]; do -- shift -- done -- tar_input_file "$@" -- return -- ;; -- esac -- return 1 -- } -- -- unzip_input_file() -- { -- while [ $# -gt 0 ]; do -- case "$1" in -- -*) -- shift -- ;; -- *) -- echo "$1" -- return -- ;; -- esac -- done -- return 1 -- } -- -- tar_opt_C() -- { -- case "$1" in -- *C*f*) -- echo "$2" -- return ;; -- esac -- } -- -- pwd_to_dir() -- { -- local subdir=$1 dir -- -- if [ -n "$subdir" ] -- then -- dir=$(cd "$subdir" && echo $PWD) -- else -- dir=$PWD -- fi -- dir=${dir/$RPM_BUILD_DIR} -- dir=${dir##/} -- dir=${dir// /\\ } -- -- echo "$dir" -- } -- -- PATH=${PATH#*:} -- # If we are called too early, pass through without processing -- [ -n "$RPM_BUILD_DIR" ] || exec ${0##*/} "$@" -- -- tmpdir=${RPM_BUILD_DIR%/*} -- case "${0##*/}" in -- patch) -- inputfile=$(patch_input_file "$@") -- ;; -- tar) -- inputfile=$(tar_input_file "$@") -- # For tar, file - means read from stdin -- [ "$inputfile" = "-" ] && inputfile= -- ;; -- unzip) -- inputfile=$(unzip_input_file "$@") -- ;; -- esac -- if [ -z "$inputfile" ] -- then -- # put data from stdin into tmpfile -- cat > $tmpdir/data -- fi -- -- unpackfile=$(original_file ${inputfile:-$tmpdir/data}) -- if [ -n "$unpackfile" ] -- then -- case "${0##*/}" in -- patch) -- echo -n p >&4 -- subdir=$(patch_opt_d "$@") -- dir=$(pwd_to_dir $subdir) -- echo "${0##*/} ${dir:-.} $unpackfile" \ -- $(strip_option "$@") $(reverse_option "$@") >&3 -- ;; -- tar) -- echo -n t >&4 -- subdir=$(tar_opt_C "$@") -- dir=$(pwd_to_dir $subdir) -- echo "${0##*/} ${dir:-.} $unpackfile" >&3 -- ;; -- unzip) -- echo -n Z >&4 -- dir=$(pwd_to_dir) -- echo "${0##*/} ${dir:-.} $unpackfile" >&3 -- ;; -- esac -- fi -- -- if [ -n "$inputfile" ] -- then -- ${0##*/} "$@" -- else -- ${0##*/} "$@" < $tmpdir/data -- fi --EOF -- --chmod 755 $tmpdir/bin/wrapper --# If $TMPDIR is mounted with noexec, rpmbuild won't be able to execute --# our wrapper script --if [ ! -x $tmpdir/bin/wrapper ] --then -- printf "Cannot execute %s; filesystem mounted with noexec?\n" \ -- $tmpdir/bin/wrapper >&2 -- printf "Setting %s in ~/.quiltrc may help\n" "VARTMPDIR" >&2 -- exit 1 --fi -- --ln -s wrapper $tmpdir/bin/patch --ln -s wrapper $tmpdir/bin/tar --ln -s wrapper $tmpdir/bin/unzip -+ln -s $QUILT_DIR/scripts/inspect-wrapper $tmpdir/bin/patch -+ln -s $QUILT_DIR/scripts/inspect-wrapper $tmpdir/bin/tar -+ln -s $QUILT_DIR/scripts/inspect-wrapper $tmpdir/bin/unzip - - # let rpm do all the dirty specfile stuff ... - echo -n "### rpmbuild: " >&4 diff --git a/hackweek-11-09-inspect-temporary-data-file.patch b/hackweek-11-09-inspect-temporary-data-file.patch deleted file mode 100644 index 1934938..0000000 --- a/hackweek-11-09-inspect-temporary-data-file.patch +++ /dev/null @@ -1,29 +0,0 @@ -From: Jean Delvare -Subject: inspect-wrapper: Minor code optimization -Upstream: Committed (f159ee6f0bcd6b9abdc8830a1228d902e93311ae) - -Don't test if inputfile is set twice in a row. ---- - quilt/scripts/inspect-wrapper.in | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - ---- a/quilt/scripts/inspect-wrapper.in -+++ b/quilt/scripts/inspect-wrapper.in -@@ -226,13 +226,15 @@ unzip) - inputfile=$(unzip_input_file "$@") - ;; - esac --if [ -z "$inputfile" ] -+if [ -n "$inputfile" ] - then -+ unpackfile=$(original_file "$inputfile") -+else - # put data from stdin into tmpfile - cat > $tmpdir/data -+ unpackfile=$(original_file $tmpdir/data) - fi - --unpackfile=$(original_file ${inputfile:-$tmpdir/data}) - if [ -n "$unpackfile" ] - then - case "${0##*/}" in diff --git a/hackweek-11-10-setup-fix-path-to-extra-patches.patch b/hackweek-11-10-setup-fix-path-to-extra-patches.patch deleted file mode 100644 index d39b331..0000000 --- a/hackweek-11-10-setup-fix-path-to-extra-patches.patch +++ /dev/null @@ -1,74 +0,0 @@ -From: Jean Delvare -Subject: setup: Fix path to extra patches in series file -Upstream: Committed (1e5d95849e4a09427efefc7bd7e9f33bf911f526) - -Extra patches (typically contained in archives) end up in the working -directory, not the source directory where regular patches live. In -the most common case, it makes no difference because both directories -are the same. However, as soon as options -d or --sourcedir are used -in conjunction with extra patches, the working directory and the -source directory are different, and the paths to the extra patches in -the series file get wrong. - -While we can't possible handle the case where the source and working -directories are completely different, we can easily handle the most -typical case where the working directory is a subdirectory of the -source directory. ---- - quilt/scripts/inspect-wrapper.in | 2 +- - quilt/setup.in | 26 ++++++++++++++++++++++++++ - 2 files changed, 27 insertions(+), 1 deletion(-) - ---- a/quilt/scripts/inspect-wrapper.in -+++ b/quilt/scripts/inspect-wrapper.in -@@ -30,7 +30,7 @@ original_file() - do - if [ "$md5sum" = "$md5sum_" ] - then -- echo ${file_#\*} -+ echo $QUILT_SETUP_PREFIX${file_#\*} - return 0 - fi - done < $tmpdir/more-md5sums ---- a/quilt/setup.in -+++ b/quilt/setup.in -@@ -101,6 +101,27 @@ create_symlink() - ln -s "${1:-.}" "$link" - } - -+dir_to_dir() -+{ -+ local from=$1 to=$2 -+ -+ [ "${from:0:1}" = / ] || from=$PWD/$from -+ from=$(normalize_path "$from") -+ -+ [ "${to:0:1}" = / ] || to=$PWD/$to -+ to=$(normalize_path "$to") -+ -+ # If the target is a subdirectory of the origin, we can express the path -+ # in a relative way. Otherwise, return the absolute path. -+ if [ "${to:0:${#from}}" = "$from" ] -+ then -+ to=${to:${#from}} -+ to=${to#/} -+ fi -+ -+ echo "$to" -+} -+ - usage() - { - printf $"Usage: quilt setup [-d path-prefix] [-v] [--sourcedir dir] [--fuzz=N] {specfile|seriesfile}\n" -@@ -170,6 +191,11 @@ fi - tmpfile=$(gen_tempfile) - add_exit_handler "rm -f $tmpfile" - -+# The patches link will point to the source directory, while extra patches -+# may be available under $prefix. If the latter is a subdirectory of the former, -+# a prefix can be added to fix up the path to the extra patches. -+export QUILT_SETUP_PREFIX=$(dir_to_dir "$sourcedir" "$prefix") -+ - case "$1" in - *.spec) - spec_file=$1 diff --git a/hackweek-11-11-setup-trace-call-first.patch b/hackweek-11-11-setup-trace-call-first.patch deleted file mode 100644 index 80d9a04..0000000 --- a/hackweek-11-11-setup-trace-call-first.patch +++ /dev/null @@ -1,53 +0,0 @@ -From: Jean Delvare -Subject: inspect-wrapper: Trace calls earlier -Upstream: Committed (d56b11e711533b0adae8b0fd6b36ec01807d62b1) - -Trace the calls to the patch/tar/unzip wrapper earlier. That way, if -anything goes wrong, we know which type of file was being processed. -Even if nothing goes wrong, the user now sees the file type as it is -being processed (which can take a long time.) ---- - quilt/scripts/inspect-wrapper.in | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - ---- a/quilt/scripts/inspect-wrapper.in -+++ b/quilt/scripts/inspect-wrapper.in -@@ -215,14 +215,17 @@ PATH=${PATH#*:} - tmpdir=${RPM_BUILD_DIR%/*} - case "${0##*/}" in - patch) -+ echo -n p >&4 - inputfile=$(patch_input_file "$@") - ;; - tar) -+ echo -n t >&4 - inputfile=$(tar_input_file "$@") - # For tar, file - means read from stdin - [ "$inputfile" = "-" ] && inputfile= - ;; - unzip) -+ echo -n Z >&4 - inputfile=$(unzip_input_file "$@") - ;; - esac -@@ -239,20 +242,17 @@ if [ -n "$unpackfile" ] - then - case "${0##*/}" in - patch) -- echo -n p >&4 - subdir=$(patch_opt_d "$@") - dir=$(pwd_to_dir $subdir) - echo "${0##*/} ${dir:-.} $unpackfile" \ - $(strip_option "$@") $(reverse_option "$@") >&3 - ;; - tar) -- echo -n t >&4 - subdir=$(tar_opt_C "$@") - dir=$(pwd_to_dir $subdir) - echo "${0##*/} ${dir:-.} $unpackfile" >&3 - ;; - unzip) -- echo -n Z >&4 - dir=$(pwd_to_dir) - echo "${0##*/} ${dir:-.} $unpackfile" >&3 - ;; diff --git a/hackweek-11-12-setup-alternative-implementation-v2.patch b/hackweek-11-12-setup-alternative-implementation-v2.patch deleted file mode 100644 index 14818af..0000000 --- a/hackweek-11-12-setup-alternative-implementation-v2.patch +++ /dev/null @@ -1,221 +0,0 @@ -From: Jean Delvare -Subject: setup: Add --fast option -Upstream: Committed (c0f677497b760028ae8aafb72d4d08604aa7870e) - -This is an alternative implementation of "quilt setup" for rpm spec -files, which is much faster than the original implementation. The -idea is to have rpmbuild generate our working tree directly, instead -of taking note of everything it does and then replaying that record -from scratch. - -The new implementation is enabled with option --fast. The original -implementation can be selected with --slow, which is the default. -Having this option makes it possible to set the default to --fast in -~/.quiltrc and revert to --slow on the command line on a case-by-case -basis. This will also make it easier if we decide to change the -default in the future. - -In general, the generated working tree should be the same with --slow -or --fast. There are 3 known exceptions though: -* The header of the series files is incomplete when using --fast, - which means that you can't reuse these series files to feed "quilt - setup" later. -* If the spec file generates files other than with the tar, unzip and - patch commands, you wouldn't get these files in your working tree - with --slow, but with --fast you will. -* With --fast, all patches are added to the series file, regardless - of whether they apply or not. This also means that patches which - fail to apply are not reported as such until you attempt to push - them. - -On large packages, this alternative implementation was found to be -up to 4 times faster than the original implementation. ---- -This is my SUSE hackweek 11 project, more information at: -https://hackweek.suse.com/11/projects/194 - - quilt/scripts/inspect-wrapper.in | 5 ++++ - quilt/scripts/inspect.in | 23 ++++++++++++++++++-- - quilt/setup.in | 43 +++++++++++++++++++++++++++++++++++---- - 3 files changed, 64 insertions(+), 7 deletions(-) - ---- a/quilt/scripts/inspect-wrapper.in -+++ b/quilt/scripts/inspect-wrapper.in -@@ -220,12 +220,14 @@ patch) - ;; - tar) - echo -n t >&4 -+ [ -n "$QUILT_SETUP_FAST" ] && exec ${0##*/} "$@" - inputfile=$(tar_input_file "$@") - # For tar, file - means read from stdin - [ "$inputfile" = "-" ] && inputfile= - ;; - unzip) - echo -n Z >&4 -+ [ -n "$QUILT_SETUP_FAST" ] && exec ${0##*/} "$@" - inputfile=$(unzip_input_file "$@") - ;; - esac -@@ -259,6 +261,9 @@ then - esac - fi - -+# In fast mode, we don't actually apply patches -+[ ${0##*/}$QUILT_SETUP_FAST = patch1 ] && exit 0 -+ - if [ -n "$inputfile" ] - then - ${0##*/} "$@" ---- a/quilt/scripts/inspect.in -+++ b/quilt/scripts/inspect.in -@@ -21,11 +21,11 @@ cd ${SUBDIR:-.} - - usage() - { -- echo "Usage: ${0##*/} [-v] [--sourcedir dir] [--fuzz=N] specfile" -+ echo "Usage: ${0##*/} [-v] [--sourcedir dir] [--targetdir dir] [--fuzz=N] specfile" - exit 1 - } - --options=$(getopt -o v --long sourcedir:,fuzz: -n "${0##*/}" -- "$@") || exit -+options=$(getopt -o v --long sourcedir:,targetdir:,fuzz: -n "${0##*/}" -- "$@") || exit - - eval set -- "$options" - -@@ -40,6 +40,9 @@ do - --sourcedir) - sourcedir=${2%/}/ - shift 2 ;; -+ --targetdir) -+ targetdir=$2 -+ shift 2 ;; - --fuzz) - # Only works with rpm 4.6 and later - DEFINE_FUZZ="%define _default_patch_fuzz $2" -@@ -68,8 +71,16 @@ fi - tmpdir=$(gen_tempfile -d ${VARTMPDIR:-/var/tmp}/${0##*/}) - mkdir -p $tmpdir || exit 1 - add_exit_handler "rm -rf $tmpdir" --mkdir -p $tmpdir/build - mkdir -p $tmpdir/bin -+if [ -n "$targetdir" ] -+then -+ # Fast mode -+ [ -d "$targetdir" ] || mkdir -p "$targetdir" || exit 1 -+ ln -s "$targetdir" $tmpdir/build -+else -+ # Standard mode -+ mkdir -p $tmpdir/build -+fi - - # Older versions of Suse packages have a symbolic release number, and rpmbuild - # won't like that, so change it to something compliant. -@@ -98,6 +109,11 @@ do - ready|bigpack|_constraints|_service|baselibs.conf|MD5SUMS|MD5SUMS.meta|*.spec|*.changes|*.sig|*.sign|*rpmlintrc) - continue - ;; -+ # In fast mode, we are only interested in patches, so filter out -+ # archives -+ *.tar|*.tar.Z|*.tar.gz|*.tgz|*.tar.bz2|*.tar.xz|*.zip) -+ [ -n "$targetdir" ] && continue -+ ;; - esac - [ -f "$file" ] || continue - echo -n "." >&4 -@@ -158,6 +174,7 @@ ln -s $QUILT_DIR/scripts/inspect-wrapper - echo -n "### rpmbuild: " >&4 - - export PATH="$tmpdir/bin:$PATH" -+export QUILT_SETUP_FAST=${targetdir:+1} - rpmbuild --eval "%define _sourcedir $sourcedir" \ - --eval "%define _specdir $specdir" \ - --eval "%define _builddir $tmpdir/build" \ ---- a/quilt/setup.in -+++ b/quilt/setup.in -@@ -124,7 +124,7 @@ dir_to_dir() - - usage() - { -- printf $"Usage: quilt setup [-d path-prefix] [-v] [--sourcedir dir] [--fuzz=N] {specfile|seriesfile}\n" -+ printf $"Usage: quilt setup [-d path-prefix] [-v] [--sourcedir dir] [--fuzz=N] [--slow|--fast] {specfile|seriesfile}\n" - if [ x$1 = x-h ] - then - printf $" -@@ -139,6 +139,17 @@ Initializes a source tree from an rpm sp - - --fuzz=N - Set the maximum fuzz factor (needs rpm 4.6 or later). -+ -+--slow Use the original, slow method to process the spec file. This is the -+ default for now, but that might change in the future. In this mode, -+ rpmbuild generates a working tree in a temporary directory while all -+ its actions are recorded, and then everything is replayed from scratch -+ in the target directory. -+ -+--fast Use an alternative, faster method to process the spec file. In this -+ mode, rpmbuild is told to generate a working tree directly in the -+ target directory. If the input is a series file, it is assumed that -+ all archives have been extracted manually beforehand. - " - exit 0 - else -@@ -146,7 +157,7 @@ Initializes a source tree from an rpm sp - fi - } - --options=`getopt -o d:vh --long sourcedir:,fuzz: -- "$@"` -+options=`getopt -o d:vh --long sourcedir:,fuzz:,slow,fast -- "$@"` - - if [ $? -ne 0 ] - then -@@ -175,6 +186,12 @@ do - --fuzz) - opt_fuzz="--fuzz $2" - shift 2 ;; -+ --slow) -+ opt_fast= -+ shift ;; -+ --fast) -+ opt_fast=1 -+ shift ;; - --) - shift - break ;; -@@ -208,8 +225,24 @@ case "$1" in - exit 1 - fi - -- if ! $QUILT_DIR/scripts/inspect $verbose $opt_sourcedir $opt_fuzz \ -- "$spec_file" 2>&1 > $tmpfile -+ if [ -n "$opt_fast" ] -+ then -+ if [ "${prefix:0:1}" = / ] -+ then -+ targetdir=$prefix -+ else -+ targetdir=$PWD/$prefix -+ fi -+ -+ $QUILT_DIR/scripts/inspect $verbose $opt_sourcedir $opt_fuzz \ -+ --targetdir "$targetdir" \ -+ "$spec_file" 2>&1 > $tmpfile -+ else -+ $QUILT_DIR/scripts/inspect $verbose $opt_sourcedir $opt_fuzz \ -+ "$spec_file" 2>&1 > $tmpfile -+ fi -+ -+ if [ $? -ne 0 ] - then - printf $"The %%prep section of %s failed; results may be incomplete\n" "$spec_file" - if [ -z "$verbose" ] -@@ -257,8 +290,10 @@ case "$1" in - esac - - # Make sure that unpacking will not overwrite anything -+[ -n "$opt_fast" ] || \ - check_for_existing_directories || exit 1 - -+[ -n "$opt_fast" ] || \ - while read tag dir arg1 arg2 - do - case "$tag" in diff --git a/hackweek-11-13-setup-let-normalize_path-deal-with-dot.patch b/hackweek-11-13-setup-let-normalize_path-deal-with-dot.patch deleted file mode 100644 index 7d3c6f9..0000000 --- a/hackweek-11-13-setup-let-normalize_path-deal-with-dot.patch +++ /dev/null @@ -1,27 +0,0 @@ -From: Jean Delvare -Date: Tue, 20 Jan 2015 20:54:54 +0100 -Subject: setup: Let normalize_path deal with "." -Upstream: Committed (3fd706a50b7dbb4f8db6e5db014729db51e6beb0) - -Let function normalize_path handle "." path components. Otherwise -invocations like "quilt setup --sourcedir=. foo.spec" may produce -invalid series files, and "quilt setup -d ./dir foo.spec" -generates a broken "patches" link. - -diff --git a/quilt/setup.in b/quilt/setup.in -index df76368..7f69f35 100644 ---- a/quilt/setup.in -+++ b/quilt/setup.in -@@ -71,10 +71,11 @@ check_for_existing_files() - return $status - } - --# Resolve ".." in path and clean up double slashes -+# Resolve ".." in path and clean up double slashes and "." - normalize_path() - { - echo "$1" | sed -r -e 's://:/:g' \ -+ -e 's:/./:/:g' \ - -e ':again' \ - -e 's:/[^/]+/\.\.(/|$):\1:g' \ - -e 'tagain' diff --git a/hackweek-11-14-setup-fix-link-creation.patch b/hackweek-11-14-setup-fix-link-creation.patch deleted file mode 100644 index 194fc6a..0000000 --- a/hackweek-11-14-setup-fix-link-creation.patch +++ /dev/null @@ -1,22 +0,0 @@ -From: Jean Delvare -Date: Sat, 24 Jan 2015 21:32:04 +0100 -Subject: setup: Fix link creation -Upstream: Committed (c55c1993ffee5d137ff40fcab0f59520ddcb00bf) - -Fix funtion create_symlink. If the link has an absolute path then its -target should be set to an absolute path as well. This fixes the use -of "quilt setup" with an absolute -d path and a relative --sourcedir -path. - -diff --git a/quilt/setup.in b/quilt/setup.in -index 7f69f35..ddb1f00 100644 ---- a/quilt/setup.in -+++ b/quilt/setup.in -@@ -86,6 +86,7 @@ create_symlink() - local target=$1 link=$2 up - if [ "${target:0:1}" = / -o "${link:0:1}" = / ] - then -+ [ "${target:0:1}" = / ] || target=$PWD/$target - ln -s "$target" "$link" - return - fi diff --git a/hackweek-11-15-setup-missing-escape-in-normalize_path.patch b/hackweek-11-15-setup-missing-escape-in-normalize_path.patch deleted file mode 100644 index eab0306..0000000 --- a/hackweek-11-15-setup-missing-escape-in-normalize_path.patch +++ /dev/null @@ -1,27 +0,0 @@ -From: Jean Delvare -Subject: setup: Fix removal of "." components in normalize_path -Upstream: Submitted (2015-02-03) - -The code was broken in 3 ways: -* I forgot to escape the "." so it would match any character. -* The g flag is not enough to catch consecutive "." components, - because pattern matches can't overlap. -* A trailing "." component would not be removed. - -This fixes commit 3fd706a50b7dbb4f8db6e5db014729db51e6beb0 -("setup: Let normalize_path deal with "."".) ---- - quilt/setup.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/quilt/setup.in -+++ b/quilt/setup.in -@@ -75,7 +75,7 @@ check_for_existing_files() - normalize_path() - { - echo "$1" | sed -r -e 's://:/:g' \ -- -e 's:/./:/:g' \ -+ -e 's:/\.(/\.)*(/|$):\2:g' \ - -e ':again' \ - -e 's:/[^/]+/\.\.(/|$):\1:g' \ - -e 'tagain' diff --git a/hackweek-11-16-setup-fix-create_symlink-corner-case.patch b/hackweek-11-16-setup-fix-create_symlink-corner-case.patch deleted file mode 100644 index 6477e0d..0000000 --- a/hackweek-11-16-setup-fix-create_symlink-corner-case.patch +++ /dev/null @@ -1,25 +0,0 @@ -From: Jean Delvare -Subject: setup: Fix a corner case in create_symlink -Upstream: Submitted (2015-02-03) -References: boo#916007 - -When a link's target is the directory it lives in, create_symlink -would erroneously link to "..". Fix the code to properly link to "." -instead. - -Credits to Robert Milasan for spotting the bug. ---- - quilt/setup.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/quilt/setup.in -+++ b/quilt/setup.in -@@ -97,7 +97,7 @@ create_symlink() - do - set -- "${1#*/}" "${2#*/}" - done -- up=$(echo "${2%/*}" | sed -re 's:[^/]+:..:g') -+ up=$(echo "$2" | sed -r -e 's:(^|/)[^/]*$::' -e 's:[^/]+:..:g') - set -- "${up:+$up/}$1" - set -- "${1%/}" - ln -s "${1:-.}" "$link" diff --git a/inspect-skip-version-check.patch b/inspect-skip-version-check.patch deleted file mode 100644 index 02d083e..0000000 --- a/inspect-skip-version-check.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Jean Delvare -Subject: inspect: Skip version check -Upstream: Committed (6a5fcdc24dc47419da4cd688fe7fbfa189c91976) - -Commit a626fcf8b95f2ff51701a00d65043b9f65207514 (setup: Skip version -check) is insufficient for spec file-based setup commands. inspect -itself also sources patchfns, so it must also skip the version check -explicitly. ---- - quilt/scripts/inspect.in | 3 +++ - 1 file changed, 3 insertions(+) - ---- a/quilt/scripts/inspect.in -+++ b/quilt/scripts/inspect.in -@@ -8,6 +8,9 @@ - - : ${QUILT_DIR=@QUILT_DIR@} - -+# Version check is irrelevant to this script. -+skip_version_check=1 -+ - if ! [ -r $QUILT_DIR/scripts/patchfns ] - then - echo "Cannot read library $QUILT_DIR/scripts/patchfns" >&2 diff --git a/pop-add-auto-refresh.patch b/pop-add-auto-refresh.patch deleted file mode 100644 index af41f69..0000000 --- a/pop-add-auto-refresh.patch +++ /dev/null @@ -1,89 +0,0 @@ -From: Jean Delvare -Subject: pop: Add --refresh option -Upstream: Committed (7189482be1393c7b9e6170410d820f1867e8ec93) - -Add an option to automatically refresh each patch before it gets -unapplied. ---- - quilt/pop.in | 11 +++++++++-- - test/auto-refresh.test | 27 +++++++++++++++++++++++++++ - 2 files changed, 36 insertions(+), 2 deletions(-) - ---- a/quilt/pop.in -+++ b/quilt/pop.in -@@ -19,7 +19,7 @@ fi - - usage() - { -- printf $"Usage: quilt pop [-afRqv] [num|patch]\n" -+ printf $"Usage: quilt pop [-afRqv] [--refresh] [num|patch]\n" - if [ x$1 = x-h ] - then - printf $" -@@ -41,6 +41,9 @@ completion can be used. - -q Quiet operation. - - -v Verbose operation. -+ -+--refresh -+ Automatically refresh every patch before it gets unapplied. - " - exit 0 - else -@@ -163,7 +166,7 @@ remove_patch() - return $status - } - --options=`getopt -o fRqvah -- "$@"` -+options=`getopt -o fRqvah --long refresh -- "$@"` - - if [ $? -ne 0 ] - then -@@ -194,6 +197,9 @@ do - shift ;; - -h) - usage -h ;; -+ --refresh) -+ opt_refresh=1 -+ shift ;; - --) - shift - break ;; -@@ -239,6 +245,7 @@ fi - - for patch in $patches - do -+ [ -z "$opt_refresh" ] || quilt_command refresh $QUILT_REFRESH_ARGS - if ! remove_patch "$patch" - then - exit 1 ---- /dev/null -+++ b/test/auto-refresh.test -@@ -0,0 +1,27 @@ -+$ mkdir patches -+ -+$ echo a > a -+$ echo b > b -+ -+$ quilt new a.patch -+> Patch patches/a.patch is now on top -+$ quilt add a -+> File a added to patch patches/a.patch -+$ echo A > a -+ -+$ quilt new b.patch -+> Patch patches/b.patch is now on top -+$ quilt add b -+> File b added to patch patches/b.patch -+$ echo B > b -+ -+$ quilt pop -a --refresh -+> Refreshed patch patches/b.patch -+> Removing patch patches/b.patch -+> Restoring b -+> -+> Refreshed patch patches/a.patch -+> Removing patch patches/a.patch -+> Restoring a -+> -+> No patches applied diff --git a/push-add-auto-refresh.patch b/push-add-auto-refresh.patch deleted file mode 100644 index 404d456..0000000 --- a/push-add-auto-refresh.patch +++ /dev/null @@ -1,87 +0,0 @@ -From: Jean Delvare -Subject: push: Add --refresh option -Upstream: Committed (a6987289e594d5bf0492fce7067723bc2ceb2cfc) - -Add an option to automatically refresh each patch after is was -successfully applied. ---- - quilt/push.in | 11 +++++++++-- - test/auto-refresh.test | 22 ++++++++++++++++++++++ - 2 files changed, 31 insertions(+), 2 deletions(-) - ---- a/quilt/push.in -+++ b/quilt/push.in -@@ -21,7 +21,7 @@ setup_colors - - usage() - { -- printf $"Usage: quilt push [-afqv] [--merge[=merge|diff3]] [--leave-rejects] [--color[=always|auto|never]] [num|patch]\n" -+ printf $"Usage: quilt push [-afqv] [--merge[=merge|diff3]] [--leave-rejects] [--color[=always|auto|never]] [--refresh] [num|patch]\n" - if [ x$1 = x-h ] - then - printf $" -@@ -53,6 +53,9 @@ be used. - - --color[=always|auto|never] - Use syntax coloring (auto activates it only if the output is a tty). -+ -+--refresh -+ Automatically refresh every patch after it was successfully applied. - " - exit 0 - else -@@ -294,7 +297,7 @@ check_duplicate_patches() - return 1 - } - --options=`getopt -o fqvam::h --long fuzz:,merge::,leave-rejects,color:: -- "$@"` -+options=`getopt -o fqvam::h --long fuzz:,merge::,leave-rejects,color::,refresh -- "$@"` - - if [ $? -ne 0 ] - then -@@ -352,6 +355,9 @@ do - usage ;; - esac - shift 2 ;; -+ --refresh) -+ opt_refresh=1 -+ shift ;; - --) - shift - break ;; -@@ -412,6 +418,7 @@ do - then - exit 1 - fi -+ [ -z "$opt_refresh" ] || quilt_command refresh $QUILT_REFRESH_ARGS - [ -n "$opt_quiet" ] || echo - done \ - | cleanup_patch_output \ ---- a/test/auto-refresh.test -+++ b/test/auto-refresh.test -@@ -25,3 +25,25 @@ $ quilt pop -a --refresh - > Restoring a - > - > No patches applied -+ -+$ quilt push -a --refresh -+> Applying patch patches/a.patch -+> patching file a -+> Patch patches/a.patch is unchanged -+> -+> Applying patch patches/b.patch -+> patching file b -+> Patch patches/b.patch is unchanged -+> -+> Now at patch patches/b.patch -+ -+$ quilt pop -a --refresh -+> Patch patches/b.patch is unchanged -+> Removing patch patches/b.patch -+> Restoring b -+> -+> Patch patches/a.patch is unchanged -+> Removing patch patches/a.patch -+> Restoring a -+> -+> No patches applied diff --git a/quilt-0.63.tar.bz2 b/quilt-0.63.tar.bz2 deleted file mode 100644 index c6918a8..0000000 --- a/quilt-0.63.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:79ee1884720bc23456fd9943c1cf990b2f1460e46b41ed26b747399c91602b0f -size 342022 diff --git a/quilt-0.64.tar.bz2 b/quilt-0.64.tar.bz2 new file mode 100644 index 0000000..3f98fa5 --- /dev/null +++ b/quilt-0.64.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c325fda0945bae48de8647f214cf125cdfcf056771798593ccfca9c101fb8bb3 +size 354564 diff --git a/quilt-check-modified-series-rearm.patch b/quilt-check-modified-series-rearm.patch deleted file mode 100644 index 1739fbf..0000000 --- a/quilt-check-modified-series-rearm.patch +++ /dev/null @@ -1,88 +0,0 @@ -From: Jean Delvare -Subject: pop: Rearm consistency check if needed -Upstream: Committed (b42985c9b2a5f8329ad393842487c4142951818e) - -If the series file is inconsistent, "quilt pop" will disable the -consistency check as it updates the timestamp of the database file. -It's OK if all patches are popped. If not then the series file may -still be inconsistent. In that case, we want to update the timestamp -of the series file, to rearm the consistency check. ---- - quilt/pop.in | 9 +++++++++ - test/altered-series.test | 23 +++++++++++++++++------ - 2 files changed, 26 insertions(+), 6 deletions(-) - ---- a/quilt/pop.in -+++ b/quilt/pop.in -@@ -243,6 +243,13 @@ then - exit 2 - fi - -+# We will update the list of applied patches, which in turn will disable the -+# consistency check. Enable it again if needed. -+if [ -z "$opt_all" -a ! "$DB" -nt "$SERIES" ] && ! consistency_check -+then -+ rearm_check=1 -+fi -+ - for patch in $patches - do - [ -z "$opt_refresh" ] || quilt_command refresh $QUILT_REFRESH_ARGS -@@ -264,6 +271,8 @@ else - # corner cases such as files added to a patch but not modified. - $QUILT_DIR/scripts/backup-files -L -s -B "$QUILT_PC/$patch/" - - printf $"Now at patch %s\n" "$(print_patch "$patch")" -+ -+ [ -z "$rearm_check" ] || touch "$SERIES" - fi - ### Local Variables: - ### mode: shell-script ---- a/test/altered-series.test -+++ b/test/altered-series.test -@@ -6,22 +6,24 @@ $ cat > patches/series - < 02.patch - < 03.patch - --$ quilt push -q -+$ quilt push -q 2 - > Applying patch patches/01.patch - > Patch patches/01.patch does not exist; applied empty patch --> Now at patch patches/01.patch -+> Applying patch patches/02.patch -+> Patch patches/02.patch does not exist; applied empty patch -+> Now at patch patches/02.patch - - $ quilt series -v --> = patches/01.patch --> patches/02.patch -+> + patches/01.patch -+> = patches/02.patch - > patches/03.patch - - # Touch the series file but preserve the order -> OK - $ touch patches/series - - $ quilt series -v --> = patches/01.patch --> patches/02.patch -+> + patches/01.patch -+> = patches/02.patch - > patches/03.patch - - # Change the order of the patch series -> complain -@@ -33,6 +35,15 @@ $ cat > patches/series - $ quilt series -v - > The series file no longer matches the applied patches. Please run 'quilt pop -a'. - -+$ quilt pop -+> Patch patches/02.patch appears to be empty, removing -+> -+> Now at patch patches/01.patch -+ -+# That wasn't enough, keep complaining -+$ quilt series -v -+> The series file no longer matches the applied patches. Please run 'quilt pop -a'. -+ - $ quilt pop -a - > Patch patches/01.patch appears to be empty, removing - > diff --git a/quilt-check-modified-series.patch b/quilt-check-modified-series.patch deleted file mode 100644 index a9b9892..0000000 --- a/quilt-check-modified-series.patch +++ /dev/null @@ -1,139 +0,0 @@ -From: Jean Delvare -Subject: Check for series file consistency -Upstream: Committed (54268c1aab28ce763ec028982bf54236488dacc5) - -Quilt allows manual changes to the series file to some degree. For -example, adding comments or reordering patches in the unapplied -section of the series file is OK. However, changing the order of -applied patches breaks a number of assumptions and can cause quilt to -produce unexpected or confusing results. - -For example, starting from this: - -+ patches/01.patch -= patches/02.patch - patches/03.patch - patches/04.patch - -and moving the last patch at the beginning of the series file, -"quilt series -v" will print: - -+ patches/04.patch -+ patches/01.patch -= patches/02.patch - patches/03.patch - -That is, it will claim that 04.patch is applied, while it it not. -Likewise, 04.patch would be listed by neither "quilt applied" nor -"quilt unapplied". - -While addressing all such cases would certainly be possible, that -would require a significant amount of work, and would come with -performance penalties. It would also be difficult to be certain that -all issues have been found and addressed. So it seems more reasonable -to simply spot such manual changes to the series file and ask the user -to pop all patches to start from a clean state as needed. ---- - quilt/scripts/patchfns.in | 35 ++++++++++++++++++++++++++++++++--- - test/altered-series.test | 44 ++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 76 insertions(+), 3 deletions(-) - ---- a/quilt/scripts/patchfns.in -+++ b/quilt/scripts/patchfns.in -@@ -948,6 +948,24 @@ version_check() - return 1 - } - -+consistency_check() -+{ -+ local top applied patches -+ -+ top=$(top_patch) -+ applied=$(applied_before "$top") -+ patches=$(patches_before "$top") -+ -+ if [ "$applied" != "$patches" ] -+ then -+ return 1 -+ else -+ # Skip check until series file is modified again -+ touch "$DB" -+ return 0 -+ fi -+} -+ - print_patch() - { - echo "${QUILT_PATCHES_PREFIX:+$SUBDIR_DOWN$QUILT_PATCHES/}$1" -@@ -1094,10 +1112,21 @@ fi - - DB="$QUILT_PC/applied-patches" - --if [ -z "$skip_version_check" ] && ! version_check -+if [ -z "$skip_version_check" ] - then -- printf $"The working tree was created by an older version of quilt. Please run 'quilt upgrade'.\n" >&2 -- exit 1 -+ if ! version_check -+ then -+ printf $"The working tree was created by an older version of quilt. Please run 'quilt upgrade'.\n" >&2 -+ exit 1 -+ fi -+ -+ # Check if series file was modified manually, and if this is the case, -+ # make sure it is still consistent with the applied patches -+ if [ -s "$DB" -a ! "$DB" -nt "$SERIES" ] && [ "$QUILT_COMMAND" != pop ] && ! consistency_check -+ then -+ printf $"The series file no longer matches the applied patches. Please run 'quilt pop -a'.\n" >&2 -+ exit 1 -+ fi - fi - ### Local Variables: - ### mode: shell-script ---- /dev/null -+++ b/test/altered-series.test -@@ -0,0 +1,44 @@ -+# Check that manual changes to the series file are detected -+ -+$ mkdir patches -+$ cat > patches/series -+< 01.patch -+< 02.patch -+< 03.patch -+ -+$ quilt push -q -+> Applying patch patches/01.patch -+> Patch patches/01.patch does not exist; applied empty patch -+> Now at patch patches/01.patch -+ -+$ quilt series -v -+> = patches/01.patch -+> patches/02.patch -+> patches/03.patch -+ -+# Touch the series file but preserve the order -> OK -+$ touch patches/series -+ -+$ quilt series -v -+> = patches/01.patch -+> patches/02.patch -+> patches/03.patch -+ -+# Change the order of the patch series -> complain -+$ cat > patches/series -+< 03.patch -+< 01.patch -+< 02.patch -+ -+$ quilt series -v -+> The series file no longer matches the applied patches. Please run 'quilt pop -a'. -+ -+$ quilt pop -a -+> Patch patches/01.patch appears to be empty, removing -+> -+> No patches applied -+ -+$ quilt series -v -+> patches/03.patch -+> patches/01.patch -+> patches/02.patch diff --git a/quilt-el-fix-patch-select-completion.patch b/quilt-el-fix-patch-select-completion.patch deleted file mode 100644 index f3cb440..0000000 --- a/quilt-el-fix-patch-select-completion.patch +++ /dev/null @@ -1,22 +0,0 @@ -From: Leonid Movshovich -Date: Sun, 18 Jan 2015 10:04:56 +0100 -Subject: quilt-el: Fix patch select completion -Upstream: Committed (88decf920d2741ab4411f75827ce72beb0dc6995) - -A typo in quilt-patch-list prevents patch select completion operation. - -Reviewed and tested by Satoru Takeuchi. - -diff --git a/lib/quilt.el b/lib/quilt.el -index 0a57b05..be359e5 100644 ---- a/lib/quilt.el -+++ b/lib/quilt.el -@@ -126,7 +126,7 @@ - - (defun quilt-patch-list () - "Return the list of the name of patches." -- (quilt-cmd-to-list "seriess")) -+ (quilt-cmd-to-list "series")) - - (defun quilt-files-affected (&optional first last) - "Return the file names which modified from FIRST to LAST." diff --git a/quilt-el-fix-tramp-support.patch b/quilt-el-fix-tramp-support.patch deleted file mode 100644 index 86290d4..0000000 --- a/quilt-el-fix-tramp-support.patch +++ /dev/null @@ -1,32 +0,0 @@ -From: Leonid Movshovich -Date: Sun, 18 Jan 2015 10:04:52 +0100 -Subject: quilt-el: Fix tramp support -Upstream: Committed (7be8f49a95a528e4c46df0cfe26877457c95ac0e) - -quilt-find-dir goes to endless recursion if root is not '/'. This -holds for files opened with tramp for example. - -Reviewed and tested by Satoru Takeuchi. - -diff --git a/lib/quilt.el b/lib/quilt.el -index 6fe1c32..0a57b05 100644 ---- a/lib/quilt.el -+++ b/lib/quilt.el -@@ -45,14 +45,14 @@ - (or (getenv "QUILT_PATCHES") - "patches"))) - --(defun quilt-find-dir (fn) -+(defun quilt-find-dir (fn &optional prefn) - "Return the top level dir of quilt from FN." -- (if (or (not fn) (equal fn "/")) -+ (if (or (not fn) (equal fn "/") (equal fn prefn)) - nil - (let ((d (file-name-directory fn))) - (if (file-accessible-directory-p (concat d "/.pc")) - d -- (quilt-find-dir (directory-file-name d)))))) -+ (quilt-find-dir (directory-file-name d) d))))) - - (defun quilt-dir (&optional fn) - "Return the top level dir of quilt from FN. FN is just a hint and find from other way if FN is nil." diff --git a/quilt-format-options-pass-through.patch b/quilt-format-options-pass-through.patch deleted file mode 100644 index a385390..0000000 --- a/quilt-format-options-pass-through.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Jean Delvare -Subject: Allow patch format options to pass through -Upstream: Committed (5fd023e14932bd01dbd5cbd6636a7ea5531c5d40) - -In order to make "quilt_command refresh" work properly, we must ensure -that format options are passed through. ---- - quilt/scripts/patchfns.in | 5 +++++ - 1 file changed, 5 insertions(+) - ---- a/quilt/scripts/patchfns.in -+++ b/quilt/scripts/patchfns.in -@@ -976,6 +976,11 @@ quilt_command() - local command=$1 - shift - -+ # Refreshing here must produce the same output as "quilt refresh" on -+ # the command line -+ export QUILT_NO_DIFF_INDEX -+ export QUILT_NO_DIFF_TIMESTAMPS -+ - QUILT_COMMAND="" bash $BASH_OPTS -c "${SUBDIR:+cd $SUBDIR;} . $QUILT_DIR/$command" "quilt $command" "$@" - } - diff --git a/quilt.changes b/quilt.changes index c6b4ff9..22c1b11 100644 --- a/quilt.changes +++ b/quilt.changes @@ -1,3 +1,44 @@ +------------------------------------------------------------------- +Mon Feb 16 15:43:04 CET 2015 - jdelvare@suse.de + +- Update to version 0.64: + o Performance: Several optimizations + o Test suite: Several fixes and coverage improvements + o Test suite: Run the tests in predictable order + o files: Add support for unapplied patches + o graph: Check for graphviz availability + o mail: Remove procmail dependency + o push: Do not use interactive mode with -f + o Obsoletes dont-substitute-release.patch + o Obsoletes hackweek-11-01-comment-update.patch + o Obsoletes hackweek-11-02-cleanups.patch + o Obsoletes hackweek-11-03-inspect-list-all-options.patch + o Obsoletes hackweek-11-04-pass-through.patch + o Obsoletes hackweek-11-05-no-explicit-rm.patch + o Obsoletes hackweek-11-06-exclude-from-md5sums.patch + o Obsoletes hackweek-11-07-normalize-path.patch + o Obsoletes hackweek-11-08-inspect-split-wrapper-script.patch + o Obsoletes hackweek-11-09-inspect-temporary-data-file.patch + o Obsoletes hackweek-11-10-setup-fix-path-to-extra-patches.patch + o Obsoletes hackweek-11-11-setup-trace-call-first.patch + o Obsoletes hackweek-11-12-setup-alternative-implementation-v2.patch + o Obsoletes hackweek-11-13-setup-let-normalize_path-deal-with-dot.patch + o Obsoletes hackweek-11-14-setup-fix-link-creation.patch + o Obsoletes hackweek-11-15-setup-missing-escape-in-normalize_path.patch + o Obsoletes hackweek-11-16-setup-fix-create_symlink-corner-case.patch + o Obsoletes inspect-skip-version-check.patch + o Obsoletes pop-add-auto-refresh.patch + o Obsoletes push-add-auto-refresh.patch + o Obsoletes quilt-check-modified-series-rearm.patch + o Obsoletes quilt-check-modified-series.patch + o Obsoletes quilt-el-fix-patch-select-completion.patch + o Obsoletes quilt-el-fix-tramp-support.patch + o Obsoletes quilt-format-options-pass-through.patch + o Obsoletes setup-check-for-rpmbuild.patch + o Obsoletes setup-fix-tar-with-long-options.patch + o Obsoletes setup-skip-version-check.patch +- Refresh suse-workaround-pseudo-release.patch + ------------------------------------------------------------------- Wed Feb 4 08:52:03 CET 2015 - jdelvare@suse.de diff --git a/quilt.spec b/quilt.spec index 9b270cf..993235a 100644 --- a/quilt.spec +++ b/quilt.spec @@ -17,7 +17,7 @@ Name: quilt -Version: 0.63 +Version: 0.64 Release: 0 Summary: A Tool for Working with Many Patches License: GPL-2.0+ @@ -43,34 +43,6 @@ Patch1: expand.diff Patch2: quilt-support-vimdiff.patch Patch3: patch-wrapper-rpm.diff Patch4: suse-workaround-pseudo-release.patch -Patch5: setup-skip-version-check.patch -Patch6: setup-check-for-rpmbuild.patch -Patch7: setup-fix-tar-with-long-options.patch -Patch8: quilt-format-options-pass-through.patch -Patch9: pop-add-auto-refresh.patch -Patch10: push-add-auto-refresh.patch -Patch11: inspect-skip-version-check.patch -Patch12: quilt-check-modified-series.patch -Patch13: quilt-check-modified-series-rearm.patch -Patch14: quilt-el-fix-tramp-support.patch -Patch15: quilt-el-fix-patch-select-completion.patch -Patch16: dont-substitute-release.patch -Patch61: hackweek-11-01-comment-update.patch -Patch62: hackweek-11-02-cleanups.patch -Patch63: hackweek-11-03-inspect-list-all-options.patch -Patch64: hackweek-11-04-pass-through.patch -Patch65: hackweek-11-05-no-explicit-rm.patch -Patch66: hackweek-11-06-exclude-from-md5sums.patch -Patch67: hackweek-11-07-normalize-path.patch -Patch68: hackweek-11-08-inspect-split-wrapper-script.patch -Patch69: hackweek-11-09-inspect-temporary-data-file.patch -Patch70: hackweek-11-10-setup-fix-path-to-extra-patches.patch -Patch71: hackweek-11-11-setup-trace-call-first.patch -Patch72: hackweek-11-12-setup-alternative-implementation-v2.patch -Patch73: hackweek-11-13-setup-let-normalize_path-deal-with-dot.patch -Patch74: hackweek-11-14-setup-fix-link-creation.patch -Patch75: hackweek-11-15-setup-missing-escape-in-normalize_path.patch -Patch76: hackweek-11-16-setup-fix-create_symlink-corner-case.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch %if 0%{?suse_version} @@ -96,34 +68,6 @@ http://www.zip.com.au/~akpm/linux/patches/. %patch2 -p1 %patch3 -p1 %patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 -%patch9 -p1 -%patch10 -p1 -%patch11 -p1 -%patch12 -p1 -%patch13 -p1 -%patch14 -p1 -%patch15 -p1 -%patch16 -p1 -%patch61 -p1 -%patch62 -p1 -%patch63 -p1 -%patch64 -p1 -%patch65 -p1 -%patch66 -p1 -%patch67 -p1 -%patch68 -p1 -%patch69 -p1 -%patch70 -p1 -%patch71 -p1 -%patch72 -p1 -%patch73 -p1 -%patch74 -p1 -%patch75 -p1 -%patch76 -p1 %build # --with-rpmbuild=/usr/lib/rpm/rpmb: diff --git a/setup-check-for-rpmbuild.patch b/setup-check-for-rpmbuild.patch deleted file mode 100644 index f2f95f7..0000000 --- a/setup-check-for-rpmbuild.patch +++ /dev/null @@ -1,28 +0,0 @@ -From: Jean Delvare -Subject: setup: Check for rpmbuild availability -References: bnc#873817 -Upstream: Committed (bf8bc1cfc097ab7692d2ce41a9933ea3b0d9e5e7) - -Before running inspect on a spec file, verify that rpmbuild is -available. Print a user-friendly error message if not. ---- - quilt/setup.in | 8 ++++++++ - 1 file changed, 8 insertions(+) - ---- a/quilt/setup.in -+++ b/quilt/setup.in -@@ -173,6 +173,14 @@ case "$1" in - *.spec) - spec_file=$1 - -+ # check if rpmbuild is installed before running inspect -+ if ! type rpmbuild &> /dev/null -+ then -+ printf $"You have to install '%s' (from package %s) to use 'quilt %s'\n" \ -+ rpmbuild rpm-build setup >&2 -+ exit 1 -+ fi -+ - if ! $QUILT_DIR/scripts/inspect $verbose $opt_sourcedir $opt_fuzz \ - "$spec_file" 2>&1 > $tmpfile - then diff --git a/setup-fix-tar-with-long-options.patch b/setup-fix-tar-with-long-options.patch deleted file mode 100644 index 39b91d3..0000000 --- a/setup-fix-tar-with-long-options.patch +++ /dev/null @@ -1,87 +0,0 @@ -From: Jean Delvare -Subject: inspect: Handle long options passed to tar -Upstream: Committed (1e9f433f693b4ee09ebf3267222b11694448e81f) - -The command line interface to tar is complex and sometimes confusing, -but we should still do our best to figure out where the file name is -on that command line. - -Add support for the --file FILE and --file=FILE options. Other long -options must be explicitly skipped, as well as short options not -containing the letter "f". - -With this we should be good to go in most real-world cases, but -there are still a few corner cases we may not handle properly. Let's -just hope we never hit them. - -Reported by Petr Tesarik. ---- -Changes since v1: -* Fix an endless loop when trying to parse options "x --file file". -* On "-xC software -f file", the previous code would extract "-f" as - the file name, instead of "file". - - quilt/scripts/inspect.in | 45 +++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 45 insertions(+) - ---- a/quilt/scripts/inspect.in -+++ b/quilt/scripts/inspect.in -@@ -258,13 +258,58 @@ cat <<-'EOF' > $tmpdir/bin/wrapper - tar_input_file() - { - case "$1" in -+ # Modern option format -+ -*) -+ while [ $# -gt 0 ]; do -+ case "$1" in -+ # Extract the file name (long option) -+ --file) -+ echo "$2" -+ return -+ ;; -+ --file=*) -+ echo "${1#--file=}" -+ return -+ ;; -+ # Skip other long options -+ --*) -+ shift -+ ;; -+ # Extract the file name (short option) -+ -*f) -+ echo "$2" -+ return -+ ;; -+ -f*) -+ echo "${1#-f}" -+ return -+ ;; -+ # Skip other short options and parameters -+ *) -+ shift -+ ;; -+ esac -+ done -+ ;; -+ # Legacy option format (must always come first) - *C*f*) - echo "$3" -+ return - ;; - *f*) - echo "$2" -+ return -+ ;; -+ ?*) -+ # Eat legacy options and try again -+ until [ $# -eq 0 -o "${1:0:1}" = "-" ]; do -+ shift -+ done -+ tar_input_file "$@" -+ return - ;; - esac -+ return 1 - } - - unzip_input_file() diff --git a/setup-skip-version-check.patch b/setup-skip-version-check.patch deleted file mode 100644 index 3fe599d..0000000 --- a/setup-skip-version-check.patch +++ /dev/null @@ -1,43 +0,0 @@ -From: Jean Delvare -Subject: setup: Skip version check -Upstream: Committed (a626fcf8b95f2ff51701a00d65043b9f65207514) - -The version check is irrelevant when running "quilt setup", as it is -creating a brand new working tree anyway. - -Reported by Petr Tesarik. ---- -diff --git a/quilt/setup.in b/quilt/setup.in -index 36d0d24..a90c5ad 100644 ---- a/quilt/setup.in -+++ b/quilt/setup.in -@@ -6,6 +6,9 @@ - # - # See the COPYING and AUTHORS files for more details. - -+# Version check is irrelevant to this command. -+skip_version_check=1 -+ - # Read in library functions - if [ "$(type -t patch_file_name)" != function ] - then -diff --git a/test/setup.test b/test/setup.test -index 5a39475..69725ec 100644 ---- a/test/setup.test -+++ b/test/setup.test -@@ -32,6 +32,13 @@ $ quilt push -qa - > Now at patch patches/again.diff - $ cd .. - $ rm -rf dir -+ -+# Quilt setup should happily ignore patches and .pc directories -+$ mkdir .pc patches -+$ quilt setup series -+> Unpacking archive dir.tar.gz -+$ rm -rf dir .pc patches -+ - $ quilt setup -d other series - > Unpacking archive dir.tar.gz - $ cd other/dir --- -cgit v0.9.0.2 diff --git a/suse-workaround-pseudo-release.patch b/suse-workaround-pseudo-release.patch index fd7ee3b..38af699 100644 --- a/suse-workaround-pseudo-release.patch +++ b/suse-workaround-pseudo-release.patch @@ -5,23 +5,23 @@ newer versions of rpmbuild don't like. Filter them out to make rpmbuild happy again. Packages in openSUSE 11.4 and later no longer need this. --- - quilt/scripts/inspect.in | 8 ++++++++ + quilt/setup.in | 8 ++++++++ 1 file changed, 8 insertions(+) ---- quilt-0.51.orig/quilt/scripts/inspect.in -+++ quilt-0.51/quilt/scripts/inspect.in -@@ -67,6 +67,14 @@ add_exit_handler "rm -rf $tmpdir" - mkdir -p $tmpdir/build - mkdir -p $tmpdir/bin +--- a/quilt/setup.in ++++ b/quilt/setup.in +@@ -230,6 +230,14 @@ inspect() + mkdir -p $tmpdir/build + fi -+# Older versions of Suse packages have a symbolic release number, and rpmbuild -+# won't like that, so change it to something compliant. -+if grep -q '^Release:.*[<>]' "$specdir/$specfile" -+then -+ sed -e '/^Release:/s/[<>]//g' < "$specdir/$specfile" > $tmpdir/"$specfile" -+ specdir=$tmpdir -+fi ++ # Older versions of Suse packages have a symbolic release number, and ++ # rpmbuild won't like that, so change it to something compliant. ++ if grep -q '^Release:.*[<>]' "$specdir/$specfile" ++ then ++ sed -e '/^Release:/s/[<>]//g' < "$specdir/$specfile" > $tmpdir/"$specfile" ++ specdir=$tmpdir ++ fi + - # Redirect file descriptors - # 5 is used in verbose mode, 4 in non-verbose mode, and 2 for both (real errors) - if [ -n "$verbose" ] + # Redirect file descriptors + # 5 is used in verbose mode, 4 in non-verbose mode, and 2 for both (real errors) + if [ -n "$verbose" ] From 6c57f63fdf7bb505f6269ece52a81c4425239f0e1ee1c27fca94856b3c3ce0fa Mon Sep 17 00:00:00 2001 From: Jean Delvare Date: Mon, 16 Feb 2015 16:29:50 +0000 Subject: [PATCH 2/2] Translation fixes: - translation-fixes-01.patch: Make gettext happy (needed so that following patches apply cleanly.) - translation-fixes-02.patch: Missing escape in Japanese translation. - translation-fixes-03.patch: Improve the German translation (including a number of important fixes.) - translation-fixes-04.patch: Fix translation of main usage message (all languages.) Fixes to the "edit" command: - edit-01-test-file-creation.patch: edit: Improve the test case (needed so that following patches apply cleanly.) - edit-02-call-remove-not-revert.patch: edit: Use command "remove" to remove files. - edit-03-fix-corner-case.patch: edit: Fix a corner case. OBS-URL: https://build.opensuse.org/package/show/devel:tools:scm/quilt?expand=0&rev=100 --- edit-01-test-file-creation.patch | 66 +++ edit-02-call-remove-not-revert.patch | 48 +++ edit-03-fix-corner-case.patch | 91 +++++ quilt.changes | 20 + quilt.spec | 14 + translation-fixes-01.patch | 138 +++++++ translation-fixes-02.patch | 23 ++ translation-fixes-03.patch | 576 +++++++++++++++++++++++++++ translation-fixes-04.patch | 206 ++++++++++ 9 files changed, 1182 insertions(+) create mode 100644 edit-01-test-file-creation.patch create mode 100644 edit-02-call-remove-not-revert.patch create mode 100644 edit-03-fix-corner-case.patch create mode 100644 translation-fixes-01.patch create mode 100644 translation-fixes-02.patch create mode 100644 translation-fixes-03.patch create mode 100644 translation-fixes-04.patch diff --git a/edit-01-test-file-creation.patch b/edit-01-test-file-creation.patch new file mode 100644 index 0000000..e3eee9b --- /dev/null +++ b/edit-01-test-file-creation.patch @@ -0,0 +1,66 @@ +From: Jean Delvare +Subject: edit: Improve the test case +Upstream: Submitted (2011-02-11) + +Cover one more use case of the "edit" command in the test case: file +creation. + +Also reorder some of the commands to make the tests easier to follow. +The intent is easier to understand when the result is tested after +each command. +--- + test/edit.test | 27 ++++++++++++++++++++++++--- + 1 file changed, 24 insertions(+), 3 deletions(-) + +--- a/test/edit.test ++++ b/test/edit.test +@@ -1,5 +1,6 @@ + $ mkdir patches subdir + ++# Test the behavior if the editor modifies existing files + $ cat > editor + < #! /bin/sh + < echo Editing $1 +@@ -16,15 +17,15 @@ $ quilt edit foobar + > File foobar added to patch patches/patch + > Editing foobar + ++$ cat foobar ++> barbar ++ + $ cd subdir + $ echo foo > foo + $ quilt edit foo + > File subdir/foo added to patch ../patches/patch + > Editing subdir/foo +- + $ cd .. +-$ cat foobar +-> barbar + + $ cat subdir/foo + > bar +@@ -32,3 +33,23 @@ $ cat subdir/foo + $ quilt files + > foobar + > subdir/foo ++ ++$ quilt refresh ++> Refreshed patch patches/patch ++ ++# Test the behavior if the editor creates a brand new file ++$ cat > editor ++< #! /bin/sh ++< echo Creating $1 ++< echo "new line" > $1 ++ ++$ quilt edit foo2 ++> File foo2 added to patch patches/patch ++> Creating foo2 ++$ cat foo2 ++> new line ++ ++$ quilt files -v ++> + foo2 ++> foobar ++> subdir/foo diff --git a/edit-02-call-remove-not-revert.patch b/edit-02-call-remove-not-revert.patch new file mode 100644 index 0000000..46356b6 --- /dev/null +++ b/edit-02-call-remove-not-revert.patch @@ -0,0 +1,48 @@ +From: Jean Delvare +Subject: edit: Use command "remove" to remove files +Upstream: Submitted (2011-02-11) + +Commit f1c186ee renamed command "remove" to "revert". Commit bd1dfdab +changed the semantics of command "revert". Commit 6d2501ac restored +command "remove". However command "edit" is still calling command +"revert" to remove files from the patch when it should be using +command "remove". + +This case was not covered by the test suite, which is why the bug was +not spotted earlier. +--- + quilt/edit.in | 2 +- + test/edit.test | 11 +++++++++++ + 2 files changed, 12 insertions(+), 1 deletion(-) + +--- a/quilt/edit.in ++++ b/quilt/edit.in +@@ -71,7 +71,7 @@ for file in "$@" + do + if ! [ -e "$SUBDIR$file" ] + then +- quilt_command revert "$file" ++ quilt_command remove "$file" + status=1 + fi + done +--- a/test/edit.test ++++ b/test/edit.test +@@ -37,6 +37,17 @@ $ quilt files + $ quilt refresh + > Refreshed patch patches/patch + ++# Test the behavior if the editor is called on a new file but ++# does not actually create it ++$ cat > editor ++< #! /bin/sh ++< echo Doing nothing to $1 ++ ++$ quilt edit nofoo ++> File nofoo added to patch patches/patch ++> Doing nothing to nofoo ++> File nofoo removed from patch patches/patch ++ + # Test the behavior if the editor creates a brand new file + $ cat > editor + < #! /bin/sh diff --git a/edit-03-fix-corner-case.patch b/edit-03-fix-corner-case.patch new file mode 100644 index 0000000..b9707d0 --- /dev/null +++ b/edit-03-fix-corner-case.patch @@ -0,0 +1,91 @@ +From: Jean Delvare +Subject: edit: Fix a corner case +Upstream: Submitted (2011-02-11) + +There is one corner case which is not properly handled by the "edit" +command. If a patch deletes a file, and the user calls "quilt edit" +on that file but does not actually add anything back to it, "quilt +remove" is called on the file when the editor exits. This causes +the file to be restored to its original state before the patch deleted +it. The user never asked for that, so the file should be left to its +deleted state in this case. The file must only be removed from the +patch if it was not part of the patch originally. + +The same problem would occur if the editor deleted the file. In +general text editors don't do that, they'd leave an empty file +instead, but nothing prevents them from actually deleting the file so +we should handle this case properly too. +--- + quilt/edit.in | 4 +++- + test/edit.test | 33 ++++++++++++++++++++++++++++++++- + 2 files changed, 35 insertions(+), 2 deletions(-) + +--- a/quilt/edit.in ++++ b/quilt/edit.in +@@ -67,9 +67,11 @@ then + fi + LANG=$ORIGINAL_LANG $EDITOR "${@/#/$SUBDIR}" + status=$? ++ ++patch=$(top_patch) + for file in "$@" + do +- if ! [ -e "$SUBDIR$file" ] ++ if [ ! -e "$SUBDIR$file" -a ! -s "$QUILT_PC/$patch/$file" ] + then + quilt_command remove "$file" + status=1 +--- a/test/edit.test ++++ b/test/edit.test +@@ -37,6 +37,19 @@ $ quilt files + $ quilt refresh + > Refreshed patch patches/patch + ++# Test the behavior if the editor deletes a file completely ++$ echo foobaz > foobaz ++$ cat > editor ++< #! /bin/sh ++< echo Deleting $1 ++< rm -f $1 ++ ++$ quilt edit foobaz ++> File foobaz added to patch patches/patch ++> Deleting foobaz ++ ++$ [ ! -e foobaz ] || echo "File foobaz shouldn't exist" ++ + # Test the behavior if the editor is called on a new file but + # does not actually create it + $ cat > editor +@@ -48,6 +61,23 @@ $ quilt edit nofoo + > Doing nothing to nofoo + > File nofoo removed from patch patches/patch + ++# Test the behavior if the patch is deleting a file and the ++# user calls "quilt edit" on that file but makes no change to it ++$ rm -f foobar ++$ quilt refresh ++> Refreshed patch patches/patch ++$ quilt diff -p ab --no-index foobar ++> --- a/foobar ++> +++ /dev/null ++> @@ -1 +0,0 @@ ++> -foobar ++ ++$ quilt edit foobar ++> File foobar is already in patch patches/patch ++> Doing nothing to foobar ++ ++$ [ ! -e foobar ] || echo "File foobar shouldn't exist" ++ + # Test the behavior if the editor creates a brand new file + $ cat > editor + < #! /bin/sh +@@ -62,5 +92,6 @@ $ cat foo2 + + $ quilt files -v + > + foo2 +-> foobar ++> - foobar ++> - foobaz + > subdir/foo diff --git a/quilt.changes b/quilt.changes index 22c1b11..df654e6 100644 --- a/quilt.changes +++ b/quilt.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Mon Feb 16 17:22:51 CET 2015 - jdelvare@suse.de + +Translation fixes: +- translation-fixes-01.patch: Make gettext happy (needed so that + following patches apply cleanly.) +- translation-fixes-02.patch: Missing escape in Japanese + translation. +- translation-fixes-03.patch: Improve the German translation + (including a number of important fixes.) +- translation-fixes-04.patch: Fix translation of main usage message + (all languages.) + +Fixes to the "edit" command: +- edit-01-test-file-creation.patch: edit: Improve the test case + (needed so that following patches apply cleanly.) +- edit-02-call-remove-not-revert.patch: edit: Use command "remove" + to remove files. +- edit-03-fix-corner-case.patch: edit: Fix a corner case. + ------------------------------------------------------------------- Mon Feb 16 15:43:04 CET 2015 - jdelvare@suse.de diff --git a/quilt.spec b/quilt.spec index 993235a..44a56b1 100644 --- a/quilt.spec +++ b/quilt.spec @@ -43,6 +43,13 @@ Patch1: expand.diff Patch2: quilt-support-vimdiff.patch Patch3: patch-wrapper-rpm.diff Patch4: suse-workaround-pseudo-release.patch +Patch5: translation-fixes-01.patch +Patch6: translation-fixes-02.patch +Patch7: translation-fixes-03.patch +Patch8: translation-fixes-04.patch +Patch9: edit-01-test-file-creation.patch +Patch10: edit-02-call-remove-not-revert.patch +Patch11: edit-03-fix-corner-case.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch %if 0%{?suse_version} @@ -68,6 +75,13 @@ http://www.zip.com.au/~akpm/linux/patches/. %patch2 -p1 %patch3 -p1 %patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 +%patch10 -p1 +%patch11 -p1 %build # --with-rpmbuild=/usr/lib/rpm/rpmb: diff --git a/translation-fixes-01.patch b/translation-fixes-01.patch new file mode 100644 index 0000000..5a2bb04 --- /dev/null +++ b/translation-fixes-01.patch @@ -0,0 +1,138 @@ +From: Jean Delvare +Date: Tue, 10 Feb 2015 09:22:06 +0000 +Subject: Make gettext happy +Upstream: Committed (cd591fb1656cf9649e92cc5f49925bbc590aae84) +--- +diff --git a/po/de.po b/po/de.po +index 5686299..e8190cf 100644 +--- a/po/de.po ++++ b/po/de.po +@@ -211,9 +211,9 @@ msgid "" + "R] [-P patch] [--snapshot] [--diff=utility] [--no-timestamps] [--no-index] " + "[--sort] [--color[=always|auto|never]] [file ...]\\n" + msgstr "" +-"Aufruf: quilt diff [-p n|-p ab] [-u|-U num|-c|-C num] [--combine patch|-" +-"z] [-R] [-P patch] [--snapshot] [--diff=programm] [--no-timestamps] [--no-" +-"index] [--sort] [--color[=always|auto|never]] [datei ...]\\n" ++"Aufruf: quilt diff [-p n|-p ab] [-u|-U num|-c|-C num] [--combine patch|-z] [-" ++"R] [-P patch] [--snapshot] [--diff=programm] [--no-timestamps] [--no-index] " ++"[--sort] [--color[=always|auto|never]] [datei ...]\\n" + + #: quilt/diff.in:28 + msgid "" +@@ -496,8 +496,8 @@ msgid "" + "Usage: quilt graph [--all] [--reduce] [--lines[=num]] [--edge-labels=files] " + "[-T ps] [patch]\\n" + msgstr "" +-"Aufruf: quilt graph [--all] [--reduce] [--lines[=num]] [--edge-" +-"labels=files] [-T ps] [patch]\\n" ++"Aufruf: quilt graph [--all] [--reduce] [--lines[=num]] [--edge-labels=files] " ++"[-T ps] [patch]\\n" + + #: quilt/graph.in:26 + msgid "" +@@ -746,8 +746,8 @@ msgid "" + "[--sender ...] [--from ...] [--to ...] [--cc ...] [--bcc ...] [--" + "subject ...] [--reply-to message] [first_patch [last_patch]]\\n" + msgstr "" +-"Aufruf: quilt mail {--mbox datei|--send} [-m text] [-M datei] [--prefix präfix] " +-"[--sender ...] [--from ...] [--to ...] [--cc ...] [--bcc ...] [--" ++"Aufruf: quilt mail {--mbox datei|--send} [-m text] [-M datei] [--prefix " ++"präfix] [--sender ...] [--from ...] [--to ...] [--cc ...] [--bcc ...] [--" + "subject ...] [--reply-to message] [first_patch [last_patch]]\\n" + + #: quilt/mail.in:27 +@@ -850,8 +850,8 @@ msgstr "Einleitungsnachricht bereits angegeben" + #: quilt/mail.in:310 + msgid "Could not determine the envelope sender address. Please use --sender." + msgstr "" +-"Die Envelope-Adresse konnte nicht festgestellt werden. Bitte verwenden Sie " +-"--sender." ++"Die Envelope-Adresse konnte nicht festgestellt werden. Bitte verwenden Sie --" ++"sender." + + #: quilt/mail.in:455 + msgid "Unable to extract a subject header from %s\\n" +@@ -924,8 +924,8 @@ msgstr "" + msgid "" + "Cannot create patches with -p%s, please specify -p0, p1, or -pab instead\\n" + msgstr "" +-"Patches mit Level -p%s können nicht erzeugt werden, bitte stattdessen " +-"-p0, -p1 oder -pab angeben\\n" ++"Patches mit Level -p%s können nicht erzeugt werden, bitte stattdessen -p0, -" ++"p1 oder -pab angeben\\n" + + #: quilt/new.in:89 + msgid "QUILT_PATCHES(%s) must differ from QUILT_PC(%s)\\n" +@@ -1216,9 +1216,9 @@ msgid "" + "[--no-timestamps] [--no-index] [--diffstat] [--sort] [--backup] [--strip-" + "trailing-whitespace] [patch]\\n" + msgstr "" +-"Aufruf: quilt refresh [-p n|-p ab] [-u|-U num|-c|-C num] [-z[new_name]] " +-"[-f] [--no-timestamps] [--no-index] [--diffstat] [--sort] [--backup] [--" +-"strip-trailing-whitespace] [patch]\\n" ++"Aufruf: quilt refresh [-p n|-p ab] [-u|-U num|-c|-C num] [-z[new_name]] [-f] " ++"[--no-timestamps] [--no-index] [--diffstat] [--sort] [--backup] [--strip-" ++"trailing-whitespace] [patch]\\n" + + #: quilt/refresh.in:26 + msgid "" +@@ -1355,8 +1355,8 @@ msgid "" + "Cannot use --strip-trailing-whitespace on a patch that has shadowed files.\\n" + msgstr "" + "--strip-trailing-whitespace kann nicht für Patches verwendt werden, die " +-"Dateien enthalten, welche danach von anderen Patches weiter verändert " +-"werden.\\n" ++"Dateien enthalten, welche danach von anderen Patches weiter verändert werden." ++"\\n" + + #: quilt/refresh.in:253 quilt/refresh.in:355 + msgid "Nothing in patch %s\\n" +@@ -1526,16 +1526,16 @@ msgstr "" + #: quilt/scripts/patchfns.in:1018 + msgid "You have to install '%s' (from package %s) to use 'quilt %s'\\n" + msgstr "" +-"Sie müssen '%s' (aus dem Paket %s) installieren, um 'quilt %s' nutzen zu" +-"können\\n" ++"Sie müssen '%s' (aus dem Paket %s) installieren, um 'quilt %s' nutzen " ++"zukönnen\\n" + + #: quilt/scripts/patchfns.in:1138 + msgid "" + "The working tree was created by an older version of quilt. Please run 'quilt " + "upgrade'.\\n" + msgstr "" +-"Das Arbeitsverzeichnis wurde von einer älteren quilt-Version erstellt. " +-"Bitte führen Sie \\`quilt upgrade' aus.\\n" ++"Das Arbeitsverzeichnis wurde von einer älteren quilt-Version erstellt. Bitte " ++"führen Sie \\`quilt upgrade' aus.\\n" + + #: quilt/scripts/patchfns.in:1146 + msgid "" +@@ -1647,8 +1647,7 @@ msgid "" + msgstr "" + "\n" + "Initialisiert einen Quellbaum aus einer rpm-spec-Datei oder einer quilt-\n" +-"series-Datei." +-"\n" ++"series-Datei.\n" + "-d\tOptionaler Pfadpräfix für den resultierenden Quellbaum.\n" + "\n" + "--sourcedir\n" +diff --git a/po/ja.po b/po/ja.po +index 13fb9f5..43bb657 100644 +--- a/po/ja.po ++++ b/po/ja.po +@@ -1476,7 +1476,9 @@ msgstr "" + + #: quilt/scripts/patchfns.in:1018 + msgid "You have to install '%s' (from package %s) to use 'quilt %s'\\n" +-msgstr "'%s' (%s パッケージ) がインストールされていないと、'quilt %s' は利用できません\\n" ++msgstr "" ++"'%s' (%s パッケージ) がインストールされていないと、'quilt %s' は利用できませ" ++"ん\\n" + + #: quilt/scripts/patchfns.in:1138 + msgid "" +-- +cgit v0.9.0.2 diff --git a/translation-fixes-02.patch b/translation-fixes-02.patch new file mode 100644 index 0000000..7e841a4 --- /dev/null +++ b/translation-fixes-02.patch @@ -0,0 +1,23 @@ +From: Jean Delvare +Date: Wed, 11 Feb 2015 16:59:15 +0000 +Subject: Missing escape in Japanese translation +Upstream: Committed (0be1e8aed41a67bca7756be10051d353ec0c2c15) + +The original message has the dollar sign protected, so the Japanese +translation should do the same. +--- +diff --git a/po/ja.po b/po/ja.po +index 43bb657..6697b0d 100644 +--- a/po/ja.po ++++ b/po/ja.po +@@ -589,7 +589,7 @@ msgstr "" + "最上位または指定されたパッチのヘッダを出力または変更する。\n" + "\n" + "-a, -r, -e\n" +-"\tパッチのヘッダに追加 (-a) またはヘッダを変更 (-r)、$EDITOR (%s)を\n" ++"\tパッチのヘッダに追加 (-a) またはヘッダを変更 (-r)、\\$EDITOR (%s)を\n" + "\t使って編集 (-e)する。オプションが指定されなかった場合はパッチの\n" + "\tヘッダを出力する。\n" + "\n" +-- +cgit v0.9.0.2 diff --git a/translation-fixes-03.patch b/translation-fixes-03.patch new file mode 100644 index 0000000..a9c09c3 --- /dev/null +++ b/translation-fixes-03.patch @@ -0,0 +1,576 @@ +From: Holger Wansing +Date: Wed, 11 Feb 2015 16:59:19 +0000 +Subject: Improve the German translation +Upstream: Committed (cecf83188b19653b0d96781bcdaf0fd8c409599a) +--- +diff --git a/po/de.po b/po/de.po +index e8190cf..379acf3 100644 +--- a/po/de.po ++++ b/po/de.po +@@ -8,7 +8,7 @@ + msgid "" + msgstr "" + "Project-Id-Version: quilt 0.64\n" +-"PO-Revision-Date: 2015-02-05 16:26+0100\n" ++"PO-Revision-Date: 2015-02-10 17:06+0100\n" + "Last-Translator: Holger Wansing \n" + "Language-Team: \n" + "Language: de\n" +@@ -51,14 +51,14 @@ msgstr "" + "Globale Optionen:\n" + "\n" + "--trace\n" +-"\tFührt die Befehle im bash Trace-Modus (-x) aus. Für Debugging.\n" ++"\tDie Befehle in bash im Trace-Modus (-x) ausführen, für Debugging.\n" + "\n" + "--quiltrc datei\n" +-"\tVerwenden der angegebenen Konfigurationsdatei statt ~/.quiltrc (oder\n" +-"\t@ETCDIR@/quilt.quiltrc, wenn ~/.quiltrc fehlt). Siehe die pdf-" +-"Dokumentation\n" +-"\tfür mögliche Einstellungen. Der Dateiname \\`-' bedeutet, dass keine\n" +-"\tResource-Datei eingelesen werden soll.\n" ++"\tDie angegebene Konfigurationsdatei verwenden statt ~/.quiltrc (oder\n" ++"\t@ETCDIR@/quilt.quiltrc, wenn ~/.quiltrc fehlt). Details über mögliche\n" ++"\tInhalte finden Sie in der pdf-Dokumentation.\n" ++"\tDer Dateiname \\`-' bedeutet, dass keine Konfigurationsdatei\n" ++"\teingelesen werden soll.\n" + "\n" + "--version\n" + "\tGibt die Versionsummer aus." +@@ -92,7 +92,7 @@ msgstr "Die Datei %s befindet sich unterhalb des Verzeichnisses %s\\n" + + #: quilt/add.in:103 + msgid "File %s is already in patch %s\\n" +-msgstr "Datei %s ist bereits in Patch $patch\\n" ++msgstr "Datei %s ist bereits in Patch %s\\n" + + #: quilt/add.in:111 quilt/remove.in:82 quilt/revert.in:84 + msgid "File %s modified by patch %s\\n" +@@ -130,7 +130,7 @@ msgstr "" + "angezeigt.\n" + "\n" + "-P patch\n" +-"\tNur bis zum angegebenen Patch anstatt bis zum obersten Patch\n" ++"\tNur bis zum angegebenen Patch statt bis zum obersten Patch\n" + "\tnach Änderungen suchen.\n" + + #: quilt/applied.in:22 +@@ -168,14 +168,14 @@ msgid "" + "\tIgnored if not used with \\`-r'.\n" + msgstr "" + "\n" +-"Löscht den obersten oder angegebenen Patch aus der series-Datei. Falls\n" ++"Den obersten oder angegebenen Patch aus der series-Datei löschen. Falls\n" + "dieser Patch angewandt ist, wird er zuerst von quilt entfernt. (Momentan\n" + "kann nur der oberste Patch entfernt werden.)\n" + "\n" +-"-n\tLösche den nächsten (dem obersten folgenden) Patch statt des\n" ++"-n\tDen nächsten (dem obersten folgenden) Patch löschen statt den\n" + "\tobersten oder angegebenen.\n" + "\n" +-"-r\tEntfernt den Patch auch aus dem patches-Verzeichnis.\n" ++"-r\tDen Patch auch aus dem patches-Verzeichnis entfernen.\n" + "\n" + "--backup\n" + "\tDen Patch in patch~ umbenennen, statt ihn zu löschen.\n" +@@ -203,7 +203,7 @@ msgstr "Datei %s konnte nicht gesichert werden\\n" + + #: quilt/delete.in:134 + msgid "Failed to remove patch file %s\\n" +-msgstr "Patch %s konnte nicht entfernt werden\\n" ++msgstr "Patchdatei %s konnte nicht entfernt werden\\n" + + #: quilt/diff.in:24 + msgid "" +@@ -274,17 +274,17 @@ msgstr "" + "\tunterstützt).\n" + "\n" + "-p ab\tErzeugen einen Patches der Art -p1, jedoch a/datei und b/datei\n" +-"\tals ursprünglichen und neuen Dateinamen verwenden anstelle von\n" ++"\tals ursprüngliche und neue Dateinamen verwenden anstelle von\n" + "\tdir.orig/datei und dir/datei.\n" + "\n" + "-u, -U anzahl, -c, -C anzahl\n" +-"\tErzeugen eines Unified-Diffs (-u, -U) mit der angegebenen Anzahl\n" ++"\tErzeugen eines Unified-Diffs (-u, -U) mit der angegebenen Anzahl von\n" + "\tKontextzeilen bzw. erzeugen eines Context-Diffs (-c, -C) mit der\n" +-"\tangegebenen Anzahl Kontextzeilen. Die Anzahl der Kontextzeilen ist 3,\n" +-"\twenn nicht anders angegeben.\n" ++"\tangegebenen Anzahl von Kontextzeilen. Die Anzahl der Kontextzeilen ist\n" ++"\t3, wenn nicht anders angegeben.\n" + "\n" + "--no-timestamps\n" +-"\tKeine Datei-Zeitstempel im Patchheader angeben.\n" ++"\tKeine Datei-Zeitstempel in Patch-Kopfzeilen angeben.\n" + "\n" + "--no-index\n" + "\tKeine \\`Index:'-Zeilen ausgeben.\n" +@@ -315,14 +315,14 @@ msgstr "" + "\tSyntaxeinfärbung verwenden (wird bei auto nur aktiviert, wenn Ausgabe\n" + "\tauf tty).\n" + "\n" +-"--sort\tDateien im Patch nach ihrem Namen sortieren, statt die\n" +-"\tursprüngliche Reihenfolge zu erhalten.\n" ++"--sort\tDateien im Patch nach ihren Namen sortieren, statt die\n" ++"\tursprüngliche Reihenfolge beizubehalten.\n" + + #: quilt/diff.in:226 + msgid "" + "Options \\`--combine', \\`--snapshot', and \\`-z' cannot be combined.\\n" + msgstr "" +-"Die Optionen \\`--combine', \\`--snapshot', und \\`-z' können nicht " ++"Die Optionen \\`--combine', \\`--snapshot' und \\`-z' können nicht " + "kombiniert werden.\\n" + + #: quilt/diff.in:240 +@@ -363,8 +363,8 @@ msgid "" + "the topmost patch.\n" + msgstr "" + "\n" +-"Füge die angegebene(n) Datei(en) dem obersten Patch hinzu, und editiere\n" +-"sie dann in \\$EDITOR (%s).\n" ++"Die angegebene(n) Datei(en) dem obersten Patch hinzufügen und dann im\n" ++"\\$EDITOR (%s) editieren.\n" + + #: quilt/files.in:22 + msgid "Usage: quilt files [-v] [-a] [-l] [--combine patch] [patch]\\n" +@@ -427,10 +427,10 @@ msgid "" + "\twhen applying patchfile.\n" + msgstr "" + "\n" +-"Integriert den Patch von der Standardeingabe in den obersten Patch:\n" +-"Stellt zuerst sicher, dass alle Dateien, die verändert werden, im\n" +-"obersten Patch enthalten sind, und wendet dann den neuen Patch\n" +-"mit der angegebenen Anzahl an Strip-Ebenen an (Standardwert = 1).\n" ++"Den Patch von der Standardeingabe in den obersten Patch integrieren:\n" ++"Es wird zuerst sichergestellt, dass alle Dateien, die verändert werden,\n" ++"im obersten Patch enthalten sind, dann wird der neue Patch mit der\n" ++"angegebenen Anzahl an Strip-Ebenen angewandt (Standardwert = 1).\n" + "\n" + "-r\tPatch verkehrt herum anwenden.\n" + "\n" +@@ -470,7 +470,7 @@ msgstr "" + "\n" + "Den obersten Patch aufspalten. Aufspalten bedeutet, dass eine neue Kopie\n" + "des Patches unter einem anderen Namen angelegt wird, und der neue Patch\n" +-"anstelle des ursprünglichen in die Series-Datei eingetragen wird. Das ist\n" ++"anstelle des ursprünglichen in die series-Datei eingetragen wird. Das ist\n" + "praktisch, wenn ein Patch verändert werden soll, aber die ursprüngliche\n" + "Version erhalten bleiben soll. Eine typische Abfolge von Befehlen ist:\n" + "fork, edit, refresh.\n" +@@ -485,7 +485,7 @@ msgstr "Patch %s existiert bereits, bitte neuen Namen wählen\\n" + + #: quilt/fork.in:96 + msgid "Fork of patch %s to patch %s failed\\n" +-msgstr "Fehler beim Aufspalten von %s auf %s\\n" ++msgstr "Fehler beim Aufspalten von %s nach %s\\n" + + #: quilt/fork.in:102 quilt/refresh.in:347 + msgid "Fork of patch %s created as %s\\n" +@@ -533,7 +533,7 @@ msgstr "" + "Erzeugen eines gerichteten dot(1)-Graphen, der die Abhängigkeiten zwischen\n" + "den angewandten Patches zeigt. Ein Patch hängt von einem anderen ab, wenn\n" + "beide dieselbe Datei verändern, oder mit der --lines-Option, wenn sich die\n" +-"Anderungen in den Patches überlappen. Wenn nicht anders angegeben, zeigt\n" ++"Änderungen in den Patches überlappen. Wenn nicht anders angegeben, zeigt\n" + "der Graph alle Patches, von denen der oberste Patch abhängt.\n" + "Wenn ein Patchname angegeben wird, wird ein Graph erzeugt, der alle Patches\n" + "beinhaltet, von denen der angegebene Patch abhängt, sowie alle, die von\n" +@@ -571,14 +571,14 @@ msgid "" + "\tcan be passed after a second double-dash (-- --).\n" + msgstr "" + "\n" +-"Die Quelldateien rekursiv durchsuchen, und Patches und Quilt-\n" ++"Die Quelldateien rekursiv durchsuchen und Patches sowie Quilt-\n" + "Metainformation überspringen. Wenn kein Dateiname angegeben wird, wird\n" +-"der gesamte Quellbaum durchsucht. Siehe die Manual Page von grep(1) für\n" +-"weitere Optionen.\n" ++"der gesamte Quellbaum durchsucht. Lesen Sie die Handbuchseite (manpage)\n" ++"von grep(1) für weitere Optionen.\n" + "\n" +-"-h\tGib diese Hilfsmeldung aus. Die grep-Option -h kann nach einem\n" +-"\tDoppelstrick (--) angegeben werden. Suchausdrücke, die mit einem\n" +-"\tStrich beginnen, können nach einem weiteren Doppel-Bindestrich (--)\n" ++"-h\tDiese Hilfe ausgeben. Die grep-Option -h kann nach einem\n" ++"\tDoppel-Bindestrich (--) angegeben werden. Suchausdrücke, die mit\n" ++"\teinem Strich beginnen, können nach einem weiteren Doppel-Bindestrich\n" + "\tangegeben werden.\n" + + #: quilt/header.in:24 +@@ -613,9 +613,9 @@ msgstr "" + "\n" + "-a, -r, -e\n" + "\tText von der Standardeingabe an den Header anfügen (-a), den Header\n" +-"\tmit der Standardeingabe ersetzen, oder den Header in \\$EDITOR (%s)\n" +-"\teditieren. Wenn keine dieser Optionen angegeben ist, wird der Header\n" +-"\tausgegeben.\n" ++"\tmit der Standardeingabe ersetzen (-r), oder den Header in \\$EDITOR\n" ++"\t(%s) editieren (-e). Wenn keine dieser Optionen angegeben ist, wird\n" ++"\tder Header ausgegeben.\n" + "\n" + "--strip-diffstat\n" + "\tEntfernen der diffstat-Ergebnisse vom Header.\n" +@@ -667,11 +667,11 @@ msgid "" + msgstr "" + "\n" + "Importieren externer Patches. Die Patches werden nach dem momentan obersten\n" +-"Patch eingefügt und dann mit dem push-Befehl angewandt werden.\n" ++"Patch eingefügt und müssen dann mit dem push-Befehl angewandt werden.\n" + "\n" + "-p num\n" + "\tDie Anzahl der Komponenten im Pfadnamen, die beim Anwenden des Patches\n" +-"\tentfernt werden sollen (Standard=1).\n" ++"\tentfernt werden sollen (Standard = 1).\n" + "\n" + "-R\n" + "\tPatch umgekehrt anwenden.\n" +@@ -800,22 +800,22 @@ msgstr "" + "\n" + "Erzeugen von E-Mail-Nachrichten für einen angegebenen Bereich von Patches\n" + "oder alle Patches in der series-Datei, und sie entweder in einer Mailbox-\n" +-"Datei speichern oder sofort versenden. Der Editor wird mit einer\n" +-"Einleitung als Vorlage geöffnet. Für Details lesen Sie %s.\n" ++"Datei speichern oder sofort versenden. Der Editor wird mit einem\n" ++"Einleitungstext als Vorlage geöffnet. Für Details lesen Sie %s.\n" + "Wenn ein Bereich von Patches angegeben wird, kann \\`-' für den ersten bzw.\n" +-"letzten Patch in der Series-Datei angegeben werden.\n" ++"letzten Patch in der series-Datei angegeben werden.\n" + "\n" + "-m text\n" +-"\tText, der für die Einleitung verwendet werden soll. Bei Verwendung\n" +-"\tdieser Option wird der Editor nicht gestartet, und die Patches werden\n" +-"\twerden sofort abgearbeitet.\n" ++"\tText, der als Einleitungstext verwendet werden soll. Bei Verwendung\n" ++"\tdieser Option wird der Editor nicht gestartet und die Patches werden\n" ++"\tsofort abgearbeitet.\n" + "\n" + "-M datei\n" +-"\tWie die Option -m, jedoch wird die Einleitung aus der Datei gelesen.\n" ++"\tWie -m, jedoch wird der Einleitungstext aus der Datei gelesen.\n" + "\n" + "--prefix präfix\n" +-"\tEinen anderen Präfix statt \\`patch' in dem eckig umklammerten\n" +-"\tText der Subject-Kopfzeile verwenden.\n" ++"\tEinen anderen Präfix statt \\`patch' in dem durch eckige Klammern\n" ++"\teingefassten Text der Subject-Kopfzeile verwenden.\n" + "\n" + "--mbox datei\n" + "\tAlle Nachrichten in der angegebenen Datei im mbox-Format speichern.\n" +@@ -833,11 +833,12 @@ msgstr "" + "\tOption angegeben ist, wird der Wert der Option --sender verwendet.\n" + "\n" + "--to, --cc, --bcc\n" +-"\tEinen Empfänger an die To, Cc, or Bcc-Kopfzeilen anfügen.\n" ++"\tEinen Empfänger zur To-, Cc-, oder Bcc-Kopfzeile hinzufügen.\n" + "\n" + "--signature datei\n" + "\tDie angegebene Signatur an Nachrichten anhängen (Standard ist\n" +-"\t~/.signature, falls vorhanden; \\`-' verwenden für keine Signatur.\n" ++"\t~/.signature, falls vorhanden; bei \\`-' wird keine Signatur\n" ++"\tverwendet.\n" + "\n" + "--reply-to nachrichten-header\n" + "\tDie entsprechenden Header hinzufügen, um auf die angegebene\n" +@@ -845,7 +846,7 @@ msgstr "" + + #: quilt/mail.in:204 quilt/mail.in:212 + msgid "Introduction message already specified" +-msgstr "Einleitungsnachricht bereits angegeben" ++msgstr "Einleitungstext bereits angegeben" + + #: quilt/mail.in:310 + msgid "Could not determine the envelope sender address. Please use --sender." +@@ -903,14 +904,14 @@ msgstr "" + "\n" + "Erzeugen eines neuen Patches mit dem angegebenen Dateinamen und anfügen\n" + "nach dem obersten Patch. Dem Name kann der Name eines Unterverzeichnisses\n" +-"vorangestellt werden; dies erlaubt es, zusammengehörige Patches zusammen-\n" +-"zufassen.\n" ++"vorangestellt werden; dies erlaubt es, zusammengehörige Patches\n" ++"zusammenzufassen.\n" + "\n" + "-p n\tErzeugen eines Patches der Art -p n (-p0 oder -p1 werden " + "unterstützt).\n" + "\n" + "-p ab\tErzeugen eines Patches der Art -p1, jedoch a/datei und b/datei\n" +-"\tals ursprünglichen und neuen Dateinamen verwenden anstelle von\n" ++"\tals ursprüngliche und neue Dateinamen verwenden anstelle von\n" + "\tdir.orig/datei und dir/datei.\n" + "\n" + "Quilt kann aus Unterverzeichnissen eines Quellbaums heraus verwendet " +@@ -941,7 +942,7 @@ msgstr "Der oberste Patch ist jetzt %s\\n" + + #: quilt/new.in:110 quilt/refresh.in:343 + msgid "Failed to create patch %s\\n" +-msgstr "Patch konnte %s nicht erzeugt werden\\n" ++msgstr "Patch %s konnte nicht erzeugt werden\\n" + + #: quilt/next.in:22 + msgid "Usage: quilt next [patch]\\n" +@@ -1022,20 +1023,20 @@ msgstr "" + "Option wird der oberste Patch entfernt. Bei Angabe einer Zahl wird die\n" + "entsprechende Anzahl von Patches entfernt. Wenn ein Name angegeben wird,\n" + "werden alle Patches oberhalb des angegebenen Patches entfernt. Patchnamen\n" +-"können den patches/-Präfix enthalten, was bedeutet, dass Autovervoll-\n" +-"ständigung für die Dateinamen genutzt werden kann.\n" ++"können den patches/-Präfix enthalten, was bedeutet, dass\n" ++"Autovervollständigung für die Dateinamen genutzt werden kann.\n" + "\n" + "-a\tAlle angewandten Patches entfernen.\n" + "\n" + "-f\tErzwungenes Entfernen. Der Zustand vor dem Anwenden das Patches wird\n" + "\tüber die Sicherungsdateien wiederhergestellt.\n" + "\n" +-"-R\t Immer überprüfen, ob sich Patches vollständig entfernen lassen,\n" ++"-R\tImmer überprüfen, ob sich Patches vollständig entfernen lassen,\n" + "\tnicht auf die Zeitspempel der Dateien verlassen.\n" + "\n" + "-q\tWenige Meldungen ausgeben.\n" + "\n" +-"-v\tViele Meldungen ausgeben.\n" ++"-v\tAusführliche Meldungen ausgeben.\n" + "\n" + "--refresh\n" + "\tJeden Patch automatisch neu erzeugen, bevor seine Anwendung rückgängig\n" +@@ -1065,7 +1066,7 @@ msgstr "Optionen %s und %s können nicht kombiniert werden\\n" + + #: quilt/pop.in:238 + msgid "Patch %s needs to be refreshed first.\\n" +-msgstr "Patch %s muss zuerst aktualisiert werden (Refresh).\\n" ++msgstr "Patch %s muss zuerst aktualisiert werden (refresh).\\n" + + #: quilt/pop.in:248 + msgid "No patch removed\\n" +@@ -1137,9 +1138,9 @@ msgid "" + msgstr "" + "\n" + "Patches aus der series-Datei anwenden. Ohne weitere Optionen wird der\n" +-"nächste Patch in der series-Datei angewandt. Wird eine Zahl angegeben,\n" +-"wird die angegebene Anzahl von Patches angewandet. Wenn ein Name\n" +-"angegeben wird, werden alle Patches bis einschliesslich diesem Patch\n" ++"nächste Patch in der series-Datei angewandt. Wenn eine Zahl angegeben\n" ++"ist, wird die angegebene Anzahl von Patches angewandet. Ist ein Name\n" ++"angegeben, werden alle Patches bis einschliesslich diesem Patch\n" + "angewandt. Patchnamen können den patches/-Präfix enthalten, was\n" + "bedeutet, dass Autovervollständigung für die Dateinamen genutzt\n" + "werden kann.\n" +@@ -1150,7 +1151,7 @@ msgstr "" + "\n" + "-f\tAnwenden erzwingen, selbst wenn dabei Fehler auftreten.\n" + "\n" +-"-v\tViele Meldungen ausgeben.\n" ++"-v\tAusführliche Meldungen ausgeben.\n" + "\n" + "--fuzz=N\n" + "\tDen maximalen Unscharf-Faktor (fuzz) setzen (Voreinstellung: 2).\n" +@@ -1188,11 +1189,11 @@ msgstr "Patch %s scheint leer zu sein; angewandt\\n" + + #: quilt/push.in:225 + msgid "Applied patch %s (forced; needs refresh)\\n" +-msgstr "Patch %s angewandt (erzwungen, muss aktualisiert werden (Refresh))\\n" ++msgstr "Patch %s angewandt (erzwungen, muss aktualisiert werden (refresh))\\n" + + #: quilt/push.in:235 + msgid "Patch %s can be reverse-applied\\n" +-msgstr "Patch %s kann verkehrt angewandt werden\\n" ++msgstr "Patch %s kann umgekehrt angewandt werden\\n" + + #: quilt/push.in:238 + msgid "Patch %s does not apply (enforce with -f)\\n" +@@ -1204,7 +1205,7 @@ msgstr "Patch %s wurde bereits angewandt; überprüfen Sie Ihre series-Datei\\n" + + #: quilt/push.in:405 + msgid "The topmost patch %s needs to be refreshed first.\\n" +-msgstr "Der oberste Patch %s muss zuerst aktualisiert werden (Refresh).\\n" ++msgstr "Der oberste Patch %s muss zuerst aktualisiert werden (refresh).\\n" + + #: quilt/push.in:413 + msgid "No patch applied\\n" +@@ -1272,58 +1273,55 @@ msgid "" + "\tStrip trailing whitespace at the end of lines.\n" + msgstr "" + "\n" +-"Den obersten oder angegebenen Patch auffrischen. Dokumentation in der\n" ++"Den obersten oder angegebenen Patch aktualisieren. Dokumentation in der\n" + "Patchdatei, die vor dem eigentlichen Patch steht, bleibt dabei\n" + "erhalten.\n" + "\n" + "Es können beliebige angewandte Patches aktualisiert werden. Wenn\n" + "Patches, die nach dem angegebenen Patch angewandt sind, dieselben\n" +-"Dateien verändern, die auch dieser Patch verändert, bricht dieses Script\n" +-"normalerweise ab. Mit der Option -f kann das Aktalisieren trotzdem\n" ++"Dateien verändern, die auch dieser Patch verändert, bricht dieses Skript\n" ++"normalerweise ab. Mit der Option -f kann das Aktualisieren trotzdem\n" + "erzwungen werden. Dann wird für jede Datei, die später noch verändert\n" + "wurde, eine Warnung ausgegeben, und nur Änderungen in Dateien, die\n" + "danach nicht von anderen Patches weiter verändert werden, werden beim\n" +-"Aktalisieren berücksichtigt.\n" ++"Aktualisieren berücksichtigt.\n" + "\n" + "-p n\tErzeugen eines Patch der Art -p n (n=0 oder n=1 werden\n" + "\tunterstützt).\n" + "\n" + "-p ab\tErzeugen einen Patches der Art -p1, jedoch a/datei und b/datei\n" +-"\tals ursprünglichen und neuen Dateinamen verwenden anstelle von\n" ++"\tals ursprüngliche und neue Dateinamen verwenden anstelle von\n" + "\tdir.orig/datei und dir/datei.\n" + "\n" + "-u, -U anzahl, -c, -C anzahl\n" +-"\tErzeugen eines Unified-Diffs (-u, -U) mit der angegebenen Anzahl\n" ++"\tErzeugen eines Unified-Diffs (-u, -U) mit der angegebenen Anzahl von\n" + "\tKontextzeilen bzw. erzeugen eines Context-Diffs (-c, -C) mit der\n" +-"\tangegebenen Anzahl Kontextzeilen. Die Anzahl der Kontextzeilen ist 3,\n" +-"\twenn nicht anders angegeben.\n" ++"\tangegebenen Anzahl von Kontextzeilen. Die Anzahl der Kontextzeilen ist\n" ++"\t3, wenn nicht anders angegeben.\n" + "\n" + "-z[neuer_name]\n" + "\tErzeugen eines neuen Patches mit den Änderungen, statt den obersten\n" + "\tPatch zu aktualisieren. Wenn kein neuer Name angegeben wird, wird\n" +-"\t\\`-2' an den Namen angehängt, usw (siehe den fork-Befehl).\n" ++"\t\\`-2' an den Namen angehängt usw. (siehe den fork-Befehl).\n" + "\n" + "--no-timestamps\n" +-"\tKeine Zeitstempel in Patches angeben.\n" ++"\tKeine Zeitstempel in Patch-Kopfzeilen angeben.\n" + "\n" + "--no-index\n" + "\tKeine \\`Index:'-Zeilen ausgeben.\n" + "\n" + "--diffstat\n" +-"\tDem Patchkopf einen diffstat-Abschnitt hinzufügen oder den bestehenden\n" +-"\tAbschnitt ersetzen.\n" +-"\n" +-"-f\tDas Aktalisieren eines Patches erzwingen, der sich nicht an oberster\n" +-"\tPosition befindet.\n" ++"\tDen Patch-Kopfzeilen einen diffstat-Abschnitt hinzufügen oder den\n" ++"\tbestehenden Abschnitt ersetzen.\n" + "\n" +-"--no-timestamps\n" +-"\tKeine Zeitstempel in Patches angeben.\n" ++"-f\tDas Aktualisieren eines Patches erzwingen, der sich nicht an\n" ++"\toberster Position befindet.\n" + "\n" + "--backup\n" + "\tErzeugen eines Backups der alten Version von patch als patch~\n" + "\n" +-"--sort\tDateien im Patch nach ihrem Namen sortieren, statt die\n" +-"\tursprüngliche Reihenfolge zu erhalten.\n" ++"--sort\tDateien im Patch nach ihren Namen sortieren, statt die\n" ++"\tursprüngliche Reihenfolge beizubehalten.\n" + "\n" + "--strip-trailing-whitespace\n" + "\tWhitespace-Zeichen an Zeilenenden entfernen.\n" +@@ -1341,13 +1339,13 @@ msgstr "" + + #: quilt/refresh.in:235 + msgid "Diff failed on file '%s', aborting\\n" +-msgstr "Diff gegen Datei »%s« fehlgeschlagen, Abbruch.\\n" ++msgstr "Diff gegen Datei '%s' fehlgeschlagen, Abbruch.\\n" + + #: quilt/refresh.in:241 + msgid "" + "More recent patches modify files in patch %s. Enforce refresh with -f.\\n" + msgstr "" +-"Später angewandte Patches verändern Dateien von %s. Aktalisieren mit -f " ++"Später angewandte Patches verändern Dateien von %s. Aktualisieren mit -f " + "erzwingen.\\n" + + #: quilt/refresh.in:247 +@@ -1384,7 +1382,7 @@ msgid "" + "\tRemove named files from the named patch.\n" + msgstr "" + "\n" +-"Eine oder mehreren Dateien aus dem obersten oder angegebenen Patch\n" ++"Eine oder mehrere Dateien aus dem obersten oder angegebenen Patch\n" + "entfernen. Dateien, die durch Patches oberhalb des angegebenen Patches\n" + "verändert werden, können nicht entfernt werden.\n" + "\n" +@@ -1427,11 +1425,11 @@ msgstr "Patch %s existiert bereits, bitte einen anderen Namen wählen\\n" + + #: quilt/rename.in:98 + msgid "Renaming of patch %s to %s failed\\n" +-msgstr "Fehler beim Umbenennen von Patch %s auf %s\\n" ++msgstr "Fehler beim Umbenennen von Patch %s in %s\\n" + + #: quilt/rename.in:104 + msgid "Patch %s renamed to %s\\n" +-msgstr "Patch %s in %s umbenannt\\n" ++msgstr "Patch %s umbenannt in %s\\n" + + #: quilt/revert.in:22 + msgid "Usage: quilt revert [-P patch] {file} ...\\n" +@@ -1452,7 +1450,7 @@ msgid "" + msgstr "" + "\n" + "Nicht übernommene Änderungen an dem obersten oder angegebenen Patch für\n" +-"die angegebenen Dateien zurücknehmen. Danach zeigt »quilt diff -z« keine\n" ++"die angegebenen Dateien zurücknehmen. Danach zeigt 'quilt diff -z' keine\n" + "Unterschiede für diese Dateien mehr an. Änderungen an Dateien, die von\n" + "Patches oberhalb des angegebenen Patches verändert werden, können nicht\n" + "entfernt werden.\n" +@@ -1517,17 +1515,17 @@ msgid "" + "all the patches using the version of quilt used to push them before " + "downgrading.\\n" + msgstr "" +-"Die quilt-Metadaten in diesem Arbeitsverzeichnis haben Version $version, " +-"aber diese Version von quilt kann nur mit Metadaten der Versionen " +-"$DB_VERSION und darunter umgehen. Bitte entfernen Sie vor dem Downgrade von " +-"quilt alle Patches mit der Version von quilt, die zur Erstellung des " +-"Arbeitsverzeichnisses verwendet wurde.\\n" ++"Die quilt-Metadaten in diesem Arbeitsverzeichnis haben Version %s, aber " ++"diese Version von quilt kann nur mit Metadaten der Versionen %s und darunter " ++"umgehen. Bitte entfernen Sie vor dem Downgrade von quilt alle Patches mit " ++"der Version von quilt, die zur Erstellung des Arbeitsverzeichnisses " ++"verwendet wurde.\\n" + + #: quilt/scripts/patchfns.in:1018 + msgid "You have to install '%s' (from package %s) to use 'quilt %s'\\n" + msgstr "" +-"Sie müssen '%s' (aus dem Paket %s) installieren, um 'quilt %s' nutzen " +-"zukönnen\\n" ++"Sie müssen '%s' (aus dem Paket %s) installieren, um 'quilt %s' nutzen zu " ++"können\\n" + + #: quilt/scripts/patchfns.in:1138 + msgid "" +@@ -1578,7 +1576,7 @@ msgstr "Abschliessende Leerzeichen in den Zeilen %s von %s werden entfernt\n" + #: quilt/scripts/remove-trailing-ws.in:144 + #, perl-format + msgid "Renaming %s to %s: %s\n" +-msgstr "Umbenennen von %s auf %s: %s\n" ++msgstr "Umbenennen von %s in %s: %s\n" + + #: quilt/series.in:22 + msgid "Usage: quilt series [--color[=always|auto|never]] [-v]\\n" +@@ -1648,6 +1646,7 @@ msgstr "" + "\n" + "Initialisiert einen Quellbaum aus einer rpm-spec-Datei oder einer quilt-\n" + "series-Datei.\n" ++"\n" + "-d\tOptionaler Pfadpräfix für den resultierenden Quellbaum.\n" + "\n" + "--sourcedir\n" +@@ -1770,8 +1769,8 @@ msgid "" + "The quilt meta-data in %s are already in the version %s format; nothing to do" + "\\n" + msgstr "" +-"Die Metadaten in $QUILT_PC/ haben bereits das Format Version $DB_VERSION; " +-"keine Aktualisierung nötig\\n" ++"Die Metadaten in %s haben bereits das Format Version %s; keine " ++"Aktualisierung nötig\\n" + + #: quilt/upgrade.in:71 + msgid "Converting meta-data to version %s\\n" +@@ -1789,6 +1788,6 @@ msgid "" + "patches from scratch.\\n" + msgstr "" + "\n" +-"Bitte entfernen Sie alle Patches mit \\`quilt pop -a' der quilt-Version, die " +-"zur Erzeugung des Arbeitsverzeichnis verwendet wurden, oder entfernen Sie " +-"das Verzeichnis %s und wenden Sie die Patches neu an.\\n" ++"Bitte entfernen Sie mit \\`quilt pop -a' alle Patches der quilt-Version, die " ++"zur Erzeugung des Arbeitsverzeichnis verwendet wurde, oder entfernen Sie das " ++"Verzeichnis %s und wenden Sie die Patches neu an.\\n" +-- +cgit v0.9.0.2 diff --git a/translation-fixes-04.patch b/translation-fixes-04.patch new file mode 100644 index 0000000..357d9d4 --- /dev/null +++ b/translation-fixes-04.patch @@ -0,0 +1,206 @@ +From: Jean Delvare +Date: Wed, 11 Feb 2015 16:59:22 +0000 +Subject: Fix translation of main usage message +Upstream: Committed (249f34528986e3dbc7bb7e6eb746f85468379137) + +@ETCDIR@ is substituted at build time so it should not appear in +translated messages. Replace it with %s and pass the actual value as a +parameter. +--- +diff --git a/bin/quilt.in b/bin/quilt.in +index 2271833..45aebbc 100644 +--- a/bin/quilt.in ++++ b/bin/quilt.in +@@ -45,7 +45,7 @@ usage() + | sort \ + | column | column -t \ + | sed -e $'s/^/\t/' +- echo $" ++ printf $" + Global options: + + --trace +@@ -53,13 +53,13 @@ Global options: + + --quiltrc file + Use the specified configuration file instead of ~/.quiltrc (or +- @ETCDIR@/quilt.quiltrc if ~/.quiltrc does not exist). See the pdf ++ %s/quilt.quiltrc if ~/.quiltrc does not exist). See the pdf + documentation for details about its possible contents. The + special value \"-\" causes quilt not to read any configuration + file. + + --version +- Print the version number and exit immediately." ++ Print the version number and exit immediately.\n" "@ETCDIR@" + exit 1 + } + +diff --git a/po/de.po b/po/de.po +index 379acf3..b22173b 100644 +--- a/po/de.po ++++ b/po/de.po +@@ -39,13 +39,13 @@ msgid "" + "\n" + "--quiltrc file\n" + "\tUse the specified configuration file instead of ~/.quiltrc (or\n" +-"\t@ETCDIR@/quilt.quiltrc if ~/.quiltrc does not exist). See the pdf\n" ++"\t%s/quilt.quiltrc if ~/.quiltrc does not exist). See the pdf\n" + "\tdocumentation for details about its possible contents. The\n" + "\tspecial value \\\"-\\\" causes quilt not to read any configuration\n" + "\tfile.\n" + "\n" + "--version\n" +-"\tPrint the version number and exit immediately." ++"\tPrint the version number and exit immediately.\\n" + msgstr "" + "\n" + "Globale Optionen:\n" +@@ -55,13 +55,13 @@ msgstr "" + "\n" + "--quiltrc datei\n" + "\tDie angegebene Konfigurationsdatei verwenden statt ~/.quiltrc (oder\n" +-"\t@ETCDIR@/quilt.quiltrc, wenn ~/.quiltrc fehlt). Details über mögliche\n" ++"\t%s/quilt.quiltrc, wenn ~/.quiltrc fehlt). Details über mögliche\n" + "\tInhalte finden Sie in der pdf-Dokumentation.\n" + "\tDer Dateiname \\`-' bedeutet, dass keine Konfigurationsdatei\n" + "\teingelesen werden soll.\n" + "\n" + "--version\n" +-"\tGibt die Versionsummer aus." ++"\tGibt die Versionsummer aus.\\n" + + #: quilt/add.in:22 + msgid "Usage: quilt add [-P patch] {file} ...\\n" +diff --git a/po/fr.po b/po/fr.po +index ffe3645..01d45cd 100644 +--- a/po/fr.po ++++ b/po/fr.po +@@ -36,13 +36,13 @@ msgid "" + "\n" + "--quiltrc file\n" + "\tUse the specified configuration file instead of ~/.quiltrc (or\n" +-"\t@ETCDIR@/quilt.quiltrc if ~/.quiltrc does not exist). See the pdf\n" ++"\t%s/quilt.quiltrc if ~/.quiltrc does not exist). See the pdf\n" + "\tdocumentation for details about its possible contents. The\n" + "\tspecial value \\\"-\\\" causes quilt not to read any configuration\n" + "\tfile.\n" + "\n" + "--version\n" +-"\tPrint the version number and exit immediately." ++"\tPrint the version number and exit immediately.\\n" + msgstr "" + "\n" + "Options globales :\n" +@@ -52,13 +52,13 @@ msgstr "" + "\n" + "--quiltrc fichier\n" + "\tUtilise le fichier de configuration spécifié au lieu de ~/.quiltrc\n" +-"\t(ou @ETCDIR@/quilt.quiltrc si ~/.quiltrc n'existe pas). Voir la\n" ++"\t(ou %s/quilt.quiltrc si ~/.quiltrc n'existe pas). Voir la\n" + "\tdocumentation pdf pour plus de détails sur son contenu potentiel.\n" +-"La valeur spéciale \\\"-\\\" spécifie à quilt de ne lire aucun fichier\n" +-"de configuration.\n" ++"\tLa valeur spéciale \\\"-\\\" spécifie à quilt de ne lire aucun fichier\n" ++"\tde configuration.\n" + "\n" + "--version\n" +-"\tAffiche le numéro de version et sort immédiatement." ++"\tAffiche le numéro de version et sort immédiatement.\\n" + + #: quilt/add.in:22 + msgid "Usage: quilt add [-P patch] {file} ...\\n" +diff --git a/po/ja.po b/po/ja.po +index 6697b0d..90a61cd 100644 +--- a/po/ja.po ++++ b/po/ja.po +@@ -35,13 +35,13 @@ msgid "" + "\n" + "--quiltrc file\n" + "\tUse the specified configuration file instead of ~/.quiltrc (or\n" +-"\t@ETCDIR@/quilt.quiltrc if ~/.quiltrc does not exist). See the pdf\n" ++"\t%s/quilt.quiltrc if ~/.quiltrc does not exist). See the pdf\n" + "\tdocumentation for details about its possible contents. The\n" + "\tspecial value \\\"-\\\" causes quilt not to read any configuration\n" + "\tfile.\n" + "\n" + "--version\n" +-"\tPrint the version number and exit immediately." ++"\tPrint the version number and exit immediately.\\n" + msgstr "" + "\n" + "全コマンド共通オプション:\n" +@@ -50,13 +50,13 @@ msgstr "" + "\tコマンドをbashのトレースモード(-x)で実行。内部デバッグ用。\n" + "\n" + "--quiltrc file\n" +-"\t~/.quiltrc (存在しない場合は @ETCDIR@/quiltrc) の代りに読み込む\n" ++"\t~/.quiltrc (存在しない場合は %s/quiltrc) の代りに読み込む\n" + "\tコンフィギュレーションファイルを指定。内容の詳細については\n" + "\tPDFのドキュメントを参照。特別なファイル名 \\\"-\\\"を使うと、\n" + "\tコンフィギュレーションファイルを読み込まない。\n" + "\n" + "--version\n" +-"\tバージョン情報を出力して終了。" ++"\tバージョン情報を出力して終了。\\n" + + #: quilt/add.in:22 + msgid "Usage: quilt add [-P patch] {file} ...\\n" +diff --git a/po/quilt.pot b/po/quilt.pot +index d907829..264943f 100644 +--- a/po/quilt.pot ++++ b/po/quilt.pot +@@ -20,13 +20,13 @@ msgid "" + "\n" + "--quiltrc file\n" + "\tUse the specified configuration file instead of ~/.quiltrc (or\n" +-"\t@ETCDIR@/quilt.quiltrc if ~/.quiltrc does not exist). See the pdf\n" ++"\t%s/quilt.quiltrc if ~/.quiltrc does not exist). See the pdf\n" + "\tdocumentation for details about its possible contents. The\n" + "\tspecial value \\\"-\\\" causes quilt not to read any configuration\n" + "\tfile.\n" + "\n" + "--version\n" +-"\tPrint the version number and exit immediately." ++"\tPrint the version number and exit immediately.\\n" + msgstr "" + + #: quilt/add.in:22 +diff --git a/po/ru.po b/po/ru.po +index 85e04b0..78b9f38 100644 +--- a/po/ru.po ++++ b/po/ru.po +@@ -40,13 +40,13 @@ msgid "" + "\n" + "--quiltrc file\n" + "\tUse the specified configuration file instead of ~/.quiltrc (or\n" +-"\t@ETCDIR@/quilt.quiltrc if ~/.quiltrc does not exist). See the pdf\n" ++"\t%s/quilt.quiltrc if ~/.quiltrc does not exist). See the pdf\n" + "\tdocumentation for details about its possible contents. The\n" + "\tspecial value \\\"-\\\" causes quilt not to read any configuration\n" + "\tfile.\n" + "\n" + "--version\n" +-"\tPrint the version number and exit immediately." ++"\tPrint the version number and exit immediately.\\n" + msgstr "" + "\n" + "Общие опции:\n" +@@ -56,13 +56,13 @@ msgstr "" + "\n" + "--quiltrc файл\n" + "\tИспользовать указанный файл конфигурации вместо ~/.quiltrc (или\n" +-"\t@ETCDIR@/quilt.quiltrc, если ~/.quiltrc не существует). Смотрите\n" ++"\t%s/quilt.quiltrc, если ~/.quiltrc не существует). Смотрите\n" + "\tpdf-документацию, чтобы узнать о возможном содержимом.\n" + "\tСпециальное значение «-» запрещает quilt читать конфигурационные\n" + "\tфайлы.\n" + "\n" + "--version\n" +-"\tНапечатать номер версии и выйти из программы." ++"\tНапечатать номер версии и выйти из программы.\\n" + + #: quilt/add.in:22 + msgid "Usage: quilt add [-P patch] {file} ...\\n" +-- +cgit v0.9.0.2