Inprogress patches for "dpkg-lsb" archive backend available.
Late last week there was a debate on the applicability of the LSB to Debian
on debian-devel if the RPM archive format was to be used. 
Wichert mentioned my dpkg-rpm patch to dpkg, and so Adam asked where the
patch was. Well here it is.
It's 'dpkg-lsb' not 'dpkg-rpm'. I don't want to make it trivially
possible for users to try installing .rpms on a system they were not built
or QA'ed for.
the --build, --feild, and --fsys-tarfile aren't in the perl
proof-of-concept implementation yet (--fsys-tarfile is waiting for an
example of secure temp dir creation in perl)
I have not completed the packaging of the additions yet because I want
comments on the functions first.
[More stuff is in the release notes that follow]
I have put some patches and a tarball up at
http://whimsyville.dyndns.org/publish/LSB-LCD/2001.05.14/ of my attempt to
get dpkg to "natively" handle the subset of lsb format packages.
Please let me know what you think!
1. Apply the patch in the root directory you have checked the head revision
(Mon May 14 11:20 EDT 2001) of dpkg out into.
2. untar the tarball from that same directory.
** The patch
is against mainline dpkg as of this morning (Mon May 14 11:20 EDT 2001)
includes a bunch of .cvsignore updates for my sanity's sake.
** The tarball
Contains one new file for the existing directories (lib/filehelpers.c)
Contains a proof of concept implementation of dpkg-lsb in perl in the
Contains a start of an implementation of dpkg-lsb in C in the dpkg-lsb-perl
* Incomplete packaging
I have completed the packaging of this new stuff yet because I want
comments on the implementation first.
Also, I ran into the 'binary' target in debian rules and cravenly decided
that fast is better that complete in this case. "make install" does work
* Alternate archive format backend support in dpkg
Dpkg architects take note!
I have extended dpkg to guess the archive format from the archive filename
argument. If the filename ends in .lsb then its assumed the dpkg-lsb
backend is relevant. This required distinguishing the dpkg-query backend
from the archive backends.
* perl implementation
In the interests of getting this done fast I hooked chunks of perl code
from the modules of alien. Thank you Joey!
This is the stuff that actually works. Except for the --build, --field, and
I used "Locale::gettext" liberally but don't have a clue how to do
alien's Makefile.pl is probably the way to go for installation in the
future, but I havn't taken the time to figure it out.
* C implementation
I got lost in the wilds of secure tmpdir creation while attempting to use
rpmlib and gave up on this implementation when I was seduced into rapid cut
and paste coding.
This may be the way to go in the longer term. Debate is welcomed.
Albert den Haan, Lead Developer @ Linux Port Team . Corel Corporation
firstname.lastname@example.org (613) 728-0826 x 5318