orsonteodoro / oiledmachine-overlay

Another ebuild overlay for the Gentoo Linux operating system containing enhancements, game development, apps.
21 stars 9 forks source link

Equery U Fails on Certain Packages in Repo #87

Open SDNick484 opened 1 year ago

SDNick484 commented 1 year ago

I recently added your repo for the Howdy ebuild, but I noticed several packages are now no longer working with "$ equery u ". This is with gentoolkit 0.6.1-r3 and Python 3.11.5.

The error I see is the same across the failing packages: $ equery u llvm Traceback (most recent call last): File "/usr/lib/python-exec/python3.11/equery", line 44, in equery.main(sys.argv) File "/usr/lib/python3.11/site-packages/gentoolkit/equery/init.py", line 359, in main loaded_module.main(module_args) File "/usr/lib/python3.11/site-packages/gentoolkit/equery/uses.py", line 341, in main output = get_output_descriptions(pkg, global_usedesc) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/gentoolkit/equery/uses.py", line 198, in get_output_descriptions if pkg.metadata is None: ^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/gentoolkit/package.py", line 137, in metadata self._metadata = MetaDataXML(metadata_path, projects_path) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/portage/xml/metadata.py", line 194, in init self._xml_tree = etree.parse( ^^^^^^^^^^^^ File "/usr/lib/python3.11/xml/etree/ElementTree.py", line 1218, in parse tree.parse(source, parser) File "/usr/lib/python3.11/xml/etree/ElementTree.py", line 586, in parse parser.feed(data) xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 59, column 17

I ran equery against all your packages, and these are the ones that failed: aforgedotnet alembic assimp-net atitextureconverter box2d c2tcp clang deepcc emojify enigma faudio filmic-blender fna freeimagenet gambas gdevelop gnome-sharp godot-cross-macos godot-dedicated-server godot-editor godot-export-templates-android godot-export-templates-ios godot-export-templates-javascript godot-export-templates-linux32 godot-export-templates-linux64 godot-export-templates-macos godot-export-templates-mingw32 godot-export-templates-mingw64 godot-headless-server godot-ios-plugins grpc gwen-dotnet howdy jsonlint libcaca libfreenect libgit2sharp llvm llvm-ebuilds.eclass lua mono-addins mujoco nano-ycmd ndesk-options npm nvorbis opentk orca ot-sources pcc pvrtexlibnet rist rocm-flang sharpfont sharpnav sr ssl-cert-snakeoil surf tensorstore tesseract xwt zeromq zlib

The failing packages were gathered by this command: $ cd /var/db/repos/oiledmachine-overlay $ for NA in find . | grep ebuild | awk '{ FS = "/" ; print $3}' | sort -u ; do if equery u $NA >/dev/null 2>&1 ; then echo ; else echo $NA ; fi

orsonteodoro commented 1 year ago

I'm in the process of fixing some. Some are false positives on your list. I found one with correct syntax but the linter is stupid.

I modified the script as follows:

cd /usr/local/oiledmachine-overlay
for x in $(find */* -maxdepth 0 -type d | cut -f 1-2 -d "/") ; do
        if equery u "${x}::oiledmachine-overlay" 2>&1 | grep -q "xml.etree.ElementTree.ParseError:" ; then
                echo "${x} is malformed:"
        fi
done
orsonteodoro commented 1 year ago

All the xml.etree.ElementTree.ParseError types of errors were fixed.