commit itstool for openSUSE:Factory
Hello community, here is the log from the commit of package itstool for openSUSE:Factory checked in at 2013-12-30 10:02:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/itstool (Old) and /work/SRC/openSUSE:Factory/.itstool.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "itstool" Changes: -------- --- /work/SRC/openSUSE:Factory/itstool/itstool.changes 2013-11-26 06:10:18.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.itstool.new/itstool.changes 2013-12-30 10:02:10.000000000 +0100 @@ -1,0 +2,11 @@ +Tue Dec 24 19:28:51 UTC 2013 - dimstar@opensuse.org + +- Update to version 2.0.2: + + Fixed crash in locale filter and drop rule (bgo#715116). + + Don't hardcode python path (fdo#72533). + + Updated man page. +- Drop itstool-fix-crash.patch: fixed upstream. +- No longer replace the shebang in itstool and itstool.in: the + upstream provided solution sets it based on configure's findings. + +------------------------------------------------------------------- @@ -5 +16 @@ - drop rule (bgo#71511). + drop rule (bgo#715116). Old: ---- itstool-2.0.1.tar.bz2 itstool-fix-crash.patch New: ---- itstool-2.0.2.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ itstool.spec ++++++ --- /var/tmp/diff_new_pack.3qC1Y8/_old 2013-12-30 10:02:11.000000000 +0100 +++ /var/tmp/diff_new_pack.3qC1Y8/_new 2013-12-30 10:02:11.000000000 +0100 @@ -17,15 +17,13 @@ Name: itstool -Version: 2.0.1 +Version: 2.0.2 Release: 0 Summary: Tool to translate XML documents using PO files License: GPL-3.0+ Group: Development/Tools/Other Url: http://itstool.org Source: http://files.itstool.org/itstool/%{name}-%{version}.tar.bz2 -# PATCH-FIX-UPSTREAM itstool-fix-crash.patch bgo#715116 dimstar@opensuse.org -- Fixed crash in locale filter and drop rule -Patch0: itstool-fix-crash.patch BuildRequires: libxml2-python Requires: libxml2-python BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -39,8 +37,6 @@ %prep %setup -q -%patch0 -p1 -sed -i "s:#!/usr/bin/env python:#!/usr/bin/python:" itstool itstool.in %build %configure ++++++ itstool-2.0.1.tar.bz2 -> itstool-2.0.2.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/itstool-2.0.1/ChangeLog new/itstool-2.0.2/ChangeLog --- old/itstool-2.0.1/ChangeLog 2013-11-18 17:21:03.000000000 +0100 +++ new/itstool-2.0.2/ChangeLog 2013-12-18 04:16:54.000000000 +0100 @@ -1,3 +1,50 @@ +commit 6596a9cd30e4c1ff8599caf724e2aed3dd6947bf +Author: Shaun McCance <shaunm@gnome.org> +Date: Tue Dec 17 22:14:43 2013 -0500 + + itstool.1: Update man page + + itstool.1.in | 137 ++++++++++++++++++++++++++++++++++++++-------------------- + itstool.in | 2 +- + 2 files changed, 91 insertions(+), 48 deletions(-) + +commit 1cce05f8c3d2b52f030b3e253d37ae5a6eee8003 +Author: Ryan Lortie <desrt@desrt.ca> +Date: Mon Dec 9 13:17:55 2013 -0500 + + Don't hardcode python path + + Instead, use automake to find it at runtime and put #!@PYTHON@ at the top of + itstool.in. + + https://bugs.freedesktop.org/show_bug.cgi?id=72533 + + configure.ac | 2 ++ + itstool.in | 2 +- + 2 files changed, 3 insertions(+), 1 deletions(-) + +commit 46067ed60cbe1e5e3efe176da1f40f8219336490 +Author: Shaun McCance <shaunm@gnome.org> +Date: Sun Nov 24 14:10:03 2013 -0500 + + Fixed crash in locale filter and drop rule, #715116 + + When the dropped node has no preceding sibling, itstool crashes + because it tries to unlink prev node if it's blank. + + itstool.in | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +commit 6d90f59ee2fcd9492501b337a15c65bfce78afcd +Author: Shaun McCance <shaunm@gnome.org> +Date: Mon Nov 18 11:21:10 2013 -0500 + + Version 2.0.1 + + NEWS | 4 ++++ + configure.ac | 2 +- + 2 files changed, 5 insertions(+), 1 deletions(-) + commit b317a7c7362938098379f2f8db42f0f94d6f98dd Author: Shaun McCance <shaunm@gnome.org> Date: Mon Nov 4 16:32:34 2013 -0500 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/itstool-2.0.1/Makefile.in new/itstool-2.0.2/Makefile.in --- old/itstool-2.0.1/Makefile.in 2013-11-18 17:21:01.000000000 +0100 +++ new/itstool-2.0.2/Makefile.in 2013-12-18 04:16:51.000000000 +0100 @@ -155,6 +155,11 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ +PYTHON = @PYTHON@ +PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ +PYTHON_PLATFORM = @PYTHON_PLATFORM@ +PYTHON_PREFIX = @PYTHON_PREFIX@ +PYTHON_VERSION = @PYTHON_VERSION@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -187,9 +192,13 @@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ +pkgpyexecdir = @pkgpyexecdir@ +pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +pyexecdir = @pyexecdir@ +pythondir = @pythondir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/itstool-2.0.1/NEWS new/itstool-2.0.2/NEWS --- old/itstool-2.0.1/NEWS 2013-11-18 17:20:44.000000000 +0100 +++ new/itstool-2.0.2/NEWS 2013-12-18 04:16:37.000000000 +0100 @@ -1,3 +1,9 @@ +2.0.2 +===== +* Fixed crash in locale filter and drop rule, #715116 +* Don't hardcode python path, #72533 (Ryan Lortie) +* Updated man page + 2.0.1 ===== * Reworked default ITS rules for better performance diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/itstool-2.0.1/aclocal.m4 new/itstool-2.0.2/aclocal.m4 --- old/itstool-2.0.1/aclocal.m4 2013-11-18 17:21:00.000000000 +0100 +++ new/itstool-2.0.2/aclocal.m4 2013-12-18 04:16:49.000000000 +0100 @@ -391,6 +391,228 @@ AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2009 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PATH_PYTHON([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# --------------------------------------------------------------------------- +# Adds support for distributing Python modules and packages. To +# install modules, copy them to $(pythondir), using the python_PYTHON +# automake variable. To install a package with the same name as the +# automake package, install to $(pkgpythondir), or use the +# pkgpython_PYTHON automake variable. +# +# The variables $(pyexecdir) and $(pkgpyexecdir) are provided as +# locations to install python extension modules (shared libraries). +# Another macro is required to find the appropriate flags to compile +# extension modules. +# +# If your package is configured with a different prefix to python, +# users will have to add the install directory to the PYTHONPATH +# environment variable, or create a .pth file (see the python +# documentation for details). +# +# If the MINIMUM-VERSION argument is passed, AM_PATH_PYTHON will +# cause an error if the version of python installed on the system +# doesn't meet the requirement. MINIMUM-VERSION should consist of +# numbers and dots only. +AC_DEFUN([AM_PATH_PYTHON], + [ + dnl Find a Python interpreter. Python versions prior to 2.0 are not + dnl supported. (2.0 was released on October 16, 2000). + m4_define_default([_AM_PYTHON_INTERPRETER_LIST], + [python python2 python3 python3.0 python2.5 python2.4 python2.3 python2.2 dnl +python2.1 python2.0]) + + m4_if([$1],[],[ + dnl No version check is needed. + # Find any Python interpreter. + if test -z "$PYTHON"; then + AC_PATH_PROGS([PYTHON], _AM_PYTHON_INTERPRETER_LIST, :) + fi + am_display_PYTHON=python + ], [ + dnl A version check is needed. + if test -n "$PYTHON"; then + # If the user set $PYTHON, use it and don't search something else. + AC_MSG_CHECKING([whether $PYTHON version >= $1]) + AM_PYTHON_CHECK_VERSION([$PYTHON], [$1], + [AC_MSG_RESULT(yes)], + [AC_MSG_ERROR(too old)]) + am_display_PYTHON=$PYTHON + else + # Otherwise, try each interpreter until we find one that satisfies + # VERSION. + AC_CACHE_CHECK([for a Python interpreter with version >= $1], + [am_cv_pathless_PYTHON],[ + for am_cv_pathless_PYTHON in _AM_PYTHON_INTERPRETER_LIST none; do + test "$am_cv_pathless_PYTHON" = none && break + AM_PYTHON_CHECK_VERSION([$am_cv_pathless_PYTHON], [$1], [break]) + done]) + # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON. + if test "$am_cv_pathless_PYTHON" = none; then + PYTHON=: + else + AC_PATH_PROG([PYTHON], [$am_cv_pathless_PYTHON]) + fi + am_display_PYTHON=$am_cv_pathless_PYTHON + fi + ]) + + if test "$PYTHON" = :; then + dnl Run any user-specified action, or abort. + m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])]) + else + + dnl Query Python for its version number. Getting [:3] seems to be + dnl the best way to do this; it's what "site.py" does in the standard + dnl library. + + AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version], + [am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[[:3]])"`]) + AC_SUBST([PYTHON_VERSION], [$am_cv_python_version]) + + dnl Use the values of $prefix and $exec_prefix for the corresponding + dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX. These are made + dnl distinct variables so they can be overridden if need be. However, + dnl general consensus is that you shouldn't need this ability. + + AC_SUBST([PYTHON_PREFIX], ['${prefix}']) + AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}']) + + dnl At times (like when building shared libraries) you may want + dnl to know which OS platform Python thinks this is. + + AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform], + [am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`]) + AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform]) + + + dnl Set up 4 directories: + + dnl pythondir -- where to install python scripts. This is the + dnl site-packages directory, not the python standard library + dnl directory like in previous automake betas. This behavior + dnl is more consistent with lispdir.m4 for example. + dnl Query distutils for this directory. distutils does not exist in + dnl Python 1.5, so we fall back to the hardcoded directory if it + dnl doesn't work. + AC_CACHE_CHECK([for $am_display_PYTHON script directory], + [am_cv_python_pythondir], + [if test "x$prefix" = xNONE + then + am_py_prefix=$ac_default_prefix + else + am_py_prefix=$prefix + fi + am_cv_python_pythondir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(0,0,prefix='$am_py_prefix'))" 2>/dev/null || + echo "$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages"` + case $am_cv_python_pythondir in + $am_py_prefix*) + am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'` + am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"` + ;; + *) + case $am_py_prefix in + /usr|/System*) ;; + *) + am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages + ;; + esac + ;; + esac + ]) + AC_SUBST([pythondir], [$am_cv_python_pythondir]) + + dnl pkgpythondir -- $PACKAGE directory under pythondir. Was + dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is + dnl more consistent with the rest of automake. + + AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE]) + + dnl pyexecdir -- directory for installing python extension modules + dnl (shared libraries) + dnl Query distutils for this directory. distutils does not exist in + dnl Python 1.5, so we fall back to the hardcoded directory if it + dnl doesn't work. + AC_CACHE_CHECK([for $am_display_PYTHON extension module directory], + [am_cv_python_pyexecdir], + [if test "x$exec_prefix" = xNONE + then + am_py_exec_prefix=$am_py_prefix + else + am_py_exec_prefix=$exec_prefix + fi + am_cv_python_pyexecdir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(1,0,prefix='$am_py_exec_prefix'))" 2>/dev/null || + echo "$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages"` + case $am_cv_python_pyexecdir in + $am_py_exec_prefix*) + am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'` + am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"` + ;; + *) + case $am_py_exec_prefix in + /usr|/System*) ;; + *) + am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages + ;; + esac + ;; + esac + ]) + AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir]) + + dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE) + + AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE]) + + dnl Run any user-specified action. + $2 + fi + +]) + + +# AM_PYTHON_CHECK_VERSION(PROG, VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) +# --------------------------------------------------------------------------- +# Run ACTION-IF-TRUE if the Python interpreter PROG has version >= VERSION. +# Run ACTION-IF-FALSE otherwise. +# This test uses sys.hexversion instead of the string equivalent (first +# word of sys.version), in order to cope with versions such as 2.2c1. +# This supports Python 2.0 or higher. (2.0 was released on October 16, 2000). +AC_DEFUN([AM_PYTHON_CHECK_VERSION], + [prog="import sys +# split strings by '.' and convert to numeric. Append some zeros +# because we need at least 4 digits for the hex conversion. +# map returns an iterator in Python 3.0 and a list in 2.x +minver = list(map(int, '$2'.split('.'))) + [[0, 0, 0]] +minverhex = 0 +# xrange is not present in Python 3.0 and range returns an iterator +for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[[i]] +sys.exit(sys.hexversion < minverhex)" + AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])]) + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_RUN_LOG(COMMAND) +# ------------------- +# Run COMMAND, save the exit status in ac_status, and log it. +# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) +AC_DEFUN([AM_RUN_LOG], +[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD + ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + (exit $ac_status); }]) + # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/itstool-2.0.1/configure new/itstool-2.0.2/configure --- old/itstool-2.0.1/configure 2013-11-18 17:21:01.000000000 +0100 +++ new/itstool-2.0.2/configure 2013-12-18 04:16:50.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.66 for itstool 2.0.1. +# Generated by GNU Autoconf 2.66 for itstool 2.0.2. # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -548,13 +548,22 @@ # Identity of this package. PACKAGE_NAME='itstool' PACKAGE_TARNAME='itstool' -PACKAGE_VERSION='2.0.1' -PACKAGE_STRING='itstool 2.0.1' +PACKAGE_VERSION='2.0.2' +PACKAGE_STRING='itstool 2.0.2' PACKAGE_BUGREPORT='' PACKAGE_URL='' ac_subst_vars='LTLIBOBJS LIBOBJS +pkgpyexecdir +pyexecdir +pkgpythondir +pythondir +PYTHON_PLATFORM +PYTHON_EXEC_PREFIX +PYTHON_PREFIX +PYTHON_VERSION +PYTHON DATADIR am__untar am__tar @@ -1165,7 +1174,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures itstool 2.0.1 to adapt to many kinds of systems. +\`configure' configures itstool 2.0.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1231,7 +1240,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of itstool 2.0.1:";; + short | recursive ) echo "Configuration of itstool 2.0.2:";; esac cat <<\_ACEOF @@ -1298,7 +1307,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -itstool configure 2.0.1 +itstool configure 2.0.2 generated by GNU Autoconf 2.66 Copyright (C) 2010 Free Software Foundation, Inc. @@ -1315,7 +1324,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by itstool $as_me 2.0.1, which was +It was created by itstool $as_me 2.0.2, which was generated by GNU Autoconf 2.66. Invocation command line was $ $0 $@ @@ -2130,7 +2139,7 @@ # Define the identity of the package. PACKAGE='itstool' - VERSION='2.0.1' + VERSION='2.0.2' cat >>confdefs.h <<_ACEOF @@ -2180,6 +2189,233 @@ )` + + + + + if test -n "$PYTHON"; then + # If the user set $PYTHON, use it and don't search something else. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $PYTHON version >= 2.6" >&5 +$as_echo_n "checking whether $PYTHON version >= 2.6... " >&6; } + prog="import sys +# split strings by '.' and convert to numeric. Append some zeros +# because we need at least 4 digits for the hex conversion. +# map returns an iterator in Python 3.0 and a list in 2.x +minver = list(map(int, '2.6'.split('.'))) + [0, 0, 0] +minverhex = 0 +# xrange is not present in Python 3.0 and range returns an iterator +for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i] +sys.exit(sys.hexversion < minverhex)" + if { echo "$as_me:$LINENO: $PYTHON -c "$prog"" >&5 + ($PYTHON -c "$prog") >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + as_fn_error $? "too old" "$LINENO" 5 +fi + am_display_PYTHON=$PYTHON + else + # Otherwise, try each interpreter until we find one that satisfies + # VERSION. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a Python interpreter with version >= 2.6" >&5 +$as_echo_n "checking for a Python interpreter with version >= 2.6... " >&6; } +if test "${am_cv_pathless_PYTHON+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + + for am_cv_pathless_PYTHON in python python2 python3 python3.0 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 none; do + test "$am_cv_pathless_PYTHON" = none && break + prog="import sys +# split strings by '.' and convert to numeric. Append some zeros +# because we need at least 4 digits for the hex conversion. +# map returns an iterator in Python 3.0 and a list in 2.x +minver = list(map(int, '2.6'.split('.'))) + [0, 0, 0] +minverhex = 0 +# xrange is not present in Python 3.0 and range returns an iterator +for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i] +sys.exit(sys.hexversion < minverhex)" + if { echo "$as_me:$LINENO: $am_cv_pathless_PYTHON -c "$prog"" >&5 + ($am_cv_pathless_PYTHON -c "$prog") >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then : + break +fi + done +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_pathless_PYTHON" >&5 +$as_echo "$am_cv_pathless_PYTHON" >&6; } + # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON. + if test "$am_cv_pathless_PYTHON" = none; then + PYTHON=: + else + # Extract the first word of "$am_cv_pathless_PYTHON", so it can be a program name with args. +set dummy $am_cv_pathless_PYTHON; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PYTHON+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $PYTHON in + [\\/]* | ?:[\\/]*) + ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +PYTHON=$ac_cv_path_PYTHON +if test -n "$PYTHON"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5 +$as_echo "$PYTHON" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi + am_display_PYTHON=$am_cv_pathless_PYTHON + fi + + + if test "$PYTHON" = :; then + as_fn_error $? "no suitable Python interpreter found" "$LINENO" 5 + else + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5 +$as_echo_n "checking for $am_display_PYTHON version... " >&6; } +if test "${am_cv_python_version+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"` +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5 +$as_echo "$am_cv_python_version" >&6; } + PYTHON_VERSION=$am_cv_python_version + + + + PYTHON_PREFIX='${prefix}' + + PYTHON_EXEC_PREFIX='${exec_prefix}' + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5 +$as_echo_n "checking for $am_display_PYTHON platform... " >&6; } +if test "${am_cv_python_platform+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"` +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5 +$as_echo "$am_cv_python_platform" >&6; } + PYTHON_PLATFORM=$am_cv_python_platform + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory" >&5 +$as_echo_n "checking for $am_display_PYTHON script directory... " >&6; } +if test "${am_cv_python_pythondir+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test "x$prefix" = xNONE + then + am_py_prefix=$ac_default_prefix + else + am_py_prefix=$prefix + fi + am_cv_python_pythondir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(0,0,prefix='$am_py_prefix'))" 2>/dev/null || + echo "$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages"` + case $am_cv_python_pythondir in + $am_py_prefix*) + am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'` + am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"` + ;; + *) + case $am_py_prefix in + /usr|/System*) ;; + *) + am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages + ;; + esac + ;; + esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5 +$as_echo "$am_cv_python_pythondir" >&6; } + pythondir=$am_cv_python_pythondir + + + + pkgpythondir=\${pythondir}/$PACKAGE + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory" >&5 +$as_echo_n "checking for $am_display_PYTHON extension module directory... " >&6; } +if test "${am_cv_python_pyexecdir+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test "x$exec_prefix" = xNONE + then + am_py_exec_prefix=$am_py_prefix + else + am_py_exec_prefix=$exec_prefix + fi + am_cv_python_pyexecdir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(1,0,prefix='$am_py_exec_prefix'))" 2>/dev/null || + echo "$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages"` + case $am_cv_python_pyexecdir in + $am_py_exec_prefix*) + am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'` + am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"` + ;; + *) + case $am_py_exec_prefix in + /usr|/System*) ;; + *) + am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages + ;; + esac + ;; + esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5 +$as_echo "$am_cv_python_pyexecdir" >&6; } + pyexecdir=$am_cv_python_pyexecdir + + + + pkgpyexecdir=\${pyexecdir}/$PACKAGE + + + + fi + + + py_module=libxml2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for python module $py_module" >&5 $as_echo_n "checking for python module $py_module... " >&6; } @@ -2739,7 +2975,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by itstool $as_me 2.0.1, which was +This file was extended by itstool $as_me 2.0.2, which was generated by GNU Autoconf 2.66. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -2792,7 +3028,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -itstool config.status 2.0.1 +itstool config.status 2.0.2 configured by $0, generated by GNU Autoconf 2.66, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/itstool-2.0.1/configure.ac new/itstool-2.0.2/configure.ac --- old/itstool-2.0.1/configure.ac 2013-11-18 17:20:49.000000000 +0100 +++ new/itstool-2.0.2/configure.ac 2013-12-18 04:16:41.000000000 +0100 @@ -1,4 +1,4 @@ -AC_INIT([itstool], [2.0.1], []) +AC_INIT([itstool], [2.0.2], []) AM_INIT_AUTOMAKE([1.9 no-dist-gzip dist-bzip2]) DATADIR=`( @@ -10,6 +10,8 @@ )` AC_SUBST([DATADIR]) +AM_PATH_PYTHON([2.6]) + py_module=libxml2 AC_MSG_CHECKING(for python module $py_module) echo "import $py_module" | python - &>/dev/null diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/itstool-2.0.1/its/Makefile.in new/itstool-2.0.2/its/Makefile.in --- old/itstool-2.0.1/its/Makefile.in 2013-11-18 17:21:01.000000000 +0100 +++ new/itstool-2.0.2/its/Makefile.in 2013-12-18 04:16:51.000000000 +0100 @@ -97,6 +97,11 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ +PYTHON = @PYTHON@ +PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ +PYTHON_PLATFORM = @PYTHON_PLATFORM@ +PYTHON_PREFIX = @PYTHON_PREFIX@ +PYTHON_VERSION = @PYTHON_VERSION@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -129,9 +134,13 @@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ +pkgpyexecdir = @pkgpyexecdir@ +pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +pyexecdir = @pyexecdir@ +pythondir = @pythondir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/itstool-2.0.1/itstool new/itstool-2.0.2/itstool --- old/itstool-2.0.1/itstool 2013-11-18 17:21:03.000000000 +0100 +++ new/itstool-2.0.2/itstool 2013-12-18 04:16:53.000000000 +0100 @@ -1,6 +1,6 @@ #!/usr/bin/python -s # -# Copyright (c) 2010-2011 Shaun McCance <shaunm@gnome.org> +# Copyright (c) 2010-2013 Shaun McCance <shaunm@gnome.org> # # ITS Tool program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by the @@ -17,7 +17,7 @@ # Place, Suite 330, Boston, MA 0211-1307 USA. # -VERSION="2.0.1" +VERSION="2.0.2" DATADIR="/usr/local/share" import gettext @@ -859,7 +859,7 @@ prev = node.prev node.unlinkNode() node.freeNode() - if prev.isBlankNode(): + if prev is not None and prev.isBlankNode(): prev.unlinkNode() prev.freeNode() return @@ -914,7 +914,7 @@ prev = node.prev node.unlinkNode() node.freeNode() - if prev.isBlankNode(): + if prev is not None and prev.isBlankNode(): prev.unlinkNode() prev.freeNode() return diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/itstool-2.0.1/itstool.1 new/itstool-2.0.2/itstool.1 --- old/itstool-2.0.1/itstool.1 2013-11-18 17:21:03.000000000 +0100 +++ new/itstool-2.0.2/itstool.1 2013-12-18 04:16:53.000000000 +0100 @@ -1,77 +1,120 @@ -.TH ITSTOOL "1" "May 2011" "itstool 2.0.1" -.SH NAME +.TH "ITSTOOL" "1" "December 2013" "itstool 2.0.2" + +.SH "NAME" itstool \- convert between XML and PO using ITS -.SH SYNOPSIS -itstool [OPTIONS] [XMLFILES] + +.SH "SYNOPSIS" +itstool [OPTIONS] XMLFILES... +.br +itstool \fB\-m\fR <MOFILE> [OPTIONS] XMLFILES... .br -itstool \fB\-m\fR <MOFILE> [OPTIONS] [XMLFILES] +itstool \fB\-j\fR <XMLFILE> [OPTIONS] MOFILES... -.SH DESCRIPTION -.BR itstool -extracts messages from XML files and outputs PO template files, then merges -translations from MO files to create translated XML files. It determines what -to translate and how to chunk it into messages using the W3C Internationalization -Tag Set (ITS). -To extract messages from XML files \fBFILES\fR and output them to \fBOUT.pot\fR: +.SH "DESCRIPTION" +\fBitstool \fR extracts messages from XML files and outputs PO template files, +then merges translations from MO files to create translated XML files. It +determines what to translate and how to chunk it into messages using the W3C +Internationalization Tag Set (ITS). -\fBitstool -o OUT.pot FILES\fR +To extract messages from XML files \fBXMLFILES\fR and output them to \fBOUT.pot\fR: + +.BR "itstool \-o OUT.pot XMLFILES" After merging with existing translations or translating strings, generate an MO file with \fBmsgfmt(1)\fR, then output translated files to the directory \fBDIR\fR: -\fBitstool -m OUT.mo -o DIR FILES\fR +.BR "itstool \-m OUT.mo \-o DIR XMLFILES" + +You can also create a single multilingual XML output file using an input XML +file and a set of MO files: + +.BR "itstool \-j FILE.xml \-o OUT.xml MOFILES" ITS definitions are loaded from the built-in rules, rules embedded in the source XML files, files passed with the \fB-i\fR option, and ITS attributes in the source -XML files. Later definitions take precedence. +XML files. Later definitions take precedence. You can disable built-in rules by +passing the \fB-n\fR option. + + +.SH "OPTIONS" -.SH OPTIONS .SS "Extracting" -.IP "\fB\-o \fIFILE\fR" 4 + +.IP "\fB\-o \fIOUT.pot\fR" 4 .PD 0 -.IP "\fB\-\-out=\fIFILE \fR" 4 -.PD -output PO template to the file -.BR OUT +.IP "\fB\-\-out \fIOUT.pot\fR" 4 +output PO template to the file \fBOUT.pot\fR + .SS "Merging" -.IP "\fB\-m \fIFILE\fR" 4 + +.IP "\fB\-m \fIMOFILE\fR \fIXMLFILES\fR" 4 .PD 0 -.IP "\fB\-\-merge=\fIFILE \fR" 4 -.PD -merge from an MO file -.BR FILE -and output XML files -.TP +.IP "\fB\-\-merge \fIMOFILE\fR \fIXMLFILES\fR" 4 +merge from an MO file \fBMOFILE\fR and output translated XML files for source \fBXMLFILES\fR + .IP "\fB\-l \fILANG\fR" 4 .PD 0 -.IP "\fB\-\-lang=\fILANG \fR" 4 -.PD +.IP "\fB\-\-lang \fILANG \fR" 4 explicitly set the language code output to XML -.TP -.IP "\fB\-o \fIFILE\fR" 4 + +.IP "\fB\-o \fIOUT\fR" 4 .PD 0 -.IP "\fB\-\-out=\fIFILE \fR" 4 -.PD -output XML files in the directory -.BR OUT +.IP "\fB\-\-out \fIOUT \fR" 4 +output XML files in the directory \fBOUT\fR + +.SS "Joining" + +.IP "\fB\-j \fXMLIFILE\fR \fIMOFILES\fR" 4 +.PD 0 +.IP "\fB\-\-join \fIXMLFILE\fR \fIMOFILES\fR" 4 +join translations from \fBMOFILES\fR into a multilingual file based on source \fBXMLFILE\fR + +.IP "\fB\-o \fIOUT.xml\fR" 4 +.PD 0 +.IP "\fB\-\-out \fIOUT.xml\fR" 4 +output to the XML file \fBOUT.xml\fR + .SS "Common" + .IP "\fB\-i \fIITS\fR" 4 .PD 0 -.IP "\fB\-\-its=\fIITS \fR" 4 -.PD -load the ITS rules in the file ITS (can specify -multiple times) +.IP "\fB\-\-its \fIITS\fR" 4 +load the ITS rules in the file \fBITS\fR (can specify multiple times) + +.IP "\fB\-n\fR" 4 +.PD 0 +.IP "\fB\-\-no\-builtins\fR" 4 +do not apply the built-in ITS rules that ship with itstool + +.IP "\fB\-s\fR" 4 +.PD 0 +.IP "\fB\-\-strict\fR" 4 +exit with error when PO files contain broken XML + +.IP "\fB\-d\fR" 4 +.PD 0 +.IP "\fB\-\-load\-dtd\fR" 4 +load external DTDs used by input XML files + +.IP "\fB\-k\fR" 4 +.PD 0 +.IP "\fB\-\-keep\-entities\fR" 4 +keep entity references unexpanded in PO files + +.IP "\fB\-p \fINAME VALUE\fR" 4 +.PD 0 +.IP "\fB\-\-param \fINAME VALUE\fR" 4 +define ITS parameter \fBNAME\fR to the value \fBVALUE\fR (can specify multiple times) + -.SH AUTHOR +.SH "AUTHOR" Shaun McCance <shaunm@gnome.org> + .SH "SEE ALSO" -More documentation for -.B itstool -is maintained online. For more information, see: -.IP -.B http://itstool.org/documentation/ -.PP +More documentation for \fBitstool\fR is maintained online. For more information, see: + +.BR "http://itstool.org/documentation/" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/itstool-2.0.1/itstool.1.in new/itstool-2.0.2/itstool.1.in --- old/itstool-2.0.1/itstool.1.in 2011-05-09 22:24:10.000000000 +0200 +++ new/itstool-2.0.2/itstool.1.in 2013-12-17 18:17:42.000000000 +0100 @@ -1,77 +1,120 @@ -.TH ITSTOOL "1" "May 2011" "itstool @VERSION@" -.SH NAME +.TH "ITSTOOL" "1" "December 2013" "itstool @VERSION@" + +.SH "NAME" itstool \- convert between XML and PO using ITS -.SH SYNOPSIS -itstool [OPTIONS] [XMLFILES] + +.SH "SYNOPSIS" +itstool [OPTIONS] XMLFILES... +.br +itstool \fB\-m\fR <MOFILE> [OPTIONS] XMLFILES... .br -itstool \fB\-m\fR <MOFILE> [OPTIONS] [XMLFILES] +itstool \fB\-j\fR <XMLFILE> [OPTIONS] MOFILES... -.SH DESCRIPTION -.BR itstool -extracts messages from XML files and outputs PO template files, then merges -translations from MO files to create translated XML files. It determines what -to translate and how to chunk it into messages using the W3C Internationalization -Tag Set (ITS). -To extract messages from XML files \fBFILES\fR and output them to \fBOUT.pot\fR: +.SH "DESCRIPTION" +\fBitstool \fR extracts messages from XML files and outputs PO template files, +then merges translations from MO files to create translated XML files. It +determines what to translate and how to chunk it into messages using the W3C +Internationalization Tag Set (ITS). -\fBitstool -o OUT.pot FILES\fR +To extract messages from XML files \fBXMLFILES\fR and output them to \fBOUT.pot\fR: + +.BR "itstool \-o OUT.pot XMLFILES" After merging with existing translations or translating strings, generate an MO file with \fBmsgfmt(1)\fR, then output translated files to the directory \fBDIR\fR: -\fBitstool -m OUT.mo -o DIR FILES\fR +.BR "itstool \-m OUT.mo \-o DIR XMLFILES" + +You can also create a single multilingual XML output file using an input XML +file and a set of MO files: + +.BR "itstool \-j FILE.xml \-o OUT.xml MOFILES" ITS definitions are loaded from the built-in rules, rules embedded in the source XML files, files passed with the \fB-i\fR option, and ITS attributes in the source -XML files. Later definitions take precedence. +XML files. Later definitions take precedence. You can disable built-in rules by +passing the \fB-n\fR option. + + +.SH "OPTIONS" -.SH OPTIONS .SS "Extracting" -.IP "\fB\-o \fIFILE\fR" 4 + +.IP "\fB\-o \fIOUT.pot\fR" 4 .PD 0 -.IP "\fB\-\-out=\fIFILE \fR" 4 -.PD -output PO template to the file -.BR OUT +.IP "\fB\-\-out \fIOUT.pot\fR" 4 +output PO template to the file \fBOUT.pot\fR + .SS "Merging" -.IP "\fB\-m \fIFILE\fR" 4 + +.IP "\fB\-m \fIMOFILE\fR \fIXMLFILES\fR" 4 .PD 0 -.IP "\fB\-\-merge=\fIFILE \fR" 4 -.PD -merge from an MO file -.BR FILE -and output XML files -.TP +.IP "\fB\-\-merge \fIMOFILE\fR \fIXMLFILES\fR" 4 +merge from an MO file \fBMOFILE\fR and output translated XML files for source \fBXMLFILES\fR + .IP "\fB\-l \fILANG\fR" 4 .PD 0 -.IP "\fB\-\-lang=\fILANG \fR" 4 -.PD +.IP "\fB\-\-lang \fILANG \fR" 4 explicitly set the language code output to XML -.TP -.IP "\fB\-o \fIFILE\fR" 4 + +.IP "\fB\-o \fIOUT\fR" 4 .PD 0 -.IP "\fB\-\-out=\fIFILE \fR" 4 -.PD -output XML files in the directory -.BR OUT +.IP "\fB\-\-out \fIOUT \fR" 4 +output XML files in the directory \fBOUT\fR + +.SS "Joining" + +.IP "\fB\-j \fXMLIFILE\fR \fIMOFILES\fR" 4 +.PD 0 +.IP "\fB\-\-join \fIXMLFILE\fR \fIMOFILES\fR" 4 +join translations from \fBMOFILES\fR into a multilingual file based on source \fBXMLFILE\fR + +.IP "\fB\-o \fIOUT.xml\fR" 4 +.PD 0 +.IP "\fB\-\-out \fIOUT.xml\fR" 4 +output to the XML file \fBOUT.xml\fR + .SS "Common" + .IP "\fB\-i \fIITS\fR" 4 .PD 0 -.IP "\fB\-\-its=\fIITS \fR" 4 -.PD -load the ITS rules in the file ITS (can specify -multiple times) +.IP "\fB\-\-its \fIITS\fR" 4 +load the ITS rules in the file \fBITS\fR (can specify multiple times) + +.IP "\fB\-n\fR" 4 +.PD 0 +.IP "\fB\-\-no\-builtins\fR" 4 +do not apply the built-in ITS rules that ship with itstool + +.IP "\fB\-s\fR" 4 +.PD 0 +.IP "\fB\-\-strict\fR" 4 +exit with error when PO files contain broken XML + +.IP "\fB\-d\fR" 4 +.PD 0 +.IP "\fB\-\-load\-dtd\fR" 4 +load external DTDs used by input XML files + +.IP "\fB\-k\fR" 4 +.PD 0 +.IP "\fB\-\-keep\-entities\fR" 4 +keep entity references unexpanded in PO files + +.IP "\fB\-p \fINAME VALUE\fR" 4 +.PD 0 +.IP "\fB\-\-param \fINAME VALUE\fR" 4 +define ITS parameter \fBNAME\fR to the value \fBVALUE\fR (can specify multiple times) + -.SH AUTHOR +.SH "AUTHOR" Shaun McCance <shaunm@gnome.org> + .SH "SEE ALSO" -More documentation for -.B itstool -is maintained online. For more information, see: -.IP -.B http://itstool.org/documentation/ -.PP +More documentation for \fBitstool\fR is maintained online. For more information, see: + +.BR "http://itstool.org/documentation/" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/itstool-2.0.1/itstool.in new/itstool-2.0.2/itstool.in --- old/itstool-2.0.1/itstool.in 2013-11-01 16:56:42.000000000 +0100 +++ new/itstool-2.0.2/itstool.in 2013-12-16 20:37:23.000000000 +0100 @@ -1,6 +1,6 @@ -#!/usr/bin/python -s +#!@PYTHON@ -s # -# Copyright (c) 2010-2011 Shaun McCance <shaunm@gnome.org> +# Copyright (c) 2010-2013 Shaun McCance <shaunm@gnome.org> # # ITS Tool program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by the @@ -859,7 +859,7 @@ prev = node.prev node.unlinkNode() node.freeNode() - if prev.isBlankNode(): + if prev is not None and prev.isBlankNode(): prev.unlinkNode() prev.freeNode() return @@ -914,7 +914,7 @@ prev = node.prev node.unlinkNode() node.freeNode() - if prev.isBlankNode(): + if prev is not None and prev.isBlankNode(): prev.unlinkNode() prev.freeNode() return -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de