Re: Packaging pgAdmin4

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/18/21 3:04 AM, Andreas Schneider wrote:
> On Thursday, 16 December 2021 23:59:23 CET Demi Marie Obenour wrote:
>> On 12/10/21 6:56 AM, Sandro Mani wrote:
>>> On 10.12.21 01:54, Demi Marie Obenour wrote:
>>>> On 12/9/21 1:05 PM, Sandro Mani wrote:
>>>>> On 09.12.21 17:31, Vitaly Zaitsev via devel wrote:
>>>>>> On 09/12/2021 16:56, Sandro Mani wrote:
>>>>>>> This does not appear to be accurate for nodejs packages - take i.e.
>>>>>>> node-svgo, which compliant with the guidelines bundles node_modules
>>>>>>> dir in svgo-2.8.0-nm-dev.tgz resp svgo-2.8.0-nm-prod.tgz.
>>>>>>
>>>>>> You can vendor only sources. No prebuilt assets are allowed.
>>>>>
>>>>> Which would basically mean bundling the node_modules folder?
>>>>
>>>> No, it would mean bundling the source from which the stuff in
>>>> node_modules is generated.
>>>
>>> Well this isn't what is the current nodejs packaging guidelines state
>>> and as noted by Ben elsewhere in this thread would make it prohibitive
>>> to package anything but the most trivial nodejs library.
>>
>> If some of the dependencies are unnecessary, the package maintainers
>> could patch the code to not use them, and send the patches upstream.
>> That said, this really needs to be solved at the NPM level, by having
>> NPM packages include machine-extractable source code.
>>
>> In any case, node_modules is not source code, since it is not “the
>> preferred form of the work for making modifications to it.” (quoting
>> LGPLv2.1 here, but I believe Fedora uses an equivalent definition).
>> The question then becomes whether it is more like bundling a prebuilt
>> binary, which is not acceptable, or like the bundling of the output
>> of lex, yacc, or pandoc in autotools-generated tarballs, which I
>> consider fine.  One distinction might be whether the output files are
>> portable and can be automatically regenerated, which is invariably
>> true in the latter case.
> 
> I don't see a problem if the node modules don't ship prebuilt libraries or 
> binaries. If you look at my scripts they remove all of this.
> 
> https://src.fedoraproject.org/rpms/nodejs-bash-language-server/blob/rawhide/f/prepare_vendor.sh#_55

As long as everything left is in fact (human-editable) source code, this
is fine.  This excludes both minified JavaScript and the output of
TypeScript, Babel, or other transpilers.  All of those would need to
be run during the package build.

I looked at the nodejs-back-language-server source package and it does not
meet this requirement.  The file
.package-cache/v6/npm-object-assign-4.1.0-968bf1100d7956bb3ca086f006f846b3bc4008da-integrity/node_modules/object.assign/dist/browser.js
in the vendor tarball is obviously transpiler or bundler output.  There are
also several .min.js files and source maps, none of which should be present
in a Fedora source package.  This was just a cursory inspection; I would
expect a thorough review before a new package is uploaded.
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)

Attachment: OpenPGP_0xB288B55FFF9C22C1.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux