curl / Mailing Lists / curl-library / Single Mail
Buy commercial curl support. We help you work out your issues, debug your libcurl applications, use the API, port to new platforms, add new features and more. With a team lead by the curl founder Daniel himself.

Shipping wcurl in curl tarballs?

From: Samuel Henrique via curl-library <curl-library_at_lists.haxx.se>
Date: Sun, 9 Feb 2025 14:41:59 +0000

Hello everyone,

I would like to understand where you stand on the idea of shipping wcurl
bundled in the curl release tarball.

Ultimately, the goal is to get to a point where users don't need to wonder
whether wcurl is installed in their machines, if curl is installed, they should
assume wcurl is also there.

Distributors of curl can achieve this with a couple of ways, but I'll explain
why they are not ideal:

1) Bundle wcurl in curl at the distribution-level: This is what we do on
Debian, there's only a curl package and it comes with wcurl. The problem with
this is that it falls under a gray-area, as one could argue that wcurl should
be its own package. It also carries the risk of someone forgetting to update
the bundled copy, as it requires manual action (and remembering it).

2) Make the curl package depend on the wcurl package: Not strictly correct as
the rules for depending on a package are broken, curl does not have a
dependency on wcurl, strictly speaking. There's also a small overhead of the
packaging itself, speaking about file sizes. Since wcurl is just a 400 lines
script, the packaging overhead is big when compared to the size of wcurl.

Most distros are choosing to ship wcurl as its own package, but users are still
left with having to install it themselves, and at that point, they might as
well stick to wget (if it's installed already).

If the curl tarball came with a copy of wcurl, distros could easily install
that as part of the curl package and solve the issue, users would never again
have to wonder if it's installed or not (like we do on Debian).

Iff there's overall agreement on this, then we could discuss how to do it, but
here are a few alternatives:
* Add wcurl/wcurl.1 to the tarball as part of the scripts/maketgz script.
* Add wcurl/wcurl.1 to the curl git repo, either as a submodule, or a simple
  copy without git history.
* [Additionally] Have wcurl/wcurl.1 be installed by the install make target.

In all these cases, the wcurl repository would still be the place where we make
changes to wcurl, and wcurl would still have its own releases.

Regards,

-- 
Samuel Henrique <samueloph>
-- 
Unsubscribe: https://lists.haxx.se/mailman/listinfo/curl-library
Etiquette:   https://curl.se/mail/etiquette.html
Received on 2025-02-09