summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Yamin <plasmaroo@gentoo.org>2006-02-25 05:17:06 +0000
committerTim Yamin <plasmaroo@gentoo.org>2006-02-25 05:17:06 +0000
commitf313ff32243204d213e60470dbf22e2cfb980edc (patch)
tree0635f603d2f5906a854002242c4d556576c7e037 /sci-mathematics/axiom
parentversion bump #123720 by Christian Gmeiner (diff)
downloadhistorical-f313ff32243204d213e60470dbf22e2cfb980edc.tar.gz
historical-f313ff32243204d213e60470dbf22e2cfb980edc.tar.bz2
historical-f313ff32243204d213e60470dbf22e2cfb980edc.zip
Security bump; bug #122705.
Package-Manager: portage-2.1_pre4-r1
Diffstat (limited to 'sci-mathematics/axiom')
-rw-r--r--sci-mathematics/axiom/ChangeLog9
-rw-r--r--sci-mathematics/axiom/Manifest18
-rw-r--r--sci-mathematics/axiom/axiom-3.9-r1.ebuild81
-rw-r--r--sci-mathematics/axiom/files/digest-axiom-3.9-r13
-rw-r--r--sci-mathematics/axiom/files/noweb-2.9-insecure-tmp-file.Makefile.patch10
-rw-r--r--sci-mathematics/axiom/files/noweb-2.9-insecure-tmp-file.patch.input168
6 files changed, 285 insertions, 4 deletions
diff --git a/sci-mathematics/axiom/ChangeLog b/sci-mathematics/axiom/ChangeLog
index 068bd9869279..6cca51797ed7 100644
--- a/sci-mathematics/axiom/ChangeLog
+++ b/sci-mathematics/axiom/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sci-mathematics/axiom
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/axiom/ChangeLog,v 1.7 2006/02/14 18:30:54 plasmaroo Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/axiom/ChangeLog,v 1.8 2006/02/25 05:17:06 plasmaroo Exp $
+
+*axiom-3.9-r1 (25 Feb 2006)
+
+ 25 Feb 2006; <plasmaroo@gentoo.org> +axiom-3.9-r1.ebuild,
+ +files/noweb-2.9-insecure-tmp-file.Makefile.patch,
+ +files/noweb-2.9-insecure-tmp-file.patch.input:
+ Security bump; bug #122705.
14 Feb 2006; <plasmaroo@gentoo.org> axiom-3.9.ebuild, axiom-9999.ebuild:
Port over to modular X.
diff --git a/sci-mathematics/axiom/Manifest b/sci-mathematics/axiom/Manifest
index d84ed19029c4..9d0608fa4c1b 100644
--- a/sci-mathematics/axiom/Manifest
+++ b/sci-mathematics/axiom/Manifest
@@ -1,6 +1,9 @@
-MD5 2feeab4b49d0661089154be2f58ea977 ChangeLog 1222
-RMD160 8e1456e085678903d41fc89c4041d51033aa11d0 ChangeLog 1222
-SHA256 dd67094fe2c3a1e920dc1a24b54d609cfb95457833dd8adee0043e768648d9b8 ChangeLog 1222
+MD5 54963164353a20ebe6eddfefc813f329 ChangeLog 1445
+RMD160 a93264cb6c48219259c53e503ea0235bda3dbb71 ChangeLog 1445
+SHA256 6198c8fe15255830ee4011e1600c4af6438dbf4b2ba081bc069281fef1e2d1fb ChangeLog 1445
+MD5 d2d981d80e5d5e5179e0a85674b64cfe axiom-3.9-r1.ebuild 2872
+RMD160 4ba73959a78469fbe31edc6d109078e2dbedbc29 axiom-3.9-r1.ebuild 2872
+SHA256 4bd3609995063ac3320d8744471cb8913097906ca6af0c1871da4c4ad4f7a077 axiom-3.9-r1.ebuild 2872
MD5 89ff28d40f3c6a5fcb25f89ef3fd01b8 axiom-3.9.ebuild 2659
RMD160 6825b2749e852e5e7a66cd8ff61d5a157ca3ae7a axiom-3.9.ebuild 2659
SHA256 52aa4c03e71ed657b3866d1e925d0ffcc959048996ae79e47b84a9202d71d7c4 axiom-3.9.ebuild 2659
@@ -10,6 +13,9 @@ SHA256 3651d0a801ec9aaadf1ef9185a82ecd66714892f41e29f0dcaab3cfe64fa6cf5 axiom-99
MD5 f5325403baf7987627d722d86541cf13 files/digest-axiom-3.9 253
RMD160 7163e15cb0087c7bd6221d1f760fb6e8b9970035 files/digest-axiom-3.9 253
SHA256 10e35fdd3f04a38fbba5651b96ec5a78d461eafbb720f1f2f5253ee9fd99a7c8 files/digest-axiom-3.9 253
+MD5 f5325403baf7987627d722d86541cf13 files/digest-axiom-3.9-r1 253
+RMD160 7163e15cb0087c7bd6221d1f760fb6e8b9970035 files/digest-axiom-3.9-r1 253
+SHA256 10e35fdd3f04a38fbba5651b96ec5a78d461eafbb720f1f2f5253ee9fd99a7c8 files/digest-axiom-3.9-r1 253
MD5 d41d8cd98f00b204e9800998ecf8427e files/digest-axiom-9999 0
RMD160 9c1185a5c5e9fc54612808977ee8f548b2258d31 files/digest-axiom-9999 0
SHA256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 files/digest-axiom-9999 0
@@ -25,6 +31,12 @@ SHA256 5a9388f09d6d380546f950ad17f9bc4b3977a192cd86a97e6416e6ad36f59a14 files/gc
MD5 43fa5bf93354597104a9752dea29743f files/gcl-2.6.7.fix-out-of-build-root-compile.patch.input 843
RMD160 489ec75966dae4d7d2921fc93ab8a2655fee6e1e files/gcl-2.6.7.fix-out-of-build-root-compile.patch.input 843
SHA256 dfaae7ea24fb8fcb761ed9b540dc66eeb5b22b65e626e1e475c911eadeb8338e files/gcl-2.6.7.fix-out-of-build-root-compile.patch.input 843
+MD5 cdcb78ce8219c21d64ef050fb79e5aff files/noweb-2.9-insecure-tmp-file.Makefile.patch 439
+RMD160 16cdc72fab65bab45c7728d374da60f7b4cccc65 files/noweb-2.9-insecure-tmp-file.Makefile.patch 439
+SHA256 ea1f544511d849ea48f09bf55753da03ed94de568dd400dbec3f527b89afad42 files/noweb-2.9-insecure-tmp-file.Makefile.patch 439
+MD5 ff71bb7ac45cae40335ecbfa0b89412c files/noweb-2.9-insecure-tmp-file.patch.input 4819
+RMD160 2afe80731bd3fcfa23e0ee799649886ce3fdd0af files/noweb-2.9-insecure-tmp-file.patch.input 4819
+SHA256 68bf232fd91b94fc9d08373d079afcb890a6af6991373da81089560ce21889a9 files/noweb-2.9-insecure-tmp-file.patch.input 4819
MD5 e49bb02132d2cd74ad4e6ee291e102d9 metadata.xml 220
RMD160 97dc1fa1de002625a0e04371d72e5d457e63045e metadata.xml 220
SHA256 2f6b6030e20679df7ccb7dab65f5ca6890144aa443f815d11e494a035ffef399 metadata.xml 220
diff --git a/sci-mathematics/axiom/axiom-3.9-r1.ebuild b/sci-mathematics/axiom/axiom-3.9-r1.ebuild
new file mode 100644
index 000000000000..2cf7b1128af5
--- /dev/null
+++ b/sci-mathematics/axiom/axiom-3.9-r1.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/axiom/axiom-3.9-r1.ebuild,v 1.1 2006/02/25 05:17:06 plasmaroo Exp $
+
+inherit eutils
+
+DESCRIPTION="Axiom is a general purpose Computer Algebra system"
+HOMEPAGE="http://axiom.axiom-developer.org/"
+SRC_URI="http://axiom.axiom-developer.org/axiom-website/DOWNLOADS/axiom-Sept2005-src.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86"
+IUSE=""
+
+DEPEND="virtual/tetex
+ || (
+ x11-libs/libXaw
+ virtual/x11
+ )"
+
+S="${WORKDIR}/axiom"
+
+src_setenv() {
+ export AXIOM=`pwd`/mnt/linux
+ export PATH=${AXIOM}/bin:${PATH}
+}
+
+src_compile() {
+ src_setenv
+
+ # Patch the lsp Makefile since GCL goes kaboom with newer BFDs
+ # from Portage, so we need to use the BFD distributed with GCL for
+ # things to compile and work.
+ sed -i -e 's/--enable-statsysbfd/--enable-locbfd --disable-statsysbfd/' Makefile.pamphlet || die 'Failed to patch the lsp Makefile!'
+
+ # Fix gcl so the "real" Axiom can compile code after we're out of the chroot
+ cp ${FILESDIR}/gcl-2.6.7.fix-out-of-build-root-compile.patch.input ${S}/zips/gcl-2.6.7.fix-out-of-build-root-compile.patch
+ cp ${FILESDIR}/gcl-2.6.7.fix-configure.in-gentoo.patch.input ${S}/zips/gcl-2.6.7.fix-configure.in-gentoo.patch
+ cp ${FILESDIR}/noweb-2.9-insecure-tmp-file.patch.input ${S}/zips/noweb-2.9-insecure-tmp-file.patch
+ epatch ${FILESDIR}/gcl-2.6.7.fix-out-of-build-root-compile.Makefile.patch || die 'Failed to patch the lsp pamphlet!'
+ epatch ${FILESDIR}/gcl-2.6.7.fix-configure.in-gentoo.Makefile.patch || die 'Failed to patch the lsp pamphlet!'
+ epatch ${FILESDIR}/noweb-2.9-insecure-tmp-file.Makefile.patch || die 'Failed to patch noweb security issue!'
+
+ # Sandbox happiness, fix noweb
+ cd ${WORKDIR}
+ mkdir noweb
+ cd noweb
+ tar zxf ${S}/zips/noweb-2.10a.tgz
+ sed -i -e 's/-texhash || echo "Program texhash not found or failed"//' src/Makefile* ${S}/zips/noweb.src.Makefile*
+ tar czf ${S}/zips/noweb-2.10a.tgz *
+ cd ${S}
+ rm ${WORKDIR}/noweb -rf
+
+ # Fix compile bugs (if sed fails, it's fixed; so we don't || die :-])
+ # (plasmaroo; 20050116)
+ sed -e 's/struct termio ptermio;/struct termios ptermio;/' -i src/clef/edible.c.pamphlet
+ mkdir src/graph/viewports
+
+ # Let the fun begin...
+ ./configure
+ make || die # -jX breaks
+}
+
+src_install() {
+ src_setenv
+
+ dodir /usr/bin
+ einstall INSTALL=${D}/opt/axiom COMMAND=${D}/usr/bin/axiom || die 'Failed to install Axiom!'
+ sed -e '2d;3i AXIOM=/opt/axiom' -i ${D}/usr/bin/axiom ${D}/opt/axiom/mnt/linux/bin/axiom || die 'Failed to patch axiom runscript!'
+
+ # Get rid of /mnt/linux
+ cd ${D}/opt/axiom
+ mv mnt/linux/* .
+ rm -rf mnt
+
+ sed -e 's/AXIOMsys/sman/g' ${D}/usr/bin/axiom > ${D}/usr/bin/sman
+ sed -e 's:$AXIOM/bin/clef -e ::g' ${D}/usr/bin/axiom > ${D}/usr/bin/AXIOMsys
+ chmod +x ${D}/usr/bin/sman
+ chmod +x ${D}/usr/bin/AXIOMsys
+}
diff --git a/sci-mathematics/axiom/files/digest-axiom-3.9-r1 b/sci-mathematics/axiom/files/digest-axiom-3.9-r1
new file mode 100644
index 000000000000..26f751be5612
--- /dev/null
+++ b/sci-mathematics/axiom/files/digest-axiom-3.9-r1
@@ -0,0 +1,3 @@
+MD5 6b107a03b03595703d5e3e6bdd12f8c1 axiom-Sept2005-src.tgz 41447064
+RMD160 ae0a63e4dc7d772183001e688d5a5561d689f7d4 axiom-Sept2005-src.tgz 41447064
+SHA256 750da2f7960686c7f50fa4c6c859f51300909e4b488fe6395d75fe4405a1d1f3 axiom-Sept2005-src.tgz 41447064
diff --git a/sci-mathematics/axiom/files/noweb-2.9-insecure-tmp-file.Makefile.patch b/sci-mathematics/axiom/files/noweb-2.9-insecure-tmp-file.Makefile.patch
new file mode 100644
index 000000000000..b8cd40ea03bb
--- /dev/null
+++ b/sci-mathematics/axiom/files/noweb-2.9-insecure-tmp-file.Makefile.patch
@@ -0,0 +1,10 @@
+--- Makefile~ 2005-09-05 19:50:31.000000000 +0100
++++ Makefile 2006-02-17 17:08:31.000000000 +0000
+@@ -85,6 +85,7 @@
+ ${PATCH} <${ZIPS}/noweb.modules.c.patch ; \
+ cd ${OBJ}/noweb/src ; \
+ ${PATCH} <${ZIPS}/noweb.src.Makefile.patch ; \
++ ${PATCH} -p0 <${ZIPS}/noweb-2.9-insecure-tmp-file.patch ; \
+ ./awkname ${AWK} ; \
+ ${ENV} ${MAKE} BIN=${MNT}/${SYS}/bin/lib LIB=${MNT}/${SYS}/bin/lib \
+ MAN=${MNT}/${SYS}/bin/man \
diff --git a/sci-mathematics/axiom/files/noweb-2.9-insecure-tmp-file.patch.input b/sci-mathematics/axiom/files/noweb-2.9-insecure-tmp-file.patch.input
new file mode 100644
index 000000000000..00288a8a3133
--- /dev/null
+++ b/sci-mathematics/axiom/files/noweb-2.9-insecure-tmp-file.patch.input
@@ -0,0 +1,168 @@
+--- awkname
++++ awkname
+@@ -5,7 +5,7 @@
+ esac
+
+ rc=0
+-new=/tmp/$$.new; old=/tmp/$$.old
++new=$(tempfile -p new); old=$(tempfile -p old)
+
+ for file in lib/emptydefn lib/unmarkup lib/toascii \
+ awk/noidx awk/totex awk/tohtml awk/noindex \
+--- awk/totex.nw
++++ awk/totex.nw
+@@ -24,7 +24,7 @@
+ @
+ On an ugly system, we have to put it in a file.
+ <<invoke awk program using file>>=
+-awkfile=/tmp/totex$$.awk
++awkfile=$(tempfile -p totex)
+ trap 'rm -f $awkfile; exit 1' 0 1 2 15 # clean up files
+ cat > $awkfile << 'EOF'
+ <<awk program for conversion to {\TeX}>>
+--- lib/toascii
++++ lib/toascii
+@@ -7,9 +7,9 @@
+ *) echo "This can't happen -- $i passed to toascii" 1>&2 ; exit 1 ;;
+ esac
+ done
+-awkfile="tmp/awk$$.tmp"
+-textfile="/tmp/text$$.tmp"
+-tagsfile="/tmp/tags$$.tmp"
++awkfile=$(tempfile -p awk -s .tmp)
++textfile=$(tempfile -p text -s .tmp)
++tagsfile=$(tempfile -p tags -s .tmp)
+ export awkfile textfile tagsfile
+ trap 'rm -f $awkfile $textfile $tagsfile' 0 1 2 10 14 15
+ nawk 'BEGIN { textfile=ENVIRON["textfile"]
+--- shell/cpif
++++ shell/cpif
+@@ -17,7 +17,7 @@
+ 0) echo 'Usage: '`basename $0`' [ -eq -ne ] file...' 1>&2; exit 2
+ esac
+
+-new=/tmp/$$
++new=$(tempfile)
+ trap 'rm -f $new; exit 1' 1 2 15 # clean up files
+
+ cat >$new
+--- shell/nonu
++++ shell/nonu
+@@ -2,7 +2,7 @@
+ LIB=/usr/public/pkg/noweb/lib
+ # attempt to convert nuweb to noweb using sam
+
+-tmp=/tmp/nonu$$
++tmp=$(tempfile -p nonu)
+ trap '/bin/rm -f $tmp; exit 1' 1 2 15 # clean up files
+ cp $1 $tmp || exit 1
+
+--- shell/roff.nw
++++ shell/roff.nw
+@@ -80,7 +80,7 @@
+ other, and quoting each quote is ugly. The pragmatic solution is to
+ copy the awk program into a temporary file, using a shell here-document.
+ <<invoke awk program>>=
+-awkfile="/tmp/noweb$$.awk"
++awkfile=$(tempfile -p noweb -s .awk)
+ trap 'rm -f $awkfile' 0 1 2 10 14 15
+ cat > $awkfile << 'EOF'
+ <<awk program>>
+@@ -662,12 +662,13 @@
+
+ base="`basename $1 | sed '/\./s/\.[^.]*$//'`"
+ tagsfile="$base.nwt"
++tmpfile=$(tempfile -p tags)
+ (echo ".so $macrodir/tmac.w"
+ if [ -r "$tagsfile" ]; then
+- cp $tagsfile /tmp/tags.$$
++ cp $tagsfile $tmpfile
+ $AWK '<<action for [[tags]] line>>
+- <<functions>>' /tmp/tags.$$
+- rm -f /tmp/tags.$$
++ <<functions>>' $tmpfile
++ rm -f $tmpfile
+ fi
+ cat "$@") |
+ ($ROFF $opts 2>$tagsfile)
+--- shell/noroff
++++ shell/noroff
+@@ -35,9 +35,10 @@
+
+ base="`basename $1 | sed '/\./s/\.[^.]*$//'`"
+ tagsfile="$base.nwt"
++tmpfile=$(tempfile -p tags)
+ (echo ".so $macrodir/tmac.w"
+ if [ -r "$tagsfile" ]; then
+- cp $tagsfile /tmp/tags.$$
++ cp $tagsfile $tmpfile
+ $AWK '{
+ if (sub(/^###TAG### / , "")) tags[$1] = $2
+ else if (sub(/^###BEGINCHUNKS###/, "")) printf ".de CLIST\n.CLISTBEGIN\n"
+@@ -88,8 +89,8 @@
+ # print str3
+ # print convquote(str3)
+ # }
+- function tag(s) { if (s in tags) return tags[s]; else return "???" }' /tmp/tags.$$
+- rm -f /tmp/tags.$$
++ function tag(s) { if (s in tags) return tags[s]; else return "???" }' $tmpfile
++ rm -f $tmpfile
+ fi
+ cat "$@") |
+ ($ROFF $opts 2>$tagsfile)
+--- shell/toroff
++++ shell/toroff
+@@ -9,7 +9,7 @@
+ exit 1;;
+ esac
+ done
+-awkfile="/tmp/noweb$$.awk"
++awkfile=$(tempfile -p noweb -s .awk)
+ trap 'rm -f $awkfile' 0 1 2 10 14 15
+ cat > $awkfile << 'EOF'
+ /^@begin docs 0$/ { if (delay) next }
+--- lib/toascii.nw
++++ lib/toascii.nw
+@@ -28,9 +28,9 @@
+ Also arranged here is a temporary file for storage of the awk program on an
+ ugly system, as discussed below.
+ <<arrange temporary files>>=
+-awkfile="tmp/awk$$.tmp"
+-textfile="/tmp/text$$.tmp"
+-tagsfile="/tmp/tags$$.tmp"
++awkfile=$(tempfile -p awk -s .tmp) || { echo "$0: Cannot create temporary file" >&2; exit 1; }
++textfile=$(tempfile -p text -s .tmp) || { echo "$0: Cannot create temporary file" >&2; exit 1; }
++tagsfile=$(tempfile -p tags -s .tmp) || { echo "$0: Cannot create temporary file" >&2; exit 1; }
+ export awkfile textfile tagsfile
+ trap 'rm -f $awkfile $textfile $tagsfile' 0 1 2 10 14 15
+ @ %def textfile tagsfile awkfile
+--- shell/roff.mm
++++ shell/roff.mm
+@@ -214,7 +214,7 @@
+ .ADDLIST 1a
+ .PRINTLIST
+
+-awkfile="/tmp/noweb$$.awk"
++awkfile=$(tempfile -p noweb -s .awk) || { echo "$0: Cannot create temporary file" >&2; exit 1; }
+ trap 'rm -f $awkfile' 0 1 2 10 14 15
+ cat > $awkfile \&<< 'EOF'
+ \c
+@@ -1628,14 +1628,15 @@
+ tagsfile="$base.nwt"
+ (echo ".so $macrodir/tmac.w"
+ if [ -r "$tagsfile" ]; then
+- cp $tagsfile /tmp/tags.$$
++ tagstemp=$(tempfile -p tags) || { echo "$0: Cannot create temporary file" >&2; exit 1; }
++ cp $tagsfile $tagstemp
+ $AWK '\c
+ .USE "action for \*[BEGINCONVQUOTE]tags\*[ENDCONVQUOTE] line" 11c
+ \&
+ \c
+ .USE "functions" 8a
+-\&' /tmp/tags.$$
+- rm -f /tmp/tags.$$
++\&' $tagstemp
++ rm -f $tagstemp
+ fi
+ cat "$@") |
+ ($ROFF $opts 2>$tagsfile)