Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libt3widget for openSUSE:Factory checked in at 2022-08-29 15:16:34 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libt3widget (Old) and /work/SRC/openSUSE:Factory/.libt3widget.new.2083 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libt3widget" Mon Aug 29 15:16:34 2022 rev:11 rq:999939 version:1.2.2 Changes: -------- --- /work/SRC/openSUSE:Factory/libt3widget/libt3widget.changes 2019-12-21 12:32:44.495402047 +0100 +++ /work/SRC/openSUSE:Factory/.libt3widget.new.2083/libt3widget.changes 2022-08-29 15:16:35.773993361 +0200 @@ -1,0 +2,12 @@ +Mon Aug 29 09:52:30 UTC 2022 - Jan Engelhardt <[email protected]> + +- Update to release 1.2.2 + * Fix incorrect computation of the number of endchars in a + text_line when the end of the line truncated a double-width + character. This would cause a segmentation fault in the + t3window library. + * This release fixes a bug which makes Tilde crash on start up, + due to a typo in a copy-assignment operator signature which + causes an infinite recursion. + +------------------------------------------------------------------- Old: ---- libt3widget-1.2.0.tar.bz2 libt3widget-1.2.0.tar.bz2.sig New: ---- libt3widget-1.2.2.tar.bz2 libt3widget-1.2.2.tar.bz2.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libt3widget.spec ++++++ --- /var/tmp/diff_new_pack.ppwxRG/_old 2022-08-29 15:16:36.369994562 +0200 +++ /var/tmp/diff_new_pack.ppwxRG/_new 2022-08-29 15:16:36.373994570 +0200 @@ -1,7 +1,7 @@ # # spec file for package libt3widget # -# Copyright (c) 2019 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ Name: libt3widget %define lname libt3widget2 -Version: 1.2.0 +Version: 1.2.2 Release: 0 Summary: The Tilde terminal dialog toolkit License: GPL-3.0-only @@ -77,8 +77,8 @@ %autosetup -p1 %build -%configure --docdir="%_docdir/%name" -make %{?_smp_mflags} +./configure --prefix="%_prefix" --libdir="%_libdir" --docdir="%_docdir/%name" +%make_build %install %make_install @@ -93,7 +93,7 @@ %license COPYING %files devel -%_includedir/t3/ +%_includedir/t3widget/ %_libdir/libt3widget.so %_libdir/pkgconfig/libt3widget.pc %_libdir/libt3widget/ ++++++ libt3widget-1.2.0.tar.bz2 -> libt3widget-1.2.2.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libt3widget-1.2.0/Changelog new/libt3widget-1.2.2/Changelog --- old/libt3widget-1.2.0/Changelog 2019-12-03 20:12:13.000000000 +0100 +++ new/libt3widget-1.2.2/Changelog 2022-01-31 13:36:30.000000000 +0100 @@ -1,3 +1,14 @@ +Version 1.2.2: + Bug fixes: + - Fix typo in copy-assignment operator signature leading to an infinite + recursion and segmentation fault. + +Version 1.2.1: + Bug fixes: + - Fix incorrect computation of the number of endchars in a text_line when the + end of the line truncated a double-width character. This would cause a + segmentation fault in the t3window library. + Version 1.2.0: New features: - The attribute picker dialog distinguishes between explicitly unset and diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libt3widget-1.2.0/Makefile.in new/libt3widget-1.2.2/Makefile.in --- old/libt3widget-1.2.0/Makefile.in 2019-12-03 20:12:13.000000000 +0100 +++ new/libt3widget-1.2.2/Makefile.in 2022-01-31 13:36:30.000000000 +0100 @@ -112,12 +112,12 @@ $(INSTALL) -d $(_libdir) $(LIBTOOL) --mode=install $(INSTALL) -s -m0644 src/libt3widget.la $(_libdir) chmod 0644 $(_libdir)/libt3widget.la - $(INSTALL) -d $(_includedir)/t3/widget/t3widget - $(INSTALL) -m0644 src/*.h $(_includedir)/t3/widget/t3widget - $(INSTALL) -d $(_includedir)/t3/widget/t3widget/dialogs - $(INSTALL) -m0644 src/dialogs/*.h $(_includedir)/t3/widget/t3widget/dialogs - $(INSTALL) -d $(_includedir)/t3/widget/t3widget/widgets - $(INSTALL) -m0644 src/widgets/*.h $(_includedir)/t3/widget/t3widget/widgets + $(INSTALL) -d $(_includedir)/t3widget + $(INSTALL) -m0644 src/*.h $(_includedir)/t3widget + $(INSTALL) -d $(_includedir)/t3widget/dialogs + $(INSTALL) -m0644 src/dialogs/*.h $(_includedir)/t3widget/dialogs + $(INSTALL) -d $(_includedir)/t3widget/widgets + $(INSTALL) -m0644 src/widgets/*.h $(_includedir)/t3widget/widgets $(INSTALL) -d $(_docdir) $(INSTALL) -m0644 COPYING README Changelog $(_docdir) $(INSTALL) -d $(_pkgconfigdir) @@ -134,7 +134,7 @@ $(LIBTOOL) --mode=uninstall rm $(_libdir)/libt3widget/libt3widget2-x11.la ; \ rmdir $(_libdir)/libt3widget || true ; \ fi - rm -rf $(_includedir)/t3/widget + rm -rf $(_includedir)/t3widget rm -rf $(_docdir) rm -f $(_pkgconfigdir)/libt3widget.pc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libt3widget-1.2.0/config.pkg new/libt3widget-1.2.2/config.pkg --- old/libt3widget-1.2.0/config.pkg 2019-12-03 20:12:13.000000000 +0100 +++ new/libt3widget-1.2.2/config.pkg 2022-01-31 13:36:30.000000000 +0100 @@ -405,9 +405,9 @@ fi PKGCONFIG_DESC="Dialog toolkit library" - PKGCONFIG_VERSION="1.2.0" + PKGCONFIG_VERSION="1.2.2" PKGCONFIG_URL="http://os.ghalkes.nl/t3/libt3widget.html" - PKGCONFIG_CFLAGS="-I\${includedir}/t3/widget" + PKGCONFIG_CFLAGS="-I\${includedir}" PKGCONFIG_LIBS="-lt3widget" PKGCONFIG_LIBS_PRIVATE="${PKGCONFIG_LIBS_PRIVATE} ${PTHREADLIBS} ${CONFIGLIBS} -lunistring" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libt3widget-1.2.0/configure new/libt3widget-1.2.2/configure --- old/libt3widget-1.2.0/configure 2019-12-03 20:12:13.000000000 +0100 +++ new/libt3widget-1.2.2/configure 2022-01-31 13:36:30.000000000 +0100 @@ -160,7 +160,7 @@ #============================== # Setup #============================== -unset LINKRULE COMPILERULE USERRULES USERHELP EXTENSIONS SWITCHES PRECHECKFUNC INSTALLDIRS DUMP_LOG +unset LINKRULE COMPILERULE USERRULES USERHELP EXTENSIONS SWITCHES PRECHECKFUNC INSTALLDIRS DUMP_LOG HOST_PREFIX . ./config.pkg @@ -447,9 +447,10 @@ } basic_test_pkgconfig() { - check_message "Checking for pkg-config... " - echo "Running: pkg-config --variable pc_path pkg-config" >> config.log - PKGCONFIGPATH="`pkg-config --variable pc_path pkg-config 2>> config.log`" + [ -z "${PKG_CONFIG}" ] && PKG_CONFIG=pkg-config + check_message "Checking for ${PKG_CONFIG}... " + echo "Running: ${PKG_CONFIG} --variable pc_path pkg-config" >> config.log + PKGCONFIGPATH="`${PKG_CONFIG} --variable pc_path pkg-config 2>> config.log`" if [ $? -eq 0 ] ; then check_message_result "yes" HASPKGCONFIG=yes @@ -472,7 +473,7 @@ fi done unset IFS - [ "${PKGCONFIGDIR_FOUND}" = no ] && check_message_result "WARNING: ${EXPANDED_PKGCONFIGDIR} is not in the pkg-config path" + [ "${PKGCONFIGDIR_FOUND}" = no ] && check_message_result "WARNING: ${EXPANDED_PKGCONFIGDIR} is not in the pkg-config path. This expected for cross compilation." else HASPKGCONFIG=no @@ -494,11 +495,31 @@ echo "----------------------------------">> config.log check_message_result "Creating $1.pc" { - echo "prefix=${PREFIX:-/usr/local}" - DEFAULT_DIR="\${prefix}/lib" - echo "libdir=${option_libdir:-$DEFAULT_DIR}" - DEFAULT_DIR="\${prefix}/include" - echo "includedir=${option_includedir:-$DEFAULT_DIR}" + LOCAL_PREFIX="${PREFIX:-/usr/local}" + echo "prefix=${LOCAL_PREFIX}" + + if [ -z "${option_libdir}" ] ; then + echo "libdir=\${prefix}/lib" + else + WITHOUT_PREFIX="${option_libdir#${LOCAL_PREFIX}/}" + if [ "${option_libdir}" = "${WITHOUT_PREFIX}" ] ; then + echo "libdir=${option_libdir}" + else + echo "libdir=\${prefix}/${WITHOUT_PREFIX}" + fi + fi + + if [ -z "${option_includedir}" ] ; then + echo "includedir=\${prefix}/include" + else + WITHOUT_PREFIX="${option_includedir#${LOCAL_PREFIX}/}" + if [ "${option_includedir}" = "${WITHOUT_PREFIX}" ] ; then + echo "includedir=${option_includedir}" + else + echo "includedir=\${prefix}/${WITHOUT_PREFIX}" + fi + fi + echo echo "Name: $PKGCONFIG_NAME" echo "Description: $PKGCONFIG_DESC" @@ -564,10 +585,11 @@ } pkgconfig() { + [ -z "${PKG_CONFIG}" ] && PKG_CONFIG=pkg-config if [ -z "${HASPKGCONFIG}" ] ; then check_message "Checking for pkg-config... " - echo "Running: pkg-config --variable pc_path pkg-config" >>config.log - if pkg-config --variable pc_path pkg-config > /dev/null 2>>config.log ; then + echo "Running: ${PKG_CONFIG} --variable pc_path pkg-config" >>config.log + if ${PKG_CONFIG} --variable pc_path pkg-config > /dev/null 2>>config.log ; then check_message_result "yes" HASPKGCONFIG=yes else @@ -592,17 +614,20 @@ unset "${2}_FLAGS" "${2}_LIBS" check_message "Checking for $PKGNAME$PKGVERSION pkg-config... " - echo "Running: pkg-config --print-errors --exists $PKGNAME$PKGVERSION" >>config.log - if not pkg-config --exists $PKGNAME $PKGVERSION 2>>config.log >/dev/null ; then + echo "Running: ${PKG_CONFIG} --print-errors --exists $PKGNAME$PKGVERSION" >>config.log + if not ${PKG_CONFIG} --print-errors --exists $PKGNAME $PKGVERSION 2>>config.log >/dev/null ; then check_message_result "no" return 1 fi check_message_result "yes" if [ $# -ge 3 ] ; then - if $3 "$PKGNAME pkg-config compile" "TESTFLAGS=\`pkg-config --cflags $PKGNAME\`" "TESTLIBS=\`pkg-config --libs $PKGNAME\`" 2>>config.log ; then - eval "${2}_FLAGS"="\"\\\`pkg-config --cflags $PKGNAME\\\`\"" - eval "${2}_LIBS"="\"\\\`pkg-config --libs $PKGNAME\\\`\"" + if $3 "$PKGNAME pkg-config compile" "TESTFLAGS=\`${PKG_CONFIG} --cflags $PKGNAME\`" "TESTLIBS=\`${PKG_CONFIG} --libs $PKGNAME\`" 2>>config.log ; then + eval "${2}_FLAGS"="\"\\\`${PKG_CONFIG} --cflags $PKGNAME\\\`\"" + eval "${2}_LIBS"="\"\\\`${PKG_CONFIG} --libs $PKGNAME\\\`\"" + elif $3 "$PKGNAME pkg-config --define-prefix compile" "TESTFLAGS=\`${PKG_CONFIG} --define-prefix --cflags $PKGNAME\`" "TESTLIBS=\`${PKG_CONFIG} --define-prefix --libs $PKGNAME\`" 2>>config.log ; then + eval "${2}_FLAGS"="\"\\\`${PKG_CONFIG} --define-prefix --cflags $PKGNAME\\\`\"" + eval "${2}_LIBS"="\"\\\`${PKG_CONFIG} --define-prefix --libs $PKGNAME\\\`\"" else return 1 fi @@ -821,14 +846,33 @@ } EOF if not test_link "Large File Support as default" TESTFLAGS="$LFSFLAGS" TESTLIBS="$LFSLIBS" ; then - LFSFLAGS=$(getconf LFS_CFLAGS 2>/dev/null) - LFSLIBS=$(getconf LFS_LDFLAGS 2>/dev/null ; getconf LFSLIBS 2>/dev/null) - if [ -n "$LFSFLAGS" ] || [ -n "$LFSLIBS" ] ; then - touch_c - if not test_link "Large File Support with getconf LFS_XXX flags" \ - TESTFLAGS="$LFSFLAGS" TESTLIBS="$LFSLIBS" ; then - unset LFSFLAGS - unset LFSLIBS + if [ -z "$HOST_PREFIX" ] + then + LFSFLAGS="$(getconf LFS_CFLAGS 2>/dev/null)" + LFSLIBS="$(getconf LFS_LDFLAGS 2>/dev/null)" + if [ -n "$LFSLIBS" ] + then + LFSLIBS="${LFSLIBS} " + fi + LFSLIBS="${LFSLIBS}$(getconf LFS_LIBS 2>/dev/null)" + if [ -n "$LFSFLAGS" ] || [ -n "$LFSLIBS" ] ; then + touch_c + if not test_link "Large File Support with getconf LFS_XXX flags" \ + TESTFLAGS="$LFSFLAGS" TESTLIBS="$LFSLIBS" ; then + unset LFSFLAGS + unset LFSLIBS + fi + fi + else + LFSFLAGS=-D_FILE_OFFSET_BITS=64 + LFSLIBS= + if [ -n "$LFSFLAGS" ] || [ -n "$LFSLIBS" ] ; then + touch_c + if not test_link "Large File Support with -D_FILE_OFFSET_BITS=64" \ + TESTFLAGS="$LFSFLAGS" TESTLIBS="$LFSLIBS" ; then + unset LFSFLAGS + unset LFSLIBS + fi fi fi @@ -915,6 +959,25 @@ --prefix=*) PREFIX="${PARAM#--prefix=}" ;; + --host=*) + HOST_PREFIX="${PARAM#--host=}" + [ -z "${LIBTOOL}" ] && LIBTOOL="${HOST_PREFIX}-libtool" + if which "${LIBTOOL}" > /dev/null && echo "${EXTENSIONS}" | grep "libtool" > /dev/null + then + [ -z "${CC}" ] && CC="`"${LIBTOOL}" --config | grep '^CC' | tail -n1 | sed 's/.*"\([^"]\+\)".*/\1/'`" + [ -z "${CXX}" ] && CXX="`"${LIBTOOL}" --tag=CXX --config | grep '^CC' | tail -n1 | sed 's/.*"\([^"]\+\)".*/\1/'`" + else + [ -z "${CC}" ] && CC="${HOST_PREFIX}-gcc" + [ -z "${CXX}" ] && CXX="${HOST_PREFIX}-g++" + fi + [ -z "${PKG_CONFIG}" ] && PKG_CONFIG="${HOST_PREFIX}-pkg-config" + + echo "INFO: cross compiling using the following settings:" + echo " CC=$CC" + echo " CXX=$CXX" + echo " LIBTOOL=$LIBTOOL" + echo " PKG_CONFIG=$PKG_CONFIG" + ;; --dump-log) DUMP_LOG=1 ;; @@ -966,6 +1029,15 @@ esac done +# Remove trailing slashes from the prefix. These are superfluous and get in +# the way of testing. +STRIPPED_PREFIX="${PREFIX%/}" +while [ "${PREFIX}" != "${STRIPPED_PREFIX}" ] +do + PREFIX="${STRIPPED_PREFIX}" + STRIPPED_PREFIX="${PREFIX%/}" +done + if [ -n "${INSTALL}" ] ; then TEST_INSTALL="${INSTALL}" unset INSTALL diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libt3widget-1.2.0/src/contentlist.cc new/libt3widget-1.2.2/src/contentlist.cc --- old/libt3widget-1.2.0/src/contentlist.cc 2019-12-03 20:12:13.000000000 +0100 +++ new/libt3widget-1.2.2/src/contentlist.cc 2022-01-31 13:36:30.000000000 +0100 @@ -158,11 +158,14 @@ } /** Construct a copy of an existing file_name_entry_t. */ - file_name_entry_t(const file_name_entry_t &other) { + file_name_entry_t(const file_name_entry_t &other) { *this = other; } + + file_name_entry_t& operator=(const file_name_entry_t &other) { name = other.name; utf8_name = other.utf8_name; is_dir = other.is_dir; display_name = other.display_name; + return *this; } }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libt3widget-1.2.0/src/main.h new/libt3widget-1.2.2/src/main.h --- old/libt3widget-1.2.0/src/main.h 2019-12-03 20:12:13.000000000 +0100 +++ new/libt3widget-1.2.2/src/main.h 2022-01-31 13:36:30.000000000 +0100 @@ -34,7 +34,7 @@ The value 0 is an invalid value which should be replaced by the script that builds the release package. */ -#define T3_WIDGET_VERSION 0x010200 +#define T3_WIDGET_VERSION 0x010202 /** A class representing an error from one of the supporting libraries. */ class T3_WIDGET_API complex_error_t { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libt3widget-1.2.0/src/textline.cc new/libt3widget-1.2.2/src/textline.cc --- old/libt3widget-1.2.0/src/textline.cc 2019-12-03 20:12:13.000000000 +0100 +++ new/libt3widget-1.2.2/src/textline.cc 2022-01-31 13:36:30.000000000 +0100 @@ -478,7 +478,7 @@ } else { /* Take care of double width characters that cross the right screen edge. */ if (total + accumulated + width_at(i) > size) { - endchars = (size - total + accumulated); + endchars = size - (total + accumulated); break; } accumulated += width_at(i);
