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

Bug#103994: marked as done (fully configurable color support for dselect (dselect.themes.org? ;-))



Your message dated Sun, 30 Jun 2002 14:20:36 -0400
with message-id <E17OjJM-0007fL-00@auric.debian.org>
and subject line Bug#103994: fixed in dpkg 1.10
has caused the attached Bug report 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 I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--------------------------------------
Received: (at submit) by bugs.debian.org; 9 Jul 2001 00:13:16 +0000
>From joey@silk.kitenet.net Sun Jul 08 19:13:16 2001
Return-path: <joey@silk.kitenet.net>
Received: from as5800-84-158.access.naxs.com (silk.kitenet.net) [::ffff:216.98.84.158] 
	by master.debian.org with esmtp (Exim 3.12 1 (Debian))
	id 15JOfn-0006gE-00; Sun, 08 Jul 2001 19:13:12 -0500
Received: from joey by silk.kitenet.net with local (Exim 3.22 #1 (Debian))
	id 15JOev-0007ku-00; Sun, 08 Jul 2001 20:12:17 -0400
From: Joey Hess <joeyh@debian.org>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: fully configurable color support for dselect (dselect.themes.org? ;-)
X-Reportbug-Version: 1.18
X-Mailer: reportbug 1.18
Date: Sun, 08 Jul 2001 20:12:16 -0400
Tag: patch
Message-Id: <E15JOev-0007ku-00@silk.kitenet.net>
Sender: Joey Hess <joey@silk.kitenet.net>
Delivered-To: submit@bugs.debian.org

Package: dpkg
Version: 1.9.15
Severity: normal

This patch adds a --color flag to dselect that allows full customization
of colors and other screen sttributes in the 'select' and 'access' parts
of dselect. It does not yet affect the main screen. Docs are included in
the patch so I won't go into much more detail, except here is a sample
dselect.cfg:

color title:white,cyan:bold
color listhead:black,cyan
color list:white,blue
color listsel:black,green
color pkgstate:white,blue:bold
color pkgstatesel:white,green:bold
color infohead:black,cyan
color infodesc:white,blue:bold
color info:white,blue
color infofoot:black,cyan
color query:white,cyan:bold
color helpscreen:white,blue

And for a limited time, a screen shot of the above is at
http://kitenet.net/~joey/tmp/dselect.gif

Or, you can do what I'm _really_ going to use this for, and just get rid of
the nasty red text at the top of the screen, keeping the rest as it's
always been:

dselect -color title:white,blue select

The patch touches a lot of dselect. Besides adding the --color flag, and
making dselect use the user-defined colors, I added a new color
attribute, helpscreen_attr, for help screens. In several places I made
other small modifications to imporove the quality of display. Most
notably, dselect now fills in the package info window and help windows
with whatever background color is in use. Lots of other little things
like making it actually use query_attr, and so on.

Known bugs: It turns out that the access list in dselect has always 
had an off-by-one error in the height of the listpad. It is one line too
short. This never mattered, but it can if you want to set the background
color, because it now results in a big black line in the middle of the
screen. The fix is simple: override baselist::setheights creating a
methlist::setheights, and make it list_height++ after calling
baselist::setheights. Since I don't know C++, I have refrained from
doing this.

diff -u dselect.orig/dselect.8 newdselect/dselect.8
--- dselect.orig/dselect.8	Wed Apr 25 12:47:50 2001
+++ newdselect/dselect.8	Sun Jul  8 20:01:54 2001
@@ -6,6 +6,7 @@
 .B dselect
 [--admindir <directory>] [--help] [--version] [--licence | --license]
 [--expert] [--debug <file> | -D <file>] [\fI<action>\fP]
+[--color screenpart:[foreground],[background][:attr[+attr+..]]]
 .SH DESCRIPTION
 .B dselect
 is the primary user interface for installing, removing and managing
@@ -67,6 +68,64 @@
 .B --expert
 Turns on expert mode, i.e. doesn't display possibly annoying help messages.
 .TP
+.TP
+.B --color screenpart:[foreground],[background][:attr[+attr+..]]
+Configures screen colors. This works only if your display supports colors.
+This option may be used multiple times (and is best used in
+\fIdselect.cfg\fP). Each use changes the color (and optionally, other
+attributes) of one part of the screen.
+The parts of the screen (from top to bottom) are:
+.RS
+.TP
+.B title
+The screen title.
+.TP
+.B listhead
+The header line above the list of packages.
+.TP
+.B list
+The scrolling list of packages (and also some help text).
+.TP
+.B listsel
+The selected item in the list.
+.TP
+.B pkgstate
+In the list of packages, the text indicating the current state of each
+package.
+.TP
+.B pkgstatesel
+In the list of packages, the text indicating the current state of the
+currently selected package.
+.TP
+.B infohead
+The header line that displays the state of the currently selected package.
+.TP
+.B infodesc
+The package's short description.
+.TP
+.B info
+Used to display package info such as the package's description.
+.TP
+.B infofoot
+The last line of the screen when selecting packages.
+.TP
+.B query
+Used to display query lines
+.TP
+.B helpscreen
+Color of help screens.
+.RE
+.P
+After the part of the screen comes a colon and the color specification. You
+can specify either the foreground color, the background color, or both,
+overriding the compiled-in colors. Use standard curses color names.
+.P
+Optionally, after the color specification is another colon, and an
+attribute specification. This is a list of one or more attributes,
+separated by plus ("+") characters. Available attributes include (not all
+of these will work on all terminals): normal, standout, underline, reverse,
+blink, bright, dim, bold
+.P
 .B --help
 Print a brief help text and exit successfully.
 .TP
diff -u dselect.orig/basecmds.cc newdselect/basecmds.cc
--- dselect.orig/basecmds.cc	Sat Mar 18 13:23:47 2000
+++ newdselect/basecmds.cc	Sun Jul  8 20:01:54 2001
@@ -119,12 +119,13 @@
   int maxx, maxy, i, y, x, nextkey;
   
   getmaxyx(stdscr,maxy,maxx);
+  wbkgdset(stdscr, ' ' | helpscreen_attr);
   clearok(stdscr,TRUE);
   for (;;) {
     werase(stdscr);
     for (hme= helpmenu; hme->key && hme->key != key; hme++);
     if (hme->key) {
-      attrset(list_attr);
+      attrset(helpscreen_attr);
       mvaddstr(1,0, gettext(hme->msg->text));
       attrset(title_attr);
       mvaddstr(0,0, _("Help: "));
diff -u dselect.orig/baselist.cc newdselect/baselist.cc
--- dselect.orig/baselist.cc	Sat Mar 18 13:23:47 2000
+++ newdselect/baselist.cc	Sun Jul  8 20:01:54 2001
@@ -114,19 +114,28 @@
   clear(); wnoutrefresh(stdscr);
 
   // find attributes
-  if (has_colors() && start_color()==OK && COLOR_PAIRS >= 3) {
-    if (init_pair(1,COLOR_WHITE,COLOR_BLACK) != OK ||
-        init_pair(2,COLOR_WHITE,COLOR_RED) != OK ||
-        init_pair(3,COLOR_WHITE,COLOR_BLUE) != OK)
-      ohshite(_("failed to allocate colour pairs"));
-    list_attr= COLOR_PAIR(1);
-    listsel_attr= list_attr|A_REVERSE;
-    title_attr= COLOR_PAIR(2);
-    thisstate_attr= COLOR_PAIR(3);
-    selstate_attr= list_attr|A_BOLD;
-    selstatesel_attr= listsel_attr|A_BOLD;
-    colheads_attr= COLOR_PAIR(3);
+  if (has_colors() && start_color()==OK && COLOR_PAIRS >= numscreenparts) {
+    int i;
+    printf("allocing\n");
+    for (i = 1; i < numscreenparts; i++) {
+    	if (init_pair(i, color[i].fore, color[i].back) != OK)
+	  ohshite(_("failed to allocate colour pair"));
+    }
+    /* TODO: should use an array of attr's, indexed by attr name. Oh well. */
+    list_attr=		COLOR_PAIR(list)	| color[list].attr;
+    listsel_attr=	COLOR_PAIR(listsel)	| color[listsel].attr;
+    title_attr=		COLOR_PAIR(title)	| color[title].attr;
+    thisstate_attr=	COLOR_PAIR(thisstate)	| color[thisstate].attr;
+    selstate_attr=	COLOR_PAIR(selstate)	| color[selstate].attr;
+    selstatesel_attr=	COLOR_PAIR(selstatesel)	| color[selstatesel].attr;
+    colheads_attr=	COLOR_PAIR(colheads)	| color[colheads].attr;
+    query_attr=		COLOR_PAIR(query)	| color[query].attr;
+    info_attr=		COLOR_PAIR(info)	| color[info].attr;
+    info_headattr=	COLOR_PAIR(info_head)	| color[info_head].attr;
+    whatinfo_attr=	COLOR_PAIR(whatinfo)	| color[whatinfo].attr;
+    helpscreen_attr=	COLOR_PAIR(helpscreen)	| color[helpscreen].attr;
   } else {
+    /* User defined attributes for B&W mode are not currently supported. */
     title_attr= A_REVERSE;
     thisstate_attr= A_STANDOUT;
     list_attr= 0;
@@ -134,11 +143,11 @@
     selstate_attr= A_BOLD;
     selstatesel_attr= A_STANDOUT;
     colheads_attr= A_BOLD;
+    query_attr= title_attr;
+    info_attr= list_attr;
+    info_headattr= A_BOLD;
+    whatinfo_attr= thisstate_attr;
   }
-  query_attr= title_attr;
-  info_attr= list_attr;
-  info_headattr= A_BOLD;
-  whatinfo_attr= thisstate_attr;
 
   // set up windows and pads, based on screen size
   getmaxyx(stdscr,ymax,xmax);
@@ -171,9 +180,11 @@
   infopad= newpad(MAX_DISPLAY_INFO, total_width);
   if (!infopad) ohshite(_("failed to create info pad"));
   wattrset(infopad,info_attr);
+  wbkgdset(infopad, ' ' | info_attr);
 
   querywin= newwin(1,xmax,ymax-1,0);
   if (!querywin) ohshite(_("failed to create query window"));
+  wbkgdset(querywin, ' ' | query_attr);
 
   if (cursorline >= topofscreen + list_height) topofscreen= cursorline;
   if (topofscreen > nitems - list_height) topofscreen= nitems - list_height;
diff -u dselect.orig/dselect.h newdselect/dselect.h
--- dselect.orig/dselect.h	Sat Mar 18 13:23:47 2000
+++ newdselect/dselect.h	Sun Jul  8 20:02:04 2001
@@ -47,6 +47,7 @@
   int info_headattr, whatinfo_attr;
   int thisstate_attr, query_attr;
   int selstate_attr, selstatesel_attr;
+  int helpscreen_attr;
   
   int total_width;
   
@@ -141,6 +142,30 @@
 extern const char *admindir;
 extern FILE *debug;
 extern int expertmode;
+
+enum screenparts {
+	background,
+	list,
+	listsel,
+	title,
+	thisstate,
+	selstate,
+	selstatesel,
+	colheads,
+	query,
+	info,
+	info_head,
+	whatinfo,
+	helpscreen,
+	numscreenparts,
+};
+
+struct colordata {
+	int fore;
+	int back;
+	int attr;
+};
+extern colordata color[];
 
 enum urqresult { urqr_normal, urqr_fail, urqr_quitmenu };
 enum quitaction { qa_noquit, qa_quitchecksave, qa_quitnochecksave };
diff -u dselect.orig/main.cc newdselect/main.cc
--- dselect.orig/main.cc	Fri Jun 22 13:29:18 2001
+++ newdselect/main.cc	Sun Jul  8 20:01:54 2001
@@ -60,6 +60,68 @@
 
 static keybindings packagelistbindings(packagelist_kinterps,packagelist_korgbindings);
 
+struct table_t {
+  const char *name;
+  const int num;
+};
+static const struct table_t colortable[]= {
+  {"black",	COLOR_BLACK},
+  {"red",	COLOR_RED},
+  {"green",	COLOR_GREEN},
+  {"yellow",	COLOR_YELLOW},
+  {"blue",	COLOR_BLUE},
+  {"magenta",	COLOR_MAGENTA},
+  {"cyan",	COLOR_CYAN},
+  {"white",	COLOR_WHITE},
+  {NULL,	0},
+};
+static const struct table_t attrtable[]= {
+  {"normal",	A_NORMAL},
+  {"standout",	A_STANDOUT},
+  {"underline",	A_UNDERLINE},
+  {"reverse",	A_REVERSE},
+  {"blink",	A_BLINK},
+  {"bright",	A_BLINK}, // on some terminals
+  {"dim",	A_DIM},
+  {"bold",	A_BOLD},
+  {NULL,	0},
+};
+/* A slightly confusing mapping from dselect's internal names to 
+ * the user-visible names.*/
+static const struct table_t screenparttable[]= {
+  {"list",	list},
+  {"listsel",	listsel},
+  {"title",	title},
+  {"infohead",	thisstate},
+  {"pkgstate",	selstate},
+  {"pkgstatesel",selstatesel},
+  {"listhead",	colheads},
+  {"query",	query},
+  {"info",	info},
+  {"infodesc",	info_head},
+  {"infofoot",	whatinfo},
+  {"helpscreen",helpscreen},
+  {NULL, 	0},
+};
+
+/* Historical (patriotic?) colors. */
+struct colordata color[]= {
+  /* fore	back		attr */
+  {COLOR_WHITE,	COLOR_BLACK,	0},			// default, not used
+  {COLOR_WHITE,	COLOR_BLACK,	0},			// list
+  {COLOR_WHITE,	COLOR_BLACK,	A_REVERSE},		// listsel
+  {COLOR_WHITE,	COLOR_RED,	0},			// title
+  {COLOR_WHITE,	COLOR_BLUE,	0},			// thisstate
+  {COLOR_WHITE,	COLOR_BLACK,	A_BOLD},		// selstate
+  {COLOR_WHITE,	COLOR_BLACK,	A_REVERSE | A_BOLD},	// selstatesel
+  {COLOR_WHITE,	COLOR_BLUE,	0},			// colheads
+  {COLOR_WHITE,	COLOR_RED,	0},			// query
+  {COLOR_WHITE,	COLOR_BLACK,	0},			// info
+  {COLOR_WHITE,	COLOR_BLACK,    A_BOLD},		// info_head
+  {COLOR_WHITE,	COLOR_BLUE,	0},			// whatinfo
+  {COLOR_WHITE,	COLOR_BLACK,	0},			// help
+};
+
 struct menuentry {
   const char *command;
   const char *key;
@@ -103,6 +165,7 @@
        "       dselect [options] action ...\n"
        "Options:  --admindir <directory>  (default is /var/lib/dpkg)\n"
        "          --help  --version  --licence  --expert  --debug <file> | -D<file>\n"
+       "          --color screenpart:[foreground],[background][:attr[+attr+..]]\n"
        "Actions:  access update select install config remove quit menu\n"),
        stdout)) werr("stdout");
 }
@@ -127,17 +190,88 @@
     expertmode = 1;
   }
 
