Package: brltty
Version: 3.7.2-3debinst
Severity: minor upstream fixed-upstream

Hi,

When brltty is started early during debian installation (by udev, for
instance), /dev entries don't exist yet, and this produces a spurious
error (brltty is able to handle that). That's because errno gets
overwritten by LogPrint.

This is fixed in upstream's svn repository, here is the corresponding
patch.

Samuel

-- System Information:
Debian Release: testing/unstable
  APT prefers testing
  APT policy: (900, 'testing'), (500, 'unstable'), (500, 'stable'), (1, 
'experimental')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.17-rc1
Locale: [EMAIL PROTECTED], [EMAIL PROTECTED] (charmap=ISO-8859-15)

Versions of packages brltty depends on:
ii  libbraille0-15                0.18.0-1   Library to easily access Braille d
hi  libbrlapi1                    3.7.2-3    braille display access via BRLTTY 
ii  libc6                         2.3.6-13   GNU C Library: Shared libraries
ii  libncursesw5                  5.5-2      Shared libraries for terminal hand

brltty recommends no packages.

-- debconf information excluded
--- brltty-3.7.2-3debinst/ScreenDrivers/Linux/screen.c  2006-04-24 
01:33:43.000000000 +0200
+++ brltty-3.7.2-3/ScreenDrivers/Linux/screen.c 2006-06-07 19:58:35.000000000 
+0200
@@ -243,9 +243,11 @@
   int file;
   LogPrint(LOG_DEBUG, "Opening %s device: %s", description, path);
   if ((file = open(path, flags)) == -1) {
-    LogPrint(LOG_ERR, "Cannot open %s device: %s: %s",
+    int create = errno == ENOENT;
+    LogPrint(create? LOG_WARNING: LOG_ERR,
+             "Cannot open %s device: %s: %s",
              description, path, strerror(errno));
-    if (errno == ENOENT) {
+    if (create) {
       mode_t mode = S_IFCHR | S_IRUSR | S_IWUSR;
       LogPrint(LOG_NOTICE, "Creating %s device: %s mode=%06o major=%d 
minor=%d",
                description, path, mode, major, minor);

Reply via email to