[LEDE-DEV] prereq-mk: Change wget dependency to curl one.

Message ID 20180309180547.3848-1-rosenp@gmail.com
State Rejected
Headers show
Series
  • [LEDE-DEV] prereq-mk: Change wget dependency to curl one.
Related show

Commit Message

Rosen Penev March 9, 2018, 6:05 p.m.
curl is more common than GNU wget is. For example, Cygwin, Arch Linux, and my android phone all come with curl by default whereas wget is missing.

Also, scripts/download.pl attempts to use curl before falling back to wget.

This has been tested on a brand new install of Arch Linux.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
 include/prereq-build.mk | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Bjørn Mork March 10, 2018, 11:31 a.m. | #1
Rosen Penev <rosenp@gmail.com> writes:

> curl is more common than GNU wget is.

No.

> For example, Cygwin, Arch Linux, and my android phone all come with
> curl by default whereas wget is missing.

wget has priority "important" in Debian, while curl is "optional".

I don't think it makes much sense to tune the installation system for
some weird distros no one actually use to build OpenWrt.



Bjørn
Rosen Penev March 10, 2018, 6:03 p.m. | #2
On Sat, Mar 10, 2018 at 3:31 AM, Bjørn Mork <bjorn@mork.no> wrote:
> Rosen Penev <rosenp@gmail.com> writes:
>
>> curl is more common than GNU wget is.
>
> No.
Yes.
>
>> For example, Cygwin, Arch Linux, and my android phone all come with
>> curl by default whereas wget is missing.
>
> wget has priority "important" in Debian, while curl is "optional".
>
> I don't think it makes much sense to tune the installation system for
> some weird distros no one actually use to build OpenWrt.
Arch Linux is what I use to build OpenWrt.

I've already made my case that curl is more common. The only issue
would be if this commit would impact Debian or Ubuntu since they seem
to be more common for building.
>
>
>
> Bjørn
Stijn Segers March 10, 2018, 6:13 p.m. | #3
Op za, 10 mrt 2018 om 7:03 , schreef Rosen Penev <rosenp@gmail.com>:
> On Sat, Mar 10, 2018 at 3:31 AM, Bjørn Mork <bjorn@mork.no> wrote:
>>  Rosen Penev <rosenp@gmail.com> writes:
>> 
>>>  curl is more common than GNU wget is.
>> 
>>  No.
> Yes.
>> 
>>>  For example, Cygwin, Arch Linux, and my android phone all come with
>>>  curl by default whereas wget is missing.
>> 
>>  wget has priority "important" in Debian, while curl is "optional".
>> 
>>  I don't think it makes much sense to tune the installation system 
>> for
>>  some weird distros no one actually use to build OpenWrt.
> Arch Linux is what I use to build OpenWrt.

Arch users might catch the edge cases (notably the bleeding edge ones). 
Debian based
systems tend to be more widespread than Arch ones, and running one or 
the other does
not imply a more skilled user either way. Our wiki buildroot 
instructions seem to
assume/favour a Debian-based system (that of course heavily depends on 
who wrote the
entry) [1].

Distro/package management preferences aside, curl isn't mentioned at 
all on the buildroot
wiki page. Wget is suggested as the tool of preference on *all* build 
platforms there
(including Arch Linux).

Look at the wider distro landscape: wget seems to be more prevalent. 
The Arch way isn't
always the best way...

Also: this has been brought up last year as well if I recall correctly. 
Same arguments
were fielded.

Stijn

> 
> 
> I've already made my case that curl is more common. The only issue
> would be if this commit would impact Debian or Ubuntu since they seem
> to be more common for building.
>> 
>> 
>> 
>>  Bjørn
> 
> _______________________________________________
> Lede-dev mailing list
> Lede-dev@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/lede-dev

[1]	https://wiki.openwrt.org/doc/howto/buildroot.exigence
Bjørn Mork March 10, 2018, 6:32 p.m. | #4
Rosen Penev <rosenp@gmail.com> writes:
> On Sat, Mar 10, 2018 at 3:31 AM, Bjørn Mork <bjorn@mork.no> wrote:
>> Rosen Penev <rosenp@gmail.com> writes:
>>
>>> curl is more common than GNU wget is.
>>
>> No.
> Yes.

How about throwing in an actual argument why you think it is?  Or why it
makes curl a better choice than e.g. firefox, which also is quite
popular on the example systems you've mentioned.

>>> For example, Cygwin, Arch Linux, and my android phone all come with
>>> curl by default whereas wget is missing.
>>
>> wget has priority "important" in Debian, while curl is "optional".
>>
>> I don't think it makes much sense to tune the installation system for
>> some weird distros no one actually use to build OpenWrt.
> Arch Linux is what I use to build OpenWrt.

OK, one user then.

> I've already made my case that curl is more common.

No you have not.  You have made an unsubstantiated claim. Please fix
the Arch Linux defaults instead if this is a problem for you.


