[ITP] wget2 - modern fast parallel file and recursive website downloader

Brian Inglis Brian.Inglis@SystematicSw.ab.ca
Fri Jul 10 01:38:12 GMT 2020


On 2020-07-09 12:50, Yaakov Selkowitz wrote:
> On Thu, 2020-07-09 at 20:27 +0200, Marco Atzeri via Cygwin-apps wrote:
>> On 08.07.2020 22:28, Brian Inglis wrote:
>>> On 2020-07-08 14:05, Brian Inglis wrote:
>>>> wget2 is the successor of wget supplying a shared library API like curl to build
>>>> a modern, fast, multi-threaded, parallel downloader using HTTP/2, HTTP
>>>> compression and If-Modified-Since headers; see
>>>>
>>>> 	https://gitlab.com/gnuwget/wget2
>>>>
>>>> It is currently available on Arch, Debian/Ubuntu, openSUSE, Slackware:
>>>> see
>>>> 	https://pkgs.org/download/wget2
>>>>
>>>> I could release the package as is with an exe and dll, but it should be built as
>>>> separate bin, lib, devel, doc, and debuginfo packages, which I have never done
>>>> before, so could do with some advice and assistance with the apporach required,
>>>> which I based on curl, but that requires no script function overrides, and I
>>>> believe this one may or I need some hints.
>>>>
>>>> I have attached my base wget2.cygport which builds one monolithic package but
>>>> contains comments for subpackage variables, plus comments showing other files
>>>> which I think should be included in the subpackages, and both references to
>>>> their locations in subpkg_CONTENTS and alterbative src_install script actions if
>>>> cygport will not move the contents into the appropriate install directory.
>>>
>>> Forgot to explain I also produced a summary of the files generated and/or
>>> available for packaging under the triplet directory in manifest.list to my
>>> previous email.
>>>
>>>> I also need to understand how cyg...dll package numbering should work with this
>>>> package: base zero or one and include or exclude the 2: libwget0, libwget1,
>>>> libwget2_0, or libwget2_1, and how to get that generated?
>>>>
>>>> Any advice, assistance, help, or hints from more experienced packagers would be
>>>> welcome.
>>>>
>>>> I can also update and release what may be the last patched version of the
>>>> original wget 1.20.3 (currently 1.19.1) if Eric has no time, or ITA wget if he
>>>> agrees.
>>>>
>>>> I could also ITA curl from Yaakov as I use that and wget a lot in scripts and
>>>> cron jobs.
>>
>> My suggestion:
>>
>> this in libwget2_0 (per consistency) or libwget0
>>
>> /usr/bin/cygwget-0.dll
> 
> libwget0, based on the library name.
> 
>> these in wget2
>>
>> /usr/bin/wget2.exe
>> /usr/share/doc/wget2/AUTHORS
>> /usr/share/doc/wget2/COPYING
>> /usr/share/doc/wget2/ChangeLog
>> /usr/share/doc/wget2/NEWS
>> /usr/share/doc/wget2/README
>> /usr/share/locale/ca/LC_MESSAGES/wget2.mo
>> /usr/share/locale/cs/LC_MESSAGES/wget2.mo
>> /usr/share/locale/de/LC_MESSAGES/wget2.mo
>> /usr/share/locale/eo/LC_MESSAGES/wget2.mo
>> /usr/share/locale/es/LC_MESSAGES/wget2.mo
>> /usr/share/locale/et/LC_MESSAGES/wget2.mo
>> /usr/share/locale/fi/LC_MESSAGES/wget2.mo
>> /usr/share/locale/fr/LC_MESSAGES/wget2.mo
>> /usr/share/locale/ga/LC_MESSAGES/wget2.mo
>> /usr/share/locale/hr/LC_MESSAGES/wget2.mo
>> /usr/share/locale/hu/LC_MESSAGES/wget2.mo
>> /usr/share/locale/id/LC_MESSAGES/wget2.mo
>> /usr/share/locale/it/LC_MESSAGES/wget2.mo
>> /usr/share/locale/ja/LC_MESSAGES/wget2.mo
>> /usr/share/locale/nb/LC_MESSAGES/wget2.mo
>> /usr/share/locale/nl/LC_MESSAGES/wget2.mo
>> /usr/share/locale/pl/LC_MESSAGES/wget2.mo
>> /usr/share/locale/pt_BR/LC_MESSAGES/wget2.mo
>> /usr/share/locale/ru/LC_MESSAGES/wget2.mo
>> /usr/share/locale/sk/LC_MESSAGES/wget2.mo
>> /usr/share/locale/sr/LC_MESSAGES/wget2.mo
>> /usr/share/locale/sv/LC_MESSAGES/wget2.mo
>> /usr/share/locale/tr/LC_MESSAGES/wget2.mo
>> /usr/share/locale/uk/LC_MESSAGES/wget2.mo
>> /usr/share/locale/vi/LC_MESSAGES/wget2.mo
>> /usr/share/locale/zh_CN/LC_MESSAGES/wget2.mo
>> plus also the manual page that it is missing
>>
>>
>> What is this ? It seems a duplicate of wget2
>>
>> /usr/bin/wget2_noinstall.exe

Test version - the "summary" in manifest.list excludes all the test and fuzz files.

> Simply based on the name, I'm guessing it shouldn't be installed?
> 
>> these in libwget2-devel or libwget-devel
> 
> libwget-devel, based on the library name.
> 
>> /usr/include/wget.h
>> /usr/include/wgetver.h
>> /usr/lib/libwget.dll.a
>> /usr/lib/pkgconfig/libwget.pc
>> /usr/share/man/man3/libwget-base64.3.gz
>> /usr/share/man/man3/libwget-bitmap.3.gz
>> /usr/share/man/man3/libwget-console.3.gz
>> /usr/share/man/man3/libwget-dns-caching.3.gz
>> /usr/share/man/man3/libwget-dns.3.gz
>> /usr/share/man/man3/libwget-error.3.gz
>> /usr/share/man/man3/libwget-hash.3.gz
>> /usr/share/man/man3/libwget-hashmap.3.gz
>> /usr/share/man/man3/libwget-io.3.gz
>> /usr/share/man/man3/libwget-ip.3.gz
>> /usr/share/man/man3/libwget-list.3.gz
>> /usr/share/man/man3/libwget-mem.3.gz
>> /usr/share/man/man3/libwget-net.3.gz
>> /usr/share/man/man3/libwget-parse_atom.3.gz
>> /usr/share/man/man3/libwget-parse_sitemap.3.gz
>> /usr/share/man/man3/libwget-printf.3.gz
>> /usr/share/man/man3/libwget-random.3.gz
>> /usr/share/man/man3/libwget-robots.3.gz
>> /usr/share/man/man3/libwget-stringmap.3.gz
>> /usr/share/man/man3/libwget-thread.3.gz
>> /usr/share/man/man3/libwget-utils.3.gz
>> /usr/share/man/man3/libwget-vector.3.gz
>> /usr/share/man/man3/libwget-xalloc.3.gz
>> /usr/share/man/man3/libwget-xml.3.gz

Thanks guys.

Two points are not clear:

- how do I get the library to build explicitly as cygwgetN - is it just from the
package name libwgetN and cygport will DTRT or ...?

- can I just add the extra files (not under inst/) to the ..._CONTENTS variable
and cygport will DTRT, or do I have to add a src_install with do... script lines
to move the extra files under inst/, then add the corresponding paths under
inst/ to the ..._CONTENTS variables?

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.
[Data in IEC units and prefixes, physical quantities in SI.]


More information about the Cygwin-apps mailing list