Your message dated Tue, 25 Mar 2008 21:47:03 +0000
with message-id <[EMAIL PROTECTED]>
and subject line Bug#467269: fixed in brltty 3.9-6
has caused the Debian Bug report #467269,
regarding brltty: Fix vcsa reading on big-endian archs
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [EMAIL PROTECTED]
immediately.)
--
467269: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=467269
Debian Bug Tracking System
Contact [EMAIL PROTECTED] with problems
--- Begin Message ---
Package: brltty
Version: 3.9-5
Severity: important
Tags: patch
vcsa screen reading doesn't work at all on big-endian archs, here is the
cherry-pick of the upstream fix.
(Yes, not only 3407 is needed, but 3469 as well)
-- System Information:
Debian Release: lenny/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable'), (1,
'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.24.1
Locale: [EMAIL PROTECTED], [EMAIL PROTECTED] (charmap=ISO-8859-15)
Shell: /bin/sh linked to /bin/bash
Versions of packages brltty depends on:
ii libbrlapi0.5 3.9-5 braille display access via BRLTTY
ii libc6 2.7-6 GNU C Library: Shared libraries
ii libgpmg1 1.19.6-25 General Purpose Mouse - shared lib
ii libncurses5 5.6+20080203-1 Shared libraries for terminal hand
brltty recommends no packages.
-- debconf information excluded
Index: ScreenDrivers/Linux/screen.c
===================================================================
--- ScreenDrivers/Linux/screen.c (révision 3406)
+++ ScreenDrivers/Linux/screen.c (révision 3407)
@@ -445,19 +445,19 @@
return 1;
}
-static unsigned char highFontBit;
-static unsigned char fontAttributesMask;
-static unsigned char unshiftedAttributesMask;
-static unsigned char shiftedAttributesMask;
+static unsigned short highFontBit;
+static unsigned short fontAttributesMask;
+static unsigned short unshiftedAttributesMask;
+static unsigned short shiftedAttributesMask;
static void
setAttributesMasks (unsigned char bit) {
fontAttributesMask = bit;
- unshiftedAttributesMask = (((bit & 0XF0) - 0X10) & 0XF0) |
- (((bit & 0X0F) - 0X01) & 0X0F);
- shiftedAttributesMask = ((~((bit & 0XF0) - 0X10) << 1) & 0XE0) |
- ((~((bit & 0X0F) - 0X01) << 1) & 0X0E);
- LogPrint(LOG_DEBUG, "attributes masks: font=%02X unshifted=%02X
shifted=%02X",
+ unshiftedAttributesMask = (((bit & 0XF000) - 0X1000) & 0XF000) |
+ (((bit & 0X0F00) - 0X0100) & 0X0F00);
+ shiftedAttributesMask = ((~((bit & 0XF000) - 0X1000) << 1) & 0XE000) |
+ ((~((bit & 0X0F00) - 0X0100) << 1) & 0X0E00);
+ LogPrint(LOG_DEBUG, "attributes masks: font=%04X unshifted=%04X
shifted=%04X",
fontAttributesMask, unshiftedAttributesMask, shiftedAttributesMask);
}
@@ -479,7 +479,7 @@
} else if (mask & 0XFF) {
LogPrint(LOG_ERR, "high font mask has bit set in low-order byte:
%04X", mask);
} else {
- setAttributesMasks(mask >> 8);
+ setAttributesMasks(mask);
return 1;
}
}
@@ -489,17 +489,16 @@
if (read(screenDescriptor, attributes, sizeof(attributes)) != -1) {
const size_t count = attributes[0] * attributes[1];
- const size_t size = count * 2;
- unsigned char buffer[size];
+ unsigned short buffer[count];
if (read(screenDescriptor, buffer, sizeof(buffer)) != -1) {
int counts[0X10];
int index;
memset(counts, 0, sizeof(counts));
- for (index=1; index<size; index+=2) ++counts[buffer[index] & 0X0F];
+ for (index=0; index<count; index++) ++counts[(buffer[index] &
0X0F00) >> 8];
- setAttributesMasks((counts[0XE] > counts[0X7])? 0X01: 0X08);
+ setAttributesMasks((counts[0XE] > counts[0X7])? 0X0100: 0X0800);
return 1;
} else {
LogError("read");
@@ -538,7 +537,7 @@
} else if (!validateChoice(&choice, parameters[PARM_HFB], choices)) {
LogPrint(LOG_WARNING, "%s: %s", "invalid high font bit",
parameters[PARM_HFB]);
} else if (choice) {
- static const unsigned char bits[] = {0X08, 0X01};
+ static const unsigned short bits[] = {0X0800, 0X0100};
highFontBit = bits[choice-1];
}
}
@@ -916,16 +915,16 @@
}
{
- off_t start = 4 + (box.top * description.cols + box.left) * 2;
+ unsigned short line[box.width];
+ off_t start = 4 + (box.top * description.cols + box.left) *
sizeof(line[0]);
if (lseek(screenDescriptor, start, SEEK_SET) != -1) {
- int length = box.width * 2;
- unsigned char line[length];
+ int length = box.width * sizeof(line[0]);
+ off_t increment = description.cols * sizeof(line[0]) - length;
unsigned char *target = buffer;
- off_t increment = description.cols * 2 - length;
int row;
for (row=0; row<box.height; ++row) {
int count;
- unsigned char *source;
+ unsigned short *source;
if (row) {
if (lseek(screenDescriptor, increment, SEEK_CUR) == -1) {
@@ -951,11 +950,12 @@
unsigned char *trg = target;
int column;
for (column=0; column<box.width; ++column) {
- int position = *source;
- if (source[1] & fontAttributesMask) position |= 0X100;
- src[column] = *source;
+ unsigned char byte = *source & 0XFF;
+ int position = byte;
+ if (*source & fontAttributesMask) position |= 0X100;
+ src[column] = byte;
*target++ = translationTable[position];
- source += 2;
+ source++;
}
if (debugScreenTextTranslation) {
char desc[0X20];
@@ -966,11 +966,10 @@
}
} else {
int column;
- source++;
for (column=0; column<box.width; ++column) {
- *target++ = (*source & unshiftedAttributesMask) |
- ((*source & shiftedAttributesMask) >> 1);
- source += 2;
+ *target++ = ((*source & unshiftedAttributesMask) |
+ ((*source & shiftedAttributesMask) >> 1)) >> 8;
+ source++;
}
}
}
Index: ScreenDrivers/Linux/screen.c
===================================================================
--- ScreenDrivers/Linux/screen.c (révision 3468)
+++ ScreenDrivers/Linux/screen.c (révision 3469)
@@ -451,7 +451,7 @@
static unsigned short shiftedAttributesMask;
static void
-setAttributesMasks (unsigned char bit) {
+setAttributesMasks (unsigned short bit) {
fontAttributesMask = bit;
unshiftedAttributesMask = (((bit & 0XF000) - 0X1000) & 0XF000) |
(((bit & 0X0F00) - 0X0100) & 0X0F00);
@@ -533,7 +533,7 @@
static const char *choices[] = {"auto", "vga", "fb", NULL};
unsigned int choice;
if (validateInteger(&bit, parameters[PARM_HFB], &minimum, &maximum)) {
- highFontBit = 1 << bit;
+ highFontBit = 1 << (bit + 8);
} else if (!validateChoice(&choice, parameters[PARM_HFB], choices)) {
LogPrint(LOG_WARNING, "%s: %s", "invalid high font bit",
parameters[PARM_HFB]);
} else if (choice) {
--- End Message ---
--- Begin Message ---
Source: brltty
Source-Version: 3.9-6
We believe that the bug you reported is fixed in the latest version of
brltty, which is due to be installed in the Debian FTP archive:
brltty-flite_3.9-6_amd64.deb
to pool/main/b/brltty/brltty-flite_3.9-6_amd64.deb
brltty-udeb_3.9-6_amd64.udeb
to pool/main/b/brltty/brltty-udeb_3.9-6_amd64.udeb
brltty-x11_3.9-6_amd64.deb
to pool/main/b/brltty/brltty-x11_3.9-6_amd64.deb
brltty_3.9-6.diff.gz
to pool/main/b/brltty/brltty_3.9-6.diff.gz
brltty_3.9-6.dsc
to pool/main/b/brltty/brltty_3.9-6.dsc
brltty_3.9-6_amd64.deb
to pool/main/b/brltty/brltty_3.9-6_amd64.deb
cl-brlapi_3.9-6_all.deb
to pool/main/b/brltty/cl-brlapi_3.9-6_all.deb
libbrlapi-dev_3.9-6_amd64.deb
to pool/main/b/brltty/libbrlapi-dev_3.9-6_amd64.deb
libbrlapi-java_3.9-6_all.deb
to pool/main/b/brltty/libbrlapi-java_3.9-6_all.deb
libbrlapi-jni_3.9-6_amd64.deb
to pool/main/b/brltty/libbrlapi-jni_3.9-6_amd64.deb
libbrlapi0.5_3.9-6_amd64.deb
to pool/main/b/brltty/libbrlapi0.5_3.9-6_amd64.deb
python-brlapi_3.9-6_amd64.deb
to pool/main/b/brltty/python-brlapi_3.9-6_amd64.deb
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [EMAIL PROTECTED],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Mario Lang <[EMAIL PROTECTED]> (supplier of updated brltty package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [EMAIL PROTECTED])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.7
Date: Tue, 25 Mar 2008 19:16:53 +0100
Source: brltty
Binary: brltty libbrlapi0.5 libbrlapi-dev libbrlapi-jni libbrlapi-java
brltty-flite brltty-udeb brltty-x11 cl-brlapi python-brlapi
Architecture: source amd64 all
Version: 3.9-6
Distribution: unstable
Urgency: low
Maintainer: Mario Lang <[EMAIL PROTECTED]>
Changed-By: Mario Lang <[EMAIL PROTECTED]>
Description:
brltty - Access software for a blind person using a braille display
brltty-flite - Access software for a blind person using a braille display
brltty-udeb - Access software for a blind person using a braille display (udeb)
brltty-x11 - Access software for a blind person using a braille display
cl-brlapi - Common Lisp bindings for BrlAPI
libbrlapi-dev - Library for communication with BRLTTY - static libs and headers
libbrlapi-java - Java bindings for BrlAPI
libbrlapi-jni - Java bindings for BrlAPI (native library)
libbrlapi0.5 - braille display access via BRLTTY - shared library
python-brlapi - Python bindings for BrlAPI
Closes: 467192 467269 469984
Changes:
brltty (3.9-6) unstable; urgency=low
.
* Add patch to fix vcsa reading on big-endian architectures
(Closes: Bug#467269).
* Disable Java bindings on hurd-i386 (Closes: Bug#469984).
* Fix the TTY driver (Closes: Bug#467192).
* Rework the init script:
- Use --exec for start-stop-daemon to finally resolve long standing
"double-started brltty on upgrade" problems.
- Use lsb/init-functions for output.
Files:
32b444c98e0cbf94d0c2ee74fd83accf 1036 admin extra brltty_3.9-6.dsc
738fe77ec3445893aa74ceea9ddbb0ae 23695 admin extra brltty_3.9-6.diff.gz
84251712b549bd9769fd1bbe4fb39245 1213412 admin extra brltty_3.9-6_amd64.deb
fc9dbe354752aa09a30073fef781de77 64116 libs extra libbrlapi0.5_3.9-6_amd64.deb
05d79bae98a2b01d64ff3829977865f5 150796 libdevel extra
libbrlapi-dev_3.9-6_amd64.deb
99eb4a30f6e1f68c6072657473c1a953 55292 libs extra libbrlapi-jni_3.9-6_amd64.deb
23c202184576e5561ef6788aa9537339 49142 admin extra brltty-flite_3.9-6_amd64.deb
b59cb37099d59c66e3456880ba49df5b 91756 admin extra brltty-x11_3.9-6_amd64.deb
3f2a5b24eeb41c36dedd8f2d9b6b0776 85430 python extra
python-brlapi_3.9-6_amd64.deb
9bbb5cb3761f58cd84396eaaafc9b932 52716 libs extra libbrlapi-java_3.9-6_all.deb
a715761483c00c9d41ab48ab25dce924 49652 admin extra cl-brlapi_3.9-6_all.deb
6256a2ef1445ea7c9015e3d328e684e1 193848 debian-installer extra
brltty-udeb_3.9-6_amd64.udeb
Package-Type: udeb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQFH6W+i3/wCKmsRPkQRAlZmAKCKNcfp+yh7vi/bKksCVI0AQgWVbgCeOwf+
FG8EDHqdeniueT3IktMiF9s=
=AJlg
-----END PGP SIGNATURE-----
--- End Message ---