View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0005084||GNUnet||other||public||2017-06-16 14:21||2022-09-26 20:54|
|Priority||high||Severity||feature||Reproducibility||have not tried|
|Product Version||Git master|
|Target Version||0.17.6||Fixed in Version||0.17.6|
|Summary||0005084: Make gnURL obsolete.|
|Description||Christian 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?
|Tags||No tags attached.|
|related to||0005131||closed||Christian Grothoff||look into GNU wget2 as a successor to our dependency on gnURL|
||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.|
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.
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?
Here is the discussion with the cURL people: https://github.com/curl/curl/issues/349 --- so we did make it onto their TODO list:
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.
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.
||I also recentrly triggered wget2 again: https://gitlab.com/gnuwget/wget2/-/issues/550|
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
|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|