You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Clarify provenance and redistribution terms for progressive_libjpeg.jpg #6
We are evaluating retaining the complete published rusty_jpeg 0.4.1 source
archive in a downstream source distribution and would like to document the
origin and license of tests/fixtures/progressive_libjpeg.jpg.
The file is 906 bytes, SHA-256 d2b6d9304999c448cc5929ca166ac3b3ab0ea5ae9828ff976f08955149e7ed65.
It appears in the mirror sync
and originally in this monorepo commit.
The test documents that it was encoded using Pillow/libjpeg.
Could you identify the source of its pixel content and confirm the applicable
redistribution license and required attribution for the fixture? If the pixel
content was generated specifically for this test, a generator or a provenance
statement confirming that fact and the intended license would help. If it
comes from another source, please point us to that source and its terms.
We found the package MIT/Apache/IJG notices and will preserve their applicable
obligations; this question is specifically about the bundled image asset.
Thanks for asking, and for checking the hash. Here's the honest answer.
The original file (906 bytes, SHA-256 d2b6d930…, in 0.4.1 to 0.4.7). It's a 32x32 image encoded with Pillow/libjpeg for this regression test. The test needs a progressive file whose first, DC-only scan names an AC table before any DHT defines it, and our own encoder can't produce that layout. We don't have a record of where its pixel content came from, so we can't give you a provenance statement for that file.
What we did instead (#25, merged). The fixture is now a synthetic 32x32 RGB gradient that tools/generate_progressive_libjpeg.py computes in code, with no external image involved, and encodes as a progressive JPEG with Pillow. The script is deterministic, so you can regenerate the file and check it byte for byte. Its marker layout is identical to the old file's, so the test still covers what it was written for. It's covered by the crate's MIT OR Apache-2.0 licence, and no further attribution is needed.
For your 0.4.1 source distribution: the safest option is to replace tests/fixtures/progressive_libjpeg.jpg with the output of that script. The fixture only matters to the crate's own tests, so nothing in the library depends on it. One caveat: if you run the 0.4.1 test suite, golden_bytes_are_identical_across_build_arms in tests/no_std_surface.rs pins a hash of the decoded fixture, so update that pin as #25 does. The next rusty_jpeg release will ship the new file.
Activity
Merge pull request #25 from Remade-With-Rust/fix/6-fixture-provenance
Ttimmahlax commentedon Oct 28, 2026
Thanks for asking, and for checking the hash. Here's the honest answer.
The original file (906 bytes, SHA-256
d2b6d930…, in 0.4.1 to 0.4.7). It's a 32x32 image encoded with Pillow/libjpeg for this regression test. The test needs a progressive file whose first, DC-only scan names an AC table before any DHT defines it, and our own encoder can't produce that layout. We don't have a record of where its pixel content came from, so we can't give you a provenance statement for that file.What we did instead (#25, merged). The fixture is now a synthetic 32x32 RGB gradient that
tools/generate_progressive_libjpeg.pycomputes in code, with no external image involved, and encodes as a progressive JPEG with Pillow. The script is deterministic, so you can regenerate the file and check it byte for byte. Its marker layout is identical to the old file's, so the test still covers what it was written for. It's covered by the crate's MIT OR Apache-2.0 licence, and no further attribution is needed.For your 0.4.1 source distribution: the safest option is to replace
tests/fixtures/progressive_libjpeg.jpgwith the output of that script. The fixture only matters to the crate's own tests, so nothing in the library depends on it. One caveat: if you run the 0.4.1 test suite,golden_bytes_are_identical_across_build_armsintests/no_std_surface.rspins a hash of the decoded fixture, so update that pin as #25 does. The next rusty_jpeg release will ship the new file.🤖 Generated with Claude Code