Hey,
Thanks for the quick reply.
"Stelian Ionescu" sionescu@cddr.org writes:
I'm working with a project that bundles up CL systems, and then copies
What do you mean by "bundles" ? Copying the source code as-is ?
them to a remote host. To avoid copying unnecessary files, we rely on the components and additional-input-files to find all the files needed to load the system on the remote host.
I found some ASD files to load on the remote host. These systems are expecting to read a long-description, usually a readme file. All of these projects are using reader macros to load this data, and none of them declare the file as a :static-file component.
It's also often the case that the license of a project requires a copy of the license be shipped with the project. Yet rarely do I see any project declaring a :static-file for one in their asd file.
Am I correct in my understanding that using :static-files is this the current recommended way to declare these files?
ASDF is a build system, not a software packaging system. The :STATIC-FILE component was meant to handle data files that might be required at runtime, not any metadata in general.
OK, I can understand this when it comes to my suggestion about tracking the location of the license file. Though I find it disappointing, since some licenses declare statements like "Redistributions in binary form must reproduce the above copyright". Not having a way to identify the license file makes it difficult to ad hear to the license's of all project dependencies.
The regex "^LICEN[CS]E|COPYING(.md)?$" should identify most license files, by convention.
But regarding the readme file being loaded at read time in the ASD file. This dependency is not track but it's required to build the package.
This is difficult to track because of how the reader works.
This could be caught if the builds were hermetical, and this would also help with issues related other static files that are missing from the ASD file. At the moment it's just luck if anyone actually adds the :STATIC-FILE components needed by their system. Is there some way to help system authors avoid accidentally missing files?
Not that I know of.
Since it looks like a pretty common pattern to load the long-description from a readme.
I'm perfectly happy to contribute to a solution, I would like to help if I can.
Cheers, Russell