2017-01-20 22:40:56 |
Kyle Fazzari |
description |
Snapcraft runs a collision detection algorithm when attempting to merge two parts. This algorithm has two related issues:
1. It only compares files, which means files (e.g. symlinks) that collide with directories are missed.
2. If a file in both parts is a symlink, it immediately assumes they don't collide, without checking where they're pointing. If they point to different places they _should_ collide. |
Snapcraft runs a collision detection algorithm when attempting to merge two parts. This algorithm has two related issues:
1. It only compares files, which means files (e.g. symlinks) that collide with directories are missed until the migration is attempted, at which point cryptic "destination is a directory" errors are raised.
2. If a file in both parts is a symlink, it immediately assumes they don't collide, without checking where they're pointing. If they point to different places they _should_ collide. |
|