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

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. [1]
http://lists.debian.org/debian-devel-0105/msg00662.html

Wichert mentioned my dpkg-rpm patch to dpkg, and so Adam asked where the
patch was.  Well here it is.  

Caveats:
	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!

	
Albert.

[1]



RELEASE NOTES:

* installation

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
dpkg-lsb-perl directory

Contains a start of an implementation of dpkg-lsb in C in the dpkg-lsb-perl
directory


* 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
however :)


* 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
--fsys-tarfile operations.

I used "Locale::gettext" liberally but don't have a clue how to do
localization ;).

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
albertd@corel.com  (613) 728-0826 x 5318



Reply to: