Hello community, here is the log from the commit of package smuxi for openSUSE:Factory checked in at 2016-01-15 10:40:55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/smuxi (Old) and /work/SRC/openSUSE:Factory/.smuxi.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "smuxi" Changes: -------- --- /work/SRC/openSUSE:Factory/smuxi/smuxi.changes 2015-11-24 22:34:08.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.smuxi.new/smuxi.changes 2016-01-15 10:40:57.000000000 +0100 @@ -1,0 +2,7 @@ +Tue Jan 12 12:52:47 UTC 2016 - dims...@opensuse.org + +- Update to version 1.0.1: + + No changelog provided / release announcement found. +- Drop smuxi-gnome-frontend-mono4-crash.patch: Fixed upstream. + +------------------------------------------------------------------- Old: ---- smuxi-1.0.tar.gz smuxi-gnome-frontend-mono4-crash.patch New: ---- smuxi-1.0.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ smuxi.spec ++++++ --- /var/tmp/diff_new_pack.QsXD7g/_old 2016-01-15 10:40:58.000000000 +0100 +++ /var/tmp/diff_new_pack.QsXD7g/_new 2016-01-15 10:40:58.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package smuxi # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,13 +17,11 @@ Name: smuxi -Version: 1.0 +Version: 1.0.1 Release: 0 # FIXME: when db4o is in Factory, uncomment BuildRequires for it Url: http://www.smuxi.org Source0: http://www.smuxi.org/jaws/data/files/%{name}-%{version}.tar.gz -# PATCH-FIX-UPSTREAM smuxi-gnome-frontend-mono4-crash.patch boo#955080 badshah...@gmail.com -- Fix crash with Mono >= 4 -Patch0: smuxi-gnome-frontend-mono4-crash.patch Summary: Smart MUltipleXed Irc License: GPL-2.0+ Group: Productivity/Networking/IRC @@ -218,7 +216,6 @@ %lang_package -n %{name}-server %prep %setup -q -%patch0 -p1 %build %configure \ ++++++ smuxi-1.0.tar.gz -> smuxi-1.0.1.tar.gz ++++++ ++++ 3965 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/smuxi-1.0/compile new/smuxi-1.0.1/compile --- old/smuxi-1.0/compile 2014-10-27 05:45:43.000000000 +0100 +++ new/smuxi-1.0.1/compile 2015-08-15 12:37:35.000000000 +0200 @@ -3,7 +3,7 @@ scriptversion=2012-10-14.11; # UTC -# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# Copyright (C) 1999-2014 Free Software Foundation, Inc. # Written by Tom Tromey <tro...@cygnus.com>. # # This program is free software; you can redistribute it and/or modify diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/smuxi-1.0/configure.ac new/smuxi-1.0.1/configure.ac --- old/smuxi-1.0/configure.ac 2015-07-06 11:04:44.000000000 +0200 +++ new/smuxi-1.0.1/configure.ac 2015-12-06 12:33:07.000000000 +0100 @@ -1,5 +1,5 @@ AC_PREREQ([2.54]) -AC_INIT([smuxi], [1.0], [https://smuxi.im/issues/new]) +AC_INIT([smuxi], [1.0.1], [https://smuxi.im/issues/new]) # using the --foreign option makes automake less strict about GNU policy AC_CONFIG_MACRO_DIR([.]) AM_INIT_AUTOMAKE([foreign tar-ustar]) @@ -16,6 +16,16 @@ AC_PROG_LIBTOOL #LT_INIT([disable-static]) +AC_MSG_CHECKING([whether the shell understands "+="]) +shell_append=no +( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ + >/dev/null 2>&1 \ + && shell_append=yes +AC_MSG_RESULT([$shell_append]) +if test "x$shell_append" = "xno"; then + AC_MSG_ERROR([Your shell (/bin/sh) is not supporting += which is required by this configure script. Try CONFIG_SHELL="env bash" ./configure instead.]) +fi + # I18N IT_PROG_INTLTOOL([0.25]) @@ -157,14 +167,17 @@ ]) PROFILE=debug -AC_ARG_ENABLE(release, - AC_HELP_STRING([--enable-release], - [Use 'RELEASE' Configuration [default=NO]]), - enable_release=yes, enable_release=no) +# Release builds, that is without log4net and without debug symbol files (.mdb) +# are not supported at this point, as they have no advantage at runtime but +# disadvantages to analyze bugs. +#AC_ARG_ENABLE(release, +# AC_HELP_STRING([--enable-release], +# [Use 'RELEASE' Configuration [default=NO]]), +# enable_release=yes, enable_release=no) AM_CONDITIONAL(ENABLE_RELEASE, test x$enable_release = xyes) -if test "x$enable_release" = "xyes" ; then - PROFILE=release -fi +#if test "x$enable_release" = "xyes" ; then +# PROFILE=release +#fi AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug], [Use 'DEBUG' Configuration [default=YES]]), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/smuxi-1.0/lib/StarkSoftProxy/Socks5ProxyClient.cs new/smuxi-1.0.1/lib/StarkSoftProxy/Socks5ProxyClient.cs --- old/smuxi-1.0/lib/StarkSoftProxy/Socks5ProxyClient.cs 2013-08-19 18:23:42.000000000 +0200 +++ new/smuxi-1.0.1/lib/StarkSoftProxy/Socks5ProxyClient.cs 2015-12-06 12:27:18.000000000 +0100 @@ -27,6 +27,7 @@ using System.Text; using System.Net; using System.Net.Sockets; +using System.Collections.Generic; using System.Globalization; using System.ComponentModel; @@ -52,7 +53,6 @@ private const byte SOCKS5_VERSION_NUMBER = 5; private const byte SOCKS5_RESERVED = 0x00; - private const byte SOCKS5_AUTH_NUMBER_OF_AUTH_METHODS_SUPPORTED = 2; private const byte SOCKS5_AUTH_METHOD_NO_AUTHENTICATION_REQUIRED = 0x00; private const byte SOCKS5_AUTH_METHOD_GSSAPI = 0x01; private const byte SOCKS5_AUTH_METHOD_USERNAME_PASSWORD = 0x02; @@ -326,15 +326,23 @@ // +----+----------+----------+ // | 1 | 1 | 1 to 255 | // +----+----------+----------+ - - byte[] authRequest = new byte[4]; - authRequest[0] = SOCKS5_VERSION_NUMBER; - authRequest[1] = SOCKS5_AUTH_NUMBER_OF_AUTH_METHODS_SUPPORTED; - authRequest[2] = SOCKS5_AUTH_METHOD_NO_AUTHENTICATION_REQUIRED; - authRequest[3] = SOCKS5_AUTH_METHOD_USERNAME_PASSWORD; + + var haveUserPass = !String.IsNullOrEmpty(_proxyUserName) && + !String.IsNullOrEmpty(_proxyPassword); + + var authRequest = new List<byte>(); + authRequest.Add(SOCKS5_VERSION_NUMBER); + if (haveUserPass) { + authRequest.Add(2); + authRequest.Add(SOCKS5_AUTH_METHOD_NO_AUTHENTICATION_REQUIRED); + authRequest.Add(SOCKS5_AUTH_METHOD_USERNAME_PASSWORD); + } else { + authRequest.Add(1); + authRequest.Add(SOCKS5_AUTH_METHOD_NO_AUTHENTICATION_REQUIRED); + } // send the request to the server specifying authentication types supported by the client. - stream.Write(authRequest, 0, authRequest.Length); + stream.Write(authRequest.ToArray(), 0, authRequest.Count); // SERVER AUTHENTICATION RESPONSE // The server selects from one of the methods given in METHODS, and diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/smuxi-1.0/missing new/smuxi-1.0.1/missing --- old/smuxi-1.0/missing 2015-07-14 21:05:40.000000000 +0200 +++ new/smuxi-1.0.1/missing 2015-12-06 12:42:32.000000000 +0100 @@ -3,7 +3,7 @@ scriptversion=2013-10-28.13; # UTC -# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# Copyright (C) 1996-2014 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard <pin...@iro.umontreal.ca>, 1996. # This program is free software; you can redistribute it and/or modify diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/smuxi-1.0/src/AssemblyVersion.cs new/smuxi-1.0.1/src/AssemblyVersion.cs --- old/smuxi-1.0/src/AssemblyVersion.cs 2015-07-14 21:05:42.000000000 +0200 +++ new/smuxi-1.0.1/src/AssemblyVersion.cs 2015-12-06 12:42:34.000000000 +0100 @@ -36,5 +36,5 @@ [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] -[assembly: AssemblyVersion("1.0")] +[assembly: AssemblyVersion("1.0.1")] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/smuxi-1.0/src/Common/Defines.cs new/smuxi-1.0.1/src/Common/Defines.cs --- old/smuxi-1.0/src/Common/Defines.cs 2015-07-14 21:05:42.000000000 +0200 +++ new/smuxi-1.0.1/src/Common/Defines.cs 2015-12-06 12:42:34.000000000 +0100 @@ -25,11 +25,11 @@ { public static class Defines { - public const string GitBranch = "master"; - public const string GitCommitHash = "54522cf"; + public const string GitBranch = "release/1.0"; + public const string GitCommitHash = "af71ce4"; private static readonly string f_InstallPrefix = "/usr/local"; - private static readonly string f_DistVersion = "master/54522cf"; + private static readonly string f_DistVersion = "release/1.0/af71ce4"; private static readonly string f_TwitterApiKey = "60QV2qQx9cS7y1BJDbgAA|2VgD6qQKddsF5HYQ0TrRgs3tFTnCwDONBmRlTmG658"; public static string InstallPrefix { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/smuxi-1.0/src/Engine/Config/Config.cs new/smuxi-1.0.1/src/Engine/Config/Config.cs --- old/smuxi-1.0/src/Engine/Config/Config.cs 2015-07-06 11:04:44.000000000 +0200 +++ new/smuxi-1.0.1/src/Engine/Config/Config.cs 2015-12-06 12:33:07.000000000 +0100 @@ -471,6 +471,7 @@ if (String.IsNullOrEmpty(realname)) { realname = "Your Name"; } + realname = "Your Name"; LoadUserEntry(user, "Connection/Realname", realname); LoadUserEntry(user, "Connection/Encoding", String.Empty); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/smuxi-1.0/src/Engine/Messages/MessageBuilder.cs new/smuxi-1.0.1/src/Engine/Messages/MessageBuilder.cs --- old/smuxi-1.0/src/Engine/Messages/MessageBuilder.cs 2015-03-22 23:23:36.000000000 +0100 +++ new/smuxi-1.0.1/src/Engine/Messages/MessageBuilder.cs 2015-12-06 12:30:22.000000000 +0100 @@ -807,7 +807,9 @@ normalized.AppendFormat("{0} ", trimmed); } // remove trailing space - normalized.Length--; + if (normalized.Length > 0) { + normalized.Length--; + } return normalized.ToString(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/smuxi-1.0/src/Engine-Campfire/Protocols/Campfire/CampfireEventStream.cs new/smuxi-1.0.1/src/Engine-Campfire/Protocols/Campfire/CampfireEventStream.cs --- old/smuxi-1.0/src/Engine-Campfire/Protocols/Campfire/CampfireEventStream.cs 2013-12-15 23:02:07.000000000 +0100 +++ new/smuxi-1.0.1/src/Engine-Campfire/Protocols/Campfire/CampfireEventStream.cs 2015-12-06 12:30:22.000000000 +0100 @@ -140,37 +140,27 @@ using (StreamReader reader = new StreamReader(res.GetResponseStream())) { - /* Stupid but easy way to figure out when we've reached the end of a JSON object */ - int brackets = 0; StringBuilder bld = new StringBuilder(); while (!reader.EndOfStream) { - var line = reader.ReadLine(); + var c = reader.Read(); - for (int i = 0; i < line.Length; i++) { - bld.Append(line[i]); - switch (line[i]) { - case '{': - brackets++; - break; - case '}': - brackets--; - break; - default: - continue; - } - - if (brackets == 0) { - var str = bld.ToString().Trim(); - bld.Length = 0; - var message = JsonSerializer.DeserializeFromString<Message>(str); - if (MessageReceived != null) { - var args = new MessageReceivedEventArgs(Chat, message); - MessageReceived(this, args); - } - LastMessage = message.Id; - } + /* The server uses CR to indicate when each message ends */ + if (c != '\r') { + bld.Append((char)c); + continue; } + + var str = bld.ToString(); + bld.Length = 0; + + var message = JsonSerializer.DeserializeFromString<Message>(str); + if (MessageReceived != null) { + var args = new MessageReceivedEventArgs(Chat, message); + MessageReceived(this, args); + } + + LastMessage = message.Id; } reader.Close(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/smuxi-1.0/src/Frontend-GNOME/MainWindow.cs new/smuxi-1.0.1/src/Frontend-GNOME/MainWindow.cs --- old/smuxi-1.0/src/Frontend-GNOME/MainWindow.cs 2015-03-22 23:23:44.000000000 +0100 +++ new/smuxi-1.0.1/src/Frontend-GNOME/MainWindow.cs 2015-12-06 12:33:07.000000000 +0100 @@ -228,7 +228,7 @@ // predict and set useful heigth int lineWidth, lineHeigth; using (var layout = Entry.CreatePangoLayout("Qp")) { - layout.GetPixelSize(out lineHeigth, out lineHeigth); + layout.GetPixelSize(out lineWidth, out lineHeigth); } var it = Entry.Buffer.StartIter; int newLines = 1; @@ -394,8 +394,11 @@ { Trace.Call(e); - WindowWidth = e.Width; - CheckLayout(); + var widthChanged = WindowWidth != e.Width; + if (widthChanged) { + WindowWidth = e.Width; + CheckLayout(); + } return base.OnConfigureEvent(e); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/smuxi-1.0/src/Frontend-GNOME/Preferences/PreferencesDialog.cs new/smuxi-1.0.1/src/Frontend-GNOME/Preferences/PreferencesDialog.cs --- old/smuxi-1.0/src/Frontend-GNOME/Preferences/PreferencesDialog.cs 2015-05-21 23:51:08.000000000 +0200 +++ new/smuxi-1.0.1/src/Frontend-GNOME/Preferences/PreferencesDialog.cs 2015-12-06 12:30:22.000000000 +0100 @@ -343,6 +343,9 @@ foreach (EncodingInfo encInfo in Encoding.GetEncodings()) { try { Encoding enc = Encoding.GetEncoding(encInfo.CodePage); + if (enc == null || enc.EncodingName == null) { + continue; + } string encodingName = enc.EncodingName.ToUpper(); if (!enc.IsSingleByte && enc != Encoding.UTF8) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/smuxi-1.0/src/Frontend-GNOME/smuxi-frontend-gnome.in new/smuxi-1.0.1/src/Frontend-GNOME/smuxi-frontend-gnome.in --- old/smuxi-1.0/src/Frontend-GNOME/smuxi-frontend-gnome.in 2015-07-14 21:04:38.000000000 +0200 +++ new/smuxi-1.0.1/src/Frontend-GNOME/smuxi-frontend-gnome.in 2015-12-06 12:30:22.000000000 +0100 @@ -5,12 +5,16 @@ MONO_TLS_SESSION_CACHE_TIMEOUT=0 export MONO_TLS_SESSION_CACHE_TIMEOUT -# HACK: forcibly disabled SGen, as it has a known SEGV bug related to the -# Mono.Data.Sqlite binding that does not happen with the boehm GC, see: -# https://smuxi.im/issues/show/1062 -MONO_ENV_OPTIONS="$(echo $MONO_ENV_OPTIONS | sed s/--gc=sgen//)" -MONO_ENV_OPTIONS="--gc=boehm $MONO_ENV_OPTIONS" -export MONO_ENV_OPTIONS +# Mono >= 4 SEGVs with Boehm as GC during startup +# see https://bugzilla.opensuse.org/show_bug.cgi?id=955080 +if ! mono -V | grep -q -F "version 4."; then + # HACK: forcibly disabled SGen, as it has a known SEGV bug related to the + # Mono.Data.Sqlite binding that does not happen with the boehm GC, see: + # https://smuxi.im/issues/show/1062 + MONO_ENV_OPTIONS="$(echo $MONO_ENV_OPTIONS | sed s/--gc=sgen//)" + MONO_ENV_OPTIONS="--gc=boehm $MONO_ENV_OPTIONS" + export MONO_ENV_OPTIONS +fi # Smuxi uses an IPC channel for the single application instance feature and it # also allows to pass links from commandline to an existing Smuxi instance. This diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/smuxi-1.0/src/Server/smuxi-server.in new/smuxi-1.0.1/src/Server/smuxi-server.in --- old/smuxi-1.0/src/Server/smuxi-server.in 2015-06-13 01:20:25.000000000 +0200 +++ new/smuxi-1.0.1/src/Server/smuxi-server.in 2015-12-06 12:30:22.000000000 +0100 @@ -5,11 +5,15 @@ MONO_TLS_SESSION_CACHE_TIMEOUT=0 export MONO_TLS_SESSION_CACHE_TIMEOUT -# HACK: forcibly disabled SGen, as it has a known SEGV bug related to the -# Mono.Data.Sqlite binding that does not happen with the boehm GC, see: -# https://smuxi.im/issues/show/1062 -MONO_ENV_OPTIONS="$(echo $MONO_ENV_OPTIONS | sed s/--gc=sgen//)" -MONO_ENV_OPTIONS="--gc=boehm $MONO_ENV_OPTIONS" -export MONO_ENV_OPTIONS +# Mono >= 4 SEGVs with Boehm as GC during startup +# see https://bugzilla.opensuse.org/show_bug.cgi?id=955080 +if ! mono -V | grep -q -F "version 4."; then + # HACK: forcibly disabled SGen, as it has a known SEGV bug related to the + # Mono.Data.Sqlite binding that does not happen with the boehm GC, see: + # https://smuxi.im/issues/show/1062 + MONO_ENV_OPTIONS="$(echo $MONO_ENV_OPTIONS | sed s/--gc=sgen//)" + MONO_ENV_OPTIONS="--gc=boehm $MONO_ENV_OPTIONS" + export MONO_ENV_OPTIONS +fi exec mono --debug "@expanded_libdir@/@PACKAGE@/smuxi-server.exe" "$@"