Bug 205056 - Mk/Uses/python.mk: USE_PYTHON=autoplist fails to generate the correct plist when some tag is empty in setup.cfg
Summary: Mk/Uses/python.mk: USE_PYTHON=autoplist fails to generate the correct plist w...
Status: New
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Ports Framework (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-python (Nobody)
URL:
Keywords: needs-qa
Depends on:
Blocks:
 
Reported: 2015-12-06 11:51 UTC by Yuri Victorovich
Modified: 2021-05-05 16:30 UTC (History)
6 users (show)

See Also:


Attachments
patch to add special handling for directoried with USE_PYTHON=autoplist (662 bytes, patch)
2021-05-05 16:30 UTC, Oleg Sidorkin
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Yuri Victorovich freebsd_committer 2015-12-06 11:51:24 UTC
For this very simple port:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=201386

This error occurs without the patch:
> # make check-plist
> ====> Checking for pkg-plist issues (check-plist)
> ===> Parsing plist
> ===> Checking for items in STAGEDIR missing from pkg-plist
> Error: Orphaned: @dir bandit
> ===> Checking for items in pkg-plist which are not in STAGEDIR
> Error: Missing: bandit
> ===> Error: Plist issues found.
> *** Error code 1

The cause is the empty bandit= tag in setup.cfg:
> [files]
> data_files = 
>         bandit =

I am not familiar with 'autoplist', somebody should take a look why this empty tag triggers the error in plist.
Comment 1 Gleb Popov freebsd_committer 2020-09-11 14:37:01 UTC
Is this still relevant? Yuri, can you assess?
Comment 2 Oleg Sidorkin 2021-05-05 16:30:11 UTC
Created attachment 224696 [details]
patch to add special handling for directoried with USE_PYTHON=autoplist

Some python packages adds empty directories entries to the list of installed files. python.mk blindly copies these entries to the plist file, and then such plist produces some strange effects (e.g. pkg fails to calculate sha256).

I've spotted this when tried to update py-buildbot port.

Attached patch adds a check if the given entry is a directory and adds @dir prefix to directory entries.

I can attach my version of buildbot port that reproduces this problem.