[Buildroot] [PATCH 00/58] python pypi library mass version bump.
Arnout Vandecappelle
arnout at mind.be
Mon Feb 20 23:46:06 UTC 2017
On 20-02-17 09:44, Thomas Petazzoni wrote:
> Hello,
>
> On Sun, 19 Feb 2017 17:41:07 -0500, Adam Duskett wrote:
[snip]
>> I was thinking, would it be possible to run pypi as a host?
>
> Because:
>
> - No reproducibility (pypi downloads the latest available versions of
> the modules, as far as I know)
>
> - No integration with our download logic: use of a primary mirror, use
> of a backup mirror, local cache of downloads.
>
> - No integration with our legal information tooling.
Note that none of these issues are unsolvable. If we would be able to make
direct use of pypi while overcoming these issues, I think that would be great.
However, there are a few other important things to consider:
- The infra should deal with dependencies, i.e. download all dependencies when
doing 'make source'.
- The infra should deal with non-python dependencies, i.e. select the
corresponding Buildroot package in .config and make sure it is built before.
- The infra should make sure that any C extensions contained in the package are
built with the proper cross-compiler and build option.
I think it practice this will mean that the infra is going to be limited to
pure Python packages, and any package which has C code needs an explicit
Buildroot package.
But even then, it's not easy because the PyPI metadata doesn't encode
dependencies by itself - this is only in the setup file. So the download step
has to extract the downloaded file to find out about dependencies and download
those as well...
Bottom line: it's not simple :-)
Note that
- the same story applies to other "language" package managers (luarocks, CPAN,
rebar, cargo, npm, ...);
- other distros are struggling with the similar issues, and for them it's easier
because they actually _can_ download and build on the target.
Regards,
Arnout
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
More information about the buildroot
mailing list