AcademySoftwareFoundation / AcademySoftwareFoundation/OpenTimelineIO
setup.py writes a wrong plist when the argument '--record {plist}' exists
- Dominant language
- C++
- Stars
- 2k
- Forks
- 351
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 1
Description
Python has a rarely used feature ```--record {plist}``` that writes plist into a file during the ```install```. FreeBSD ports framework is a rare user of this feature.
```OpenTimelineIO``` writes a wrong plist which causes this discrepancy between declared and actual plists:
```
===> Parsing plist
===> Checking for items in STAGEDIR missing from pkg-plist
Error: Orphaned: %%PYTHON_SITELIBDIR%%/opentimelineio/_opentime%%PYTHON_EXT_SUFFIX%%.so
Error: Orphaned: %%PYTHON_SITELIBDIR%%/opentimelineio/_otio%%PYTHON_EXT_SUFFIX%%.so
===> Checking for items in pkg-plist which are not in STAGEDIR
Error: Missing: %%PYTHON_SITELIBDIR%%/_opentime%%PYTHON_EXT_SUFFIX%%.so
Error: Missing: %%PYTHON_SITELIBDIR%%/_opentimelineio%%PYTHON_EXT_SUFFIX%%.so
===> Error: Plist issues found.
```
(STAGEDIR list is a list of actually installed files, pkg-plist is a list of files returned by the ```--record``` feature.)
Contributor guide
Research direction
Start with setup.py and the install path handling the --record {plist} argument, then reproduce the FreeBSD packaging case to compare the recorded paths with the staged files. Done means the generated plist names match the actually installed OpenTimelineIO extension modules.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100