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

Bug#760473: Further analysis and a patch



Control: tags -1 - patch

Hi,

On Fri, Jan 30, 2015 at 11:01:08AM +0100, Weller wrote:
> Replacing the hashing methods with the ones provided by libnettle, which
> apt is already indirectly linked against via libcurl-gnutls resulted in a

apt does not link indirectly to libnettle nor to libcurl-gnutls.  The
optinal apt-transport-https does. That is a big difference for
bootstrappers as it means they can ignore -https for the time being
until the base system is up and running and can then be used to build
"proper" packages.


> In the process of finding the culprit I also replaced the http method
> with a new version using libcurl. Similiar to the https method. This
> change does not provide any measurable speed boost as of yet, as the
> whole process is still waiting for the hashing to complete. I attached
> the patch nonetheless as it removes a lot of redudant code.

Same problem. http is in apt directly as 99% of all mirrors are
http-only, so it is how you usually operate apt, -https is used by…
very few people/mirrors.


So, big thanks for the patch, but I have to pull the marker as we can't
apply it as is. What could be done maybe is dlopen libnettle (and/or
others if available) and use them and otherwise fallback to our own
slower but always available code. We could then Recommends libnettle and
make everyone happy, I guess… just, libnettle seems to be a bit too
unstable in its ABI, which is another problem with this patch ATM as
every ABI break in nettle means we are required to make one in
libapt-pkg, too, entangling use in their transition…
Caused by e.g.  SHA256Summation having a struct sha256_ctx member, which
could have a size change in a newer libnettle abi, so the size of
SHA256Summation would change, too (that could be avoided through via the
use of a d-pointer).


Best regards

David Kalnischkies

Attachment: signature.asc
Description: Digital signature


Reply to: