Skip to content

Repeatable builds and snapshots of package/library indexes #5143

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
binarin opened this issue Jul 19, 2016 · 2 comments
Closed

Repeatable builds and snapshots of package/library indexes #5143

binarin opened this issue Jul 19, 2016 · 2 comments
Labels
Component: IDE The Arduino IDE

Comments

@binarin
Copy link

binarin commented Jul 19, 2016

Build process downloads some files from the internet. Most of them are versioned, but following one don't contain any version info in URL and change quite often:

So it's not possible to package it that way for any system that aims for repeatable builds. E.g. for my NixOS effort (NixOS/nixpkgs#17060) I had to create my own snapshots of those files.

Could you please provide some sort of daily or weekly snapshots? So any packager can consume them directly from some urls like http://downloads.arduino.cc/libraries/2016-07-18/library_index.json.gz

cmaglie added a commit that referenced this issue Aug 11, 2016
…to 1.6.13

Previously, during the build, the full package_index.json was downloaded
and distributed with the Arduino IDE.
This lead to a situation where it was difficult to test new AVR cores
before publishing them to the public package_index.json.

Now the bundled AVR core is specificed in the file:
`hardware/package_index_bundled.json`
this index is loaded from the IDE at startup and the package_index.json
is overlayed on it.

This should also solve part of #5143 (Repeatable builds and snapshots of
package/library indexes)
@cmaglie cmaglie added the Component: IDE The Arduino IDE label Aug 11, 2016
@cmaglie
Copy link
Member

cmaglie commented Aug 12, 2016

Hi @binarin

those files are no more downloaded to create the build:

  • the downloaded package_index.json* files have been replaced by a package_index_bundled.json that describes only the bundled AVR core and is part of the git tree:
    e80c085
  • the library_index.json is no more downloaded, since it's not needed to run the IDE (unless you want to install a new library but the Library Manager will take care to download an updated copy anyway in that case)
    d5dc479

This should solve the reproducible builds problem. Feel free to reopen the issue if I'm missing something.

@cmaglie cmaglie added this to the Release 1.6.11 milestone Aug 12, 2016
@binarin
Copy link
Author

binarin commented Aug 12, 2016

Thanks a lot!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: IDE The Arduino IDE
Projects
None yet
Development

No branches or pull requests

2 participants