This directory contains licenses with copyright attribution that are
missing from some of our upstream packages.

This is used by chromite/licenses.py.

For dev-util/bsdiff-4.3-r5, the code will look for
dev-util/bsdiff-4.3-r5
dev-util/bsdiff-4.3
dev-util/bsdiff

It is ok to have more than one bsdiff license file, and an empty file acts as a
rubout (i.e. an empty dev-util/bsdiff-4.4 will shadow dev-util/bsdiff and tell
the licensing code to look in the package source for a license instead of using
dev-util/bsdiff as an override).
