Update for added/moved files as well as clarifying some more in detail.
In some cases the license checkers detects a different version (before
my change as well), but upstream has declared licenses explicitly in
those files via the FILE_LICENCE and that overrules the detected text.
If one decides that the base text >> explicit declaration the new rules
will still help as they provide more granularity.
Signed-off-by: Christian Ehrhardt <email address hidden>
The new upstream clean target now cleans the actual roms which we build
many of (4 builds creating 22 blobs) and thereby break the latter re-use
of those for combined roms or the .install handling.
I thought about using proper --builddirectory with one for each build,
but the build system doesn't support that and it is a lot of delta for
something that then still needs plenty of crude workarounds.
Other manual redirections like using a built-artifacts directory "in d/rules"
to save the roms to after build needs plenty of delta for all the special
cases classic/efi, normal/combined, ...
Due to that I instead chose to just retain the built "in place" by ommitting
the make clean. The build itself still is done as the include files in
src/config/local let it rebuild.
Once this is upstreamed to Debian it can be unified using e.g. extra build
directories without hard-to-maintain delta.
Maintenance Note: can be squashed with the delta that introduced this
snippet which is "d/rules: only enable https on non EFI roms."
Signed-off-by: Christian Ehrhardt <email address hidden>
update d/p/0005-strip-802.1Q-VLAN-0-priority-tags.patch to match 1.21
This was added in
ipxe (1.0.0+git-20180124.fbe8c52d-0ubuntu5) disco; urgency=medium
* d/p/0005-strip-802.1Q-VLAN-0-priority-tags.patch: Strip 802.1Q VLAN 0
priority tags; Fixes PXE when VLAN tag is 0. (LP: #1805920)
In certain cases (e.g. toolchain changes) the size of the created EFI
blob can end up triggering a rounding down which breaks the build.
Example:
debian/util/geniso src/bin-combined/ipxe.iso src/bin-i386-pcbios/ipxe.lkrn \
src/bin-x86_64-efi/ipxe.efi
...
++ stat -c %s src/bin-x86_64-efi/ipxe.efi
+ blocks=896
+ mkfs.msdos -C src/bin-combined/iso.dir.uayAjK/efi.img 896
+ mmd -i src/bin-combined/iso.dir.uayAjK/efi.img ::efi
+ mmd -i src/bin-combined/iso.dir.uayAjK/efi.img ::efi/boot
+ mcopy -o -i src/bin-combined/iso.dir.uayAjK/efi.img \
src/bin-x86_64-efi/ipxe.efi ::efi/boot/bootx64.efi
Disk full
This is due to:
echo $(($(stat -c %s "$EFI") / 1024))
872
echo $(($(stat -c %s "$EFI") / 1024 + 55))
927
echo $(((($(stat -c %s "$EFI") / 1024 + 55)/32*32)))
896 <- Rounds DOWN
This is due to size+55 => 927 being "just below" the next 32 iteration
which would be at 928. In many cases that works fine (I don't know how
the +55 was invented, I guess that is for headers). But in some cases
it caps too much eventually ending up in a too small image file.
Rounding up (in bash) usually is "N+1/divisor". Therefore if add +1 before
the rounding for 32 we'd avoid the issue.
I compared the resulting ISO size with former builds and it was still
well within the range of past builds (869,947,948 - now 884).