+  int findintable(const struct table_t *table, const char *item, const char *tablename) {
+    int i;
+
+    if (item == NULL) {
+    	goto WHOOPS;
+    }
+
+    for (i = 0;  table[i].name != NULL; i++)
+      if (strcasecmp(item, table[i].name) == 0)
+        return table[i].num;
+	
+WHOOPS:
+    fprintf(stderr, "Invalid %s `%s'. Choose from:\n", tablename, item);
+    for (i = 0;  table[i].name != NULL; i++)
+      fprintf(stderr, "\t%s\n", table[i].name);
+    exit(1);
+  }
+
+  /*
+   *  The string's format is:
+   *    screenpart:[forecolor][,backcolor][:[<attr>, ...]
+   *  Examples: --color title:black,cyan:bright+underline
+   *            --color list:red,yellow
+   *            --color colheads:,green:bright
+   *            --color selstate::reverse  // doesn't work FIXME
+   */
+  static void setcolor(const struct cmdinfo*, const char *string) {
+    char *s = (char *) malloc((strlen(string) + 1) * sizeof(char));
+    char *colors, *attributes, *attrib, *colorname;
+    int screenpart, aval;
+
+    strcpy(s, string); // strtok modifies strings, keep string const
+    screenpart=findintable(screenparttable, strtok(s, ":"), (char *) "screen part");
+    colors=strtok(NULL, ":");
+    attributes=strtok(NULL, ":");
+    
+    if ((colors == NULL || ! strlen(colors)) &&
+        (attributes == NULL || ! strlen(attributes))) {
+    	fprintf(stderr, "Null color specificaton\n");
+	exit(1);
+    }
+    
+    if (colors != NULL && strlen(colors)) {
+      colorname = strtok(colors, ",");
+      if (colorname != NULL && strlen(colorname)) {
+        // normalize attributes to prevent confusion
+        color[screenpart].attr = A_NORMAL;
+      	color[screenpart].fore=findintable(colortable, colorname, (char *) "color");
+      }
+      colorname = strtok(NULL, ",");
+      if (colorname != NULL && strlen(colorname)) {
+        color[screenpart].attr = A_NORMAL;
+        color[screenpart].back=findintable(colortable, colorname, (char *) "color");
+      }
+    }
+
+    if (attributes != NULL && strlen(attributes)) {
+      for (attrib = strtok(attributes, "+");
+           attrib != NULL && strlen(attrib);
+	   attrib = strtok(NULL, "+")) {
+		aval=findintable(attrtable, attrib, (char *) "color attribute");
+		if (aval == A_NORMAL) // set to normal
+			color[screenpart].attr = aval;
+		else // add to existing attribs
+			color[screenpart].attr = color[screenpart].attr | aval;
+      }
+    }
+  }
+
 } /* End of extern "C" */
 
 static const struct cmdinfo cmdinfos[]= {
-  { "admindir",   0,   1,  0,  &admindir,  0                      },
-  { "debug",     'D',  1,  0,  0,          setdebug               },
-  { "expert",    'E',  0,  0,  0,          setexpert              },
-  { "help",      'h',  0,  0,  0,          helponly               },
-  { "version",    0,   0,  0,  0,          versiononly            },
-  { "licence",    0,   0,  0,  0,          showcopyright          }, /* UK spelling */
-  { "license",    0,   0,  0,  0,          showcopyright          }, /* US spelling */
-  {  0,           0,   0,  0,  0,          0                      }
+  { "admindir",     0,   1,  0,  &admindir,  0               },
+  { "debug",       'D',  1,  0,  0,          setdebug        },
+  { "expert",      'E',  0,  0,  0,          setexpert       },
+  { "help",        'h',  0,  0,  0,          helponly        },
+  { "version",      0,   0,  0,  0,          versiononly     },
+  { "licence",      0,   0,  0,  0,          showcopyright   }, /* UK spelling */
+  { "license",      0,   0,  0,  0,          showcopyright   }, /* US spelling */
+  { "color",        0,   1,  0,  0,          setcolor        }, /* US */
+  { "colour",       0,   1,  0,  0,          setcolor        }, /* UK */
+  { 0,              0,   0,  0,  0,          0               }
 };
 
 static int cursesareon= 0;

