Issue #1972

Updated by over 5 years ago

The storage_path for a distribution is a directory but the distributor publishes separate symlinks to each file. The 0028 migration matches symlinks to units by matching the link target to the unit._storage_path. This result in none of the distribution links to be matched. To correct this, the migration in the platform needs to:

* Support custom Unit classes.
* Add a Unit.files Unit.paths property that defaults to an empty tuple. the [unit._storage_path].
* The distribution plan needs to override Plan._new_unit() and return the custom unit.
* The custom Unit needs to override files() paths() to return the value of document.files along joined with treeinfo and .treeinfo.

The result is, the migration in the platform will know about all of the individual links created by the distributor and that need to be migrated.