View Issue Details

IDProjectCategoryView StatusLast Update
0005084GNUnetotherpublic2022-09-26 20:54
Reporternikita Assigned Toschanzen  
PriorityhighSeverityfeatureReproducibilityhave not tried
Status closedResolutionfixed 
Product VersionGit master 
Target Version0.17.6Fixed in Version0.17.6 
Summary0005084: Make gnURL obsolete.
DescriptionChristian told me that there are steps which could be done so that gnURL becomes unnecessary for all things GNUnet.

Could you share what needs to be done so that someone can pick it up?
TagsNo tags attached.

Relationships

related to 0005131 closedChristian Grothoff look into GNU wget2 as a successor to our dependency on gnURL 

Activities

nikita

2017-06-16 14:23

developer   ~0012254

My motivation: Even with some automation I spent about 0.5 - 2.5 hours on a release of gnURL depending on what cURL changed and introduced.

Christian Grothoff

2017-06-16 22:20

manager   ~0012255

Well, it'll take a bit more than 2h to obsolete gnURL.

Basically, what it would take is to modify libcurl (!) to use dlopen to load all of its supported protocols and SSL libraries as plugins. That way, each of curls dependencies would be only required by the respective plugin, and an application would only link/load those plugins (and dependencies) it actually needs.

Daniel seemed open to this idea and thus is likely to merge such a patch, but this would be a MAJOR refactoring of the libcurl code. Not for the faint of heart.

nikita

2017-06-17 00:15

developer   ~0012256

Last edited: 2017-06-17 00:15

Okay, so I'd say it's easier to open this as a ticket at github.com/curl/curl and see how this works out. It's difficult to address problems and new features when I am really just patching and have no substantial view inside your mind ;)

Or does this discussion already exist somewhere with some outcome?

Christian Grothoff

2017-09-27 11:40

manager   ~0012446

Here is the discussion with the cURL people: https://github.com/curl/curl/issues/349 --- so we did make it onto their TODO list:

https://github.com/jgsogo/curl/commit/a60d994eb8fb4cabd627c44f4166a54aee81d725

schanzen

2021-03-03 18:45

administrator   ~0017583

Upgrading urgency as maintainer now inactive and we still recommend use of gnurl for gnunet.
We need to either revert to curl as-is or find/maintain gnurl.

Christian Grothoff

2021-03-03 18:52

manager   ~0017585

Last I checked, libwget2 was still very far away from being able to support an event loop.
OTOH, the original conflicting dependency linker issues have also disappeared and are (AFAIK) not an issue with current libcurl.
The real fix, deploying plugins with libcurl, has also never been done.

So: we surely could abandon gnurl reasonably safely, at the expense of a significant increase in our (dead) dependency footprint. I don't see anyone stepping up to making libcurl pluggable, and also don't expect libwget2 to 'soon' be an adequate replacement for curl/gnurl. So the footprint increase might be a bullet we need to bite without nikita's maintainership.

schanzen

2021-03-03 18:58

administrator   ~0017586

I also recentrly triggered wget2 again: https://gitlab.com/gnuwget/wget2/-/issues/550

schanzen

2022-09-10 15:29

administrator   ~0019114

gnurl is no longer checked for.
We currently only need curl with gnutls or openssl.
For wget, we may want to eventually open another issue

Issue History

Date Modified Username Field Change
2017-06-16 14:21 nikita New Issue
2017-06-16 14:22 nikita Assigned To => Christian Grothoff
2017-06-16 14:22 nikita Status new => assigned
2017-06-16 14:23 nikita Note Added: 0012254
2017-06-16 22:20 Christian Grothoff Note Added: 0012255
2017-06-17 00:15 nikita Note Added: 0012256
2017-06-17 00:15 nikita Note Edited: 0012256
2017-09-26 22:57 Christian Grothoff Relationship added related to 0005131
2017-09-27 11:40 Christian Grothoff Assigned To Christian Grothoff =>
2017-09-27 11:40 Christian Grothoff Severity minor => feature
2017-09-27 11:40 Christian Grothoff Status assigned => confirmed
2017-09-27 11:40 Christian Grothoff Product Version => Git master
2017-09-27 11:40 Christian Grothoff Note Added: 0012446
2017-10-09 23:24 nikita Priority normal => low
2021-03-03 18:44 schanzen Priority low => high
2021-03-03 18:44 schanzen Assigned To => Christian Grothoff
2021-03-03 18:44 schanzen Status confirmed => assigned
2021-03-03 18:45 schanzen Note Added: 0017583
2021-03-03 18:52 Christian Grothoff Note Added: 0017585
2021-03-03 18:58 schanzen Note Added: 0017586
2021-03-03 19:23 schanzen Assigned To Christian Grothoff => schanzen
2022-02-26 23:13 schanzen Target Version => 1.0.0
2022-09-10 15:29 schanzen Status assigned => resolved
2022-09-10 15:29 schanzen Resolution open => fixed
2022-09-10 15:29 schanzen Fixed in Version => 0.17.6
2022-09-10 15:29 schanzen Note Added: 0019114
2022-09-10 15:29 schanzen Target Version 1.0.0 => 0.17.6
2022-09-26 20:54 Christian Grothoff Status resolved => closed