Damnit Culus you were right. It _is_ addicitve.


---------------------------------------
Received: (at 103994-close) by bugs.debian.org; 30 Jun 2002 18:36:43 +0000
>From rmurray@auric.debian.org Sun Jun 30 13:36:43 2002
Return-path: <rmurray@auric.debian.org>
Received: from auric.debian.org [206.246.226.45] (mail)
	by master.debian.org with esmtp (Exim 3.12 1 (Debian))
	id 17OjYx-0003Yz-00; Sun, 30 Jun 2002 13:36:43 -0500
Received: from rmurray by auric.debian.org with local (Exim 3.12 1 (Debian))
	id 17OjJM-0007fL-00; Sun, 30 Jun 2002 14:20:36 -0400
From: Wichert Akkerman <wakkerma@debian.org>
To: 103994-close@bugs.debian.org
X-Katie: $Revision: 1.17 $
Subject: Bug#103994: fixed in dpkg 1.10
Message-Id: <E17OjJM-0007fL-00@auric.debian.org>
Sender: Ryan Murray <rmurray@auric.debian.org>
Date: Sun, 30 Jun 2002 14:20:36 -0400
Delivered-To: 103994-close@bugs.debian.org

We believe that the bug you reported is fixed in the latest version of
dpkg, which is due to be installed in the Debian FTP archive:

