diff options
author | William Hubbs <williamh@gentoo.org> | 2007-06-09 03:08:11 +0000 |
---|---|---|
committer | William Hubbs <williamh@gentoo.org> | 2007-06-09 03:08:11 +0000 |
commit | cfaca66496106a7edc1ca83e5ea731051cc9fe66 (patch) | |
tree | f64e5bc463cf55f4620f8427d1a1bd2dabac93e1 /app-accessibility/festival | |
parent | stable for x86 (diff) | |
download | gentoo-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/ChangeLog | 9 | ||||
-rw-r--r-- | app-accessibility/festival/festival-1.95_beta-r4.ebuild | 177 | ||||
-rw-r--r-- | app-accessibility/festival/files/digest-festival-1.95_beta-r4 | 54 | ||||
-rw-r--r-- | app-accessibility/festival/files/festival.rc | 4 | ||||
-rw-r--r-- | app-accessibility/festival/files/server.scm | 6 |
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) |