MainInclusionReportSpeechDispatcher

Main Inclusion Report for speech-dispatcher

Requirements

  1. Availability: http://archive.ubuntu.com/ubuntu/pool/universe/s/speech-dispatcher; available for all architectures.

  2. Rationale:

    • This package is needed for the gnome-speech replacement specification, replacing gnome-speech in Ubuntu with speech-dispatcher for the orca screen reader.
    • Runtime dependency of gnome-orca.
  3. Security:

    • CVE entries: None at this time.

    • Secunia history: There is none at this time.

    • No binaries running as root or suid root, one daemon, speech-dispatcher.
    • This package handles incoming network data, however it is configured to only listen on localhost by default. This configuration is not being changed for Ubuntu.
    • A porshion of speech-dispatcher's code processes outgoing audio data from speech synthesizers to several audio output systems, OSS, NAS, ALSA, and pulseaudio.
    • A reasonably deap code review has been made as a result of the code being worked on during this cycle. Some notes below:
      • Configuration file model is not implemented as cleanly as it should be for a multi-user system set up, i.e no user session -> system configuration file inherritance.

      • Multi-line macros with parameter substitution are used rather extensively through the entire C code porshions, particularly in the C API/library, where multi-line macros are used to define several API functions.
      • Much of the code produces compiler warnings at build time.
      • There are a lot of places where code is duplicated needlessly. one example of this is speech-dispatcher's logging code, which is implemented twice, once for the server, and once for the synthesizer output drivers.
      • The code is not very well commented in places.
      • There is no consistant coding style accross the entire project.
      • A shell script is currently used to automatically load the server from the C and python APIs, due to python not having dotconf bindings to read config files to determine whether the user wants auto-spawning. The shell script also ensures that if run as root, speech-dispatcher is run as the speech-dispatcher user using the init.d script.
  4. Quality assurance:

    • The package will not work out of the box if the user wishes to use either oss or NAS for audio output. The user will also have to take extra steps if they wish to use the flite speech synthesizer with speech-dispatcher, as well as any proprietary speech synthesizers.
    • The package does not ask any debconf questions.
    • Debian bugs: The only bug that is worth keeping an eye on is bug #535518, which is fixed in the Ubuntu package. Upstream have not yet applied my patch to their source tree however.

    • Maintenance in Debian is calm. The package generally only gets updated with every new upstream release.

    • Upstream is dead, apparently due to lack of time to work on the project. Myself and other community members are considering offering to take over maintainership of the project in our own time.

    • Upstream bug tracker: While there is a tracker here for speech-dispatcher, it appears to not have been used, as they use a mailing list for bug reporting. There is one bug in the alsa output code that occasionally causes a segfault. The Ubuntu bug which dest describes the issue is bug #397669. I intend to debug and hopefully solve this bug in the coming month.

    • This package does not deal with hardware.
    • There is a test suite in this package to test the server functionality. It cannot be run during the build as it requires the server daemon to be running.
  5. UI standards:

    • No user visible strings are translatable, however such strings in the vast majority of cases do not need to be seen.
    • No translatable strings.
    • Since this is primarily a server/daemon package, there are no end-user applications. However, a configuratino utility has a desktop file.
  6. Standards compliance:

  7. Dependencies:

    • debhelper
    • cdbs
    • dpatch
    • libglib2.0-dev
    • libdotconf-dev
    • flite1-dev
    • autotools-dev
    • automake
    • libtool
    • texinfo
    • libasound2-dev
    • libaudio-dev
    • libxau-dev
    • libespeak-dev
    • libpulse-dev
    • python-all-dev
    • python-central
    • All are in main except for libdotconf, which wile approved for main, has not yet been promoted.
  8. Maintenance:

    • This package is likely to require a fair amount of maintenance, as it is a complex package, with several uses for different user needs.
    • The main inclusion report author will take full responsibility for the quality and maintenance of this package.
    • The accessibility team for Ubuntu is the bug contact or this package in Ubuntu.
  9. Background information:

    • The purpose and context of the package is clear from debian/control.
    • Upstream call this software speech-dispatcher, sometimes abbreviated to speechd.
  10. Internationalization:

    • No GUI applications.

Reviewers

MIR bug: https://launchpad.net/bugs/419036

Report author: Luke Yelavich <luke.yelavich@canonical.com>

MainInclusionReportSpeechDispatcher (last edited 2009-08-26 05:22:23 by ppp121-44-78-7)