|
software
If we use prepare() instead of mksource(), we end up redistributing
nonfree software inside the package source, and it would be better not
to have to do that as this could potentially create licensing issues.
The standard solution to avoid that in Parabola is to use mksource(),
however while this worked fine with other packages, I didn't manage to
make it work with this package, probably because the package code is
complex and that we don't fit into simpler cases handled by
mksource().
The complexity here comes from the need to lower the maintenance cost
of supporting multiple ARM computers and setups: the automation
enables to more easily add new computers, make testing way faster, and
simplify the installation instructions.
Since at the end of the day the goal was to share this deblobing work
with other FSDG compliant distributions, I looked for a distro neutral
project that could be interested in deblobing u-boot and which has
also some infrastructure that we could reuse for that (this avoids
costs in time and money of setting up new infrastructure and of
maintaining it).
As Libreboot planned to add support for u-boot anyway and that its
build system is distribution neutral, it was a good fit.
As for the ability to have patches merged in Libreboot for
u-boot-libre, the initial discussions were complicated:
- Libreboot releases sources and binaries of bootloaders targeting
specific computers. So it would be natural to deblob u-boot and on
top of that, add support for specific computers in Libreboot in the
exact same way it is done for the computers that are supported
through deblobed versions of Coreboot.
However here we want the various distributions (like Parabola and
Guix) to be able to use deblobed u-boot source tarballs that follow
very closely upstream u-boot releases, and that only have changes
related to deblobing. Linux-libre does the latter and this makes it
very easy for FSDG compliant distributions to reuse it as-is.
When adding support for specific computers through u-boot, Libreboot
would instead be more interested in having specific configuration
through u-boot environment and/or by combining u-boot with other
bootloaders like GRUB. It would also be interested in having the
ability to choose specific u-boot versions and specific extra
patches to support specific computers.
As distributions and Libreboot requirements are very similar (they
both need to deblob u-boot) and also slightly different, it was not
easy to get that point across, and I hope that people reading this
commit also get the point across.
- Once I managed to get an agreement that doing that was a good idea
and that I would be able to get my code merged (provided that the
code quality was good) and have Libreboot release the files needed,
I started to implement the code, but I found out week(s) later that
the agreement was gone. The fix for that was simply to restart
explaining it all from scratch and get an agreement again.
Beside the initial complications, getting the code reviewed and merged
was really fast (each patch serie review took 1 week or less) and we
can now just ping the Libreboot maintainer on IRC to get files
released.
According to the Libreboot maintainer I'm the de-facto maintainer of
the u-boot related code in Libreboot, so I'll probably have to be
involved somehow in reviewing the code, and then we need to ping her
to get the code merged.
The discussions were done in #libreboot on liberachat, and the merge
requests were sent against Libreboot repositories (both lbmk and
lbwww) in notabug, so following a similar method will probably result
in future patches being merged rapidely if we hope/assume that I will
manage to review the patches as fast as the Libreboot maintainer did.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|