Handling of readme and license files

Russell Sim rsl at simopolis.xyz
Sun Oct 16 07:06:41 UTC 2022


Hi Stelian,

"Stelian Ionescu" <sionescu at cddr.org> writes:
>> "Stelian Ionescu" <sionescu at 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 ?

It's copying the files as declared in defsystem, so files that aren't
declared as part of the project, examples, documentation etc are not
copied.  So it's important for us to know what files are actually used
by a system.

>>>> 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.

I should apologise, I think I haven't been getting enough sleep, I was
re-reading this thread and I think I miss-understood your comment "ASDF
is a build system, not a software packaging system."  I totally agree
with this statement.  I'm not talking about making it into one.  But
there are attributes of a project that are best declared in the project
definition, like the :license-file location.  The license file like you
allude to is not a runtime dependency but it's often required to be part
of the source distribution and part of the binary distribution, so i
think it would be better served with special treatment.

>> 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.

Do you think it would be a reasonable feature to add the ability to
declare a file instead of just a string for the long-description?  This
seems like a common point of error 



More information about the asdf-devel mailing list