Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libt3window for openSUSE:Factory checked in at 2022-08-29 15:16:33 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libt3window (Old) and /work/SRC/openSUSE:Factory/.libt3window.new.2083 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libt3window" Mon Aug 29 15:16:33 2022 rev:9 rq:999938 version:0.4.1 Changes: -------- --- /work/SRC/openSUSE:Factory/libt3window/libt3window.changes 2019-12-21 12:32:46.179402847 +0100 +++ /work/SRC/openSUSE:Factory/.libt3window.new.2083/libt3window.changes 2022-08-29 15:16:34.889991582 +0200 @@ -1,0 +2,8 @@ +Mon Aug 29 09:49:32 UTC 2022 - Jan Engelhardt <[email protected]> + +- Update to release 0.4.1 + * Fix incorrect length computation of buffer in t3_win_clrtoeol + when the current paint position is in the middle of a + double-width character. This could cause segmentation faults. + +------------------------------------------------------------------- Old: ---- libt3window-0.4.0.tar.bz2 libt3window-0.4.0.tar.bz2.sig New: ---- libt3window-0.4.1.tar.bz2 libt3window-0.4.1.tar.bz2.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libt3window.spec ++++++ --- /var/tmp/diff_new_pack.q6Nv2N/_old 2022-08-29 15:16:35.417992645 +0200 +++ /var/tmp/diff_new_pack.q6Nv2N/_new 2022-08-29 15:16:35.421992653 +0200 @@ -1,7 +1,7 @@ # # spec file for package libt3window # -# 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: libt3window %define lname libt3window0 -Version: 0.4.0 +Version: 0.4.1 Release: 0 Summary: The Tilde Toolkit's window-based terminal program library License: GPL-3.0-only @@ -68,12 +68,12 @@ applications that want to make use of libt3window. %prep -%setup -q +%autosetup %build export CC=gcc -%configure --docdir="%_docdir/%name" -make %{?_smp_mflags} +./configure --prefix="%_prefix" --libdir="%_libdir" --docdir="%_docdir/%name" +%make_build %install %make_install @@ -84,13 +84,11 @@ %postun -p /sbin/ldconfig -n %lname %files -n %lname -%defattr(-,root,root) %_libdir/libt3window.so.0* -%doc COPYING +%license COPYING %files devel -%defattr(-,root,root) -%_includedir/t3/ +%_includedir/t3window/ %_libdir/libt3window.so %_libdir/pkgconfig/libt3window.pc %_docdir/%name/ ++++++ libt3window-0.4.0.tar.bz2 -> libt3window-0.4.1.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libt3window-0.4.0/Changelog new/libt3window-0.4.1/Changelog --- old/libt3window-0.4.0/Changelog 2019-11-30 17:49:42.000000000 +0100 +++ new/libt3window-0.4.1/Changelog 2022-01-29 17:44:23.000000000 +0100 @@ -1,3 +1,9 @@ +Version 0.4.1: + Bug fixes: + - Fix incorrect length computation of buffer in t3_win_clrtoeol when the + current paint position is in the middle of a double-width character. This + could cause segmentation faults. + Version 0.4.0: New features: - Add bits to the attribute bits to signify that an attribute has been diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libt3window-0.4.0/Makefile.in new/libt3window-0.4.1/Makefile.in --- old/libt3window-0.4.0/Makefile.in 2019-11-30 17:49:42.000000000 +0100 +++ new/libt3window-0.4.1/Makefile.in 2022-01-29 17:44:23.000000000 +0100 @@ -91,8 +91,8 @@ $(INSTALL) -d $(_libdir) $(LIBTOOL) --mode=install $(INSTALL) -s -m0644 src/libt3window.la $(_libdir) chmod 0644 $(_libdir)/libt3window.la - $(INSTALL) -d $(_includedir)/t3/window/t3window - $(INSTALL) -m0644 src/window.h src/window_api.h src/window_errors.h src/terminal.h src/utf8.h $(_includedir)/t3/window/t3window + $(INSTALL) -d $(_includedir)/t3window + $(INSTALL) -m0644 src/window.h src/window_api.h src/window_errors.h src/terminal.h src/utf8.h $(_includedir)/t3window $(INSTALL) -d $(_docdir) $(INSTALL) -m0644 COPYING README Changelog $(_docdir) $(INSTALL) -d $(_pkgconfigdir) @@ -100,7 +100,7 @@ uninstall: $(LIBTOOL) --mode=uninstall rm $(_libdir)/libt3window.la - rm -rf $(_includedir)/t3/window + rm -rf $(_includedir)/t3window rm -rf $(_docdir) rm -f $(_pkgconfigdir)/libt3window.pc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libt3window-0.4.0/config.pkg new/libt3window-0.4.1/config.pkg --- old/libt3window-0.4.0/config.pkg 2019-11-30 17:49:42.000000000 +0100 +++ new/libt3window-0.4.1/config.pkg 2022-01-29 17:44:23.000000000 +0100 @@ -190,9 +190,9 @@ error "!! Can not find libunistring library. Libunistring is required to compile libt3window." PKGCONFIG_DESC="Terminal windowing library" - PKGCONFIG_VERSION="0.4.0" + PKGCONFIG_VERSION="0.4.1" PKGCONFIG_URL="http://os.ghalkes.nl/t3/libt3window.html" - PKGCONFIG_CFLAGS="-I\${includedir}/t3/window" + PKGCONFIG_CFLAGS="-I\${includedir}" PKGCONFIG_LIBS="-lt3window" PKGCONFIG_LIBS_PRIVATE="$PKGCONFIG_LIBS_PRIVATE -lunistring" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libt3window-0.4.0/configure new/libt3window-0.4.1/configure --- old/libt3window-0.4.0/configure 2019-11-30 17:49:42.000000000 +0100 +++ new/libt3window-0.4.1/configure 2022-01-29 17:44:23.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 @@ -402,9 +402,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 @@ -427,7 +428,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 @@ -449,11 +450,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" @@ -519,10 +540,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 @@ -547,17 +569,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 @@ -688,14 +713,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 @@ -782,6 +826,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 ;; @@ -833,6 +896,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/libt3window-0.4.0/src/terminal.h new/libt3window-0.4.1/src/terminal.h --- old/libt3window-0.4.0/src/terminal.h 2019-11-30 17:49:42.000000000 +0100 +++ new/libt3window-0.4.1/src/terminal.h 2022-01-29 17:44:23.000000000 +0100 @@ -44,7 +44,7 @@ The value 0 is an invalid value which should be replaced by the script that builds the release package. */ -#define T3_WINDOW_VERSION 0x000400 +#define T3_WINDOW_VERSION 0x000401 /* Although it doesn't make a lot of sense to put this function in either this file or in window.h, there is a good reason to put it in here: because diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libt3window-0.4.0/src/window_paint.c new/libt3window-0.4.1/src/window_paint.c --- old/libt3window-0.4.0/src/window_paint.c 2019-11-30 17:49:42.000000000 +0100 +++ new/libt3window-0.4.1/src/window_paint.c 2022-01-29 17:44:23.000000000 +0100 @@ -1195,24 +1195,24 @@ sumwidth += _T3_BLOCK_SIZE_TO_WIDTH(block_size); block_size = _t3_get_value(win->lines[win->paint_y].data + i, &block_size_bytes); } + win->lines[win->paint_y].length = i; if (sumwidth < win->paint_x) { int spaces = win->paint_x - sumwidth; char space_str[8]; size_t space_str_bytes; + win->paint_x = sumwidth; + space_str_bytes = create_space_block(_t3_map_attr(win->default_attrs), space_str); - if ((int)(spaces * space_str_bytes) < win->lines[win->paint_y].length - i || - ensure_space(win->lines + win->paint_y, + if (ensure_space(win->lines + win->paint_y, spaces * space_str_bytes - win->lines[win->paint_y].length + i)) { - win->paint_x = sumwidth; for (; spaces > 0; spaces--) { _win_write_blocks(win, space_str, space_str_bytes); } } } - win->lines[win->paint_y].length = i; win->lines[win->paint_y].width = win->paint_x - win->lines[win->paint_y].start; } }