Bjørn
Michelle Sullivan March 10, 2018, 11:11 p.m. | #5
I'm going to wade in here as an 'outsider' as it were... and +1 to wget.

Bjørn Mork wrote:
> Rosen Penev <rosenp@gmail.com> writes:
>> On Sat, Mar 10, 2018 at 3:31 AM, Bjørn Mork <bjorn@mork.no> wrote:
>>> Rosen Penev <rosenp@gmail.com> writes:
>>>
>>>> curl is more common than GNU wget is.
>>> No.
>> Yes.

That shouldn't matter either way - both are available.

> How about throwing in an actual argument why you think it is?  Or why it
> makes curl a better choice than e.g. firefox, which also is quite
> popular on the example systems you've mentioned.

100% valid point... how about lynx instead? :P

>>>> For example, Cygwin, Arch Linux, and my android phone all come with
>>>> curl by default whereas wget is missing.
>>> wget has priority "important" in Debian, while curl is "optional".
>>>
>>> I don't think it makes much sense to tune the installation system for
>>> some weird distros no one actually use to build OpenWrt.
>> Arch Linux is what I use to build OpenWrt.
> OK, one user then.

:)

>> I've already made my case that curl is more common.
> No you have not.  You have made an unsubstantiated claim. Please fix
> the Arch Linux defaults instead if this is a problem for you.
>

As someone that still has a Slackware 1.0 disk I've been around for a 
while.  Most of my systems are BSD based now so I have 'fetch' which has 
a functionality similar to wget, the non BSD based stuff is debian and 
centos (the latter of which I'm trying to dump with a vengeance.)  I 
also install wget (not curl) where I need something extra mainly because 
of the default dependency list and that implies a lighter weight.  
Personally I like fetch and wget because you drop the command and url 
and you get a file, curl you have to switch or pipe to get a file... 
just laziness for me.  Both are as good as each other in the long run, 
but I do believe unless there is any compelling reason why like security 
issues or something available using curl that is not available in wget - 
*that is required for building* - leave it the hell alone!

Regards,

Michelle
Alberto Bursi March 11, 2018, 11:32 a.m. | #6
On 3/10/2018 7:13 PM, Stijn Segers wrote:
>
> Op za, 10 mrt 2018 om 7:03 , schreef Rosen Penev <rosenp@gmail.com>:
>> On Sat, Mar 10, 2018 at 3:31 AM, Bjørn Mork <bjorn@mork.no> wrote:
>>>  Rosen Penev <rosenp@gmail.com> writes:
>>>
>>>>  curl is more common than GNU wget is.
>>>
>>>  No.
>> Yes.
>>>
>>>>  For example, Cygwin, Arch Linux, and my android phone all come with
>>>>  curl by default whereas wget is missing.
>>>
>>>  wget has priority "important" in Debian, while curl is "optional".
>>>
>>>  I don't think it makes much sense to tune the installation system for
>>>  some weird distros no one actually use to build OpenWrt.
>> Arch Linux is what I use to build OpenWrt.
>
> Arch users might catch the edge cases (notably the bleeding edge 
> ones). Debian based
> systems tend to be more widespread than Arch ones, and running one or 
> the other does
> not imply a more skilled user either way. Our wiki buildroot 
> instructions seem to
> assume/favour a Debian-based system (that of course heavily depends on 
> who wrote the
> entry) [1].
> ...
> [1] https://wiki.openwrt.org/doc/howto/buildroot.exigence
>

That's the old (archived, read-only) wiki link.

The new wiki article has no such favoring to Debian/buntu, and if you 
scroll down (in both articles actually) you find a list of CLI commands 
to install needed packages for most common distros. [1]
In the Arch one there is also wget in the list of packages to 
download/install, so if the Arch user is following the documentation he 
should have wget in his system.

[1] 
https://openwrt.org/docs/guide-developer/build-system/install-buildsystem


-Alberto

Patch

diff --git a/include/prereq-build.mk b/include/prereq-build.mk
index 6a423d2c7d..609c4dc88e 100644
--- a/include/prereq-build.mk
+++ b/include/prereq-build.mk
@@ -136,8 +136,8 @@  $(eval $(call SetupHostCommand,unzip,Please install 'unzip', \
 $(eval $(call SetupHostCommand,bzip2,Please install 'bzip2', \
 	bzip2 --version </dev/null))
 
-$(eval $(call SetupHostCommand,wget,Please install GNU 'wget', \
-	wget --version | grep GNU))
+$(eval $(call SetupHostCommand,curl,Please install "curl", \
+	curl --version | grep curl))
 
 $(eval $(call SetupHostCommand,perl,Please install Perl 5.x, \
 	perl --version | grep "perl.*v5"))
@@ -163,3 +163,4 @@  prereq: $(STAGING_DIR_HOST)/bin/mkhash
 $(eval $(call TestHostCommand,ldconfig-stub,Failed to install stub, \
 	touch $(STAGING_DIR_HOST)/bin/ldconfig && \
 	chmod +x $(STAGING_DIR_HOST)/bin/ldconfig))
+