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

Marco Atzeri marco.atzeri@gmail.com
Fri Jul 10 05:27:06 GMT 2020


On 10.07.2020 03:38, Brian Inglis wrote:
> 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.

it should not be installed at at all.
Sometime I remove such files in src_install()
or you can put them in PKG_IGNORE

> 
>> 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 ...?

proper built library for Cygwin are named cygwgetN.dll so you call the 
package libwget0

> 
> - 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?
> 

better you use in src_install() something like

        insinto /usr/share/man/man3
        doins ${S}/DOCS/man/man3/*

and then use the ..._CONTENTS so they are packed in the right position

see chapter 10 of
/usr/share/doc/cygport/html/manual/toc_index.html

Regards
Marco






More information about the Cygwin-apps mailing list