Hello community,
here is the log from the commit of package qqwing for openSUSE:Factory checked in at 2015-09-08 17:39:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qqwing (Old)
and /work/SRC/openSUSE:Factory/.qqwing.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qqwing"
Changes:
--------
--- /work/SRC/openSUSE:Factory/qqwing/qqwing.changes 2014-08-25 11:06:22.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.qqwing.new/qqwing.changes 2015-09-08 17:44:43.000000000 +0200
@@ -1,0 +2,15 @@
+Mon May 25 09:12:42 UTC 2015 - zaitor@opensuse.org
+
+- Update to version 1.3.4:
+ + Added hasUniqueSolution() method to the API.
+- Changes from version 1.3.3:
+ + Java API improvements.
+- Changes from version 1.3.2:
+ + debian directory included in tar.gz download.
+- Changes from version 1.3.1:
+ + Fix library version number.
+- Changes from version 1.3.0:
+ + Multi-threaded Java version.
+ + Revamp of website and documentation.
+
+-------------------------------------------------------------------
Old:
----
qqwing-1.2.0.tar.gz
New:
----
qqwing-1.3.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qqwing.spec ++++++
--- /var/tmp/diff_new_pack.yFQWwu/_old 2015-09-08 17:44:44.000000000 +0200
+++ /var/tmp/diff_new_pack.yFQWwu/_new 2015-09-08 17:44:44.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package qqwing
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2014 Dominique Leuenberger, Amsterdam, The Netherlands.
#
# All modifications and additions to the file contributed by third parties
@@ -18,7 +18,7 @@
Name: qqwing
-Version: 1.2.0
+Version: 1.3.4
Release: 0
Summary: Sudoku solver and generator
License: GPL-2.0+
@@ -69,7 +69,8 @@
%prep
%setup -q
-%patch0 -p1
+# Disable, needs rebase
+#patch0 -p1
%build
%configure
++++++ qqwing-1.2.0.tar.gz -> qqwing-1.3.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqwing-1.2.0/Makefile.am new/qqwing-1.3.4/Makefile.am
--- old/qqwing-1.2.0/Makefile.am 2014-08-23 15:11:38.000000000 +0200
+++ new/qqwing-1.3.4/Makefile.am 2015-04-18 02:55:34.000000000 +0200
@@ -1,4 +1,5 @@
ACLOCAL_AMFLAGS = -I m4
+EXTRA_DIST = debian
include_HEADERS = qqwing.hpp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqwing-1.2.0/Makefile.in new/qqwing-1.3.4/Makefile.in
--- old/qqwing-1.2.0/Makefile.in 2014-08-23 15:11:45.000000000 +0200
+++ new/qqwing-1.3.4/Makefile.in 2015-04-18 02:55:42.000000000 +0200
@@ -373,6 +373,7 @@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
ACLOCAL_AMFLAGS = -I m4
+EXTRA_DIST = debian
include_HEADERS = qqwing.hpp
lib_LTLIBRARIES = libqqwing.la
libqqwing_la_SOURCES = qqwing.cpp qqwing.hpp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqwing-1.2.0/README new/qqwing-1.3.4/README
--- old/qqwing-1.2.0/README 2014-08-23 15:11:38.000000000 +0200
+++ new/qqwing-1.3.4/README 2015-04-18 02:55:34.000000000 +0200
@@ -1,4 +1,4 @@
-See: http://ostermiller.org/qqwing/
+See: http://qqwing.com/
qqwing <options>
Sudoku solver and generator.
@@ -25,7 +25,7 @@
--one-line Print puzzles on one line of 81 characters
--compact Print puzzles on 9 lines of 9 characters
--readable Print puzzles in human readable form (default)
- --csv Ouput CSV format with one line puzzles
+ --csv Output CSV format with one line puzzles
--help Print this message
--about Author and license information
--version Display current version number
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqwing-1.2.0/aclocal.m4 new/qqwing-1.3.4/aclocal.m4
--- old/qqwing-1.2.0/aclocal.m4 2014-08-23 15:11:43.000000000 +0200
+++ new/qqwing-1.3.4/aclocal.m4 2015-04-18 02:55:40.000000000 +0200
@@ -573,7 +573,8 @@
END
AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
fi
-fi])
+fi
+])
dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqwing-1.2.0/config.guess new/qqwing-1.3.4/config.guess
--- old/qqwing-1.2.0/config.guess 2014-08-23 15:11:45.000000000 +0200
+++ new/qqwing-1.3.4/config.guess 2015-04-18 02:55:42.000000000 +0200
@@ -1,8 +1,8 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright 1992-2013 Free Software Foundation, Inc.
+# Copyright 1992-2014 Free Software Foundation, Inc.
-timestamp='2013-06-10'
+timestamp='2014-03-23'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -50,7 +50,7 @@
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright 1992-2013 Free Software Foundation, Inc.
+Copyright 1992-2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -149,7 +149,7 @@
LIBC=gnu
#endif
EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
;;
esac
@@ -826,7 +826,7 @@
*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit ;;
- i*:MSYS*:*)
+ *:MSYS*:*)
echo ${UNAME_MACHINE}-pc-msys
exit ;;
i*:windows32*:*)
@@ -969,10 +969,10 @@
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
;;
- or1k:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ openrisc*:Linux:*:*)
+ echo or1k-unknown-linux-${LIBC}
exit ;;
- or32:Linux:*:*)
+ or32:Linux:*:* | or1k*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
padre:Linux:*:*)
@@ -1260,16 +1260,26 @@
if test "$UNAME_PROCESSOR" = unknown ; then
UNAME_PROCESSOR=powerpc
fi
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- case $UNAME_PROCESSOR in
- i386) UNAME_PROCESSOR=x86_64 ;;
- powerpc) UNAME_PROCESSOR=powerpc64 ;;
- esac
+ if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ case $UNAME_PROCESSOR in
+ i386) UNAME_PROCESSOR=x86_64 ;;
+ powerpc) UNAME_PROCESSOR=powerpc64 ;;
+ esac
+ fi
fi
+ elif test "$UNAME_PROCESSOR" = i386 ; then
+ # Avoid executing cc on OS X 10.9, as it ships with a stub
+ # that puts up a graphical alert prompting to install
+ # developer tools. Any system running Mac OS X 10.7 or
+ # later (Darwin 11 and later) is required to have a 64-bit
+ # processor. This is not true of the ARM version of Darwin
+ # that Apple uses in portable devices.
+ UNAME_PROCESSOR=x86_64
fi
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
exit ;;
@@ -1361,154 +1371,6 @@
exit ;;
esac
-eval $set_cc_for_build
-cat >$dummy.c <
-# include
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
- /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
- I don't know.... */
- printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include
- printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
- "4"
-#else
- ""
-#endif
- ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
- printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
- printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
- int version;
- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
- if (version < 4)
- printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
- else
- printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
- exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
- printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
- printf ("ns32k-encore-mach\n"); exit (0);
-#else
- printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
- printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
- printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
- printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
- struct utsname un;
-
- uname(&un);
-
- if (strncmp(un.version, "V2", 2) == 0) {
- printf ("i386-sequent-ptx2\n"); exit (0);
- }
- if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
- printf ("i386-sequent-ptx1\n"); exit (0);
- }
- printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-# include
-# if defined (BSD)
-# if BSD == 43
- printf ("vax-dec-bsd4.3\n"); exit (0);
-# else
-# if BSD == 199006
- printf ("vax-dec-bsd4.3reno\n"); exit (0);
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# endif
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# else
- printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
- printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
- exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
- { echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
- case `getsysinfo -f cpu_type` in
- c1*)
- echo c1-convex-bsd
- exit ;;
- c2*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- c34*)
- echo c34-convex-bsd
- exit ;;
- c38*)
- echo c38-convex-bsd
- exit ;;
- c4*)
- echo c4-convex-bsd
- exit ;;
- esac
-fi
-
cat >&2 <http://ostermiller.org/qqwing/.
+# Report bugs to http://qqwing.com/.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -274,11 +274,11 @@
$as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
$as_echo "$0: be upgraded to zsh 4.3.4 or later."
else
- $as_echo "$0: Please tell bug-autoconf@gnu.org and
-$0: http://ostermiller.org/qqwing/ about your system,
-$0: including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
+ $as_echo "$0: Please tell bug-autoconf@gnu.org and http://qqwing.com/
+$0: about your system, including any error possibly output
+$0: before this message. Then install a modern shell, or
+$0: manually run the script under such a shell if you do
+$0: have one."
fi
exit 1
fi
@@ -590,9 +590,9 @@
# Identity of this package.
PACKAGE_NAME='qqwing'
PACKAGE_TARNAME='qqwing'
-PACKAGE_VERSION='1.2.0'
-PACKAGE_STRING='qqwing 1.2.0'
-PACKAGE_BUGREPORT='http://ostermiller.org/qqwing/'
+PACKAGE_VERSION='1.3.4'
+PACKAGE_STRING='qqwing 1.3.4'
+PACKAGE_BUGREPORT='http://qqwing.com/'
PACKAGE_URL=''
ac_unique_file="config.h.in"
@@ -1324,7 +1324,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 qqwing 1.2.0 to adapt to many kinds of systems.
+\`configure' configures qqwing 1.3.4 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1394,7 +1394,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of qqwing 1.2.0:";;
+ short | recursive ) echo "Configuration of qqwing 1.3.4:";;
esac
cat <<\_ACEOF
@@ -1439,7 +1439,7 @@
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
-Report bugs to http://ostermiller.org/qqwing/.
+Report bugs to http://qqwing.com/.
_ACEOF
ac_status=$?
fi
@@ -1502,7 +1502,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-qqwing configure 1.2.0
+qqwing configure 1.3.4
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1968,9 +1968,9 @@
$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## --------------------------------------------- ##
-## Report this to http://ostermiller.org/qqwing/ ##
-## --------------------------------------------- ##"
+( $as_echo "## --------------------------------- ##
+## Report this to http://qqwing.com/ ##
+## --------------------------------- ##"
) | sed "s/^/$as_me: WARNING: /" >&2
;;
esac
@@ -2046,7 +2046,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by qqwing $as_me 1.2.0, which was
+It was created by qqwing $as_me 1.3.4, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2406,9 +2406,9 @@
# - If binary compatibility has been broken (eg removed or changed interfaces)
# change to C+1:0:0
# - If the interface is the same as the previous version, change to C:R+1:A
-QQWING_CURRENT=2
+QQWING_CURRENT=3
QQWING_REVISION=0
-QQWING_AGE=0
+QQWING_AGE=1
@@ -2929,7 +2929,7 @@
# Define the identity of the package.
PACKAGE='qqwing'
- VERSION='1.2.0'
+ VERSION='1.3.4'
cat >>confdefs.h <<_ACEOF
@@ -3022,6 +3022,7 @@
fi
fi
+
# Checks for programs.
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
@@ -16177,7 +16178,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by qqwing $as_me 1.2.0, which was
+This file was extended by qqwing $as_me 1.3.4, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -16237,13 +16238,13 @@
Configuration commands:
$config_commands
-Report bugs to http://ostermiller.org/qqwing/."
+Report bugs to http://qqwing.com/."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-qqwing config.status 1.2.0
+qqwing config.status 1.3.4
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqwing-1.2.0/configure.ac new/qqwing-1.3.4/configure.ac
--- old/qqwing-1.2.0/configure.ac 2014-08-23 15:11:38.000000000 +0200
+++ new/qqwing-1.3.4/configure.ac 2015-04-18 02:55:34.000000000 +0200
@@ -1,5 +1,5 @@
AC_PREREQ(2.59)
-AC_INIT(qqwing, 1.2.0, http://ostermiller.org/qqwing/)
+AC_INIT(qqwing, 1.3.4, http://qqwing.com/)
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR([config.h.in])
AC_CONFIG_HEADER([config.h])
@@ -11,9 +11,9 @@
# - If binary compatibility has been broken (eg removed or changed interfaces)
# change to C+1:0:0
# - If the interface is the same as the previous version, change to C:R+1:A
-QQWING_CURRENT=2
+QQWING_CURRENT=3
QQWING_REVISION=0
-QQWING_AGE=0
+QQWING_AGE=1
AC_SUBST([QQWING_CURRENT])
AC_SUBST([QQWING_REVISION])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqwing-1.2.0/debian/changelog new/qqwing-1.3.4/debian/changelog
--- old/qqwing-1.2.0/debian/changelog 1970-01-01 01:00:00.000000000 +0100
+++ new/qqwing-1.3.4/debian/changelog 2015-04-18 02:55:34.000000000 +0200
@@ -0,0 +1,69 @@
+qqwing (1.3.4-1) RELEASED; urgency=medium
+
+ * Added hasUniqueSolution() method to the API
+
+ -- Stephen Ostermiller Fri, 17 Apr 2015 20:55:00 -0400
+
+qqwing (1.3.3-1) RELEASED; urgency=medium
+
+ * Java API improvements
+
+ -- Stephen Ostermiller Sun, 05 Oct 2014 06:46:18 -0400
+
+qqwing (1.3.2-1) RELEASED; urgency=medium
+
+ * debian directory included in tar.gz download
+
+ -- Stephen Ostermiller Thu, 25 Sep 2014 10:27:35 -0400
+
+qqwing (1.3.1-1) RELEASED; urgency=medium
+
+ * Fix library version number
+
+ -- Stephen Ostermiller Sun, 21 Sep 2014 16:36:59 -0400
+
+qqwing (1.3.0-1) RELEASED; urgency=medium
+
+ * Multi-threaded Java version
+ * Revamp of website and documentation
+
+ -- Stephen Ostermiller Fri, 19 Sep 2014 06:38:28 -0400
+
+qqwing (1.2.0-1) RELEASED; urgency=medium
+
+ * Fix bug that caused generated puzzles with symmetry not to be unique
+ * Remove duplicated constants and unused methods from library
+ * Javascript version with online generator
+ * The JavaScript port powers the online playing board
+
+ -- Stephen Ostermiller Sat, 23 Aug 2014 00:03:46 -0400
+
+qqwing (1.1.3-1) RELEASED; urgency=medium
+
+ * Method for getting the puzzle as an integer array for Gnome Sudoku
+
+ -- Stephen Ostermiller Sun, 10 Aug 2014 22:59:11 -0400
+
+qqwing (1.1.2-1) RELEASED; urgency=medium
+
+ * Add "any" for difficulty command line option
+
+ -- Stephen Ostermiller Wed, 23 Jul 2014 08:36:57 -0400
+
+qqwing (1.1.1-1) RELEASED; urgency=medium
+
+ * Split into a library and a main method
+
+ -- Stephen Ostermiller Wed, 23 Jul 2014 08:36:57 -0400
+
+qqwing (1.1.0-1) RELEASED; urgency=medium
+
+ * Added symmetry
+
+ -- Stephen Ostermiller Wed, 23 Jul 2014 08:36:57 -0400
+
+qqwing (1.0.3-1) RELEASED; urgency=medium
+
+ * Initial release
+
+ -- Stephen Ostermiller Wed, 23 Jul 2014 08:36:57 -0400
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqwing-1.2.0/debian/compat new/qqwing-1.3.4/debian/compat
--- old/qqwing-1.2.0/debian/compat 1970-01-01 01:00:00.000000000 +0100
+++ new/qqwing-1.3.4/debian/compat 2015-04-18 02:55:34.000000000 +0200
@@ -0,0 +1 @@
+9
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqwing-1.2.0/debian/control new/qqwing-1.3.4/debian/control
--- old/qqwing-1.2.0/debian/control 1970-01-01 01:00:00.000000000 +0100
+++ new/qqwing-1.3.4/debian/control 2015-04-18 02:55:34.000000000 +0200
@@ -0,0 +1,12 @@
+Source: qqwing
+Maintainer: Stephen Ostermiller
+Section: misc
+Priority: optional
+Standards-Version: 3.9.5
+Build-Depends: debhelper (>= 9)
+
+Package: qqwing
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: can solve or generate Sudoku puzzles
+ It is fast, uses logic, rates puzzles, and prints instructions.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqwing-1.2.0/debian/copyright new/qqwing-1.3.4/debian/copyright
--- old/qqwing-1.2.0/debian/copyright 1970-01-01 01:00:00.000000000 +0100
+++ new/qqwing-1.3.4/debian/copyright 2015-04-18 02:55:34.000000000 +0200
@@ -0,0 +1,32 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: qqwing
+Source: http://qqwing.com/
+
+Files: *
+Copyright: Copyright (C) 2006-2014 Stephen Ostermiller http://ostermiller.org/
+License: GPL-2+
+ This 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 Free Software Foundation; either
+ version 2 of the License, or (at your option) any later
+ version.
+ .
+ This program is distributed in the hope that it will be
+ useful, but WITHOUT ANY WARRANTY; without even the implied
+ warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the GNU General Public License for more
+ details.
+ .
+ You should have received a copy of the GNU General Public
+ License along with this package; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ Boston, MA 02110-1301 USA
+ .
+ On Debian systems, the full text of the GNU General Public
+ License version 2 can be found in the file
+ `/usr/share/common-licenses/GPL-2'.
+
+Files: debian/*
+Copyright: Copyright 2006-2014 Stephen Ostermiller http://ostermiller.org/
+License: GPL-2+
+ [LICENSE TEXT]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqwing-1.2.0/debian/rules new/qqwing-1.3.4/debian/rules
--- old/qqwing-1.2.0/debian/rules 1970-01-01 01:00:00.000000000 +0100
+++ new/qqwing-1.3.4/debian/rules 2015-04-18 02:55:34.000000000 +0200
@@ -0,0 +1,3 @@
+#!/usr/bin/make -f
+%:
+ dh $@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqwing-1.2.0/debian/source/format new/qqwing-1.3.4/debian/source/format
--- old/qqwing-1.2.0/debian/source/format 1970-01-01 01:00:00.000000000 +0100
+++ new/qqwing-1.3.4/debian/source/format 2015-04-18 02:55:34.000000000 +0200
@@ -0,0 +1 @@
+3.0 (quilt)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqwing-1.2.0/ltmain.sh new/qqwing-1.3.4/ltmain.sh
--- old/qqwing-1.2.0/ltmain.sh 2014-08-23 15:11:41.000000000 +0200
+++ new/qqwing-1.3.4/ltmain.sh 2015-04-18 02:55:38.000000000 +0200
@@ -70,7 +70,7 @@
# compiler: $LTCC
# compiler flags: $LTCFLAGS
# linker: $LD (gnu? $with_gnu_ld)
-# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.7ubuntu1
+# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.10ubuntu1
# automake: $automake_version
# autoconf: $autoconf_version
#
@@ -80,7 +80,7 @@
PROGRAM=libtool
PACKAGE=libtool
-VERSION="2.4.2 Debian-2.4.2-1.7ubuntu1"
+VERSION="2.4.2 Debian-2.4.2-1.10ubuntu1"
TIMESTAMP=""
package_revision=1.3337
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqwing-1.2.0/main.cpp new/qqwing-1.3.4/main.cpp
--- old/qqwing-1.2.0/main.cpp 2014-08-23 15:11:51.000000000 +0200
+++ new/qqwing-1.3.4/main.cpp 2015-04-18 02:55:47.000000000 +0200
@@ -1,7 +1,6 @@
/*
* qqwing - Sudoku solver and generator
- * Copyright (C) 2006-2014 Stephen Ostermiller
- * http://ostermiller.org/qqwing/
+ * Copyright (C) 2006-2014 Stephen Ostermiller http://ostermiller.org/
* Copyright (C) 2007 Jacques Bensimon (jacques@ipm.com)
* Copyright (C) 2011 Jean Guillerez (j.guillerez - orange.fr)
* Copyright (C) 2014 Michael Catanzaro (mcatanzaro@gnome.org)
@@ -202,8 +201,7 @@
}
// Initialize the random number generator
- int timeSeed = time(NULL);
- srand(timeSeed);
+ srand ( unsigned ( time(0) ) );
// If printing out CSV, print a header
if (printStyle == SudokuBoard::CSV){
@@ -276,7 +274,7 @@
havePuzzle = false;
done = true;
}
- delete puzzle;
+ delete[] puzzle;
}
int solutions = 0;
@@ -426,8 +424,7 @@
void printAbout(){
cout << "qqwing - Sudoku solver and generator" << endl;
- cout << "Copyright (C) 2006-2014 Stephen Ostermiller" << endl;
- cout << "http://ostermiller.org/qqwing/" << endl;
+ cout << "Copyright (C) 2006-2014 Stephen Ostermiller http://ostermiller.org/" << endl;
cout << "Copyright (C) 2007 Jacques Bensimon (jacques@ipm.com)" << endl;
cout << "Copyright (C) 2011 Jean Guillerez (j.guillerez - orange.fr)" << endl;
cout << "Copyright (C) 2014 Michael Catanzaro (mcatanzaro@gnome.org)" << endl;
@@ -475,7 +472,7 @@
cout << " --one-line Print puzzles on one line of 81 characters" << endl;
cout << " --compact Print puzzles on 9 lines of 9 characters" << endl;
cout << " --readable Print puzzles in human readable form (default)" << endl;
- cout << " --csv Ouput CSV format with one line puzzles" << endl;
+ cout << " --csv Output CSV format with one line puzzles" << endl;
cout << " --help Print this message" << endl;
cout << " --about Author and license information" << endl;
cout << " --version Display current version number" << endl;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqwing-1.2.0/qqwing.1 new/qqwing-1.3.4/qqwing.1
--- old/qqwing-1.2.0/qqwing.1 2014-08-23 15:11:38.000000000 +0200
+++ new/qqwing-1.3.4/qqwing.1 2015-04-18 02:55:34.000000000 +0200
@@ -4,9 +4,9 @@
.SH "SYNOPSIS"
.PP
-\fBqqwing\fR --generate [\fIOPTIONS...\fP]
+\fBqqwing\fR \-\-generate [\fIOPTIONS...\fP]
.br
-\fBqqwing\fR --solve [\fIOPTIONS...\fP]
+\fBqqwing\fR \-\-solve [\fIOPTIONS...\fP]
.SH "DESCRIPTION"
.PP
@@ -94,7 +94,7 @@
Print puzzles in human readable form (default)
.TP
.BR \-\-csv
-Ouput CSV format with one line puzzles
+Output CSV format with one line puzzles
.TP
.BR \-h ,\ \-\-help
Display help message
@@ -107,4 +107,4 @@
.SH "SEE ALSO"
.PP
-http://ostermiller.org/qqwing/
+http://qqwing.com/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqwing-1.2.0/qqwing.cpp new/qqwing-1.3.4/qqwing.cpp
--- old/qqwing-1.2.0/qqwing.cpp 2014-08-23 15:11:51.000000000 +0200
+++ new/qqwing-1.3.4/qqwing.cpp 2015-04-18 02:55:47.000000000 +0200
@@ -1,7 +1,6 @@
/*
* qqwing - Sudoku solver and generator
- * Copyright (C) 2006-2014 Stephen Ostermiller
- * http://ostermiller.org/qqwing/
+ * Copyright (C) 2006-2014 Stephen Ostermiller http://ostermiller.org/
* Copyright (C) 2007 Jacques Bensimon (jacques@ipm.com)
* Copyright (C) 2011 Jean Guillerez (j.guillerez - orange.fr)
* Copyright (C) 2014 Michael Catanzaro (mcatanzaro@gnome.org)
@@ -58,7 +57,7 @@
COLUMN_BOX,
HIDDEN_PAIR_ROW,
HIDDEN_PAIR_COLUMN,
- HIDDEN_PAIR_SECTION,
+ HIDDEN_PAIR_SECTION
};
LogItem(int round, LogType type);
LogItem(int round, LogType type, int value, int position);
@@ -109,17 +108,20 @@
/**
* Create a new Sudoku board
*/
- SudokuBoard::SudokuBoard(){
- puzzle = new int[BOARD_SIZE];
- solution = new int[BOARD_SIZE];
- solutionRound = new int[BOARD_SIZE];
- possibilities = new int[POSSIBILITY_SIZE];
- recordHistory = false;
- printStyle = READABLE;
- randomBoardArray = new int[BOARD_SIZE];
- randomPossibilityArray = new int[ROW_COL_SEC_SIZE];
- solveHistory = new vector();
- solveInstructions = new vector();
+ SudokuBoard::SudokuBoard() :
+ puzzle ( new int[BOARD_SIZE] ),
+ solution ( new int[BOARD_SIZE] ),
+ solutionRound ( new int[BOARD_SIZE] ),
+ possibilities ( new int[POSSIBILITY_SIZE] ),
+ randomBoardArray ( new int[BOARD_SIZE] ),
+ randomPossibilityArray ( new int[ROW_COL_SEC_SIZE] ),
+ recordHistory ( false ),
+ logHistory( false ),
+ solveHistory ( new vector() ),
+ solveInstructions ( new vector() ),
+ printStyle ( READABLE ),
+ lastSolveRound (0)
+ {
{for (int i=0; iat(i);
}}
solveHistory->clear();
@@ -223,11 +225,11 @@
string SudokuBoard::getDifficultyAsString(){
SudokuBoard::Difficulty difficulty = getDifficulty();
switch (difficulty){
- case SudokuBoard::EXPERT: return "Expert"; break;
- case SudokuBoard::INTERMEDIATE: return "Intermediate"; break;
- case SudokuBoard::EASY: return "Easy"; break;
- case SudokuBoard::SIMPLE: return "Simple"; break;
- default: return "Unknown"; break;
+ case SudokuBoard::EXPERT: return "Expert";
+ case SudokuBoard::INTERMEDIATE: return "Intermediate";
+ case SudokuBoard::EASY: return "Easy";
+ case SudokuBoard::SIMPLE: return "Simple";
+ default: return "Unknown";
}
}
@@ -384,6 +386,10 @@
case FLIP:
positionsym1 = rowColumnToCell(ROW_COL_SEC_SIZE-1-cellToRow(position),cellToColumn(position));
break;
+ case RANDOM: // NOTE: Should never happen
+ break;
+ case NONE: // NOTE: No need to do anything
+ break;
}
// try backing out the value and
// counting solutions to the puzzle
@@ -468,7 +474,7 @@
cout << endl;
}
}
- {for (int i=0;i<v->size();i++){
+ {for (unsigned int i=0;i<v->size();i++){
cout << i+1 << ". ";
v->at(i)->print();
if (printStyle == CSV){
@@ -523,7 +529,19 @@
return false;
}
+ bool SudokuBoard::hasUniqueSolution(){
+ return countSolutionsLimited() == 1;
+ }
+
int SudokuBoard::countSolutions(){
+ return countSolutions(false);
+ }
+
+ int SudokuBoard::countSolutionsLimited(){
+ return countSolutions(true);
+ }
+
+ int SudokuBoard::countSolutions(bool limitToTwo){
// Don't record history while generating.
bool recHistory = recordHistory;
setRecordHistory(false);
@@ -531,7 +549,7 @@
setLogHistory(false);
reset();
- int solutionCount = countSolutions(2, false);
+ int solutionCount = countSolutions(2, limitToTwo);
// Restore recording history.
setRecordHistory(recHistory);
@@ -1377,12 +1395,12 @@
SudokuBoard::~SudokuBoard(){
clearPuzzle();
- delete puzzle;
- delete solution;
- delete possibilities;
- delete solutionRound;
- delete randomBoardArray;
- delete randomPossibilityArray;
+ delete[] puzzle;
+ delete[] solution;
+ delete[] possibilities;
+ delete[] solutionRound;
+ delete[] randomBoardArray;
+ delete[] randomPossibilityArray;
delete solveHistory;
delete solveInstructions;
}
@@ -1500,8 +1518,8 @@
* log items in the vector are of the specified type.
*/
int getLogCount(vector* v, LogItem::LogType type){
- int count = 0;
- {for (int i=0; i<v->size(); i++){
+ unsigned int count = 0;
+ {for (unsigned int i=0; i<v->size(); i++){
if(v->at(i)->getType() == type) count++;
}}
return count;
@@ -1527,6 +1545,7 @@
case 2: return SudokuBoard::MIRROR;
case 3: return SudokuBoard::FLIP;
}
+ return SudokuBoard::ROTATE90; // NOTE: default action
}
/**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqwing-1.2.0/qqwing.hpp new/qqwing-1.3.4/qqwing.hpp
--- old/qqwing-1.2.0/qqwing.hpp 2014-08-23 15:11:51.000000000 +0200
+++ new/qqwing-1.3.4/qqwing.hpp 2015-04-18 02:55:47.000000000 +0200
@@ -1,7 +1,6 @@
/*
* qqwing - A Sudoku solver and generator
- * Copyright (C) 2006-2014 Stephen Ostermiller
- * http://ostermiller.org/qqwing/
+ * Copyright (C) 2006-2014 Stephen Ostermiller http://ostermiller.org/
* Copyright (C) 2007 Jacques Bensimon (jacques@ipm.com)
* Copyright (C) 2011 Jean Guillerez (j.guillerez - orange.fr)
* Copyright (C) 2014 Michael Catanzaro (mcatanzaro@gnome.org)
@@ -53,14 +52,14 @@
ONE_LINE,
COMPACT,
READABLE,
- CSV,
+ CSV
};
enum Difficulty {
UNKNOWN,
SIMPLE,
EASY,
INTERMEDIATE,
- EXPERT,
+ EXPERT
};
enum Symmetry {
NONE,
@@ -68,7 +67,7 @@
ROTATE180,
MIRROR,
FLIP,
- RANDOM,
+ RANDOM
};
SudokuBoard();
bool setPuzzle(int* initPuzzle);
@@ -77,7 +76,28 @@
void printPuzzle();
void printSolution();
bool solve();
+
+ /**
+ * Count the number of solutions to the puzzle
+ */
int countSolutions();
+
+ /**
+ * Count the number of solutions to the puzzle
+ * but return two any time there are two or
+ * more solutions. This method will run much
+ * falter than countSolutions() when there
+ * are many possible solutions and can be used
+ * when you are interested in knowing if the
+ * puzzle has zero, one, or multiple solutions.
+ */
+ int countSolutionsLimited();
+
+ /**
+ * return true if the puzzle has a solution
+ * and only a single solution
+ */
+ bool hasUniqueSolution();
bool isSolved();
void printSolveHistory();
void setRecordHistory(bool recHistory);
@@ -124,10 +144,10 @@
/**
* The 729 integers that make up a the possible
- * values for a suduko puzzle. (9 possibilities
+ * values for a Sudoku puzzle. (9 possibilities
* for each of 81 squares). If possibilities[i]
* is zero, then the possibility could still be
- * filled in according to the sudoku rules. When
+ * filled in according to the Sudoku rules. When
* a possibility is eliminated, possibilities[i]
* is assigned the round (recursion level) at
* which it was determined that it could not be
@@ -191,6 +211,7 @@
bool onlyValueInColumn(int round);
bool onlyValueInSection(int round);
bool solve(int round);
+ int countSolutions(bool limitToTwo);
int countSolutions(int round, bool limitToTwo);
bool guess(int round, int guessNumber);
bool isImpossible();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqwing-1.2.0/qqwing.pc new/qqwing-1.3.4/qqwing.pc
--- old/qqwing-1.2.0/qqwing.pc 2014-08-23 15:11:50.000000000 +0200
+++ new/qqwing-1.3.4/qqwing.pc 2015-04-18 02:55:47.000000000 +0200
@@ -5,6 +5,6 @@
Name: libqqwing
Description: Sudoku generator and solver library
-Version: 1.2.0
+Version: 1.3.4
Libs: -L${libdir} -lqqwing
Cflags: -I${includedir}