Preserve hardlinks in artifacts
- Dominant language
- Python
- Stars
- 140
- Forks
- 45
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 6
Description
[See original issue on GitLab](https://gitlab.com/BuildStream/buildstream/-/issues/324)
In GitLab by [[Gitlab user @juergbi]](https://gitlab.com/juergbi) on Mar 27, 2018, 13:46
BuildStream does not currently distinguish between files that an element intentionally creates as hardlinks and files that happen to have identical content. As part of the OSTree commit process we only record the content hash and attributes. When an artifact is staged, matching files are always hardlinked. This includes empty files.
In some situations this can cause issues. E.g., if an unintentionally hardlinked file is modified in place. The SaferHardlinks FUSE layer protects against this during integration. However, the information is also lost when creating images for deployment.
Contributor guide
Research direction
Start with the linked GitLab issue and its description of OSTree commits, artifact staging, and the SaferHardlinks FUSE layer. No source files, tests, or entry points are identified in the issue; done would require defining and implementing how intentional hardlinks are preserved into deployment images.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100