"Adam D. Barratt" <a...@adam-barratt.org.uk> writes: > The patch looks fine, thanks. Just for a final confirmation, please > could we have a debdiff of the proposed upload (against the current > stable package); please use 0.90+20120429-1+deb7u1 as the version.
The debdiff is attached. Sorry about the obnoxious patch of a patch; the unstable version no longer uses single-debian-patch, but I was still using it then. Regeneration of the diff of course changed the order of the modified files, so the diff is particularly ugly. -- Russ Allbery (r...@debian.org) <http://www.eyrie.org/~eagle/>
diff -Nru gnubg-0.90+20120429/debian/changelog gnubg-0.90+20120429/debian/changelog --- gnubg-0.90+20120429/debian/changelog 2012-04-28 20:56:29.000000000 -0700 +++ gnubg-0.90+20120429/debian/changelog 2014-08-25 21:59:14.000000000 -0700 @@ -1,3 +1,10 @@ +gnubg (0.90+20120429-1+deb7u1) stable; urgency=low + + * Apply upstream patch to prevent a crash on "end game" when gnubg is + run with the -t option. (Closes: #754764) + + -- Russ Allbery <r...@debian.org> Mon, 25 Aug 2014 21:56:34 -0700 + gnubg (0.90+20120429-1) unstable; urgency=low * New upstream development snapshot. diff -Nru gnubg-0.90+20120429/debian/patches/debian-changes gnubg-0.90+20120429/debian/patches/debian-changes --- gnubg-0.90+20120429/debian/patches/debian-changes 2012-04-28 20:56:51.000000000 -0700 +++ gnubg-0.90+20120429/debian/patches/debian-changes 2014-08-25 21:59:59.000000000 -0700 @@ -7,6 +7,54 @@ For full commit history and separated commits, see the packaging Git repository. +--- gnubg-0.90+20120429.orig/eval.c ++++ gnubg-0.90+20120429/eval.c +@@ -652,7 +652,9 @@ extern void EvalInitialise(char *szWeigh + pbc1 = BearoffInit ( NULL, BO_HEURISTIC, pfProgress ); + + /* read two-sided db from gnubg.bd */ +- gnubg_bearoff = BuildFilename("gnubg_ts0.bd"); ++ /* For Debian, load dynamic databases from /var/lib/gnubg ++ instead. -- rra, 2008-02-16 */ ++ gnubg_bearoff = BuildVarFilename ( "gnubg_ts0.bd" ); + pbc2 = BearoffInit ( gnubg_bearoff, BO_IN_MEMORY | BO_MUST_BE_TWO_SIDED, NULL ); + g_free(gnubg_bearoff); + +@@ -667,12 +669,12 @@ extern void EvalInitialise(char *szWeigh + "You can also generate other bearoff databases; see\n" + "README for more details\n\n" ); + +- gnubg_bearoff_os = BuildFilename("gnubg_os.bd"); ++ gnubg_bearoff_os = BuildVarFilename ( "gnubg_os.bd" ); + /* init one-sided db */ + pbcOS = BearoffInit ( gnubg_bearoff_os, BO_IN_MEMORY, NULL ); + g_free(gnubg_bearoff_os); + +- gnubg_bearoff = BuildFilename("gnubg_ts.bd"); ++ gnubg_bearoff = BuildVarFilename("gnubg_ts.bd"); + /* init two-sided db */ + pbcTS = BearoffInit ( gnubg_bearoff, BO_IN_MEMORY, NULL ); + g_free(gnubg_bearoff); +@@ -683,7 +685,7 @@ extern void EvalInitialise(char *szWeigh + char *fn; + char sz[10]; + sprintf(sz, "hyper%1d.bd", i + 1); +- fn = BuildFilename(sz); ++ fn = BuildVarFilename(sz); + apbcHyper[i] = BearoffInit(fn, BO_NONE, NULL); + g_free(fn); + } +--- gnubg-0.90+20120429.orig/gtkwindows.c ++++ gnubg-0.90+20120429/gtkwindows.c +@@ -391,7 +391,7 @@ WarningOK ( GtkWidget *pw, warningType w + + extern int GTKShowWarning(warningType warning, GtkWidget *pwParent) + { +- if (warnings[warning].warningEnabled) ++ if (fX && warnings[warning].warningEnabled) + { + char *buf; + GtkWidget *pwDialog, *pwMsg, *pwv, *label; --- gnubg-0.90+20120429.orig/mkinstalldirs +++ gnubg-0.90+20120429/mkinstalldirs @@ -1,21 +1,36 @@ @@ -170,66 +218,6 @@ +# time-stamp-end: "; # UTC" # End: -# mkinstalldirs ends here ---- gnubg-0.90+20120429.orig/eval.c -+++ gnubg-0.90+20120429/eval.c -@@ -652,7 +652,9 @@ extern void EvalInitialise(char *szWeigh - pbc1 = BearoffInit ( NULL, BO_HEURISTIC, pfProgress ); - - /* read two-sided db from gnubg.bd */ -- gnubg_bearoff = BuildFilename("gnubg_ts0.bd"); -+ /* For Debian, load dynamic databases from /var/lib/gnubg -+ instead. -- rra, 2008-02-16 */ -+ gnubg_bearoff = BuildVarFilename ( "gnubg_ts0.bd" ); - pbc2 = BearoffInit ( gnubg_bearoff, BO_IN_MEMORY | BO_MUST_BE_TWO_SIDED, NULL ); - g_free(gnubg_bearoff); - -@@ -667,12 +669,12 @@ extern void EvalInitialise(char *szWeigh - "You can also generate other bearoff databases; see\n" - "README for more details\n\n" ); - -- gnubg_bearoff_os = BuildFilename("gnubg_os.bd"); -+ gnubg_bearoff_os = BuildVarFilename ( "gnubg_os.bd" ); - /* init one-sided db */ - pbcOS = BearoffInit ( gnubg_bearoff_os, BO_IN_MEMORY, NULL ); - g_free(gnubg_bearoff_os); - -- gnubg_bearoff = BuildFilename("gnubg_ts.bd"); -+ gnubg_bearoff = BuildVarFilename("gnubg_ts.bd"); - /* init two-sided db */ - pbcTS = BearoffInit ( gnubg_bearoff, BO_IN_MEMORY, NULL ); - g_free(gnubg_bearoff); -@@ -683,7 +685,7 @@ extern void EvalInitialise(char *szWeigh - char *fn; - char sz[10]; - sprintf(sz, "hyper%1d.bd", i + 1); -- fn = BuildFilename(sz); -+ fn = BuildVarFilename(sz); - apbcHyper[i] = BearoffInit(fn, BO_NONE, NULL); - g_free(fn); - } ---- gnubg-0.90+20120429.orig/util.h -+++ gnubg-0.90+20120429/util.h -@@ -34,6 +34,9 @@ extern char *getDocDir( void ); - #define BuildFilename(file) g_build_filename(getPkgDataDir(), file, NULL) - #define BuildFilename2(file1, file2) g_build_filename(getPkgDataDir(), file1, file2, NULL) - -+/* Added for Debian -- rra, 2008-02-16 */ -+#define BuildVarFilename(file) g_build_filename("/var/lib/gnubg", file, NULL) -+ - extern void PrintSystemError(const char* message); - extern void PrintError(const char* message); - extern FILE *GetTemporaryFile(const char *nameTemplate, char **retName); ---- gnubg-0.90+20120429.orig/set.c -+++ gnubg-0.90+20120429/set.c -@@ -1548,7 +1548,7 @@ extern void CommandSetRNGFile( char *sz - SetRNG( rngSet, rngctxSet, RNG_FILE, sz ); - } - --extern void CommandSetRNGBBS( char *UNUSED(sz) ) { -+extern void CommandSetRNGBBS( char *sz ) { - #if HAVE_LIBGMP - SetRNG( rngSet, rngctxSet, RNG_BBS, sz ); - #else --- gnubg-0.90+20120429.orig/openurl.c +++ gnubg-0.90+20120429/openurl.c @@ -41,14 +41,8 @@ extern const gchar * get_web_browser (vo @@ -249,3 +237,59 @@ return pch; } +--- gnubg-0.90+20120429.orig/play.c ++++ gnubg-0.90+20120429/play.c +@@ -3287,7 +3287,9 @@ extern void CommandEndGame(char *UNUSED( + int fDisplay_store = fDisplay; + int fQuiet_store = fQuiet; + #if USE_BOARD3D +- BoardData *bd = BOARD(pwBoard)->board_data; ++ BoardData *bd; ++ if (fX && pwBoard) ++ bd = BOARD(pwBoard)->board_data; + #endif + const evalcontext ec_quick = { FALSE, 0, FALSE, TRUE, 0.0 }; + int manual_dice = (rngCurrent == RNG_MANUAL); +@@ -3326,7 +3328,8 @@ extern void CommandEndGame(char *UNUSED( + } + + #if USE_BOARD3D +- SuspendDiceRolling(bd->rd); ++ if (fX) ++ SuspendDiceRolling(bd->rd); + #endif + + fAutoGame = FALSE; +@@ -3373,7 +3376,8 @@ extern void CommandEndGame(char *UNUSED( + } + + #if USE_BOARD3D +- ResumeDiceRolling(bd->rd); ++ if (fX) ++ ResumeDiceRolling(bd->rd); + #endif + + if (!automaticTask) +--- gnubg-0.90+20120429.orig/set.c ++++ gnubg-0.90+20120429/set.c +@@ -1548,7 +1548,7 @@ extern void CommandSetRNGFile( char *sz + SetRNG( rngSet, rngctxSet, RNG_FILE, sz ); + } + +-extern void CommandSetRNGBBS( char *UNUSED(sz) ) { ++extern void CommandSetRNGBBS( char *sz ) { + #if HAVE_LIBGMP + SetRNG( rngSet, rngctxSet, RNG_BBS, sz ); + #else +--- gnubg-0.90+20120429.orig/util.h ++++ gnubg-0.90+20120429/util.h +@@ -34,6 +34,9 @@ extern char *getDocDir( void ); + #define BuildFilename(file) g_build_filename(getPkgDataDir(), file, NULL) + #define BuildFilename2(file1, file2) g_build_filename(getPkgDataDir(), file1, file2, NULL) + ++/* Added for Debian -- rra, 2008-02-16 */ ++#define BuildVarFilename(file) g_build_filename("/var/lib/gnubg", file, NULL) ++ + extern void PrintSystemError(const char* message); + extern void PrintError(const char* message); + extern FILE *GetTemporaryFile(const char *nameTemplate, char **retName);