AcademySoftwareFoundation / AcademySoftwareFoundation/OpenTimelineIO

setup.py writes a wrong plist when the argument '--record {plist}' exists

Open
#1,205 0 comments 0 reactions 0 assignees View on GitHub
bug build
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.