diff options
Diffstat (limited to 'source/xap/gnuchess')
-rw-r--r-- | source/xap/gnuchess/chess.png | bin | 0 -> 652 bytes | |||
-rw-r--r-- | source/xap/gnuchess/eboard.desktop | 10 | ||||
-rwxr-xr-x | source/xap/gnuchess/gnuchess.SlackBuild | 176 | ||||
-rw-r--r-- | source/xap/gnuchess/gnuchess.SlackBuild.diff | 89 | ||||
-rw-r--r-- | source/xap/gnuchess/gnuchess.gcc4_fix.diff | 11 | ||||
-rw-r--r-- | source/xap/gnuchess/slack-desc | 19 | ||||
-rw-r--r-- | source/xap/gnuchess/xboard.buffer_overflow_fix.diff | 95 | ||||
-rw-r--r-- | source/xap/gnuchess/xboard.desktop | 10 | ||||
-rw-r--r-- | source/xap/gnuchess/xboard.infodir.diff | 11 |
9 files changed, 421 insertions, 0 deletions
diff --git a/source/xap/gnuchess/chess.png b/source/xap/gnuchess/chess.png Binary files differnew file mode 100644 index 00000000..6e4a1bff --- /dev/null +++ b/source/xap/gnuchess/chess.png diff --git a/source/xap/gnuchess/eboard.desktop b/source/xap/gnuchess/eboard.desktop new file mode 100644 index 00000000..f467664a --- /dev/null +++ b/source/xap/gnuchess/eboard.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=eboard +GenericName=Chess Game +Comment=A graphical chess engine frontend +Exec=eboard +Icon=/usr/share/pixmaps/chess.png +Terminal=false +Type=Application +Categories=Application;Game;BoardGame diff --git a/source/xap/gnuchess/gnuchess.SlackBuild b/source/xap/gnuchess/gnuchess.SlackBuild new file mode 100755 index 00000000..2b236ae4 --- /dev/null +++ b/source/xap/gnuchess/gnuchess.SlackBuild @@ -0,0 +1,176 @@ +#!/bin/sh + +# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +VERGNUCHESS=5.07 +VERSJENG=11.2 +VEREBOARD=1.0.3 +VERXBOARD=4.2.7 +ARCH=${ARCH:-x86_64} +BUILD=${BUILD:-4} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=/tmp/package-gnuchess + +rm -rf $PKG +mkdir -p $TMP $PKG + +### gnuchess +cd $TMP +rm -rf gnuchess-$VERGNUCHESS +tar xvf $CWD/gnuchess-$VERGNUCHESS.tar.bz2 || exit 1 +cd gnuchess-$VERGNUCHESS || exit 1 +# make gnuchess compile with gcc4 +zcat $CWD/gnuchess.gcc4_fix.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1 +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + $ARCH-slackware-linux +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +mkdir -p $PKG/usr/doc/gnuchess-$VERGNUCHESS +cp -a \ + doc/README \ + AUTHORS COPYING INSTALL NEWS TODO \ + $PKG/usr/doc/gnuchess-$VERGNUCHESS + +### Sjeng +cd $TMP +rm -rf Sjeng-Free-$VERSJENG +tar xvf $CWD/Sjeng-Free-$VERSJENG.tar.bz2 || exit 1 +cd Sjeng-Free-$VERSJENG || exit 1 +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + $ARCH-slackware-linux +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +mkdir -p $PKG/usr/doc/Sjeng-Free-$VERSJENG +cp -a \ + AUTHORS BUGS COPYING NEWS README THANKS TODO \ + $PKG/usr/doc/Sjeng-Free-$VERSJENG + +### eboard +cd $TMP +rm -rf eboard-$VEREBOARD +tar xvf $CWD/eboard-$VEREBOARD.tar.bz2 || exit 1 +cd eboard-$VEREBOARD || exit 1 +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +./configure \ + --prefix=/usr \ + --extra-flags=$(echo $SLKCFLAGS | sed -e "y/ /:/") +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +mkdir -p $PKG/usr/doc/eboard-$VEREBOARD +cp -a \ + AUTHORS COPYING README TODO Documentation/*.txt \ + $PKG/usr/doc/eboard-$VEREBOARD + +### XBoard +cd $TMP +rm -rf xboard-$VERXBOARD +tar xvf $CWD/xboard-$VERXBOARD.tar.bz2 || exit 1 +cd xboard-$VERXBOARD || exit 1 +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# --infodir is fubar. +zcat $CWD/xboard.infodir.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1 +# Taken from Debian to fix CVE-2004-2552 +# FOR WHICH THERE IS NO ATTACK VECTOR!!! +zcat $CWD/xboard.buffer_overflow_fix.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1 +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --infodir=/usr/info \ + --enable-zippy \ + --build=$ARCH-slackware-linux +make $NUMJOBS || make || exit 1 +install -c -s xboard $PKG/usr/bin/xboard +install -c -s zic2xpm $PKG/usr/bin/zic2xpm +install -c cmail $PKG/usr/bin/cmail +install -c ./pxboard $PKG/usr/bin/pxboard +install -c -m 644 ./xboard.man $PKG/usr/man/man6/xboard.6 +install -c -m 644 ./zic2xpm.man $PKG/usr/man/man6/zic2xpm.6 +mkdir -p $PKG/usr/info +install -c -m 644 xboard.info $PKG/usr/info/xboard.info +mkdir -p $PKG/usr/doc/xboard-$VERXBOARD +cp -a \ + AUTHORS COPYING COPYRIGHT FAQ FAQ.html NEWS READ_ME \ + $PKG/usr/doc/xboard-$VERXBOARD + +### Finish up... +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +gzip -9 $PKG/usr/man/man?/*.? +gzip -9 $PKG/usr/info/*.info +mkdir -p $PKG/usr/share/pixmaps +cat $CWD/chess.png > $PKG/usr/share/pixmaps/chess.png +mkdir -p $PKG/usr/share/applications +cat $CWD/eboard.desktop > $PKG/usr/share/applications/eboard.desktop +cat $CWD/xboard.desktop > $PKG/usr/share/applications/xboard.desktop + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/gnuchess-$VERGNUCHESS-$ARCH-$BUILD.txz + diff --git a/source/xap/gnuchess/gnuchess.SlackBuild.diff b/source/xap/gnuchess/gnuchess.SlackBuild.diff new file mode 100644 index 00000000..0112a9d2 --- /dev/null +++ b/source/xap/gnuchess/gnuchess.SlackBuild.diff @@ -0,0 +1,89 @@ +--- gnuchess.SlackBuild 2006-04-04 03:47:10.000000000 +0300 ++++ gnuchess.SlackBuild 2007-05-08 17:06:11.000000000 +0300 +@@ -4,10 +4,10 @@ + + VERGNUCHESS=5.07 + VERSJENG=11.2 +-VEREBOARD=0.9.5 ++VEREBOARD=1.0.3 + VERXBOARD=4.2.7 + ARCH=${ARCH:-i486} +-BUILD=${BUILD:-2} ++BUILD=${BUILD:-3} + + if [ "$ARCH" = "i386" ]; then + SLKCFLAGS="-O2 -march=i386 -mcpu=i686" +@@ -27,6 +27,8 @@ + rm -rf gnuchess-$VERGNUCHESS + tar xjvf $CWD/gnuchess-$VERGNUCHESS.tar.bz2 + cd gnuchess-$VERGNUCHESS ++# make gnuchess compile with gcc4 ++zcat $CWD/gnuchess.gcc4_fix.diff.gz | patch -p1 --verbose --backup --suffix=.orig + chown -R root:root . + find . -perm 664 -exec chmod 644 {} \; + find . -perm 600 -exec chmod 644 {} \; +@@ -93,33 +95,13 @@ + find . -perm 511 -exec chmod 755 {} \; + find . -perm 711 -exec chmod 755 {} \; + find . -perm 555 -exec chmod 755 {} \; +-CFLAGS="$SLKCFLAGS" \ + ./configure \ +- --prefix=/usr ++ --prefix=/usr --extra-flags=`echo $SLKCFLAGS | sed -e "y/ /:/"` + make -j3 +-#make install DESTDIR=$PKG +-install -d $PKG/usr/bin +-install -m 0755 eboard $PKG/usr/bin/eboard +-install -m 0755 eboard-config $PKG/usr/bin/eboard-config +-install -m 0755 eboard-addtheme $PKG/usr/bin/eboard-addtheme +-install -d $PKG/usr/man/man1 +-install -d $PKG/usr/man/man6 +-install -m 0644 eboard.6 $PKG/usr/man/man6 +-install -m 0644 eboard-addtheme.1 $PKG/usr/man/man1 +-install -m 0644 eboard-config.1 $PKG/usr/man/man1 +-install -d $PKG/usr/share/eboard +-install -m 0644 classic.png $PKG/usr/share/eboard/classic.png +-install -m 0644 ghouls.png $PKG/usr/share/eboard/ghouls.png +-install -m 0644 plastic.png $PKG/usr/share/eboard/plastic.png +-install -m 0644 eboard_themes.conf $PKG/usr/share/eboard/eboard_themes.conf +-install -m 0644 NAG.en.txt $PKG/usr/share/eboard/NAG.en.txt +-( cd multilang +- install -d $PKG/usr/share/eboard +- install -m 0644 eboard.cs.dict eboard.de.dict eboard.es.dict eboard.it.dict eboard.pt_BR.dict $PKG/usr/share/eboard +-) ++make install DESTDIR=$PKG + mkdir -p $PKG/usr/doc/eboard-$VEREBOARD + cp -a \ +- AUTHORS COPYING README TODO \ ++ AUTHORS COPYING README TODO Documentation/*.txt \ + $PKG/usr/doc/eboard-$VEREBOARD + + ### XBoard +@@ -140,6 +122,8 @@ + find . -perm 555 -exec chmod 755 {} \; + # --infodir is fubar. + zcat $CWD/xboard.infodir.diff.gz | patch -p1 --verbose --backup --suffix=.orig ++# Taken from Debian to fix CVE-2004-2552 ++zcat $CWD/xboard.buffer_overflow_fix.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1 + CFLAGS="$SLKCFLAGS" \ + ./configure \ + --prefix=/usr \ +@@ -153,6 +137,7 @@ + install -c ./pxboard $PKG/usr/bin/pxboard + install -c -m 644 ./xboard.man $PKG/usr/man/man6/xboard.6 + install -c -m 644 ./zic2xpm.man $PKG/usr/man/man6/zic2xpm.6 ++mkdir -p $PKG/usr/info + install -c -m 644 xboard.info $PKG/usr/info/xboard.info + mkdir -p $PKG/usr/doc/xboard-$VERXBOARD + cp -a \ +@@ -165,8 +150,9 @@ + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + ) + gzip -9 $PKG/usr/man/man?/*.? ++gzip -9 $PKG/usr/info/*.info + mkdir -p $PKG/usr/share/pixmaps +-cat $CWD/chess.png > $PKG/usr/share/pixmaps/chess.png ++cp $CWD/chess.png $PKG/usr/share/pixmaps/chess.png + mkdir -p $PKG/usr/share/applications + cat $CWD/eboard.desktop > $PKG/usr/share/applications/eboard.desktop + cat $CWD/xboard.desktop > $PKG/usr/share/applications/xboard.desktop diff --git a/source/xap/gnuchess/gnuchess.gcc4_fix.diff b/source/xap/gnuchess/gnuchess.gcc4_fix.diff new file mode 100644 index 00000000..a6835194 --- /dev/null +++ b/source/xap/gnuchess/gnuchess.gcc4_fix.diff @@ -0,0 +1,11 @@ +--- gnuchess-5.07/src/input.c 2007-05-08 15:55:16.688003280 +0300 ++++ gnuchess-5.07/src/input.c 2007-05-08 15:55:29.238088685 +0300 +@@ -92,7 +92,7 @@ + fgets(inputstr, MAXSTR, stdin); + } + +-static pthread_t input_thread; ++pthread_t input_thread; + + /* Mutex and condition variable for thread communication */ + diff --git a/source/xap/gnuchess/slack-desc b/source/xap/gnuchess/slack-desc new file mode 100644 index 00000000..96776653 --- /dev/null +++ b/source/xap/gnuchess/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +gnuchess: gnuchess (GPL licensed chess engines and graphical frontends) +gnuchess: +gnuchess: This is a package of programs for playing chess. It includes the +gnuchess: gnuchess and Sjeng chess engines, and the eboard and XBoard +gnuchess: graphical interfaces to these engines. +gnuchess: +gnuchess: +gnuchess: +gnuchess: +gnuchess: +gnuchess: diff --git a/source/xap/gnuchess/xboard.buffer_overflow_fix.diff b/source/xap/gnuchess/xboard.buffer_overflow_fix.diff new file mode 100644 index 00000000..f36d36ba --- /dev/null +++ b/source/xap/gnuchess/xboard.buffer_overflow_fix.diff @@ -0,0 +1,95 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 09_fix_-icshost_buffer_overflow.dpatch by Florian Ernst <florian@debian.org> +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Of minor importance, though, as there is probably no attack vector +## DP: See bug#343560 + +@DPATCH@ +diff -urNad xboard-4.2.7~/backend.c xboard-4.2.7/backend.c +--- xboard-4.2.7~/backend.c 2003-11-28 10:37:36.000000000 +0100 ++++ xboard-4.2.7/backend.c 2005-12-16 22:19:16.000000000 +0100 +@@ -692,7 +692,7 @@ + sprintf(buf, "Could not open comm port %s", + appData.icsCommPort); + } else { +- sprintf(buf, "Could not connect to host %s, port %s", ++ snprintf(buf, sizeof(buf), "Could not connect to host %s, port %s", + appData.icsHost, appData.icsPort); + } + DisplayFatalError(buf, err, 1); +@@ -869,18 +869,18 @@ + } else if (*appData.gateway != NULLCHAR) { + if (*appData.remoteShell == NULLCHAR) { + /* Use the rcmd protocol to run telnet program on a gateway host */ +- sprintf(buf, "%s %s %s", ++ snprintf(buf, sizeof(buf), "%s %s %s", + appData.telnetProgram, appData.icsHost, appData.icsPort); + return OpenRcmd(appData.gateway, appData.remoteUser, buf, &icsPR); + + } else { + /* Use the rsh program to run telnet program on a gateway host */ + if (*appData.remoteUser == NULLCHAR) { +- sprintf(buf, "%s %s %s %s %s", appData.remoteShell, ++ snprintf(buf, sizeof(buf), "%s %s %s %s %s", appData.remoteShell, + appData.gateway, appData.telnetProgram, + appData.icsHost, appData.icsPort); + } else { +- sprintf(buf, "%s %s -l %s %s %s %s", ++ snprintf(buf, sizeof(buf), "%s %s -l %s %s %s %s", + appData.remoteShell, appData.gateway, + appData.remoteUser, appData.telnetProgram, + appData.icsHost, appData.icsPort); +@@ -1684,7 +1684,7 @@ + + if (loggedOn && !have_set_title && ics_handle[0] != NULLCHAR) { + char buf[MSG_SIZ]; +- sprintf(buf, "%s@%s", ics_handle, appData.icsHost); ++ snprintf(buf, sizeof(buf), "%s@%s", ics_handle, appData.icsHost); + DisplayIcsInteractionTitle(buf); + have_set_title = TRUE; + } +@@ -4882,7 +4882,7 @@ + SendToProgram(buf, cps); + } + if (cps->sendICS) { +- sprintf(buf, "ics %s\n", appData.icsActive ? appData.icsHost : "-"); ++ snprintf(buf, sizeof(buf), "ics %s\n", appData.icsActive ? appData.icsHost : "-"); + SendToProgram(buf, cps); + } + cps->maybeThinking = FALSE; +diff -urNad xboard-4.2.7~/xboard.c xboard-4.2.7/xboard.c +--- xboard-4.2.7~/xboard.c 2003-11-19 09:42:18.000000000 +0100 ++++ xboard-4.2.7/xboard.c 2005-12-16 22:19:16.000000000 +0100 +@@ -6734,8 +6734,8 @@ + strcpy(icon, text); + strcpy(title, text); + } else if (appData.icsActive) { +- sprintf(icon, "%s", appData.icsHost); +- sprintf(title, "%s: %s", programName, appData.icsHost); ++ snprintf(icon, sizeof(icon), "%s", appData.icsHost); ++ snprintf(title, sizeof(title), "%s: %s", programName, appData.icsHost); + } else if (appData.cmailGameName[0] != NULLCHAR) { + sprintf(icon, "%s", "CMail"); + sprintf(title, "%s: %s", programName, "CMail"); +@@ -6804,7 +6804,7 @@ + } else { + fprintf(stderr, "%s: %s: %s\n", + programName, message, strerror(error)); +- sprintf(buf, "%s: %s", message, strerror(error)); ++ snprintf(buf, sizeof(buf), "%s: %s", message, strerror(error)); + message = buf; + } + if (appData.popupExitMessage && boardWidget && XtIsRealized(boardWidget)) { +@@ -7488,9 +7488,9 @@ + char cmdLine[MSG_SIZ]; + + if (port[0] == NULLCHAR) { +- sprintf(cmdLine, "%s %s", appData.telnetProgram, host); ++ snprintf(cmdLine, sizeof(cmdLine), "%s %s", appData.telnetProgram, host); + } else { +- sprintf(cmdLine, "%s %s %s", appData.telnetProgram, host, port); ++ snprintf(cmdLine, sizeof(cmdLine), "%s %s %s", appData.telnetProgram, host, port); + } + return StartChildProcess(cmdLine, "", pr); + } diff --git a/source/xap/gnuchess/xboard.desktop b/source/xap/gnuchess/xboard.desktop new file mode 100644 index 00000000..6336cb63 --- /dev/null +++ b/source/xap/gnuchess/xboard.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=XBoard +GenericName=Chess Game +Comment=A graphical chess engine frontend +Exec=xboard +Icon=/usr/share/pixmaps/chess.png +Terminal=false +Type=Application +Categories=Application;Game;BoardGame diff --git a/source/xap/gnuchess/xboard.infodir.diff b/source/xap/gnuchess/xboard.infodir.diff new file mode 100644 index 00000000..5c18bb02 --- /dev/null +++ b/source/xap/gnuchess/xboard.infodir.diff @@ -0,0 +1,11 @@ +--- ./Makefile.in.orig 2003-11-28 13:12:57.000000000 -0800 ++++ ./Makefile.in 2004-06-26 15:47:07.000000000 -0700 +@@ -21,7 +21,7 @@ + # Yuck; the autoconf generated configure script sets an infodir variable + # and provides a command-line flag to change it, but the default is + # /usr/info instead of /usr/share/info. +-infodir = $(prefix)/share/info ++infodir = /usr/info + + CC = @CC@ + CFLAGS = @CFLAGS@ @CPPFLAGS@ -DINFODIR=\"$(infodir)\" |