On Tue, May 25, 2010 at 03:20:35PM +0200, Agustin Martin wrote: > I am attaching a first cut of a patch to care of this. Instead of directly > modifying wdm-config itself, a new detached file is used to hold that info. > That file is automatically regenerated on each wdm start/stop and loaded > from wdm-config. Sysadmins can override automatic selection by setting that > value again after that file is loaded, as pointed out in directions added to > wdm-config. > > This will not prevent prompting when upgrading from previous versions, but > should leave this problem addressed for the future.
Hi, Seems my tests are working properly, so I have prepared an upload. I finally prepared it it as a QA upload. Besides support for using new detached file, I have also improved copyright notices under debian/. They still referred to unversioned GPL when code was GPL2+. I'd like to upload fixed package around next Monday with 0-day delay, unless someone complains. Current patch is attached. Cheers, -- Agustin
diff --git a/debian/changelog b/debian/changelog index aa4dd85..6a12c35 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,13 @@ +wdm (1.28-4) unstable; urgency=low + + * QA upload. + * Move 'DisplayManager*wdmWm' automatic regeneration to a separate + file, so wdm-config conffile is not automatically changed + (Closes: #582612). + * Clarify copyright notices. + + -- Agustin Martin Domingo <agmar...@debian.org> Thu, 27 May 2010 13:30:21 +0200 + wdm (1.28-3.5) unstable; urgency=low * Non-maintainer upload. diff --git a/debian/config/wdm-config b/debian/config/wdm-config index 987e4ef..06c2f3d 100644 --- a/debian/config/wdm-config +++ b/debian/config/wdm-config @@ -33,10 +33,6 @@ DisplayManager*wdmLogin: /usr/bin/wdmLogin DisplayManager*wdmBg: solid:Gray85 ! DisplayManager*wdmLogo: /usr/share/pixmaps/gnuLogo.xpm DisplayManager*wdmLogo: /usr/share/pixmaps/wdmDebianSwirl.xpm -! BEWARE: the wdmWm setting will be overwritten on every wdm (re)start -! and reload. Please see wdm.options(5) for info on disabling -! this behavior if you want to specify the list manually. -! DisplayManager*wdmWm: twm:wmaker:afterstep DisplayManager*wdmReboot: /sbin/reboot DisplayManager*wdmHalt: /sbin/halt DisplayManager*wdmVerify: true @@ -46,3 +42,16 @@ DisplayManager*wdmLoginConfig: /etc/X11/wdm/wdmlogin.conf DisplayManager*useSyslog: true DisplayManager*syslogFacility: LOG_AUTHPRIV DisplayManager*terminateServer: true + +! Load wm list from file auto-generated by update_wdm_wmlist + +#include "wdm.wmlist" + +! BEWARE: the wdmWm setting in that file will be overwritten on every wdm +! (re)start and reload. If you want to hardcode your choice, uncomment the +! line below and set your choice, to be processed after previous automatic +! definition. + +! DisplayManager*wdmWm: twm:wmaker:afterstep + +! Please see wdm.options(5) for info on disabling automatic generation. diff --git a/debian/copyright b/debian/copyright index 342cf21..090dda5 100644 --- a/debian/copyright +++ b/debian/copyright @@ -2,21 +2,31 @@ This package is maintained by Noah Meyerhans <no...@debian.org> It was previously maintained by Bas Zoetekouw <b...@debian.org>. -It was originally debianized by Marcelo E. Magallon +It was originally debianized by Marcelo E. Magallon mmaga...@debian.org on Sat, 15 Aug 1998 19:55:35 -0600. It was downloaded from http://voins.program.ru/wdm/ -Upstream maintainer for wdm is vo...@voins.program.ru +Upstream maintainer for wdm is Alexey Voinov, vo...@voins.program.ru -Modifications for Debian Linux Copyright (C) 1998 Marcelo Magallon. + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. - wdm is distributed under the terms and conditions of the GPL, the text - of which can be found in /usr/share/common-licenses/GPL. wdm derived - from work by Tom Rothamel (external greeter for xdm, also under the - GPL) and xdm itself, which is copyright (C) 1988, 1989, 1990, 1991, - 1994 X Consortium. The relevant X Consortium's and XFree86's licenses - follows: + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + On Debian GNU/Linux systems, the complete text of the GNU General + Public License can be found in `/usr/share/common-licenses/GPL-2'. + +wdm is derived from work by Tom Rothamel (external greeter for xdm, also +under the GPL) and xdm itself, which is copyright (C) 1988, 1989, 1990, +1991, 1994 X Consortium. + + The relevant X Consortium's and XFree86's licenses follows: 1. XFree86 Copyright @@ -94,7 +104,26 @@ the FAQ: http://nssdc.gsfc.nasa.gov/photo_gallery/photogallery-faq.html), see the file NASA_image_guideline.html; the Earth picture was taken by GOES8. -Changes made by Jerome Alet <a...@unice.fr> are under the GPL. -Changes made by Bas Zoetekouw <b...@debian.org> are under the GPL. -Changes made by Noah Meyerhans <no...@debian.org> are under the GPL. -Changes made by Vladimir Shakhov <lumpen.intellect...@gmail.org> are under the GPL. +Changes made by Jerome Alet <a...@unice.fr> are released under the same +conditions as the main program (GNU General Public License (GPL) either +version 2 of the License, or (at your option) any later version.). + +Debian packaging copyright: + + Copyright (C) 1998-1999 Marcelo Magallon <mmaga...@debian.org> + Copyright (C) 1999 Daniel Patterson <dan...@debian.org> + Copyright (C) 2000 Bas Zoetekouw <b...@debian.org> + Copyright (C) 2001-2005 Noah Meyerhans <no...@debian.org> + Copyright (C) 2005-2008 Vlad Shakhov <lumpen.intellect...@gmail.com> + Copyright (C) 2009-2010 Agustin Martin Domingo <agmar...@debian.org> + + Changes for Debian packaging may be redistributed and/or modified + under the terms of the GNU General Public License (GPL) as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + On Debian GNU/Linux systems, the complete text of the GNU General + Public License version 2 can be found in + `/usr/share/common-licenses/GPL-2'. + + diff --git a/debian/update_wdm_wmlist b/debian/update_wdm_wmlist index 3e795d6..ca2e032 100644 --- a/debian/update_wdm_wmlist +++ b/debian/update_wdm_wmlist @@ -1,52 +1,66 @@ #!/usr/bin/perl -w # -# update_wdm_wmlist, (c) 1998 Marcelo Magallón <mmaga...@debian.org> -# rewriten to use the x-window-manager alternative -# modified to also use the x-session-manager alternative by Arthur Korn -# Copyright 2000 Wichert Akkerman <wakke...@debian.org> +# update_wdm_wmlist, # # This script will read the list of installed window managers from # the update-alternatives output for the x-window-manager alternative -# and update the DisplayManager*wdmWm resource in /etc/X11/wdm/wdm-config. +# and update the DisplayManager*wdmWm resource in $wdm_list_file (see below). # BEWARE: It doesn't ask any questions about this. It just does it. It # takes an optional list of window managers. +# +# Original program: +# Copyright (C) 1998 Marcelo Magallón <mmaga...@debian.org> +# Rewriten to use the x-window-manager alternative. +# Copyright (C) 2000 Wichert Akkerman <wakke...@debian.org> +# Modified to also use x-session-manager alternative. +# Copyright (C) 2001 Arthur Korn. +# Modified to write output to a separate file. +# Copyright (C) 2010 Agustin Martin Domingo <agmar...@debian.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. use strict; -my $wm_list=''; - -unless (@ARGV) { - my @wm_list = ('default'); - foreach my $alternative ( qw(x-window-manager x-session-manager) ) { - open(WINDOW_MANAGERS, "update-alternatives --display $alternative |") - or die "Can't run update-alternatives: $!"; - - while (<WINDOW_MANAGERS>) { - push(@wm_list, $1) if ( m,^/.*/([^/]+) - ,); - } - - close(WINDOW_MANAGERS); - } - - $wm_list = join (':', sort @wm_list); -} else { - $wm_list = join (':', sort @ARGV); -} +my %wm_list = (); +my $wdm_list_string = ''; +my $wdm_list_file = "/etc/X11/wdm/wdm.wmlist"; -open (WDM_CONFIG_FILE, '</etc/X11/wdm/wdm-config') - or die "Can't open /etc/X11/wdm/wdm-config for reading: $!"; -open (NEW_WDM_CONFIG_FILE, '>/etc/X11/wdm/wdm-config.new') - or die "Can't open /etc/X11/wdm/wdm-config.new for writing: $!"; +if (@ARGV) { + # Use provided list of window managers as is, with no extra sorting + $wdm_list_string = join (':',@ARGV); +} else { + foreach my $alternative ( qw(x-window-manager x-session-manager) ) { + open(WINDOW_MANAGERS, "update-alternatives --display $alternative |") + or die "Can't run update-alternatives: $!"; -while (<WDM_CONFIG_FILE>) { - s|^!?\s*(.*wdmWm:\s*).*|$1$wm_list|; - print NEW_WDM_CONFIG_FILE; + while (<WINDOW_MANAGERS>) { + $wm_list{$1}++ if ( m,^/.*/([^/]+) - ,); + } + close(WINDOW_MANAGERS); + } + # "default" should go first + $wdm_list_string = join (':',"default",sort keys %wm_list); } -close(WDM_CONFIG_FILE); -close(NEW_WDM_CONFIG_FILE); +open (WDM_WMLIST_FILE, ">$wdm_list_file") + or die "Can't open $wdm_list_file for writing: $!"; + +print WDM_WMLIST_FILE + "! This file has been automatically generated by $0 script. +! +! Manual changes below will be overwritten on every wdm start/stop. +! See wdm-config file to override automatic values. +! +DisplayManager*wdmWm: $wdm_list_string\n"; -rename '/etc/X11/wdm/wdm-config.new', '/etc/X11/wdm/wdm-config' - or die "Can't rename /etc/X11/wdm/window-managers.new: $!"; +close(WDM_WMLIST_FILE); exit 0; diff --git a/debian/wdm.postrm b/debian/wdm.postrm index cc7f403..52672f2 100644 --- a/debian/wdm.postrm +++ b/debian/wdm.postrm @@ -31,6 +31,7 @@ case "$1" in rmdir /var/lib/wdm/authdir/authfiles || true rmdir /var/lib/wdm/authdir || true rmdir /var/lib/wdm || true + rm -f /etc/X11/wdm/wdm.wmlist update-rc.d wdm remove >/dev/null ;; upgrade|failed-upgrade)