cpan plugin cannot track
When I track an element for the first time using the cpan
plugin, it works. The second time, however, I get this:
$ rm project.refs
$ bst source track pkgs/perl/xml-parser.bst
...
[00:00:01][ ][ main:core activity ] SUCCESS Track
...
$ bst source track pkgs/perl/xml-parser.bst
[--:--:--][ ][ main:core activity ] START Track
[--:--:--][ ][ main:core activity ] START Loading elements
[00:00:00][ ][ main:core activity ] SUCCESS Loading elements
[--:--:--][ ][ main:core activity ] START Resolving elements
[--:--:--][ ][ main:core activity ] BUG URL was not seen at configure time: cpan:authors/id/T/TO/TODDR/XML-Parser-2.46.tar.gz
Traceback (most recent call last):
File "/usr/local/bin/bst", line 8, in <module>
sys.exit(cli())
^^^^^
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1157, in __call__
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib64/python3.11/site-packages/buildstream/_frontend/cli.py", line 271, in override_main
original_main(self, args=args, prog_name=prog_name, complete_var=None, standalone_mode=standalone_mode, **extra)
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1078, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 783, in invoke
return __callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/click/decorators.py", line 45, in new_func
return f(get_current_context().obj, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib64/python3.11/site-packages/buildstream/_frontend/cli.py", line 966, in source_track
app.stream.track(elements, selection=deps, except_targets=except_, cross_junctions=cross_junctions)
File "/usr/local/lib64/python3.11/site-packages/buildstream/_stream.py", line 489, in track
elements = self._load_tracking(
^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib64/python3.11/site-packages/buildstream/_stream.py", line 1516, in _load_tracking
elements, except_elements, artifacts = self._load_elements_from_targets(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib64/python3.11/site-packages/buildstream/_stream.py", line 1450, in _load_elements_from_targets
elements, except_elements = self._load_elements([element_names, except_targets])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib64/python3.11/site-packages/buildstream/_stream.py", line 1400, in _load_elements
elements = self._project.load_elements(targets)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib64/python3.11/site-packages/buildstream/_project.py", line 437, in load_elements
elements = [Element._new_from_load_element(load_element, task) for load_element in load_elements]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib64/python3.11/site-packages/buildstream/_project.py", line 437, in <listcomp>
elements = [Element._new_from_load_element(load_element, task) for load_element in load_elements]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib64/python3.11/site-packages/buildstream/element.py", line 1044, in _new_from_load_element
element.__load_sources(load_element)
File "/usr/local/lib64/python3.11/site-packages/buildstream/element.py", line 2571, in __load_sources
redundant_ref = source._load_ref()
^^^^^^^^^^^^^^^^^^
File "/usr/local/lib64/python3.11/site-packages/buildstream/source.py", line 1029, in _load_ref
do_load_ref(ref_node)
File "/usr/local/lib64/python3.11/site-packages/buildstream/source.py", line 998, in do_load_ref
self.load_ref(ref_node)
File "/var/home/adrian/Projects/build-meta/.bst/staged-junctions/junctions/bst-plugins-experimental.bst/7a4409718df665fb7e5ed800186b38fc904362557ad3c25d5be69de503cce030/src/bst_plugins_experimental/sources/cpan.py", line 79, in load_ref
self.translated_url = self.translate_url(self.url)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib64/python3.11/site-packages/buildstream/source.py", line 709, in translate_url
self.mark_download_url(url, primary=primary)
File "/usr/local/lib64/python3.11/site-packages/buildstream/source.py", line 774, in mark_download_url
assert url in self.__marked_urls or not _extract_alias(
^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: URL was not seen at configure time: cpan:authors/id/T/TO/TODDR/XML-Parser-2.46.tar.gz