ubuntu/+source/ipxe:ubuntu/impish-proposed

Last commit made on 2021-05-10
Get this branch:
git clone -b ubuntu/impish-proposed https://git.launchpad.net/ubuntu/+source/ipxe
Members of git-ubuntu import can upload to this branch. Log in for directions.

Branch merges

Branch information

Name:
ubuntu/impish-proposed
Repository:
lp:ubuntu/+source/ipxe

Recent commits

4d3eeea... by Christian Ehrhardt 

update d/copyright

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>

107d029... by Christian Ehrhardt 

changelog: 1.21.1+git-20210429.323af9ee-0ubuntu1

Signed-off-by: Christian Ehrhardt <email address hidden>

0695556... by Christian Ehrhardt 

d/rules: don't clean explicitly in between builds

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>

ee2d226... by Christian Ehrhardt 

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)

Since then upstream has made vlan_find static via
 https://github.com/ipxe/ipxe/commit/fe680c8228563369804948010954128aacb7db74
To further be usable, parts of the refered patch need to be reverted
and made part of the Ubuntu Delta.

Note: This can be squashed with adding of the patch on next merge.

Signed-off-by: Christian Ehrhardt <email address hidden>

7b112ec... by Christian Ehrhardt 

Drop d/p/build-Be-explicit-about-fcommon-compiler-directive.patch [upstream in 1.21.0]

Signed-off-by: Christian Ehrhardt <email address hidden>

336829d... by Christian Ehrhardt 

Drop lp-1882671-efi-Raise-TPL-during-driver-entry-point.patch [upstream in 1.21.0]

Signed-off-by: Christian Ehrhardt <email address hidden>

3d8a626... by Christian Ehrhardt 

Drop d/p/handle-dhcp-nack.patch: Handle DHCP NAK and send a re-discover. (LP 1707999)

replaced by 1192edf "Handle DHCPNAK by returning to discovery state"

Signed-off-by: Christian Ehrhardt <email address hidden>

73a4ec9... by Christian Ehrhardt 

bump code to 1.21.1+git-20210429.323af9ee

Signed-off-by: Christian Ehrhardt <email address hidden>

ea1e387... by Christian Ehrhardt 

changelog: fix rounding to unbreak iso creation

Signed-off-by: Christian Ehrhardt <email address hidden>

0b4b3b6... by Christian Ehrhardt 

d/u/geniso: fix rounding to unbreak iso creation

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).

In Ubuntu we already had
 https://git.launchpad.net/ubuntu/+source/ipxe/commit/?id=cd9c3f19ab148e5
But while working in some it falls short in other cases. So this can be
considered the improved version of the former and squashed on the next
merge. Submitted to Debian as:
https://salsa.debian.org/waldi/ipxe/-/merge_requests/2

Signed-off-by: Christian Ehrhardt <email address hidden>