[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

prospective package Emacspeak - and questions



I would like to submit a package for Emacspeak.  Here is a sample
control file:

    Source: emacspeak
    Section: editors
    Priority: extra
    Maintainer: James R. Van Zandt <jrv@vanzandt.mv.com>
    Standards-Version: 2.1.1.0
    
    Package: emacspeak
    Architecture: any
    Depends: tclx|tclx74|tclx75, emacs
    Description: speech output interface to Emacs
     Emacspeak is a speech output system that will allow someone who
     cannot see to work directly on a UNIX system.  (Until now, the only
     option available to visually impaired users has been to use a talking
     PC as a terminal.)  Emacspeak is built on top of Emacs.  Once you
     start emacs with emacspeak loaded, you get spoken feedback for
     everything you do.  Your mileage will vary depending on how well you
     can use Emacs.  There is nothing that you cannot do inside Emacs :-).
     Emacspeak requires one of the following speech synthesizers: DECtalk
     Express, DECtalk MultiVoice, or the software DECtalk on the DEC
     Alpha.

Comments?

I also have several questions:

1. Emacspeak needs three pieces of configuration information, and
expects them in environment variables.  It is started by a shell
script.  I have edited the script to source /etc/emacspeak.conf, and
have written a separate script emacspeakconfig to revise that file.

Should the configuration file be listed in debian/conffiles?  I would
assume so (and the lilo and gpm packages do this).  However,
/usr/doc/dpkg/programmer.html/ch-conffiles.html mentions conffiles
only in its section "Automatic handling of configuration files by
dpkg".  It then says:

   Note that a package should not modify a dpkg-handled conffile in
   its maintainer scripts. Doing this will lead to dpkg giving the
   user confusing and possibly dangerous options for conffile update
   when the package is upgraded.

So, should I list it in debian/conffiles, but not supply a prototype,
or what?

2.  debstd complains about the configuration file:

  etc/emacspeak.conf WARNING: Type unusual: debian/tmp/etc/emacspeak.conf: ASCII text
  Warning: Unusual executable location etc/emacspeak.conf
  DEBIAN/postinst Script

The configuration file does *not* have execute permission.  Is the
warning bogus, or am I missing something?

3.  This package contains only shell scripts, emacs .el files, and
tclx scripts.  I assume I should supply an "architecture independent"
binary package rather than a regular one?

4.  The tclx scripts are hardware drivers for two kinds of DECtalk
text-to-speech devices.  I am writing a driver for the DoubleTalk
synthesizer, but I am working in C.  If my driver is installed, there
is no need for tclx.  I propose to make separate packages for drivers
("emacspeak-dectalk", "emacspeak-doubletalk", etc.), that supply a virtual
package "emacspeak-driver".  The "emacspeak" package would depend on
"emacspeak-driver".  That would let a DoubleTalk user install
emacspeak without tk, tcl, and tclx (saving about 2 MB).  Okay?

5.  Emacspeak must read from and write to /dev/ttyS0 or another of the
serial ports.  The configuration program asks which port.  That port
could be made world-writable, or else each emacspeak user could be
enrolled in the same group as the port.  I assume the latter is the
better approach.  The script could volunteer to enroll specific users
into the group.  However, am I reinventing a wheel?  Is there already
an easy way to do this?  Can/should the group membership be revoked
when the package is removed?  (Incidently, the /dev/ttyS0 group seems
to have changed from `tty' to `dialout'.  Is it likely to change
again?  I assume my script would have to handle either one?)

I could also handle permissions with a setgid program.  In this case
the program would be a wrapper for the script.  Is this a better
method?

                                       - Jim Van Zandt


Reply to: