Bug#361866: [PATCH 0/1] add dpkg solaris-i386 architecture support

2006-05-12 Thread Guillem Jover
On Thu, 2006-05-11 at 00:24:20 -0700, Erast Benson wrote:
 On Fri, 2006-05-12 at 01:49 +0300, Guillem Jover wrote:
  On Tue, 2006-04-11 at 19:42:21 -0700, Erast Benson wrote:
   And we need 2.11, to distinguish 8,7,9,10,11,12 releases.
   But I guess, presented dpkg-architecture.pl patch should take care..
   So, yes this might work, but not always (see below)
  
  Why do you need the 2.11, would another release imply a new Debian
  architecture, are the kernels incompatible, the libc etc?
  And I don't see anything relevant below.
 
 Correct, Debian architecture doesn't care. But, applications do care.
 For instance, things might be layout differently in 2.10 and upcoming
 2.11 architectures, which might need required for some apps to do things
 a bit differently too. So, it is not about Debian architecture, it is
 all about how we will affect existing apps. We obviously don't want fix
 all existing apps, instead we want just tune up Debian architecture
 parameters once and for all.

What do you mean with things might be layout differently, can you
give a concrete example?

If those apps are using autoconf they will use the real gnu triplet,
and not the ones provided by dpkg-architecture. I suppose the problem is
that I cannot see how the 2.xx minor release can affect the packaging.

   but we expect:
  
   sparc-sun-solaris2.11

  Well if config.guess is producing unwanted output, you should be
  fixing it instead of working it around in all other programs.
 
 I think we've got disconnected on this one. config.guess often shipped
 withing app itself as a hard copy, so it will not be possible to fix
 autoconf package for all.

 Any other solutions?

Mass updating config.guess and config.sub are the common practice,
we've done that in Debian for example for the GNU/kFreeBSD port, it
didn't have any triplet some years ago, we just added it to config.*
as the first thing and then started with the port, with time apps got
updated, announce mails were sent so that people would update the
files themselves and the ones that didn't after a while got bug
reports with requests to update. (Another recent port added to the
triplet could be amd64).

regards,
guillem



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#165843: Please localize perl programs as well.

2006-05-12 Thread Guillem Jover
On Thu, 2006-05-11 at 22:54:50 -0500, Frank Lichtenheld wrote:
 On Fri, May 12, 2006 at 01:35:21AM +0300, Guillem Jover wrote:
  Yes, the po files will be split and will only get installed in the
  dpkg-dev package,
 
 I think you misread my question. I totally see that there should be two
 .pot files, I only asked if we really need two directories for that...

