package: prepare for per-version hash files
authorYann E. MORIN <yann.morin.1998@free.fr>
Sun, 14 Oct 2018 12:25:42 +0000 (14:25 +0200)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sat, 20 Oct 2018 18:04:06 +0000 (20:04 +0200)
commit3fe92792b3cc4c6eec74ae6bcf6b274668d2534e
tree13ccdcdcc376ab84ffbd86eaec392187d8bb0f37
parent0c45649c12650e32966ae3c879595aea023d9331
package: prepare for per-version hash files

The Qt5 packages may have different licensing terms between the two
versions we support, and in some cases, those different terms are
expressed in similarly named files, like files named plain 'LICENSE' for
example.

Similarly, glibc also has different license files, especially since the
arc version still has libidn, which got dropped from upstream.

This is problematic, because, in a .hash file, we can't store two
different hashes for the same file. We've started to handle this case by
moving the licenses hashes to the per-version sub directories.

However, the hashes for the downloads are still stored inside the non-
versioned hash file of the package, which is not totally coherent: if we
have a per-version hash file, it should list all the hases for that
version, downloads included, and there should be no unversioned hash
file.

In preparation for this, we duplicate the downloads hashes from the main
hash files, and into the versioned ones. Once the download infra learns
to look for those hashes in these per-version subdirs, we'll remove the
unversioned hash files.

Note that, now that we have versioned hash files, the main hash files
will not be used to check license files, so we can already drop the
hashes for license files from the main hash files.

Note also that there are a few other packages for which we support
different versions (binutils, gcc, gdb, lua, xserver_xorg-server,
uboot), but none of those have different licensing terms due to the
version. Qt5 and glibc are alone in this case.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Gaƫl Portay <gael.portay@savoirfairelinux.com>
Cc: Peter Seiderer <ps.report@gmx.net>
Cc: Julien Corjon <corjon.j@ecagroup.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Luca Ceresoli <luca@lucaceresoli.net>
Cc: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
17 files changed:
package/glibc/arc-2018.03-release/glibc.hash
package/glibc/glibc-2.28-18-g2339d6a55eb7a7e040ae888e906adc49eeb59eab/glibc.hash
package/qt5/qt5base/5.11.2/qt5base.hash [new file with mode: 0644]
package/qt5/qt5base/5.6.3/qt5base.hash
package/qt5/qt5base/qt5base.hash
package/qt5/qt5connectivity/5.11.2/qt5connectivity.hash
package/qt5/qt5connectivity/5.6.3/qt5connectivity.hash
package/qt5/qt5quickcontrols2/5.11.2/qt5quickcontrols2.hash [new file with mode: 0644]
package/qt5/qt5quickcontrols2/5.6.3/qt5quickcontrols2.hash
package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash
package/qt5/qt5serialbus/5.11.2/qt5serialbus.hash
package/qt5/qt5serialbus/5.6.3/qt5serialbus.hash
package/qt5/qt5serialport/5.11.2/qt5serialport.hash
package/qt5/qt5serialport/5.6.3/qt5serialport.hash
package/qt5/qt5virtualkeyboard/2.0/qt5virtualkeyboard.hash
package/qt5/qt5virtualkeyboard/5.11.2/qt5virtualkeyboard.hash [new file with mode: 0644]
package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.hash