summaryrefslogtreecommitdiff
path: root/scripts/build/chroot_firmware
AgeCommit message (Collapse)Author
2020-03-10tidy script init (1/4) - arg and config processingjnqnfe
Partial fix for #952919 Gbp-Dch: Short
2020-03-05firmware: enable caching for archive content file with firmware listsLyndon Brown
the existing logic for obtaining a list of firmware packages always downloaded a fresh copy of the archive content file, deleting the file already in the cache. here we move to actually making use of the cache. this helps when building multiple times, at least for the same distro. the package list obtained is rarely going to change after all. it could of course differ between distros, but the cache is per-distro, as it has always been. we of course here switch to caching each of the archive-area files individually rather than having one file that gets overwritten (or appended to in the case of when we kept the decompressed file). Gbp-Dch: Short Closes: #952911
2020-03-05firmware: avoid potentially duplicate workLyndon Brown
addressing an old fixme, should distro and parent-distro be identical (in a derivative build) we want to avoid wasting effort downloading and processing the same content files twice. since parent and non-parent have separate archive-area lists though we should perhaps not just assume that they are identical or ignore any differences; thus here in such a situation we ensure that we handle any archive areas not already done for parent-distro handling in such a case, while skipping those already done. i notice that the fixme actually also refers to avoiding actual overlapping of the cached files, however the cached files are (currently) always ignored anyway, so this is of no concern. reusing the cached files is an entirely separate issue. Gbp-Dch: Short Closes: #952909
2020-03-05firmware: reorder firmware list constructionLyndon Brown
the 'manually add firmware-linux package' bit was stuck inbetween the parent and non-parent logic, which was especially unhelpful before we de-duplicated the logic into a common function. Gbp-Dch: Short
2020-03-05firmware: de-dup firmware list parsingLyndon Brown
Edit: There were four copies of the same logic to keep in sync; Originally this patch deduplicated each file, but leaving a copy of the new function in each, thus reducing the duplication but not eliminating it. A later patch moved it into a shared function file following further enhancements to the code in question. This has since been revised to have the function moved to a shared file here, which simplifies and gives a cleaner diff. Gbp-Dch: Short Closes: #952908
2020-03-05firmware: delete pointlessly cached (large) file after useLyndon Brown
the archive content file downloaded to obtain a list of firmware packages is always deleted and downloaded afresh currently. it may not be ideal that we do not make use of the cache here, however while that remains unaddressed, we might as well delete the file after we've used it in order to not pointlessly waste disk space. note that this file is ~613 MB for sid-amd64 currently. Gbp-Dch: Short Closes: #952907
2020-03-05firmware: fix possible duplication in firmware package lists (inefficiency)Lyndon Brown
where multiple archive areas are used, the code here on each loop is: 1) fetching the archive area contents file (compressed) 2) **appending** the output to that of the previous loop 3) searching the file for firmware references, adding to the list since it appends rather than replaces, entries found in each loop get re-added on each subsequent loop, resulting in duplication in the resulting list below I evaluate the possible solutions to explain why I chose the one I chose, however the reader should not waste too much time worrying about whether one of the other solution would have actually been better because things are changed significantly in further commits shortly! possible solutions: a) switching to output (>) rather than append (>>), but this might fail against an existing file b) removing the file on each loop, but this will complicate any future caching improvements that might be made here (currently the files are always deleted and thus downloaded fresh) c) allow the appending, evaluating the complete file after the loop solution C warrants consideration of disk space consumption; currently the compressed 'main' archive (for sid on amd64) expands to 592.3 MB (feb-2020), 'contrib' is 3.1 MB, and 'non-free' is 18.5 MB. solution C was chosen here; the difference of accumulated file size vs. max-single was minor enough to not be of particular concern (~613 vs. ~592 MB). Gbp-Dch: Short Closes: #952906
2020-03-05firmware: construct file location once and reuseLyndon Brown
2020-03-05firmware: avoid building unnecessary listsLyndon Brown
2020-03-05help/usage: fix overly complex script description handlingjnqnfe
Closes: #952887
2019-12-19Support --distribution-binary and --distribution-chrootRaphaël Hertzog
This makes it possible to build an image against a first distribution (--distribution-chroot) and have the resulting image point to another distribution (--distribution-binary). We can use this to build against a snapshot and have the result use the original distribution that was snapshotted. Closes: #888507
2015-04-27Removing temporary hack to exclude prism2-usb-firmware-installer, the ↵Daniel Baumann
download homepage seems to work again (Closes: #783433).
2015-01-04Updating year in copyright notices to 2015.Daniel Baumann
2015-01-04Adding wget dependency in chroot_firmware.Daniel Baumann
2014-12-10Cleaning up from python removal (LIVE_IMAGE_PARENT_ARCHIVE_AREAS).Daniel Baumann
2014-12-10Address "should check that we're building on debian through e.g. a ↵jnqnfe
'derivative-is-based-on' variable or somesuch" fixme.
2014-12-10Cleaning up from python removal (LIVE_IMAGE_ARCHIVE_AREAS).Daniel Baumann
2014-12-10Cleaning up from python removal (LIVE_IMAGE_ARCHITECTURE).Daniel Baumann
2014-11-28Dropping prism2-usb-firmware-installer which fetches firmware from (at ↵Daniel Baumann
least) temporarily broken website.
2014-02-08Updating copyright notices for 2014.Daniel Baumann
2013-05-06Removing all references to my old email address.Daniel Baumann
2013-05-06Updating year in all copyright notices.Daniel Baumann
2013-05-06Splitting off chroot firmware handling into an own script.Daniel Baumann