Bug#452273: dpkg-gencontrol: incorrect warning deb package with udeb specific field Installer-Menu-Item

2008-04-29 Thread Frans Pop
Sorry for the late reply.

On Tuesday 15 April 2008, Guillem Jover wrote:
 On Mon, 2008-01-14 at 19:29:58 +0100, Raphael Hertzog wrote:
  On Fri, 11 Jan 2008, Joey Hess wrote:
   Determining a file's type from its extension is weak and specific?

 I'd say generally, yes. But it also depends on the type of file.

I'd say determining the main type (debian package or not) by examining the 
contents or signature and then determining the subtype (deb or udeb) by 
extention should be perfectly fine.

  At that point it's ok I guess. But for example when dpkg-deb creates
  the package, it would be nice if it could just find out the right
  extension to use.

 There's also the checks and warnings dpkg-deb could do or issure on
 what is an acceptable udeb, in a similar way it's done right now with
 a deb.

Or lintian. But dpkg-deb could do that by getting a correct option passed 
(as is effectively done now) and lintian could do it by checking the file 
extention (surprise: also the way it's currently done).

  Guillem, what other use cases did you intend for Package-Type: udeb in
  the binary itself?

 In my mind udeb form a different distribution than normal deb, even if
 the udebs are currently built on a normal deb system. So normal users
 should not be able to (easily) mix them (w/o using a dpkg force option).

Correct. That's why they already have a completely separate Section:.

 The fact that we have to overload the package name to denote a udeb when
 there's a deb with the same name (libfoo-udeb), this is fine as a
 workaround but the XB-Package-Type field fixes that in a cleaner way,
 and would allow dak to be able to distinguish them nicely.

 This last point affects the dependency information, and the need for
 the additional Provides mapping to the non-udeb packages.

I actually prefer the separate names as it is absolutely not true that there 
is a one-on-one mapping from regular library packages to library udebs. For 
libc for example we have separate library udebs for lib-nss-* files, which 
the regular lib does not have. Therefore a separate handling of 
dependencies is required anyway which is helped by having different names.

 The current places (related to d-i) where this field appears or can end
 up, seems to be:

  * udeb: might contain the field inside the control.tar, compressed.
Size diff on a dummy package w/ and w/o the field is +- 10 bytes.
  * status: udpkg does not copy unknown fields there (P-T is unknown).

udpkg is not the only thing that creates the status file; it's partly 
generated during the build of D-I images.

  * Packages: contains the field, might end up uncompressed on disk.

 Given this, I propose a short-term space saving compromise. It seems
 redundant to include the field on Packages files which will only
 contain the same type (it might make sense to include those when
 mixing types, though). This would only leave the fields in the
 compressed control.tar inside the udeb. This would need fixes for
 dpkg-scanpackages and apt-ftparchive, I'd be fine preparing patches
 for both. Also apt-ftparchive from ftp-master would need an update,
 we could discuss that with the ftp-masters.

Why do you keep insisting that the field should be included inside the udeb? 
My opinion remains that we have no need or use for it there.

This seems like a really complex solution this short before the release of 
Lenny, requiring too many changes in too many places and the cooperation of 
too many people.

I could see such a solution being implemented post-Lenny, but for now it 
seems to me there is a much simpler solution: keep the current situation as 
it is with XC-Package-Type and don't include the Package-Type field 
anywhere.

 Longer term space saving benefits could come from making udeb a first
 class thing, and being able to remove all '-udeb' package name suffixes
 and matching Provides fields. But this and other things could be
 introduced incrementally as long as the fields are there.

This needs very serious discussion and should probably only be done in 
combination with a total revision of how udeb dependencies are expressed 
(as currently we cannot express all (versioned) interdependencies there 
actually are because it would interfere with the functioning of the 
installer, especially 

That discussion should be done at the start of a release cycle, and not at 
its end.

My impression is that you both have only a very limited understanding of how 
udebs are actually used and what limitations they bring with them. I don't 
in any way blame you for that, but it does mean that your proposals are 
somewhat out of touch with reality and, as mentioned before, the current 
time is _not_ the time to make major or even minor changes in something 
that basically just works.

Please: just fix the regression you introduced.

Cheers,
FJP


signature.asc
Description: This is a digitally signed message part.


Bug#452273: dpkg-gencontrol: incorrect warning deb package with udeb specific field Installer-Menu-Item

2008-04-14 Thread Guillem Jover
Hi,

On Mon, 2008-01-14 at 19:29:58 +0100, Raphael Hertzog wrote:
 On Fri, 11 Jan 2008, Joey Hess wrote:
  Determining a file's type from its extension is weak and specific?

I'd say generally, yes. But it also depends on the type of file.

  Tell that to /var/lib/dpkg/info/*.p*.

Those are just executables, exec(3) (or the kernel on most systems) will
decide if it can do anything useful with them given their signature.

  Tell that to everyone who has run dpkg -i *.deb and managed to not
  accidentially dpkg -i *.a (both ar files after all).

That's why the .deb files have a signature. I'd expect a bug report if
dpkg would manage to install a non-deb .a archive.

 At that point it's ok I guess. But for example when dpkg-deb creates the
 package, it would be nice if it could just find out the right extension to
 use.

There's also the checks and warnings dpkg-deb could do or issure on
what is an acceptable udeb, in a similar way it's done right now with
a deb.

 Since dpkg-deb only has a directory as parameter, it would be nice
 to have the Package-Type: in the DEBIAN/control file there.

Another possibility would be to add a new command line option to
dpkg-deb, but the problem with that is that it's not preserved
across unpack and repack.

 Guillem, what other use cases did you intend for Package-Type: udeb in the
 binary itself?

In my mind udeb form a different distribution than normal deb, even if
the udebs are currently built on a normal deb system. So normal users
should not be able to (easily) mix them (w/o using a dpkg force option).

The fact that we have to overload the package name to denote a udeb when
there's a deb with the same name (libfoo-udeb), this is fine as a
workaround but the XB-Package-Type field fixes that in a cleaner way,
and would allow dak to be able to distinguish them nicely.

This last point affects the dependency information, and the need for
the additional Provides mapping to the non-udeb packages.

 Would one of the above solutions be reasonable? Does it make sense to
 go that far just to be able to give the correct name automatically?

The current places (related to d-i) where this field appears or can end
up, seems to be:

 * udeb: might contain the field inside the control.tar, compressed.
   Size diff on a dummy package w/ and w/o the field is +- 10 bytes.
 * status: udpkg does not copy unknown fields there (P-T is unknown).
 * Packages: contains the field, might end up uncompressed on disk.

Given this, I propose a short-term space saving compromise. It seems
redundant to include the field on Packages files which will only
contain the same type (it might make sense to include those when
mixing types, though). This would only leave the fields in the
compressed control.tar inside the udeb. This would need fixes for
dpkg-scanpackages and apt-ftparchive, I'd be fine preparing patches
for both. Also apt-ftparchive from ftp-master would need an update,
we could discuss that with the ftp-masters.

Longer term space saving benefits could come from making udeb a first
class thing, and being able to remove all '-udeb' package name suffixes
and matching Provides fields. But this and other things could be
introduced incrementally as long as the fields are there.

  Um, all I got from your communication on this subject was that you would
  make it an official field, not that you would put it *in* the binary
  package.

--- Day changed Thu Jan 11 2007
01:01  braindmg joeyh: what was the rationale for having
  XC-Package-Type? I'd say it should be XB-
01:02  braindmg (also dak is not checking for it in the .changes, at
   least from this checkout from bzr)
01:04  joeyh braindmg: it's only used by debhelper
01:04  braindmg yeah I saw now that it understands X[BC]
01:06  joeyh or without the X- in svn
01:07  braindmg I'm thinking that if dpkg-dev starts understanding
  P-T it should better do something useful with that,
  and produce proper .udebs, but I'd have to check how
  debhelper will cope with that

regards,
guillem




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



Bug#452273: dpkg-gencontrol: incorrect warning deb package with udeb specific field Installer-Menu-Item

2008-04-12 Thread Frans Pop
Now that the dust around the major changes in dpkg has settled a bit, I hope
that you can find time to take another look at this issue.

The blocking issue for us (D-I team) at this point for switching from
XC-Package-Type: udeb to Package-Type: udeb is that it increases the size of
the control file.

Just as an indication of how serious we take the memory usage of the
installer, I can give you this example. For Etch the installer required a
minimum of 72 MB to complete an installation with all translations enabled
and 32 MB for a bare minimum install on i386. For Lenny we have implemented
various changes to reduce memory usage and this has been reduced to 42 MB
(probably even less now, but that needs testing) and 28 MB, despite the
fact that we've also increased the total functionality of the installer and
that the kernel and libraries in general have increased in size.

Sure, we can gain memory in other places too (and we have in the mean time
reduced the long descriptions of some udebs), but we do absolutely try to
avoid increasing memory use when not needed and we would appreciate if you
took our concerns with regard to that seriously.

I have just taken another look at the issue and below is a patch that could
possibly solve the issue. It suppresses the inclusion of Package-Type for
the control file, just as was already done for Homepage.
I'm not sure if that is an acceptable solution, or that this will interfere
with dh_builddeb (or rather dpkg-deb) later. AFAICT it does not, but please
check.

Note that we still consider this a serious regression and that if this mail
does not result in a resolution, or at least an acknowledgement of our
concerns and serious effort towards a resolution, I intend to escalate the
issue to the Technical Committee.

Cheers,
FJP

$ diff -u /usr/bin/dpkg-gencontrol dpkg-gencontrol
--- /usr/bin/dpkg-gencontrol2008-04-12 14:52:05.0 +0200
+++ dpkg-gencontrol 2008-04-12 14:51:59.0 +0200
@@ -269,6 +269,7 @@

 if ($package_type eq 'udeb') {
 delete $fields-{'Homepage'};
+delete $fields-{'Package-Type'};
 } else {
 for my $f (qw(Subarchitecture Kernel-Version Installer-Menu-Item)) {
 warning(_g(%s package with udeb specific field %s), $package_type, 
$f)


signature.asc
Description: This is a digitally signed message part.


Bug#452273: dpkg-gencontrol: incorrect warning deb package with udeb specific field Installer-Menu-Item

2008-01-11 Thread Guillem Jover
On Fri, 2008-01-11 at 01:24:33 +0100, Frans Pop wrote:
 On Friday 11 January 2008, you wrote:
  Joey, I don't think that that the Package-Type field ending up in the
  binary package can be qualified as bloat given that except the filename
  and the origin of the file, udeb can't be identified as such.
 
 I'm sorry, but I agree with Joey.
 There is absolutely no reason why we need the package type in the control 
 file for udebs. They are already 100% identifyable by both section and 
 extention.

Well then there's also the argument that there's no point in having it
in the source control either, it could be inferred from the section.
But those seem quite weak and specific ways to do so.

Anyway, I don't think that'd be clean, and we might want to use that
field for other package types in the future (translation debs, or
debugging debs come to mind).

 The way this was implemented basically just ignores the only current 
 official user of the package type field,

I mentioned I'd implement it that way one year ago (or so) on #d-b,
and no one seemed to oppose, and I requested comments on the patch
implementing this again on #d-b few days before committing. That does
not mean that decision could not be changed, but I don't see a good
reason to do so, the current implementation seems cleaner anyway.

 and is thus not policy compliant.

The initial udeb support seems to have been implemented and deployed
in an ad-hoc way, overriding[0] dpkg, which is perfectly fine, as
that's how a lot of things are implemented and deployed in Debian.

But I'd not go as far as calling that policy.

regards,
guillem

[0] I'm not sure this strictly expresses the meaning I've in mind,
though.




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



Bug#452273: dpkg-gencontrol: incorrect warning deb package with udeb specific field Installer-Menu-Item

2008-01-11 Thread Guillem Jover
On Fri, 2008-01-11 at 12:29:40 -0500, Joey Hess wrote:
 Your continual closusre of this bug report

Sorry, but the closure was not intentional, just what was on the
Reply-To, and didn't see Frans reopen until later. Also notice you
also replyed with the -done CCed.

 and refusal to listen to us is becoming very annoying.

I don't think I'm refusing to listen, but it seems that to listen
implies doing as you guys please. I just wanted a convincing argument.
But this is getting non-constructive, and at some point I might just
give up and not care at all. :/

regards,
guillem




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



Bug#452273: dpkg-gencontrol: incorrect warning deb package with udeb specific field Installer-Menu-Item

2008-01-11 Thread Joey Hess
Guillem Jover wrote:
 Well then there's also the argument that there's no point in having it
 in the source control either, it could be inferred from the section.
 But those seem quite weak and specific ways to do so.

Determining a file's type from its extension is weak and specific?
Tell that to /var/lib/dpkg/info/*.p*. Tell that to everyone who has run 
dpkg -i *.deb and managed to not accidentially dpkg -i *.a (both ar files
after all).

 Anyway, I don't think that'd be clean, and we might want to use that
 field for other package types in the future (translation debs, or
 debugging debs come to mind).

You're designing for use cases that are not yet clear, and ignoring the
current use case.

 I mentioned I'd implement it that way one year ago (or so) on #d-b,

Um, all I got from your communication on this subject was that you would
make it an official field, not that you would put it *in* the binary
package.

 and no one seemed to oppose, and I requested comments on the patch
 implementing this again on #d-b few days before committing. That does
 not mean that decision could not be changed, but I don't see a good
 reason to do so, the current implementation seems cleaner anyway.

If you cared so much about our opinion that you requested comments twice
before, why are you continually ignoring our opinion now, and
continually re-closing this bug report?

-- 
see shy jo


signature.asc
Description: Digital signature


Processed: Re: Bug#452273: dpkg-gencontrol: incorrect warning deb package with udeb specific field Installer-Menu-Item

2008-01-11 Thread Debian Bug Tracking System
Processing commands for [EMAIL PROTECTED]:

 # Reopening as Joey closed it accidentally by using reply-to-all.
 reopen 452273
Bug#452273: dpkg-gencontrol: incorrect warning deb package with udeb specific 
field Installer-Menu-Item
Bug reopened, originator not changed.


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#452273: dpkg-gencontrol: incorrect warning deb package with udeb specific field Installer-Menu-Item

2008-01-11 Thread Joey Hess
Guillem Jover wrote:
 There's 278 udebs in the current main Packages file. Each Package-Type
 field takes 19 bytes, so 5282 bytes of bloat. In comparison the
 Description field takes 49416 bytes. If you are really concerned about
 bloat, maybe you could trim those down instead.

We are constantly trimming udeb descriptions.

However, unlike this useless new field, udeb descriptions do have value
-- they are displayed to the user.


Your continual closusre of this bug report and refusal to listen to us
is becoming very annoying.

-- 
see shy jo


signature.asc
Description: Digital signature


Bug#452273: dpkg-gencontrol: incorrect warning deb package with udeb specific field Installer-Menu-Item

2008-01-11 Thread Frans Pop
On Friday 11 January 2008, Joey Hess wrote:
 Your continual closusre of this bug report [...]

That's not correct. I'm afraid you closed it yourself the last time by using 
reply-to-all and thus including -done. Guillem only replied to your reply 
and probably also didn't notice -done was still in the address list.

Anyway, I've reopened the BR again.

Cheers,
Frans


signature.asc
Description: This is a digitally signed message part.


Bug#452273: dpkg-gencontrol: incorrect warning deb package with udeb specific field Installer-Menu-Item

2008-01-10 Thread Frans Pop
reopen 452273
thanks

On Friday 11 January 2008, you wrote:
 Given the rationale, I'm closing this bug.

 Joey, I don't think that that the Package-Type field ending up in the
 binary package can be qualified as bloat given that except the filename
 and the origin of the file, udeb can't be identified as such.

I'm sorry, but I agree with Joey.
There is absolutely no reason why we need the package type in the control 
file for udebs. They are already 100% identifyable by both section and 
extention.

The way this was implemented basically just ignores the only current 
official user of the package type field, and is thus not policy compliant.

From the PoV of the D-I team this is a real bug that needs to be fixed.

Cheers,
FJP





Bug#452273: dpkg-gencontrol: incorrect warning deb package with udeb specific field Installer-Menu-Item

2007-11-21 Thread Frans Pop
Package: dpkg-dev
Version: 1.14.9
Severity: normal
Tags: d-i

During a build of debian-installer-utils, I got the following warnings:
dh_gencontrol -i
dpkg-gencontrol: warning: deb package with udeb specific field 
Installer-Menu-Item
dpkg-gencontrol: warning: deb package with udeb specific field 
Installer-Menu-Item
dpkg-gencontrol: warning: deb package with udeb specific field 
Installer-Menu-Item

However, debian-installer-utils does not contain _any_ deb packages,
only udebs. So the warning is clearly incorrect.

The cause may be that the header saying they are a udeb is in the
control file _after_ the header listing the menu item. The code should
probably allow for that.

Example of the control fields for one of the udebs:
Package: di-utils-shell
Architecture: all
Depends: ${misc:Depends}, di-utils (= 1.18)
XB-Installer-Menu-Item: 95000
Description: Execute a shell
XC-Package-Type: udeb

-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.24-rc3 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages dpkg-dev depends on:
ii  binutils2.18.1~cvs20071027-1 The GNU assembler, linker and bina
ii  cpio2.9-6GNU cpio -- a program to manage ar
ii  dpkg1.14.9   package maintenance system for Deb
ii  make3.81-3   The GNU version of the make util
ii  patch   2.5.9-4  Apply a diff file to an original
ii  perl [perl5]5.8.8-12 Larry Wall's Practical Extraction 
ii  perl-modules5.8.8-12 Core Perl modules

Versions of packages dpkg-dev recommends:
ii  bzip2 1.0.3-7high-quality block-sorting file co
ii  gcc [c-compiler]  4:4.2.1-6  The GNU C compiler
ii  gcc-4.1 [c-compiler]  4.1.2-17   The GNU C compiler
ii  gcc-4.2 [c-compiler]  4.2.2-3The GNU C compiler

-- no debconf information




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



Bug#452273: dpkg-gencontrol: incorrect warning deb package with udeb specific field Installer-Menu-Item

2007-11-21 Thread Frans Pop
On Wednesday 21 November 2007, Frans Pop wrote:
 Should we start converting to use Package-Type?

Note that doing so now would _add_ the Package-Type header in control files, 
which I do not think is desired.




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



Bug#452273: dpkg-gencontrol: incorrect warning deb package with udeb specific field Installer-Menu-Item

2007-11-21 Thread Frans Pop
The actual problem seems to be that XC-Package-Type is not included in %f.
Maybe because of the XC- prefix?

From a debugging session:
%f = (
   'Architecture' = 'all'
   'Depends' = 'cdebconf-udeb, di-utils (= 1.18)'
   'Description' = 'Execute a shell'
   'Installer-Menu-Item' = 95000
   'Maintainer' = 'Debian Install System Team [EMAIL PROTECTED]'
   'Package' = 'di-utils-shell'
   'Priority' = 'standard'
   'Section' = 'debian-installer'
   'Version' = 1.50
)

Note that almost all udebs currently have XC-Package-Type as header
instead of Package-Type, so supporting that would be very much
appreciated.
Should we start converting to use Package-Type?





Bug#452273: dpkg-gencontrol: incorrect warning deb package with udeb specific field Installer-Menu-Item

2007-11-21 Thread Guillem Jover
Hi,

On Wed, 2007-11-21 at 17:10:39 +0100, Frans Pop wrote:
 The actual problem seems to be that XC-Package-Type is not included in %f.
 Maybe because of the XC- prefix?
 
 From a debugging session:
 %f = (
'Architecture' = 'all'
'Depends' = 'cdebconf-udeb, di-utils (= 1.18)'
'Description' = 'Execute a shell'
'Installer-Menu-Item' = 95000
'Maintainer' = 'Debian Install System Team [EMAIL PROTECTED]'
'Package' = 'di-utils-shell'
'Priority' = 'standard'
'Section' = 'debian-installer'
'Version' = 1.50
 )
 
 Note that almost all udebs currently have XC-Package-Type as header
 instead of Package-Type, so supporting that would be very much
 appreciated.

It's not included and has never been, because only the ones with B are.
But now it's explicit given that dpkg-gencontrol supports the
field. Package-Type should have been XB- from the beginning. That
information is pertinent to the binary package and not to the changes
file. Also this way dpkg-deb will be able to automatically select the
correct extension, for example. So if there's no other argument I'll
close the bug report tomorrow or so.

Note that apart from the warning the current udebs should build as
before.

 Should we start converting to use Package-Type?

Sure.

regards,
guillem




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



Bug#452273: dpkg-gencontrol: incorrect warning deb package with udeb specific field Installer-Menu-Item

2007-11-21 Thread Joey Hess
Guillem Jover wrote:
 It's not included and has never been, because only the ones with B are.
 But now it's explicit given that dpkg-gencontrol supports the
 field. Package-Type should have been XB- from the beginning. That
 information is pertinent to the binary package and not to the changes
 file.

No, there is no reason to bloat udebs with this infrormation. This
information is only used when building udebs.

-- 
see shy jo


signature.asc
Description: Digital signature