ChangeLog | 154 ++++++++++++++++++++++++++++++++++++++++++++ Xext/saver.c | 2 Xi/xipassivegrab.c | 8 -- configure.ac | 6 - debian/changelog | 5 - debian/serverminver | 2 dix/window.c | 2 hw/dmx/dmxcursor.c | 2 hw/xfree86/modes/xf86Crtc.c | 7 +- include/xkbsrv.h | 1 randr/randr.c | 2 xfixes/cursor.c | 12 ++- xkb/xkbAccessX.c | 6 + 13 files changed, 192 insertions(+), 17 deletions(-)
New commits: commit fef80d8bab86e75d2eb202b33e11e2e17584b2f6 Author: Maarten Lankhorst <maarten.lankho...@canonical.com> Date: Fri Dec 7 09:17:43 2012 +0100 Bump ABI_VIDEODRV_VERSION to 13.1 xf86UpdateDesktopDimensions is newly exported for nvidia blob diff --git a/debian/serverminver b/debian/serverminver index 41482e2..b6b99d6 100644 --- a/debian/serverminver +++ b/debian/serverminver @@ -1,3 +1,3 @@ 2:1.12.99.901 -ABI_VIDEODRV_VERSION:13.0 +ABI_VIDEODRV_VERSION:13.1 ABI_XINPUT_VERSION:18.0 commit f5e11c2d708e819fcb1f131f1fe0e8cb20b8ee0e Author: Maarten Lankhorst <maarten.lankho...@canonical.com> Date: Fri Dec 7 09:07:18 2012 +0100 New upstream release diff --git a/ChangeLog b/ChangeLog index 3fed06c..8a45f13 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,157 @@ +commit ede07c1af35926c77c4e766cc02c00333b498460 +Author: Matt Dew <mar...@osource.org> +Date: Thu Dec 6 22:46:46 2012 -0700 + + Bump version + +commit e2369dd404024415853108848c8d052e73e95461 +Merge: d71a17c 79220f4 +Author: Matt Dew <mar...@osource.org> +Date: Thu Dec 6 21:53:42 2012 -0700 + + Merge branch 'server-1.13-branch' of git://people.freedesktop.org/~whot/xserver into server-1.13-branch + +commit 79220f4390127d9971cbcf378530bf36172ef35a +Author: Daniel Martin <consume.no...@gmail.com> +Date: Wed Nov 7 11:31:01 2012 +0100 + + Xi: Fix modifier swapping in XIPassiveGrabDevice + + XIPassiveGrabDevice uses a list of uint32_t as modifier sets. + + The ModifierInfo struct represents the current modifier states and is + therefor used in XIQueryPointer and various events. + + Signed-off-by: Daniel Martin <consume.no...@gmail.com> + Reviewed-by: Peter Hutterer <peter.hutte...@who-t.net> + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + (cherry picked from commit aa9a9ad08b8a6e7e95de7c2bf45d93dd50f9ca87) + +commit 521f3fb566e67330a486874928a21ce201dba02b +Author: Sybren van Elderen <sowmes...@msn.com> +Date: Tue Nov 27 19:27:10 2012 +0100 + + hw/dmx: add update_desktop_dimensions() call + + The Xdmx server did not update the desktop dimensions when computing screen + origins. + + Signed-off-by: Sybren van Elderen <sowmes...@msn.com> + Reviewed-by: Peter Hutterer <peter.hutte...@who-t.net> + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + (cherry picked from commit 6e18599d691036eca6ff082c17727d9ffb926984) + +commit 73bd33b4d4e3df4a8097826695a8dbdc2fb5c920 +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Tue Jun 26 10:30:35 2012 +1000 + + xkb: fill in keycode and event type for slow keys enablement + + eventType is set for the type that triggered a XkbControlsNotify event. + Technically, SlowKeys is triggered by a timer which doesn't have a matching + core event type. So we used to use 0 here. + + Practically, the timer is triggered by a key press + hold and cancelled when + the key is released before the timeout expires. So we might as well set + KeyPress (keycode) in the ControlsNotify to give clients a chance to differ + between timer-triggered SlowKeys and client-triggered ones. + + This is a chance in behaviour, though I suspect with little impact. + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Acked-by: Daniel Stone <dan...@fooishbar.org> + (cherry picked from commit 2c4388a00ec308bc2d48ba751ff510cd5c1b2384) + +commit 2def985466683cf3746c03f9ac318e5941d22f86 +Author: Jasper St. Pierre <jstpie...@mecheye.net> +Date: Tue Nov 20 14:50:41 2012 -0500 + + cursor: Revise edge cases for the pointer moving towards barriers + + Since barriers block the invisible line between pixels, that means + that we need to explicitly check the boundaries, or else we'll have + a potential off-by-one error. This fixes issues when trying to move + down or right across a barrier and having the pointer visibly bounce. + + Signed-off-by: Jasper St. Pierre <jstpie...@mecheye.net> + Reviewed-by: Peter Hutterer <peter.hutte...@who-t.net> + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + (cherry picked from commit a51b2c3913fc8556f6bd1c76805d045fc424c4bb) + +commit 4a957c9e81233344da0b5b9388ca2d97eedde7d5 +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Thu Nov 15 14:00:57 2012 +1000 + + When resetting device idle time, reset XIAll(Master)Devices too (#56649) + + When the screen saver is forcibly deactivated, the idle time counter is + reset for all devices but not for the fake XIAllDevices and + XIAllMasterDevices. XScreenSaverQueryInfo uses XIAlldevices to fill the + "idle" field, thus returning the wrong value. + + Regression introduced in + commit 6aef209ebc2e54f5465da505a780f7b4cc273ee0 + Author: Peter Hutterer <peter.hutte...@who-t.net> + Date: Mon Mar 12 13:51:02 2012 +1000 + + Change lastDeviceIdleTime to be per-device + + X.Org Bug 56649 <http://bugs.freedesktop.org/show_bug.cgi?id=56649> + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Tested-by: Giacomo Perale <ghe...@virgilio.it> + Reviewed-by: Keith Packard <kei...@keithp.com> + (cherry picked from commit 2dc6d9228456cbc274a1fcea478258e5ae4dc629) + +commit d71a17cfab6536df9df46a342a24dd415c020192 +Author: Chris Wilson <ch...@chris-wilson.co.uk> +Date: Sat Nov 10 10:26:08 2012 +0000 + + xf86: select a fake output for headless servers + + Following commit 37d956e3ac9513b74078882dff489f9b0a7a5a28 + Author: Keith Packard <kei...@keithp.com> + Date: Mon Sep 10 11:14:20 2012 +1000 + + xf86: fix compat output selection for no output GPUs + + headless servers can no longer startup as we no longer select a compat + output for the fake framebuffer. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56343 + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + Reviewed-by: Dave Airlie <airl...@redhat.com> + Signed-off-by: Keith Packard <kei...@keithp.com> + (cherry picked from commit e54f71a2c7a1677a5c5032d1e7dc099d5204144b) + +commit 72ef659874ffe88e88d2f2a35a6e404782cefe9f +Author: Keith Packard <kei...@keithp.com> +Date: Mon Sep 10 11:14:20 2012 +1000 + + xf86: fix compat output selection for no output GPUs + + This should work properly with dynamic outputs. + + Reviewed-by: Dave Airlie <airl...@redhat.com> + Signed-off-by: Dave Airlie <airl...@redhat.com> + (cherry picked from commit 37d956e3ac9513b74078882dff489f9b0a7a5a28) + +commit a2748aa6bde13b447a246606767535a30090cd02 +Author: Dave Airlie <airl...@gmail.com> +Date: Fri Nov 30 20:54:38 2012 +1000 + + randr: call RRProviderInit in the proper place. + + No idea where this got lost across development cycles, but its + definitely missing. + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=57448 + + Signed-off-by: Dave Airlie <airl...@redhat.com> + Reviewed-by: Alex Deucher <alexander.deuc...@amd.com> + Signed-off-by: Keith Packard <kei...@keithp.com> + (cherry picked from commit e9ea96d6a88f197928c82b008953f1810de6f792) + commit c0e68f8e70e0b0fbb00992228c4651d5b0902759 Author: Matt Dew <mar...@osource.org> Date: Thu Nov 22 21:37:57 2012 -0700 diff --git a/debian/changelog b/debian/changelog index 23fcd94..6dec1d0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,7 @@ -xorg-server (2:1.13.0.901-1) UNRELEASED; urgency=low - - * New upstream release +xorg-server (2:1.13.0.902-1) UNRELEASED; urgency=low [ Maarten Lankhorst ] + * New upstream release * Bump minimum required abi, randr, dri2 and gl protos. [ Timo Aaltonen ] commit ede07c1af35926c77c4e766cc02c00333b498460 Author: Matt Dew <mar...@osource.org> Date: Thu Dec 6 22:46:46 2012 -0700 Bump version diff --git a/configure.ac b/configure.ac index 590b773..ffd8a97 100644 --- a/configure.ac +++ b/configure.ac @@ -26,9 +26,9 @@ dnl dnl Process this file with autoconf to create configure. AC_PREREQ(2.60) -AC_INIT([xorg-server], 1.13.0.901, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server) -RELEASE_DATE="2012-11-22" -RELEASE_NAME="Puer Tea" +AC_INIT([xorg-server], 1.13.0.902, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server) +RELEASE_DATE="2012-12-06" +RELEASE_NAME="Jasmine Tea" AC_CONFIG_SRCDIR([Makefile.am]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE commit 79220f4390127d9971cbcf378530bf36172ef35a Author: Daniel Martin <consume.no...@gmail.com> Date: Wed Nov 7 11:31:01 2012 +0100 Xi: Fix modifier swapping in XIPassiveGrabDevice XIPassiveGrabDevice uses a list of uint32_t as modifier sets. The ModifierInfo struct represents the current modifier states and is therefor used in XIQueryPointer and various events. Signed-off-by: Daniel Martin <consume.no...@gmail.com> Reviewed-by: Peter Hutterer <peter.hutte...@who-t.net> Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> (cherry picked from commit aa9a9ad08b8a6e7e95de7c2bf45d93dd50f9ca87) diff --git a/Xi/xipassivegrab.c b/Xi/xipassivegrab.c index ddab53d..62a3a46 100644 --- a/Xi/xipassivegrab.c +++ b/Xi/xipassivegrab.c @@ -50,7 +50,7 @@ int SProcXIPassiveGrabDevice(ClientPtr client) { int i; - xXIModifierInfo *mods; + uint32_t *mods; REQUEST(xXIPassiveGrabDeviceReq); @@ -63,12 +63,10 @@ SProcXIPassiveGrabDevice(ClientPtr client) swaps(&stuff->mask_len); swaps(&stuff->num_modifiers); - mods = (xXIModifierInfo *) &stuff[1]; + mods = (uint32_t *) &stuff[1]; for (i = 0; i < stuff->num_modifiers; i++, mods++) { - swapl(&mods->base_mods); - swapl(&mods->latched_mods); - swapl(&mods->locked_mods); + swapl(mods); } return ProcXIPassiveGrabDevice(client); commit 521f3fb566e67330a486874928a21ce201dba02b Author: Sybren van Elderen <sowmes...@msn.com> Date: Tue Nov 27 19:27:10 2012 +0100 hw/dmx: add update_desktop_dimensions() call The Xdmx server did not update the desktop dimensions when computing screen origins. Signed-off-by: Sybren van Elderen <sowmes...@msn.com> Reviewed-by: Peter Hutterer <peter.hutte...@who-t.net> Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> (cherry picked from commit 6e18599d691036eca6ff082c17727d9ffb926984) diff --git a/hw/dmx/dmxcursor.c b/hw/dmx/dmxcursor.c index 1a77c7d..35aca81 100644 --- a/hw/dmx/dmxcursor.c +++ b/hw/dmx/dmxcursor.c @@ -346,6 +346,8 @@ dmxComputeScreenOrigins(void) screenInfo.screens[i]->y -= minY; } } + + update_desktop_dimensions(); } /** Recompute origin information in the #dmxScreens list. This is commit 73bd33b4d4e3df4a8097826695a8dbdc2fb5c920 Author: Peter Hutterer <peter.hutte...@who-t.net> Date: Tue Jun 26 10:30:35 2012 +1000 xkb: fill in keycode and event type for slow keys enablement eventType is set for the type that triggered a XkbControlsNotify event. Technically, SlowKeys is triggered by a timer which doesn't have a matching core event type. So we used to use 0 here. Practically, the timer is triggered by a key press + hold and cancelled when the key is released before the timeout expires. So we might as well set KeyPress (keycode) in the ControlsNotify to give clients a chance to differ between timer-triggered SlowKeys and client-triggered ones. This is a chance in behaviour, though I suspect with little impact. Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> Acked-by: Daniel Stone <dan...@fooishbar.org> (cherry picked from commit 2c4388a00ec308bc2d48ba751ff510cd5c1b2384) diff --git a/include/xkbsrv.h b/include/xkbsrv.h index d584785..78b8f5a 100644 --- a/include/xkbsrv.h +++ b/include/xkbsrv.h @@ -171,6 +171,7 @@ typedef struct _XkbSrvInfo { KeyCode mouseKey; KeyCode inactiveKey; KeyCode slowKey; + KeyCode slowKeyEnableKey; KeyCode repeatKey; CARD8 krgTimerActive; CARD8 beepType; diff --git a/xkb/xkbAccessX.c b/xkb/xkbAccessX.c index c1af32e..21df85d 100644 --- a/xkb/xkbAccessX.c +++ b/xkb/xkbAccessX.c @@ -291,8 +291,8 @@ AccessXKRGExpire(OsTimerPtr timer, CARD32 now, pointer arg) return 4000; } xkbi->krgTimerActive = _OFF_TIMER; - cn.keycode = 0; - cn.eventType = 0; + cn.keycode = xkbi->slowKeyEnableKey; + cn.eventType = KeyPress; cn.requestMajor = 0; cn.requestMinor = 0; if (xkbi->desc->ctrls->enabled_ctrls & XkbSlowKeysMask) { @@ -304,6 +304,7 @@ AccessXKRGExpire(OsTimerPtr timer, CARD32 now, pointer arg) LogMessage(X_INFO, "XKB SlowKeys are now enabled. Hold shift to disable.\n"); } + xkbi->slowKeyEnableKey = 0; return 0; } @@ -462,6 +463,7 @@ AccessXFilterPressEvent(DeviceEvent *event, DeviceIntPtr keybd) if (ctrls->enabled_ctrls & XkbAccessXKeysMask) { /* check for magic sequences */ if ((sym[0] == XK_Shift_R) || (sym[0] == XK_Shift_L)) { + xkbi->slowKeyEnableKey = key; if (XkbAX_NeedFeedback(ctrls, XkbAX_SlowWarnFBMask)) { xkbi->krgTimerActive = _KRG_WARN_TIMER; xkbi->krgTimer = TimerSet(xkbi->krgTimer, 0, 4000, commit 2def985466683cf3746c03f9ac318e5941d22f86 Author: Jasper St. Pierre <jstpie...@mecheye.net> Date: Tue Nov 20 14:50:41 2012 -0500 cursor: Revise edge cases for the pointer moving towards barriers Since barriers block the invisible line between pixels, that means that we need to explicitly check the boundaries, or else we'll have a potential off-by-one error. This fixes issues when trying to move down or right across a barrier and having the pointer visibly bounce. Signed-off-by: Jasper St. Pierre <jstpie...@mecheye.net> Reviewed-by: Peter Hutterer <peter.hutte...@who-t.net> Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> (cherry picked from commit a51b2c3913fc8556f6bd1c76805d045fc424c4bb) diff --git a/xfixes/cursor.c b/xfixes/cursor.c index 4eee592..4d4a75e 100644 --- a/xfixes/cursor.c +++ b/xfixes/cursor.c @@ -1090,7 +1090,11 @@ barrier_is_blocking(const struct PointerBarrier * barrier, if (dir & BarrierNegativeX && x1 == (barrier->x1 - 1)) return FALSE; /* startpoint adjacent to barrier, moving towards -> block */ - if (x1 == barrier->x1 && y1 >= barrier->y1 && y1 <= barrier->y2) { + if (dir & BarrierPositiveX && x1 == (barrier->x1 - 1) && y1 >= barrier->y1 && y1 <= barrier->y2) { + *distance = 0; + return TRUE; + } + if (dir & BarrierNegativeX && x1 == barrier->x1 && y1 >= barrier->y1 && y1 <= barrier->y2) { *distance = 0; return TRUE; } @@ -1102,7 +1106,11 @@ barrier_is_blocking(const struct PointerBarrier * barrier, if (dir & BarrierNegativeY && y1 == (barrier->y1 - 1)) return FALSE; /* startpoint adjacent to barrier, moving towards -> block */ - if (y1 == barrier->y1 && x1 >= barrier->x1 && x1 <= barrier->x2) { + if (dir & BarrierPositiveY && y1 == (barrier->y1 - 1) && x1 >= barrier->x1 && x1 <= barrier->x2) { + *distance = 0; + return TRUE; + } + if (dir & BarrierNegativeY && y1 == barrier->y1 && x1 >= barrier->x1 && x1 <= barrier->x2) { *distance = 0; return TRUE; } commit 4a957c9e81233344da0b5b9388ca2d97eedde7d5 Author: Peter Hutterer <peter.hutte...@who-t.net> Date: Thu Nov 15 14:00:57 2012 +1000 When resetting device idle time, reset XIAll(Master)Devices too (#56649) When the screen saver is forcibly deactivated, the idle time counter is reset for all devices but not for the fake XIAllDevices and XIAllMasterDevices. XScreenSaverQueryInfo uses XIAlldevices to fill the "idle" field, thus returning the wrong value. Regression introduced in commit 6aef209ebc2e54f5465da505a780f7b4cc273ee0 Author: Peter Hutterer <peter.hutte...@who-t.net> Date: Mon Mar 12 13:51:02 2012 +1000 Change lastDeviceIdleTime to be per-device X.Org Bug 56649 <http://bugs.freedesktop.org/show_bug.cgi?id=56649> Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> Tested-by: Giacomo Perale <ghe...@virgilio.it> Reviewed-by: Keith Packard <kei...@keithp.com> (cherry picked from commit 2dc6d9228456cbc274a1fcea478258e5ae4dc629) diff --git a/Xext/saver.c b/Xext/saver.c index ac4a633..f73e2a2 100644 --- a/Xext/saver.c +++ b/Xext/saver.c @@ -393,6 +393,8 @@ ScreenSaverFreeSuspend(pointer value, XID id) UpdateCurrentTimeIf(); nt_list_for_each_entry(dev, inputInfo.devices, next) lastDeviceEventTime[dev->id] = currentTime; + lastDeviceEventTime[XIAllDevices] = currentTime; + lastDeviceEventTime[XIAllMasterDevices] = currentTime; SetScreenSaverTimer(); } } diff --git a/dix/window.c b/dix/window.c index cdd12dc..49ef4a0 100644 --- a/dix/window.c +++ b/dix/window.c @@ -3132,6 +3132,8 @@ dixSaveScreens(ClientPtr client, int on, int mode) UpdateCurrentTimeIf(); nt_list_for_each_entry(dev, inputInfo.devices, next) lastDeviceEventTime[dev->id] = currentTime; + lastDeviceEventTime[XIAllDevices] = currentTime; + lastDeviceEventTime[XIAllMasterDevices] = currentTime; } SetScreenSaverTimer(); } commit d71a17cfab6536df9df46a342a24dd415c020192 Author: Chris Wilson <ch...@chris-wilson.co.uk> Date: Sat Nov 10 10:26:08 2012 +0000 xf86: select a fake output for headless servers Following commit 37d956e3ac9513b74078882dff489f9b0a7a5a28 Author: Keith Packard <kei...@keithp.com> Date: Mon Sep 10 11:14:20 2012 +1000 xf86: fix compat output selection for no output GPUs headless servers can no longer startup as we no longer select a compat output for the fake framebuffer. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56343 Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> Reviewed-by: Dave Airlie <airl...@redhat.com> Signed-off-by: Keith Packard <kei...@keithp.com> (cherry picked from commit e54f71a2c7a1677a5c5032d1e7dc099d5204144b) diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c index 177f7ac..13251cf 100644 --- a/hw/xfree86/modes/xf86Crtc.c +++ b/hw/xfree86/modes/xf86Crtc.c @@ -1847,6 +1847,10 @@ SetCompatOutput(xf86CrtcConfigPtr config) output = config->output[config->compat_output]; } + /* All outputs are disconnected, select one to fake */ + if (!output && config->num_output) + output = config->output[0]; + return output; } commit 72ef659874ffe88e88d2f2a35a6e404782cefe9f Author: Keith Packard <kei...@keithp.com> Date: Mon Sep 10 11:14:20 2012 +1000 xf86: fix compat output selection for no output GPUs This should work properly with dynamic outputs. Reviewed-by: Dave Airlie <airl...@redhat.com> Signed-off-by: Dave Airlie <airl...@redhat.com> (cherry picked from commit 37d956e3ac9513b74078882dff489f9b0a7a5a28) diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c index e3eaf5f..177f7ac 100644 --- a/hw/xfree86/modes/xf86Crtc.c +++ b/hw/xfree86/modes/xf86Crtc.c @@ -66,6 +66,7 @@ xf86CrtcConfigInit(ScrnInfoPtr scrn, const xf86CrtcConfigFuncsRec * funcs) config = xnfcalloc(1, sizeof(xf86CrtcConfigRec)); config->funcs = funcs; + config->compat_output = -1; scrn->privates[xf86CrtcConfigPrivateIndex].ptr = config; } @@ -1841,7 +1842,7 @@ SetCompatOutput(xf86CrtcConfigPtr config) if (compat >= 0) { config->compat_output = compat; } - else { + else if (config->compat_output >= 0 && config->compat_output < config->num_output) { /* Don't change the compat output when no valid outputs found */ output = config->output[config->compat_output]; } commit a2748aa6bde13b447a246606767535a30090cd02 Author: Dave Airlie <airl...@gmail.com> Date: Fri Nov 30 20:54:38 2012 +1000 randr: call RRProviderInit in the proper place. No idea where this got lost across development cycles, but its definitely missing. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=57448 Signed-off-by: Dave Airlie <airl...@redhat.com> Reviewed-by: Alex Deucher <alexander.deuc...@amd.com> Signed-off-by: Keith Packard <kei...@keithp.com> (cherry picked from commit e9ea96d6a88f197928c82b008953f1810de6f792) diff --git a/randr/randr.c b/randr/randr.c index da48c3f..f0decfc 100644 --- a/randr/randr.c +++ b/randr/randr.c @@ -264,6 +264,8 @@ RRInit(void) return FALSE; if (!RROutputInit()) return FALSE; + if (!RRProviderInit()) + return FALSE; RRGeneration = serverGeneration; } if (!dixRegisterPrivateKey(&rrPrivKeyRec, PRIVATE_SCREEN, 0)) -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1tgtjl-0006ao...@vasks.debian.org