summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Hubbs <williamh@gentoo.org>2007-06-09 03:08:11 +0000
committerWilliam Hubbs <williamh@gentoo.org>2007-06-09 03:08:11 +0000
commitcfaca66496106a7edc1ca83e5ea731051cc9fe66 (patch)
treef64e5bc463cf55f4620f8427d1a1bd2dabac93e1 /app-accessibility/festival
parentstable for x86 (diff)
downloadgentoo-2-cfaca66496106a7edc1ca83e5ea731051cc9fe66.tar.gz
gentoo-2-cfaca66496106a7edc1ca83e5ea731051cc9fe66.tar.bz2
gentoo-2-cfaca66496106a7edc1ca83e5ea731051cc9fe66.zip
Fix for security bug #170477.
(Portage version: 2.1.2.9)
Diffstat (limited to 'app-accessibility/festival')
-rw-r--r--app-accessibility/festival/ChangeLog9
-rw-r--r--app-accessibility/festival/festival-1.95_beta-r4.ebuild177
-rw-r--r--app-accessibility/festival/files/digest-festival-1.95_beta-r454
-rw-r--r--app-accessibility/festival/files/festival.rc4
-rw-r--r--app-accessibility/festival/files/server.scm6
5 files changed, 245 insertions, 5 deletions
diff --git a/app-accessibility/festival/ChangeLog b/app-accessibility/festival/ChangeLog
index 38d69b0ac29d..505825ae3bb0 100644
--- a/app-accessibility/festival/ChangeLog
+++ b/app-accessibility/festival/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for app-accessibility/festival
# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-accessibility/festival/ChangeLog,v 1.58 2007/04/28 17:18:39 swegener Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-accessibility/festival/ChangeLog,v 1.59 2007/06/09 03:08:11 williamh Exp $
+
+*festival-1.95_beta-r4 (09 Jun 2007)
+
+ 09 Jun 2007; William Hubbs <williamh@gentoo.org> files/festival.rc,
+ files/server.scm, +festival-1.95_beta-r4.ebuild:
+ Fix for security bug #170477.
+ Thanks to solar for the patch.
28 Apr 2007; Sven Wegener <swegener@gentoo.org> festival-1.4.3-r3.ebuild,
festival-1.4.3-r4.ebuild, festival-1.95_beta.ebuild,
diff --git a/app-accessibility/festival/festival-1.95_beta-r4.ebuild b/app-accessibility/festival/festival-1.95_beta-r4.ebuild
new file mode 100644
index 000000000000..37722fe0da88
--- /dev/null
+++ b/app-accessibility/festival/festival-1.95_beta-r4.ebuild
@@ -0,0 +1,177 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-accessibility/festival/festival-1.95_beta-r4.ebuild,v 1.1 2007/06/09 03:08:11 williamh Exp $
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Festival Text to Speech engine"
+HOMEPAGE="http://www.cstr.ed.ac.uk/"
+SITE="http://www.cstr.ed.ac.uk/downloads/${PN}/${PV/_beta//}"
+MY_P=${PN}-1.95-beta
+SRC_URI="${SITE}/${MY_P}.tar.gz
+ ${SITE}/speech_tools-1.2.95-beta.tar.gz
+ ${SITE}/festlex_POSLEX.tar.gz
+ ${SITE}/festlex_CMU.tar.gz
+ ${SITE}/festlex_OALD.tar.gz
+ ${SITE}/festvox_rablpc16k.tar.gz
+ ${SITE}/festvox_don.tar.gz
+ ${SITE}/festvox_kallpc16k.tar.gz
+ ${SITE}/festvox_kedlpc16k.tar.gz
+ ${SITE}/festvox_cmu_us_bdl_arctic_hts.tar.gz
+ ${SITE}/festvox_cmu_us_slt_arctic_hts.tar.gz
+ ${SITE}/festvox_cmu_us_jmk_arctic_hts.tar.gz
+ ${SITE}/festvox_cmu_us_awb_arctic_hts.tar.gz
+ linguas_es? ( ${SITE}/festvox_ellpc11k.tar.gz )
+ mbrola? (
+ ${SITE}/festvox_en1.tar.gz
+ ${SITE}/festvox_us1.tar.gz
+ ${SITE}/festvox_us2.tar.gz
+ ${SITE}/festvox_us3.tar.gz )"
+LICENSE="FESTIVAL BSD as-is"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="asterisk esd linguas_es mbrola X"
+
+RDEPEND="sys-libs/ncurses
+ esd? ( media-sound/esound )
+ mbrola? ( >=app-accessibility/mbrola-3.0.1h-r2 )"
+
+DEPEND="${RDEPEND}
+ X? (
+ x11-libs/libX11
+ x11-libs/libXt )
+ sys-apps/sed"
+
+S=${WORKDIR}
+
+pkg_setup() {
+ enewuser festival -1 -1 -1 audio
+}
+
+src_unpack() {
+ unpack ${A}
+
+ use asterisk && epatch ${FILESDIR}/${P}-asterisk.patch
+ use esd && sed -i -e 's/# \(INCLUDE_MODULES += ESD_AUDIO\)/\1/' ${S}/speech_tools/config/config.in
+ use X || sed -i -e 's/-lX11 -lXt//' ${S}/speech_tools/config/modules/esd_audio.mak
+
+ # testsuite still fails to build under gcc-3.2
+ # sed -i '/^BUILD_DIRS =/s/testsuite//' ${S}/Makefile || die
+
+ sed -i -e "/^const char \*festival_libdir/s:FTLIBDIR:\"/usr/share/festival\":" ${S}/festival/src/arch/festival/festival.cc
+ sed -i -e '/^MODULE_LIBS/s/-ltermcap/-lncurses/' ${S}/festival/config/modules/editline.mak || die
+
+ # Fix hardcoded path for examples that will be finally installed in /usr/$(get_libdir)/festival/examples
+ sed -i -e "s:\.\./examples/:/usr/share/doc/${PF}/examples/:" ${S}/festival/lib/festival.scm
+
+ epatch ${FILESDIR}/${P}-init-scm.patch
+
+ # gcc 4.1 compatibility patches
+ epatch ${FILESDIR}/${P}-gcc41.patch
+ epatch ${FILESDIR}/${P}-gcc41-amd64-int-pointer.patch
+ epatch ${FILESDIR}/${P}-gcc41-amd64.patch
+}
+
+src_compile() {
+ cd ${S}/speech_tools
+ econf || die
+ emake -j1 OPTIMISE_CXXFLAGS="${CXXFLAGS}" OPTIMISE_CCFLAGS="${CFLAGS}" CC="$(tc-getCC)" CXX="$(tc-getCXX)" || die
+ cd ${S}/festival
+ econf || die
+ emake -j1 PROJECT_LIBDEPS="" REQUIRED_LIBDEPS="" LOCAL_LIBDEPS="" OPTIMISE_CXXFLAGS="${CXXFLAGS}" OPTIMISE_CCFLAGS="${CFLAGS}" CC="$(tc-getCC)" CXX="$(tc-getCXX)" || die
+}
+
+src_install() {
+ # Install the binaries
+ dobin ${S}/festival/src/main/festival
+ dobin ${S}/festival/lib/etc/*Linux*/audsp
+ dolib.a ${S}/festival/src/lib/libFestival.a
+
+ # Install the main libraries
+ insinto /usr/share/festival
+ doins -r ${S}/festival/lib/*
+
+ # Install the examples
+ insinto /usr/share/doc/${PF}/examples/
+ doins -r ${S}/festival/examples/*
+
+ # Need to fix saytime, etc. to look for festival in the correct spot
+ for ex in ${D}/usr/share/doc/${PF}/examples/*.sh; do
+ exnoext=${ex%%.sh}
+ chmod a+x ${exnoext}
+ dosed "s:${S}/festival/bin/festival:/usr/bin/festival:" ${exnoext##$D}
+ done
+
+ # Install the header files
+ insinto /usr/include/festival
+ doins ${S}/festival/src/include/*.h
+
+ # Install the dicts
+ insinto /usr/share/festival/dicts
+ doins -r ${S}/festival/lib/dicts/*
+
+ # Installs all existing voices, no matter what language.
+ insinto /usr/share/festival/voices
+ doins -r ${S}/festival/lib/voices/*
+
+ insinto /etc/festival
+ # Sample server.scm configuration for the server
+ doins ${FILESDIR}/server.scm
+ doins ${S}/festival/lib/site*
+
+ # Install the init script
+ newinitd ${FILESDIR}/festival.rc festival
+
+ use mbrola && mbrola_voices
+
+ # Install the docs
+ dodoc ${S}/festival/{ACKNOWLEDGMENTS,NEWS,README}
+ doman ${S}/festival/doc/{festival.1,festival_client.1}
+
+ # create the directory where our log file will go.
+ diropts -m 0755 -o festival -g audio
+ keepdir /var/log/festival
+}
+
+pkg_postinst() {
+ elog
+ elog " Useful examples include saytime, text2wave. For example, try:"
+ elog " \"/usr/share/doc/${PF}/examples/saytime\""
+ elog
+ elog " Or for something more fun:"
+ elog ' "echo "Gentoo can speak" | festival --tts"'
+ elog
+ elog " To enable the festival server at boot, run"
+ elog " rc-update add festival default"
+ elog
+ elog " You must setup the server's port, access list, etc in this file:"
+ elog " /etc/festival/server.scm"
+ elog
+ elog "This version also allows configuration of site specific"
+ elog "initialization in /etc/festival/siteinit.scm and"
+ elog "variables in /etc/festival/sitevars.scm."
+ elog
+}
+
+# Fix mbrola databases: create symbolic links from festival voices
+# directories to MBROLA install dirs.
+mbrola_voices() {
+
+ # This is in case there is no mbrola voice for a particular language.
+ local shopts=$(shopt -p nullglob)
+ shopt -s nullglob
+
+ # This assumes all mbrola voices are named after the voices defined
+ # in MBROLA, i.e. if MBROLA contains a voice fr1, then the Festival
+ # counterpart should be named fr1_mbrola.
+ for language in ${S}/festival/lib/voices/*; do
+ for mvoice in ${language}/*_mbrola; do
+ voice=${mvoice##*/}
+ database=${voice%%_mbrola}
+ dosym /opt/mbrola/${database} /usr/share/festival/voices/${language##*/}/${voice}/${database}
+ done
+ done
+
+ # Restore shopts
+ ${shopts}
+}
diff --git a/app-accessibility/festival/files/digest-festival-1.95_beta-r4 b/app-accessibility/festival/files/digest-festival-1.95_beta-r4
new file mode 100644
index 000000000000..b0601d0be32b
--- /dev/null
+++ b/app-accessibility/festival/files/digest-festival-1.95_beta-r4
@@ -0,0 +1,54 @@
+MD5 0a44e30f922fa57ed1a7aa437baf4dd6 festival-1.95-beta.tar.gz 707573
+RMD160 7f7cce6ab170ab1e83911ed92408576fff32cbd6 festival-1.95-beta.tar.gz 707573
+SHA256 c16054d3a8b8bb82b09a87aa26fedc57f65e1c519917b3d6909684f15b47209e festival-1.95-beta.tar.gz 707573
+MD5 a3ffcd09dcbf1306fdef3c84c1c521d6 festlex_CMU.tar.gz 1697709
+RMD160 852a007b5d50ff32d098a4dbd303a4d9c63a1802 festlex_CMU.tar.gz 1697709
+SHA256 b485c1e8e8e265e335aa99f083963496fa64b34a314050b10d589e942e10c963 festlex_CMU.tar.gz 1697709
+MD5 45a03689025849d02ec963a5b338ef37 festlex_OALD.tar.gz 1472516
+RMD160 d3fc4c549626dcc2a0d5d37fee7d8ebb3bf89c20 festlex_OALD.tar.gz 1472516
+SHA256 61afc02c4b9dee6322412958ea8be477ee451c3cdab789b88c4907e3e377ccd5 festlex_OALD.tar.gz 1472516
+MD5 742c266e4c4978fae2b5c1bf6f549eb4 festlex_POSLEX.tar.gz 242914
+RMD160 d52d6cf4f4300751598facf1b6ff7985a8210b09 festlex_POSLEX.tar.gz 242914
+SHA256 5ef8cc5d35e9f2141b5a0a4774df82dc9731fe7e9800eb09ecf264f2f8503e7b festlex_POSLEX.tar.gz 242914
+MD5 65130b3c466f1b9f5ea3d2ea211cf168 festvox_cmu_us_awb_arctic_hts.tar.gz 878090
+RMD160 abfcc3457c1735cf772b051c0ec884e55381ad9b festvox_cmu_us_awb_arctic_hts.tar.gz 878090
+SHA256 56b930028a14efdaa01b8b34add087bcde75b774b97b205d2f478413203d9a4d festvox_cmu_us_awb_arctic_hts.tar.gz 878090
+MD5 43283634ecceecaa4bb10277343b2852 festvox_cmu_us_bdl_arctic_hts.tar.gz 1060641
+RMD160 cab02ae2be1c3691cfcc2aa6c09ae6829fca9896 festvox_cmu_us_bdl_arctic_hts.tar.gz 1060641
+SHA256 caa679c728c8804f4a1dae6ab08e7b31f10b292e572598fb6432d0e18f40bd2b festvox_cmu_us_bdl_arctic_hts.tar.gz 1060641
+MD5 e8bd1298ac7aad7d752c0bdfe9c9287b festvox_cmu_us_jmk_arctic_hts.tar.gz 909045
+RMD160 5e9657f55d7aa10e852cd36d5a73f1dd106e6713 festvox_cmu_us_jmk_arctic_hts.tar.gz 909045
+SHA256 e4f623d1114922c8844ec266d46d558e1521e0ab3bc6e958cdf8f69c28bcc038 festvox_cmu_us_jmk_arctic_hts.tar.gz 909045
+MD5 28166834ae3b9e5dc5e2ef3476fb56c3 festvox_cmu_us_slt_arctic_hts.tar.gz 955706
+RMD160 541cc0959305c656bc4af4b848c666a707671fe3 festvox_cmu_us_slt_arctic_hts.tar.gz 955706
+SHA256 adcc187fc7db39e17c119811936be57f0b788908f06c3d9b330856ad8357b128 festvox_cmu_us_slt_arctic_hts.tar.gz 955706
+MD5 90442079e34a3a694077f8715d15fbdf festvox_don.tar.gz 645583
+RMD160 b601a712d893e6d6f70c1d3a3fa87903aae81917 festvox_don.tar.gz 645583
+SHA256 762d26fa476ca7beea8ae0bf0fcf3a8d9324fa65735175fd54eb34e60932e4ff festvox_don.tar.gz 645583
+MD5 e96a97644d36fcb89952ca65c283cea3 festvox_ellpc11k.tar.gz 1473907
+RMD160 75c92fe845c7ded2341d8717784bf7bdc93fa966 festvox_ellpc11k.tar.gz 1473907
+SHA256 9599df46c58454200ce546184556eab8faaf53c44fbd16f1ff38b3f2c375cbf8 festvox_ellpc11k.tar.gz 1473907
+MD5 66e3bc07751d7e31826185649c5ada5a festvox_en1.tar.gz 3323
+RMD160 48edf2ad55774712754af341f73ced53aa1d963e festvox_en1.tar.gz 3323
+SHA256 a4bb55d39eaef31eb6ad8b915035c31108b2427108512e1c301941fbf8f6ffb9 festvox_en1.tar.gz 3323
+MD5 abbd12e1d04ecdcae07f1d0044f3a947 festvox_kallpc16k.tar.gz 4104056
+RMD160 f8be814267359ac9d4fa5d0bcade18e15b64beb2 festvox_kallpc16k.tar.gz 4104056
+SHA256 9eb6336f35c202c8069d37e489fb009a7e9fd8539cd47644329db1e92c6aba83 festvox_kallpc16k.tar.gz 4104056
+MD5 35d4a2f377d05913ddae61db542afca1 festvox_kedlpc16k.tar.gz 4221528
+RMD160 63480c4ed695c86fc8de0f3a0740196debc710ae festvox_kedlpc16k.tar.gz 4221528
+SHA256 6b8f11424bda5c81ae8a58f7838e2a9d12fdb39cdfff6ed89f611305391b1a36 festvox_kedlpc16k.tar.gz 4221528
+MD5 cefcdda6cd48027da36d78f2f711451b festvox_rablpc16k.tar.gz 5369001
+RMD160 d98cc1df3e922fe9894cf51e5913f8bfd0b99889 festvox_rablpc16k.tar.gz 5369001
+SHA256 54835837ca734e62c0210c0f9dd27380d2ad89819ae91ec6e8cfab4e515b7bdc festvox_rablpc16k.tar.gz 5369001
+MD5 d0c3e727003e715a65daf01003101813 festvox_us1.tar.gz 11040
+RMD160 97cfd8e62347aa28cf2319174021bc002044ffd5 festvox_us1.tar.gz 11040
+SHA256 23b332513867d6e9c340dc888a7ce67843e5a3c03db328cd36975985057c8b8e festvox_us1.tar.gz 11040
+MD5 fbcc8baacbff3aa2aaaf5a93701bb5e0 festvox_us2.tar.gz 11037
+RMD160 62528dc44291be4f7e7fda1677f3074fcc9fdab7 festvox_us2.tar.gz 11037
+SHA256 d27ad26213144d956815e804c06e5473191ac12afb44f6a1029b3842e3a3007c festvox_us2.tar.gz 11037
+MD5 06dbfe2edaab6ffa31deeaf522e0c33e festvox_us3.tar.gz 11220
+RMD160 86946aa9718b7dacfbb884ba02254e59ebdb7247 festvox_us3.tar.gz 11220
+SHA256 af9ca4d1832e1971aa6e52f6a3ff8f729bf970c7bee1de7e8ac0611ca01871b8 festvox_us3.tar.gz 11220
+MD5 4a0a58d8c4bafaee9f0a913372ded8bd speech_tools-1.2.95-beta.tar.gz 1281274
+RMD160 874b9e6d35bf8a59aeacd3d5b149e24e2a490008 speech_tools-1.2.95-beta.tar.gz 1281274
+SHA256 d9d0693ed57ba1f6c9471a43fe60fb1b728683fe6f820e98ef2be13bbd1fe772 speech_tools-1.2.95-beta.tar.gz 1281274
diff --git a/app-accessibility/festival/files/festival.rc b/app-accessibility/festival/files/festival.rc
index cf5a520d333f..884bb5e4b741 100644
--- a/app-accessibility/festival/files/festival.rc
+++ b/app-accessibility/festival/files/festival.rc
@@ -1,7 +1,7 @@
#!/sbin/runscript
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-accessibility/festival/files/festival.rc,v 1.2 2004/07/14 21:06:11 agriffis Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-accessibility/festival/files/festival.rc,v 1.3 2007/06/09 03:08:11 williamh Exp $
depend() {
need net
@@ -11,7 +11,7 @@ depend() {
start() {
ebegin "Starting festival"
start-stop-daemon --start --quiet --background --make-pidfile --pidfile /var/run/festival.pid \
- --exec /usr/bin/festival -- --server -b /etc/festival/server.scm
+ --chuid festival --exec /usr/bin/festival -- --server -b /etc/festival/server.scm
eend $?
}
diff --git a/app-accessibility/festival/files/server.scm b/app-accessibility/festival/files/server.scm
index e3c3167e05c6..7af03fa4da31 100644
--- a/app-accessibility/festival/files/server.scm
+++ b/app-accessibility/festival/files/server.scm
@@ -5,13 +5,15 @@
(set! server_port 1314)
; Log file location
-(set! server_log_file "/var/log/festival.log")
+(set! server_log_file "/var/log/festival/festival.log")
; Set the server password
(set! server_passwd nil)
; Server access list (hosts)
-(set! server_access_list '("[^.]+" "127.0.0.1" "localhost.*" "192.168.*"))
+; (set! server_access_list '("[^.]+" "127.0.0.1" "localhost.*" "192.168.*"))
+(set! server_access_list '("[^.]+" "127.0.0.1" "localhost" ))
+
; Server deny list (hosts)
(set! server_deny_list nil)