dpkg-dev_1.10_all.deb
  to pool/main/d/dpkg/dpkg-dev_1.10_all.deb
dpkg-doc_1.10_all.deb
  to pool/main/d/dpkg/dpkg-doc_1.10_all.deb
dpkg_1.10.dsc
  to pool/main/d/dpkg/dpkg_1.10.dsc
dpkg_1.10.tar.gz
  to pool/main/d/dpkg/dpkg_1.10.tar.gz
dpkg_1.10_i386.deb
  to pool/main/d/dpkg/dpkg_1.10_i386.deb
dselect_1.10_i386.deb
  to pool/main/d/dpkg/dselect_1.10_i386.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 103994@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Wichert Akkerman <wakkerma@debian.org> (supplier of updated dpkg 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 ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Fri, 21 Jun 2002 21:53:15 +0200
Source: dpkg
Binary: dpkg-static dselect dpkg-dev dpkg-doc dpkg
Architecture: source all i386
Version: 1.10
Distribution: unstable
Urgency: low
Maintainer: Dpkg Development <debian-dpkg@lists.debian.org>
Changed-By: Wichert Akkerman <wakkerma@debian.org>
Description: 
 dpkg       - Package maintenance system for Debian
 dpkg-dev   - Package building tools for Debian
 dpkg-doc   - Dpkg Internals Documentation
 dselect    - a user tool to manage Debian packages
Closes: 2531 11228 34942 45787 58091 58653 66735 67174 72634 75947 76100 81009 83139 92650 93386 97239 98275 102367 103667 103839 103845 103994 104214 104230 104232 104561 105750 108887 109282 111503 112378 113120 114249 115783 117968 118420 119532 120924 121309 121489 122132 126340 127458 130130 130509 131439 131496 131758 132476 132632 132714 132901 133035 136349 138013 139159 140441 141906 143117 144121 146855 147872 147924
Changes: 
 dpkg (1.10) unstable; urgency=low
 .
   * dpkg now reorders symlinks when extracting debs.  However, this is also
     still done when building debs.  After a stable release of Debian has
     occurred with this modified dpkg, the reordering when building can be
     removed.
   * Fixed upper/lowercase problems with package names. Closes: Bug#58091
     (and 3 others).
   * Add Russian manual pages
   * Fix n in dselect package list (performs searchagain now)
   * Fix layout problem in dpkg-divert manpage. Closes: Bug#103667
   * When a package is set to hold, and a reinstallation is requested,
     -E will not properly skip it.  Closes: #45787.
   * Make dpkg-checkbuilddeps use dpkg-architecture. Closes: Bug#104230
   * Improve dpkg-archtecture documentation. Closes: Bug#104232
   * Update German translation. Closes: Bug#97239
   * Update Polish translation. Closes: Bug#115783
   * Update French translation.
   * Update Brazilian translation.
   * Update Danish translation.
   * Update Galician translation.
   * Update Portuguese translations.
   * Add Catalan translation
   * Add German md5sum manpage
   * Add Brazilian update-alternatives manpage. Closes: Bug#122132
   * Improve dselect manpage. Closes: Bug#103839
   * dpkg-name(1) no longer mentions the non-existing dpkg(5) manpage.
     Closes: Bug#104214
   * Improve handling of Recommends and Suggests in dselect. Closes: Bug#34942
   * Add per-user configuration files. Closes: Bug#103845
   * Split dselect into its own package. dpkg Pre-Depends on it
     to make sure no weird things happen during an upgrade but this
     will allow us to make dselect option at some point in the future.
     Closes: #114249.
   * Make colours in dselect user-configurable. Closes: Bug#103994
   * Make Q do an abort in the method selection menu to make things more
     consistent with the package list
   * Fix test for nice(2) failure in start-stop-daemon. Closes: Bug#104561
   * Improve the dselect helpscreen a bit. Closes: Bug#72634
   * New version comparison routine that can handle arbitrarily large numbers
     and accepts `~' as a low-sorting character. Closes: Bug#93386
   * dselect now accepts regular expressions when searching for packages
     and can search in package descriptions as well.
     Closes: Bug#81009,#83139
   * Move query commands into a seperate dpkg-query command. For the old options
     (-L,-l,-s,-S) dpkg will still call it for you.
   * Add configurable package listing support to dpkg-query
   * Handle window resize in dselect main menu. Closes: Bug#98275
   * update-rc.d moved to the sysvinit package. Closes: Bug#108887,#109282
   * Add --showformat and --show options to dpkg-deb and dpkg-query to
     allow one to customize the output format
   * several install-info cleanups:
     * Move /usr/info/dir to /usr/share/info/dir.  Closes: #67174.
     * If /usr/share/info doesn't exist, print a message saying so,
       instead of the confusing "couldn't lock" error.  Closes: #2531.
     * If /usr/share/info/dir doesn't exist, or is empty, try to copy the
       backup from /var/backups/infodir.bak.  Closes: #121309.
     * Add a --remove-exactly option, and allow for relative filenames.
       Closes: #92650.
     * Use the section from the .info file if --section is not given.
       Closes: #76100.
     * Error messages now include the filename being processed.
       Closes: #66735
     * /usr/share/info/dir now has it's entries formatted to even widths.
       Closes: #11228
     * --calign|--align|--maxwidth are now ignored.
   * strip enoent as well. Closes: Bug#112378
   * Fix format error in Dutch translation. Closes: Bug#113120
   * When parsing stdin, md5sum now displays '-' as the filename, to match
     textutils md5sum.  Closes: #121489.
   * Apply patch from bug, to give update-alternatives a --list command.
     Closes: #120924.
   * Make dpkg-checkbuilddeps always check for build-essential.
     Closes: Bug#118420.
   * Use space seperated output instead of comma seperated in
     dpkg-checkbuilddeps
   * Update default ignore expression in dpkg-source to also match *~ and
     *.swp in subdirs. Closes: Bug#127458
   * Handle errors when verifying md5sums. Closes: Bug#102367
   * dpkg-source now uses reliable timestamps for changed files.
     Closes: Bug#105750
   * Fix typo in start-stop-daemon help message. Closes: Bug#131439
   * update-alternative exits with a non-zero exit code when displaying
     a non-existing alternative. Closes: Bug#131496
   * Use gzip -c in install-info. Closes: Bug#131758
   * start-stop-daemon works on HP-UX now. Closes: Bug#130130
   * Fix dselect spin when run without input. Closes: Bug#132476
   * Update-alternatives now correctly restores an alternative to auto mode
     when removing a manually selected alternative. Closes: Bug#132632
   * Copy bugs and origin information into status file. Closes: Bug#132714
   * Improve wording of update-alternatives --config text. Closes: Bug#133035
   * Add manpages for dpkg.cfg and dselect.cfg. Closes: Bug#132901
   * Improve test for illegal packagename for dpkg-gencontrol -p option
   * Fix segfault when getenv("PATH") returns null.  Closes: Bug#136349
   * Add Large File Summit extensions. Closes: Bug#130509
   * Fix typo in dpkg-source manpage. Closes: Bug#141906
   * Re-fix handling of multiple blank lines in control. Closes: Bug#143117
   * Document --force-confmiss and --force-bad-verify. Closes: Bug#146855
   * Drop upgrade compat stuff in dpkg postinst for ancient versions (over
     5 years old)
   * Always set CLOEXEC on the lock fd.  Closes: Bug#147872
   * Clean up tmp files when ctrl-c is sent to dpkg-source.  Closes:
     Bug#58653.
   * dpkg-source no longer requires exact case matches for fields in
     debian/control.  Closes: Bug#139159.
   * dpkg-scanpackages now gives proper case for Source and Installed-Size.
     Closes: Bug#119532.
   * dpkg-architecture: s/build on/built on/; same for 'build for'.
     Closes: Bug#140441.
   * cl-debian.pl now recognizes emergency as valid in changelogs.
     Closes: Bug#138013.
   * Properly count recursive expansion of variables, instead of just
     counting all variable expansions.  Closes: #144121.
   * Add -I<filename> to dpkg-buildpackage and dpkg-source, to excludes
     files from tar, when building a native package.  Closes: Bug#75947.
   * Close the old debian/files file, before doing a rename.  Closes:
     Bug#111503.
   * Fix documentation of -v<version> for dpkg-parsechangelog, removing the
     requirement that the version has to be in the changelog.  Closes:
     Bug#117968.
   * Fix typo in dpkg-source(1), s/-su/-sU/.  Closes: Bug#126340.
   * Add dpkg-scansources to dpkg-scanpackages(8).  Closes: Bug#147924.
   * Change /usr/info into a symlink to /usr/share/info if possible
Files: 
 df7d1380dde0d2b980421489e3ae8ea6 1354 base required dpkg_1.10.dsc
 dce6fc650eb8343b03acacfac722b094 1623580 base required dpkg_1.10.tar.gz
 cd1dbe55ff166971d591c9404e6905f6 1166408 base required dpkg_1.10_i386.deb
 5c8a6950c9708044fe4d527e58b4ba18 80244 base required dselect_1.10_i386.deb
 c8dab8d95d390d0d485e00db3c846c0f 1155281 byhand - dpkg-1.10_i386.nondebbin.tar.gz
 f78567b6a153a00b24551fb1d9d24b9e 1321299 byhand - dpkg-1.10_i386-static.nondebbin.tar.gz
 46e139f4860f978c4d9c9d0aee43f426 111386 utils standard dpkg-dev_1.10_all.deb
 0fcdf112e49159b1128054603a895cd9 10718 doc optional dpkg-doc_1.10_all.deb
 dce6fc650eb8343b03acacfac722b094 1623580 byhand - dpkg-1.10.tar.gz

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iQIXAwUBPROK7318BjbHbzjSFAK/fQf/TWJF2Op6OWrByhKH4ZphCrrwL5mXec3T
MnHN67jF4+afK/TnMxk+jiYXH+MbFOIHeXc8eHeeNF+todRVcaxc9DMco+Bm+Ef0
Mptw3yHbHvSgajctMKWkHPLYbnE40C8x3wqsnFPIkp5qV0PTviFiFtmdVdoKjGc2
vyFDzwKtSV+wnAs0uWVwGqrL0XQEedYHErY0UIEOODcANARzeGDP85Ih47HE003f
mUrFinWcPeZoD8ipAOFZUwPi0E+gyqd/U1Q+TkAUAdmE6P4aEj/10ZTtHQj9H7mq
lmegUYKfTZOG6/rjI5jVOSW/px9V7Qr91sHCp1GvdYsKEqF5DYKDYQf9EAHuFl19
eMGdjzTvnWRm72BPJ6CRpR4uZTsCjknSUepA4hgsxKJscxBYR/qxByK4esnNo3DG
F/M8EfIciNwiEHZ6jNhkPKoxPPo76qFeCqgkNV778eRkJsI8k6S0NCgAVuR5nFLR
gLA183WyT7MVhWCc9aFz9PZXFFe8goLJBHzUk6HbngsRNSSvkyqdKn0KDtIle/gB
Y6LF9UC7SO+e5xznjWHIkhyaAYNL/zZ7BCQS5ctoIf+ED7a2t3Wkjj9QBgtmmTGq
ZV5M0V3NfZrm1GEL6cyxeZIr5mTSLgQRH3ep+nmbzEQaSaOoayxW2zV5t5IB2I0s
YpT/mvlfIgwgcA==
=8IWo
-----END PGP SIGNATURE-----


-- 
To UNSUBSCRIBE, email to debian-dpkg-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org



Reply to: