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 - zai...@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 <<EOF -#ifdef _SEQUENT_ -# include <sys/types.h> -# include <sys/utsname.h> -#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 <sys/param.h> - 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 <sys/param.h> -# 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 <<EOF $0: unable to guess system type diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqwing-1.2.0/config.sub new/qqwing-1.3.4/config.sub --- old/qqwing-1.2.0/config.sub 2014-08-23 15:11:45.000000000 +0200 +++ new/qqwing-1.3.4/config.sub 2015-04-18 02:55:42.000000000 +0200 @@ -1,8 +1,8 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2013 Free Software Foundation, Inc. +# Copyright 1992-2014 Free Software Foundation, Inc. -timestamp='2013-08-10' +timestamp='2014-09-11' # 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 @@ -68,7 +68,7 @@ version="\ GNU config.sub ($timestamp) -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." @@ -265,6 +265,7 @@ | hexagon \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ + | k1om \ | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ @@ -282,8 +283,10 @@ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ + | mipsisa32r6 | mipsisa32r6el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64r6 | mipsisa64r6el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipsr5900 | mipsr5900el \ @@ -295,11 +298,11 @@ | nds32 | nds32le | nds32be \ | nios | nios2 | nios2eb | nios2el \ | ns16k | ns32k \ - | open8 \ - | or1k | or32 \ + | open8 | or1k | or1knd | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ + | riscv32 | riscv64 \ | rl78 | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ @@ -324,7 +327,7 @@ c6x) basic_machine=tic6x-unknown ;; - m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) basic_machine=$basic_machine-unknown os=-none ;; @@ -381,6 +384,7 @@ | hexagon-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ + | k1om-* \ | le32-* | le64-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ @@ -400,8 +404,10 @@ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa32r6-* | mipsisa32r6el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64r6-* | mipsisa64r6el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipsr5900-* | mipsr5900el-* \ @@ -413,6 +419,7 @@ | nios-* | nios2-* | nios2eb-* | nios2el-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | open8-* \ + | or1k*-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ @@ -822,6 +829,10 @@ basic_machine=powerpc-unknown os=-morphos ;; + moxiebox) + basic_machine=moxie-unknown + os=-moxiebox + ;; msdos) basic_machine=i386-pc os=-msdos @@ -1367,14 +1378,14 @@ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* \ + | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1592,9 +1603,6 @@ mips*-*) os=-elf ;; - or1k-*) - os=-elf - ;; or32-*) os=-coff ;; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qqwing-1.2.0/configure new/qqwing-1.3.4/configure --- old/qqwing-1.2.0/configure 2014-08-23 15:11:44.000000000 +0200 +++ new/qqwing-1.3.4/configure 2015-04-18 02:55:41.000000000 +0200 @@ -1,8 +1,8 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for qqwing 1.2.0. +# Generated by GNU Autoconf 2.69 for qqwing 1.3.4. # -# Report bugs to <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-autoc...@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-autoc...@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 <deb...@ostermiller.org> Fri, 17 Apr 2015 20:55:00 -0400 + +qqwing (1.3.3-1) RELEASED; urgency=medium + + * Java API improvements + + -- Stephen Ostermiller <deb...@ostermiller.org> 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 <deb...@ostermiller.org> Thu, 25 Sep 2014 10:27:35 -0400 + +qqwing (1.3.1-1) RELEASED; urgency=medium + + * Fix library version number + + -- Stephen Ostermiller <deb...@ostermiller.org> 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 <deb...@ostermiller.org> 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 <deb...@ostermiller.org> 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 <deb...@ostermiller.org> 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 <deb...@ostermiller.org> 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 <deb...@ostermiller.org> Wed, 23 Jul 2014 08:36:57 -0400 + +qqwing (1.1.0-1) RELEASED; urgency=medium + + * Added symmetry + + -- Stephen Ostermiller <deb...@ostermiller.org> Wed, 23 Jul 2014 08:36:57 -0400 + +qqwing (1.0.3-1) RELEASED; urgency=medium + + * Initial release + + -- Stephen Ostermiller <deb...@ostermiller.org> 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 <deb...@ostermiller.org> +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 (jacq...@ipm.com) * Copyright (C) 2011 Jean Guillerez (j.guillerez - orange.fr) * Copyright (C) 2014 Michael Catanzaro (mcatanz...@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 (jacq...@ipm.com)" << endl; cout << "Copyright (C) 2011 Jean Guillerez (j.guillerez - orange.fr)" << endl; cout << "Copyright (C) 2014 Michael Catanzaro (mcatanz...@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 (jacq...@ipm.com) * Copyright (C) 2011 Jean Guillerez (j.guillerez - orange.fr) * Copyright (C) 2014 Michael Catanzaro (mcatanz...@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<LogItem*>(); - solveInstructions = new vector<LogItem*>(); + 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<LogItem*>() ), + solveInstructions ( new vector<LogItem*>() ), + printStyle ( READABLE ), + lastSolveRound (0) + { {for (int i=0; i<BOARD_SIZE; i++){ randomBoardArray[i] = i; }} @@ -183,7 +185,7 @@ possibilities[i] = 0; }} - {for (int i=0;i<solveHistory->size();i++){ + {for (unsigned int i=0; i<solveHistory->size(); i++){ delete solveHistory->at(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<LogItem*>* 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 (jacq...@ipm.com) * Copyright (C) 2011 Jean Guillerez (j.guillerez - orange.fr) * Copyright (C) 2014 Michael Catanzaro (mcatanz...@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}