More information about dpkg 1.4.1.4
Hello,
Just in case you are wondering, I'll describe shortly the things I noticed:
Dpkg uses a complicated error handling routine (damn, I like C++ exceptions
for their clearness). A function can register cleanup functions which will
be called. Several states are possible (normal tidy, blowout etc). At least
this is what I "understood".
Somehow, dpkg is confused in 1.4.1.4. Maybe it does not call the right
function, maybe the upclean procedures are messed uo (or the registration
procedure).
The exit code I saw is defined in ./lib/mlib.c:
static void cu_m_fork (int argc, void **argv)
{
/* Don't do the other cleanups; they'll be done by the parent
process. */
exit (EXIT_FAILURE);
}
Well, I'll not try to guess what is happening here, but I think dpkg-deb
should have done its own cleanup. At least init_prepare() in dpkg-deb/main.c
registers a cu_init_prepare() to be called at cleanup.
Well, I think.
Maybe it is completely different. I'm sorry for the inconvenience, but
I'm not a good programmer, and dpkg is truely not my hat size.
Damn, the success was so near. I still have most of dpkg going on the Hurd.
If someone of the more experienced people can do something about the above
problem, we could probably use it. Otherwise we have to try 1.4.0.24. Other
problems are waiting there.
Marcus
--
"Rhubarb is no Egyptian god." Debian GNU/Linux finger brinkmd@
Marcus Brinkmann http://www.debian.org master.debian.org
Marcus.Brinkmann@ruhr-uni-bochum.de for public PGP Key
http://homepage.ruhr-uni-bochum.de/Marcus.Brinkmann/ PGP Key ID 36E7CD09
--
To UNSUBSCRIBE, email to debian-hurd-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Reply to: