現在実行中のコードは次のとおりです。
for y in checkdirlist:
if (y in no_exec or y.endswith(".ebuild")) and \
stat.S_IMODE(os.stat(os.path.join(checkdir, y)).st_mode) & 0o111:
シンボリックリンクファイルで stat が失敗します。
y がシンボリックリンクかどうかのチェックを追加したいと思います。
lstat
システムエラーで問題を解決しますが、一般的には終わっていません
Traceback (most recent call last):
File "/usr/bin/repoman", line 1385, in <module>
myaux = dict(zip(allvars, portdb.aux_get(cpv, allvars)))
File "/usr/lib/portage/pym/portage/dbapi/porttree.py", line 435, in aux_get
myebuild, mylocation = self.findname2(mycpv, mytree)
File "/usr/lib/portage/pym/portage/dbapi/porttree.py", line 308, in findname2
raise InvalidPackageName(mycpv)
portage.exception.InvalidPackageName: dev-haskell/.#hakyll-9999
これらのファイルをフィルタリングしたいので、どれがシンボリックリンクであるかを知る必要があります。