Possible evil solution:
(let ((asdf::*defined-systems-table* (make-defined-systems-table))) (let ((my-system (asdf:find-system "system-to-debianize"))) <code to analyze systems> .... )
Now you just have pushed a duplicate repository, into which you are loading new definitions, and when you leave the dynamic scope of *defined-systems-table*, ASDF will continue to behave normally.
This does, of course, cheat on the API, as well, but it doesn't require you to maintain compatibility with parsing, use odd accessors, etc.
Best, r
I agree with Robert Goldman's previous reply, that it's a bad idea to try to subvert ASDF's parse-component-form, and that you should instead be letting ASDF do its job, then inspect the resulting SYSTEM object.
However, note that with the amount of #+sbcl #+clozure, etc., present in ASDF systems in the wild, it is hopeless to hope to detect the definitive list of files in an ASDF system by inspecting the results find-system.
If on the other hand, your system were using XCVB, you could just use xcvb list-files --build /foo
OK, so it doesn't work as well as I'd like, yet. But at least it's already working better than any ASDF-based solution, and there's a future to it.
Downside, of course, is it only works if your target system has been converted to XCVB.
(Other downside is: it currently only lists reachable dependencies of the target you give, whereas it should iterate over all the dependencies of all the things listed in the build you ask about. But that's fixable.)
My motto is that ASDF3 is called XCVB. I'm working to get there. Most implementations worth supporting are fully supported already: CCL, CLISP, SBCL, LispWorks Pro. Next will come ECL. Partially supported include: CMUCL, SCL, Allegro (no standalone executable), and to a lesser extent: LispWorks Personal, ECL, ABCL, XCL. GCL at this time has compiler bugs preventing support. MCL, Corman, Genera are not at all supported at this time, but I have plans for gracefully degraded behavior on all but Genera. Also whoever really cares could add support for his platform.
Note: please address any XCVB-only question to XCVB-devel. This answer is on-topic for ASDF-devel because I think that trying to achieve the goal "list all files in a given system" is hopeless on ASDF2, but has a solution with XCVB.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org There is only one basic human right, the right to do as you damn well please. And with it comes the only basic human duty, the duty to take the consequences. — P. J. O'Rourke