Two set of .pot files and .po files, so that the .po files can be put in
each package independently (if I've missread you again, sorry O:).

  I'd like to unify the help output format for all the scripts before
  translators have a chance to start working on them, though.
 
 ACK.

I'll do that this weekend probably...

regards,
guillem



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#165843: Please localize perl programs as well.

2006-05-12 Thread Frank Lichtenheld
On Fri, May 12, 2006 at 10:40:04AM +0300, Guillem Jover wrote:
 On Thu, 2006-05-11 at 22:54:50 -0500, Frank Lichtenheld wrote:
  I think you misread my question. I totally see that there should be two
  .pot files, I only asked if we really need two directories for that...
 
 Two set of .pot files and .po files, so that the .po files can be put in
 each package independently (if I've missread you again, sorry O:).

Yeah, I meant that.
Anyway I will commit the patch without the scripts/po directory for now
and perhaps Nicolas can then comment on what he thinks is best.

Gruesse,
-- 
Frank Lichtenheld [EMAIL PROTECTED]
www: http://www.djpig.de/



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#31634: Patch

2006-05-12 Thread Frank Lichtenheld
tags 31634 - pending
tags 31634 patch
thanks

Hi.

I've prepared a patch to replace 822-date with a simple wrapper around
date -R for backwards compatibility. I think it would be good to apply
that since 822-date is just an unessecary duplication of code in my
view. The RFC 2822 which defines the format outputted by date -R seems
mainly to have deprecated stuff from RFC 822 (regarding times and dates
at least) that we didn't used anyway. date -R also doesn't seem to use
any optional parts of the format given in RFC 2822, so it is mostly
identical with the current output of 822-date (In fact the only
difference I could find was that date -R does '0' padding for
day-of-month whereas 822-date does not.

In case we decide to apply this patch we should also notify users of
822-date that they should just use date -R directly (except if we would
decide to implement 822-date as wrapper but do not deprecate it to
retain some control over the date format used in Debian packages).

Current users of 822-date includes e.g.
 - devscripts
 - dh-make
 - equivs
 - sbuild
 - debmake

Gruesse,
-- 
Frank Lichtenheld [EMAIL PROTECTED]
www: http://www.djpig.de/
Index: debian/changelog
===
--- debian/changelog(Revision 308)
+++ debian/changelog(Arbeitskopie)
@@ -1,6 +1,9 @@
 dpkg (1.13.20~) UNRELEASED; urgency=low
 
   [ Frank Lichtenheld ]
+  * Convert 822-date to be a simple wrapper around `date -R'.
+822-date is now deprecated and should not be used anymore.
+It might be removed sometime in the future. Closes: #31634
   * Add gettext support for the Perl scripts. Based on a patch by
 Nicolas François. Closes: #165843
   * Only print usage information of dpkg-scanpackages on stdout
Index: ChangeLog
===
--- ChangeLog   (Revision 308)
+++ ChangeLog   (Arbeitskopie)
@@ -1,5 +1,10 @@
 2006-05-12  Frank Lichtenheld  [EMAIL PROTECTED]
 
+   * scripts/822-date.pl: Convert the script to be
+   a simple wrapper around `date -R'.
+   * scripts/dpkg-genchanges.pl: Don't use 822-date
+   anymore, use `date -R'.
+
* scripts/dpkg-scanpackages.pl: Print usage
information on stderr instead of stdout in
case of error. Only print it on stdout if
Index: scripts/822-date.pl
===
--- scripts/822-date.pl (Revision 308)
+++ scripts/822-date.pl (Arbeitskopie)
@@ -1,56 +1,14 @@
 #!/usr/bin/perl --
-# I hereby place this in the public domain - Ian Jackson, 1995.
-# Changes by Klee Dienes also placed in public domain (1997). 
 
-# time structure:
-# [ sec min hour mday mon year wday yday isdst ]
+my $dpkglibdir= .; # This line modified by Makefile
+push(@INC,$dpkglibdir);
+require 'dpkg-gettext.pl';
+textdomain(dpkg-dev);
 
[EMAIL PROTECTED]  die usage: 822-date\n;
+require 'controllib.pl';
 
-$curtime = time;
[EMAIL PROTECTED] = localtime ($curtime);
-$localtms = localtime ($curtime);
[EMAIL PROTECTED] = gmtime ($curtime);
-$gmttms = gmtime ($curtime);
[EMAIL PROTECTED]  die _g(usage: 822-date).\n;
 
-if ($localtm[0] != $gmttm[0]) {
-die (sprintf (local timezone differs from GMT by a non-minute interval\n
-. local time: %s\n
-. GMT time: %s\n, $localtms, $gmttms));
-}
+warn(_g(Using this program is deprecated. Please use `date -R' instead.));
 
-$localmin = $localtm[1] + $localtm[2] * 60;
-$gmtmin = $gmttm[1] + $gmttm[2] * 60;
-
-if ((($gmttm[6] + 1) % 7) == $localtm[6]) {
-$localmin += 1440;
-} elsif ((($gmttm[6] - 1) % 7) == $localtm[6]) {
-$localmin -= 1440;
-} elsif ($gmttm[6] == $localtm[6]) {
-1;
-} else {
-die (822-date: local time offset greater than or equal to 24 hours\n);
-}
-
-$offset = $localmin - $gmtmin;
-$offhour = $offset / 60;
-$offmin = abs ($offset % 60);
-
-if (abs ($offhour) = 24) { 
-die (822-date: local time offset greater than or equal to 24 hours\n);
-}
-
-printf 
-(
- %s, %2d %s %d %02d:%02d:%02d %s%02d%02d\n,
- (Sun,Mon,Tue,Wed,Thu,Fri,Sat)[$localtm[6]], # day of week
- $localtm[3],  # day of month
- (Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec)[$localtm[4]], # month
- $localtm[5]+1900, # year
- $localtm[2],  # hour
- $localtm[1],  # minute
- $localtm[0],  # sec
- ($offset = 0) ? '+' : '-',# TZ offset direction
- abs ($offhour),   # TZ offset hour
- $offmin,  # TZ offset minute
- ) || die 822-date: output error: $!\n;
+print `date -R`;
Index: scripts/Makefile.am
===
--- scripts/Makefile.am (Revision 308)
+++ scripts/Makefile.am (Arbeitskopie)
@@ -1,6 +1,8 @@
 ## Process this file with automake to produce Makefile.in
 
+SUBDIRS = po
+
 bin_SCRIPTS = \
822-date \
dpkg-architecture \
Index: man/C/822-date.1

Processed: Patch

2006-05-12 Thread Debian Bug Tracking System
Processing commands for [EMAIL PROTECTED]:

 tags 31634 - pending
Bug#31634: dpkg-dev: use date --rfc-2822 instead of 822-date
Tags were: pending
Tags removed: pending

 tags 31634 patch
Bug#31634: dpkg-dev: use date --rfc-2822 instead of 822-date
There were no tags set.
Tags added: patch

 thanks
Stopping processing here.

Please contact me if you need assistance.

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



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#318825: dpkg: fix erranous directory not empty warnings (other patch)

2006-05-12 Thread Frank Lichtenheld
On Mon, Mar 13, 2006 at 10:05:30PM +0200, Lars Wirzenius wrote:
 The problem is that the packages in the removed-but-not-yet-purged state
 still contain empty directories, ones that don't contain conffiles.
 Above, for example, /usr and stuff below it should not be there for
 ttf-bitstream-vera.

Hi.

I have an alternative patch that at least fixes the defoma/ttf-bitstream
case. I haven't tested all the other packages yet. Comments and
testing welcome.

Index: src/help.c
===
--- src/help.c  (Revision 308)
+++ src/help.c  (Arbeitskopie)
@@ -403,6 +403,26 @@
   putc('\n',stderr);
 }
 
+int hasdirectoryconffiles(struct filenamenode *file, struct pkginfo *pkg) {
+  /* Returns 1 if the directory contains conffiles belonging to pkg, 0 
otherwise. */
+  struct conffile *conff;
+  size_t namelen;
+
+  debug(dbg_veryverbose, hasdirectoryconffiles `%s' (from %s), file-name,
+   pkg-name);
+  namelen = strlen(file-name);
+  for (conff= pkg-installed.conffiles; conff; conff= conff-next) {
+  if (!strncmp(file-name,conff-name,namelen)) {
+   debug(dbg_veryverbose, directory %s has conffile %s from %s,
+ file-name, conff-name, pkg-name);
+   return 1;
+  }
+  }
+  debug(dbg_veryverbose, hasdirectoryconffiles no);
+  return 0;
+}
+
+
 int isdirectoryinuse(struct filenamenode *file, struct pkginfo *pkg) {
   /* Returns 1 if the file is used by packages other than pkg, 0 otherwise. */
   struct filepackages *packageslump;
Index: src/main.h
===
--- src/main.h  (Revision 308)
+++ src/main.h  (Arbeitskopie)
@@ -203,6 +203,7 @@
   const char *ifok, const char *iffallback);
 void clear_istobes(void);
 int isdirectoryinuse(struct filenamenode *namenode, struct pkginfo *pkg);
+int hasdirectoryconffiles(struct filenamenode *namenode, struct pkginfo *pkg);
 
 enum debugflags {
   dbg_general=   1,
Index: src/remove.c
===
--- src/remove.c(Revision 308)
+++ src/remove.c(Arbeitskopie)
@@ -240,7 +240,11 @@
  * package which uses it.  Other files should only be listed
  * in this package (but we don't check).
  */
-if (isdirectoryinuse(namenode,pkg)) continue;
+   if (hasdirectoryconffiles(namenode,pkg)) {
+ push_leftover(leftover,namenode);
+ continue;
+   }
+   if (isdirectoryinuse(namenode,pkg)) continue;
   }
   debug(dbg_eachfiledetail, removal_bulk removing `%s', fnvb.buf);
   if (!rmdir(fnvb.buf) || errno == ENOENT || errno == ELOOP) continue;
@@ -348,6 +352,10 @@
* package which uses it.  Other files should only be listed
* in this package (but we don't check).
*/
+  if (hasdirectoryconffiles(namenode,pkg)) {
+   push_leftover(leftover,namenode);
+   continue;
+  }
   if (isdirectoryinuse(namenode,pkg)) continue;
 }
 


Gruesse,
-- 
Frank Lichtenheld [EMAIL PROTECTED]
www: http://www.djpig.de/



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#318825: dpkg: fix erranous directory not empty warnings (other patch)

2006-05-12 Thread Frank Lichtenheld
On Fri, May 12, 2006 at 01:49:32PM -0500, Frank Lichtenheld wrote:
 I have an alternative patch that at least fixes the defoma/ttf-bitstream
 case. I haven't tested all the other packages yet. Comments and
 testing welcome.

Cases that this patch doesn't fix include openssl/ca-certificates
and tex-common/tetex-base. It only works if all the files in question
are conffiles, not configuration files.

The problem is that I'm not sure what dpkg is supposed to do in
case of the configuration files...

Gruesse,
-- 
Frank Lichtenheld [EMAIL PROTECTED]
www: http://www.djpig.de/



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#165843: Please localize perl programs as well.

2006-05-12 Thread Frank Lichtenheld
On Fri, May 12, 2006 at 08:59:24PM +0300, Guillem Jover wrote:
 On Fri, 2006-05-12 at 11:18:42 -0500, Frank Lichtenheld wrote:
  On Fri, May 12, 2006 at 10:40:04AM +0300, Guillem Jover wrote:
   On Thu, 2006-05-11 at 22:54:50 -0500, Frank Lichtenheld wrote:
I think you misread my question. I totally see that there should be two
.pot files, I only asked if we really need two directories for that...
   
   Two set of .pot files and .po files, so that the .po files can be put in
   each package independently (if I've missread you again, sorry O:).
  
  Yeah, I meant that.
 
 That implies that if you need two sets of .po files then you need to
 have them in different dirs (at least given current Makefile.in.in
 infrastructure).

So, what we do about the ChangeLog? Yet another one?

Gruesse,
-- 
Frank Lichtenheld [EMAIL PROTECTED]
www: http://www.djpig.de/



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Processed: severity of 366178 is normal, merging 366178 348133

2006-05-12 Thread Debian Bug Tracking System
Processing commands for [EMAIL PROTECTED]:

 # Automatically generated email from bts, devscripts version 2.9.19
 severity 366178 normal
Bug#366178: dpkg: Don't report unable to delete old directory when upgrade 
contains a file in that directory
Severity set to `normal'.

 merge 366178 348133
Bug#348133: dpkg: incomplete cleanup of emtpy directories
Bug#366178: dpkg: Don't report unable to delete old directory when upgrade 
contains a file in that directory
Bug#316521: dpkg: forgets to delete directories when purging
Merged 316521 348133 366178.


End of message, stopping processing here.

Please contact me if you need assistance.

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



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#318825: dpkg: fix erranous directory not empty warnings (other patch)

2006-05-12 Thread Frank Lichtenheld
On Fri, May 12, 2006 at 01:49:32PM -0500, Frank Lichtenheld wrote:
 I have an alternative patch that at least fixes the defoma/ttf-bitstream
 case. I haven't tested all the other packages yet. Comments and
 testing welcome.

Updated patch that also deals with the similar case on upgrade.

Index: src/processarc.c
===
--- src/processarc.c(Revision 312)
+++ src/processarc.c(Arbeitskopie)
@@ -599,6 +599,10 @@
 if (!stat(namenode-name,stab)  S_ISDIR(stab.st_mode)) {
   debug(dbg_eachfiledetail, process_archive: %s is a directory,
namenode-name);
+  if (hasdirectoryconffiles(namenode,pkg)) {
+   addfiletolist(tc, namenode);
+   continue;
+  }
   if (isdirectoryinuse(namenode,pkg)) continue;
 }
 fnamevb.used= fnameidlu;
Index: src/help.c
===
--- src/help.c  (Revision 312)
+++ src/help.c  (Arbeitskopie)
@@ -403,6 +403,26 @@
   putc('\n',stderr);
 }
 
+int hasdirectoryconffiles(struct filenamenode *file, struct pkginfo *pkg) {
+  /* Returns 1 if the directory contains conffiles belonging to pkg, 0 
otherwise. */
+  struct conffile *conff;
+  size_t namelen;
+
+  debug(dbg_veryverbose, hasdirectoryconffiles `%s' (from %s), file-name,
+   pkg-name);
+  namelen = strlen(file-name);
+  for (conff= pkg-installed.conffiles; conff; conff= conff-next) {
+  if (!strncmp(file-name,conff-name,namelen)) {
+   debug(dbg_veryverbose, directory %s has conffile %s from %s,
+ file-name, conff-name, pkg-name);
+   return 1;
+  }
+  }
+  debug(dbg_veryverbose, hasdirectoryconffiles no);
+  return 0;
+}
+
+
 int isdirectoryinuse(struct filenamenode *file, struct pkginfo *pkg) {
   /* Returns 1 if the file is used by packages other than pkg, 0 otherwise. */
   struct filepackages *packageslump;
Index: src/main.h
===
--- src/main.h  (Revision 312)
+++ src/main.h  (Arbeitskopie)
@@ -203,6 +203,7 @@
   const char *ifok, const char *iffallback);
 void clear_istobes(void);
 int isdirectoryinuse(struct filenamenode *namenode, struct pkginfo *pkg);
+int hasdirectoryconffiles(struct filenamenode *namenode, struct pkginfo *pkg);
 
 enum debugflags {
   dbg_general=   1,
Index: src/remove.c
===
--- src/remove.c(Revision 312)
+++ src/remove.c(Arbeitskopie)
@@ -240,7 +240,11 @@
  * package which uses it.  Other files should only be listed
  * in this package (but we don't check).
  */
-if (isdirectoryinuse(namenode,pkg)) continue;
+   if (hasdirectoryconffiles(namenode,pkg)) {
+ push_leftover(leftover,namenode);
+ continue;
+   }
+   if (isdirectoryinuse(namenode,pkg)) continue;
   }
   debug(dbg_eachfiledetail, removal_bulk removing `%s', fnvb.buf);
   if (!rmdir(fnvb.buf) || errno == ENOENT || errno == ELOOP) continue;
@@ -348,6 +352,10 @@
* package which uses it.  Other files should only be listed
* in this package (but we don't check).
*/
+  if (hasdirectoryconffiles(namenode,pkg)) {
+   push_leftover(leftover,namenode);
+   continue;
+  }
   if (isdirectoryinuse(namenode,pkg)) continue;
 }

Gruesse,
-- 
Frank Lichtenheld [EMAIL PROTECTED]
www: http://www.djpig.de/



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]