mbox series

[RFC,0/2] PURL pkg:cpan

Message ID 20240407144250.7558-1-francois.perrad@gadz.org
Headers show
Series PURL pkg:cpan | expand

Message

Francois Perrad April 7, 2024, 2:42 p.m. UTC
This serie goes on the top of serie "Support SBOM in CycloneDX format"

It handles PURL for the CPAN (Perl package manager)

Francois Perrad (2):
  utils/scancpan: generate PURL package variable
  package/perl-*: regenerate with PURL

 .../perl-apache-logformat-compiler.mk                           | 1 +
 package/perl-appconfig/perl-appconfig.mk                        | 1 +
 package/perl-astro-suntime/perl-astro-suntime.mk                | 1 +
 package/perl-class-inspector/perl-class-inspector.mk            | 1 +
 package/perl-class-load/perl-class-load.mk                      | 1 +
 .../perl-class-method-modifiers/perl-class-method-modifiers.mk  | 1 +
 package/perl-class-std-fast/perl-class-std-fast.mk              | 1 +
 package/perl-class-std/perl-class-std.mk                        | 1 +
 package/perl-clone/perl-clone.mk                                | 1 +
 package/perl-convert-asn1/perl-convert-asn1.mk                  | 1 +
 package/perl-cookie-baker/perl-cookie-baker.mk                  | 1 +
 package/perl-crypt-blowfish/perl-crypt-blowfish.mk              | 1 +
 package/perl-crypt-cbc/perl-crypt-cbc.mk                        | 1 +
 package/perl-crypt-openssl-aes/perl-crypt-openssl-aes.mk        | 1 +
 package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.mk    | 1 +
 package/perl-crypt-openssl-random/perl-crypt-openssl-random.mk  | 1 +
 package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.mk        | 1 +
 package/perl-data-dump/perl-data-dump.mk                        | 1 +
 package/perl-data-optlist/perl-data-optlist.mk                  | 1 +
 package/perl-data-uuid/perl-data-uuid.mk                        | 1 +
 package/perl-date-manip/perl-date-manip.mk                      | 1 +
 package/perl-datetime-tiny/perl-datetime-tiny.mk                | 1 +
 package/perl-dbd-mysql/perl-dbd-mysql.mk                        | 1 +
 package/perl-dbi/perl-dbi.mk                                    | 1 +
 package/perl-devel-cycle/perl-devel-cycle.mk                    | 1 +
 .../perl-devel-globaldestruction.mk                             | 1 +
 package/perl-devel-size/perl-devel-size.mk                      | 1 +
 .../perl-devel-stacktrace-ashtml.mk                             | 1 +
 package/perl-devel-stacktrace/perl-devel-stacktrace.mk          | 1 +
 package/perl-device-serialport/perl-device-serialport.mk        | 1 +
 package/perl-digest-hmac/perl-digest-hmac.mk                    | 1 +
 package/perl-digest-sha1/perl-digest-sha1.mk                    | 1 +
 package/perl-dist-checkconflicts/perl-dist-checkconflicts.mk    | 1 +
 package/perl-encode-detect/perl-encode-detect.mk                | 1 +
 package/perl-encode-locale/perl-encode-locale.mk                | 1 +
 package/perl-exporter-tiny/perl-exporter-tiny.mk                | 1 +
 package/perl-extutils-config/perl-extutils-config.mk            | 1 +
 package/perl-extutils-helpers/perl-extutils-helpers.mk          | 1 +
 .../perl-extutils-installpaths/perl-extutils-installpaths.mk    | 1 +
 package/perl-extutils-pkgconfig/perl-extutils-pkgconfig.mk      | 1 +
 package/perl-file-listing/perl-file-listing.mk                  | 1 +
 .../perl-file-sharedir-install/perl-file-sharedir-install.mk    | 1 +
 package/perl-file-sharedir/perl-file-sharedir.mk                | 1 +
 package/perl-file-slurp/perl-file-slurp.mk                      | 1 +
 package/perl-file-util/perl-file-util.mk                        | 1 +
 .../perl-filesys-notify-simple/perl-filesys-notify-simple.mk    | 1 +
 package/perl-gd/perl-gd.mk                                      | 1 +
 package/perl-gdgraph/perl-gdgraph.mk                            | 1 +
 package/perl-gdtextutil/perl-gdtextutil.mk                      | 1 +
 package/perl-hash-multivalue/perl-hash-multivalue.mk            | 1 +
 package/perl-html-parser/perl-html-parser.mk                    | 1 +
 package/perl-html-tagset/perl-html-tagset.mk                    | 1 +
 package/perl-http-cookies/perl-http-cookies.mk                  | 1 +
 package/perl-http-daemon/perl-http-daemon.mk                    | 1 +
 package/perl-http-date/perl-http-date.mk                        | 1 +
 package/perl-http-entity-parser/perl-http-entity-parser.mk      | 1 +
 package/perl-http-headers-fast/perl-http-headers-fast.mk        | 1 +
 package/perl-http-message/perl-http-message.mk                  | 1 +
 package/perl-http-multipartparser/perl-http-multipartparser.mk  | 1 +
 package/perl-http-negotiate/perl-http-negotiate.mk              | 1 +
 package/perl-i18n/perl-i18n.mk                                  | 1 +
 package/perl-image-exiftool/perl-image-exiftool.mk              | 1 +
 package/perl-io-html/perl-io-html.mk                            | 1 +
 package/perl-io-interface/perl-io-interface.mk                  | 1 +
 package/perl-io-socket-multicast/perl-io-socket-multicast.mk    | 1 +
 package/perl-io-socket-ssl/perl-io-socket-ssl.mk                | 1 +
 package/perl-json-maybexs/perl-json-maybexs.mk                  | 1 +
 package/perl-json-tiny/perl-json-tiny.mk                        | 1 +
 package/perl-libwww-perl/perl-libwww-perl.mk                    | 1 +
 .../perl-locale-maketext-lexicon.mk                             | 1 +
 package/perl-lwp-mediatypes/perl-lwp-mediatypes.mk              | 1 +
 package/perl-lwp-protocol-https/perl-lwp-protocol-https.mk      | 1 +
 package/perl-mail-dkim/perl-mail-dkim.mk                        | 1 +
 package/perl-mailtools/perl-mailtools.mk                        | 1 +
 package/perl-math-int64/perl-math-int64.mk                      | 1 +
 package/perl-math-prime-util/perl-math-prime-util.mk            | 1 +
 package/perl-mime-base64-urlsafe/perl-mime-base64-urlsafe.mk    | 1 +
 package/perl-mime-tools/perl-mime-tools.mk                      | 1 +
 package/perl-module-build-tiny/perl-module-build-tiny.mk        | 1 +
 package/perl-module-build/perl-module-build.mk                  | 1 +
 .../perl-module-implementation/perl-module-implementation.mk    | 1 +
 package/perl-module-runtime/perl-module-runtime.mk              | 1 +
 .../perl-mojolicious-plugin-authentication.mk                   | 1 +
 .../perl-mojolicious-plugin-authorization.mk                    | 1 +
 .../perl-mojolicious-plugin-cspheader.mk                        | 1 +
 .../perl-mojolicious-plugin-i18n.mk                             | 1 +
 .../perl-mojolicious-plugin-securityheader.mk                   | 1 +
 package/perl-mojolicious/perl-mojolicious.mk                    | 1 +
 package/perl-moo/perl-moo.mk                                    | 1 +
 package/perl-mozilla-ca/perl-mozilla-ca.mk                      | 1 +
 package/perl-net-dns/perl-net-dns.mk                            | 1 +
 package/perl-net-http/perl-net-http.mk                          | 1 +
 package/perl-net-snmp/perl-net-snmp.mk                          | 1 +
 package/perl-net-ssh2/perl-net-ssh2.mk                          | 1 +
 package/perl-net-ssleay/perl-net-ssleay.mk                      | 1 +
 package/perl-net-telnet/perl-net-telnet.mk                      | 1 +
 package/perl-netaddr-ip/perl-netaddr-ip.mk                      | 1 +
 package/perl-number-bytes-human/perl-number-bytes-human.mk      | 1 +
 package/perl-package-stash/perl-package-stash.mk                | 1 +
 package/perl-params-util/perl-params-util.mk                    | 1 +
 package/perl-parse-yapp/perl-parse-yapp.mk                      | 1 +
 package/perl-path-tiny/perl-path-tiny.mk                        | 1 +
 package/perl-plack/perl-plack.mk                                | 1 +
 .../perl-posix-strftime-compiler.mk                             | 1 +
 package/perl-role-tiny/perl-role-tiny.mk                        | 1 +
 package/perl-stream-buffered/perl-stream-buffered.mk            | 1 +
 .../perl-sub-exporter-progressive.mk                            | 1 +
 package/perl-sub-install/perl-sub-install.mk                    | 1 +
 package/perl-sub-quote/perl-sub-quote.mk                        | 1 +
 package/perl-sys-meminfo/perl-sys-meminfo.mk                    | 1 +
 package/perl-sys-mmap/perl-sys-mmap.mk                          | 1 +
 package/perl-time-parsedate/perl-time-parsedate.mk              | 1 +
 package/perl-timedate/perl-timedate.mk                          | 1 +
 package/perl-try-tiny/perl-try-tiny.mk                          | 1 +
 package/perl-type-tiny/perl-type-tiny.mk                        | 1 +
 package/perl-uri/perl-uri.mk                                    | 1 +
 package/perl-www-form-urlencoded/perl-www-form-urlencoded.mk    | 1 +
 package/perl-www-robotrules/perl-www-robotrules.mk              | 1 +
 package/perl-x10/perl-x10.mk                                    | 1 +
 package/perl-xml-libxml/perl-xml-libxml.mk                      | 1 +
 package/perl-xml-namespacesupport/perl-xml-namespacesupport.mk  | 1 +
 package/perl-xml-sax-base/perl-xml-sax-base.mk                  | 1 +
 package/perl-xml-sax/perl-xml-sax.mk                            | 1 +
 utils/scancpan                                                  | 2 ++
 124 files changed, 125 insertions(+)

Comments

Arnout Vandecappelle April 7, 2024, 5:09 p.m. UTC | #1
Hi Francois, all,

On 07/04/2024 16:42, Francois Perrad wrote:
> This serie goes on the top of serie "Support SBOM in CycloneDX format"
> 
> It handles PURL for the CPAN (Perl package manager)
> 
> Francois Perrad (2):
>    utils/scancpan: generate PURL package variable
>    package/perl-*: regenerate with PURL

  You chose here to explicitly include the PURL variable in all packages. An 
alternative would be to automatically calculate a (default) value for it in the 
perl infra.

  Since (almost) all perl packages are generated with scancpan, I do think it 
makes sense to do it explicitly: it is much easier for a developer to see what 
is really happening (they don't need to know about how the perl infra works), it 
is still easy on maintenance because it's generated automatically anyway, and it 
means we don't need to make the perl infra more complicated.

  On the other hand, by putting it in the perl infra, it becomes very explicit 
when the automatic purl was overridden.

  IMHO, the tradeoff points to what you did: putting the PURL explicit in the 
.mk file. But other people's opinion may differ, so I wanted to throw this out 
there.

  Regards,
  Arnout


> 
>   .../perl-apache-logformat-compiler.mk                           | 1 +
>   package/perl-appconfig/perl-appconfig.mk                        | 1 +
>   package/perl-astro-suntime/perl-astro-suntime.mk                | 1 +
>   package/perl-class-inspector/perl-class-inspector.mk            | 1 +
>   package/perl-class-load/perl-class-load.mk                      | 1 +
>   .../perl-class-method-modifiers/perl-class-method-modifiers.mk  | 1 +
>   package/perl-class-std-fast/perl-class-std-fast.mk              | 1 +
>   package/perl-class-std/perl-class-std.mk                        | 1 +
>   package/perl-clone/perl-clone.mk                                | 1 +
>   package/perl-convert-asn1/perl-convert-asn1.mk                  | 1 +
>   package/perl-cookie-baker/perl-cookie-baker.mk                  | 1 +
>   package/perl-crypt-blowfish/perl-crypt-blowfish.mk              | 1 +
>   package/perl-crypt-cbc/perl-crypt-cbc.mk                        | 1 +
>   package/perl-crypt-openssl-aes/perl-crypt-openssl-aes.mk        | 1 +
>   package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.mk    | 1 +
>   package/perl-crypt-openssl-random/perl-crypt-openssl-random.mk  | 1 +
>   package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.mk        | 1 +
>   package/perl-data-dump/perl-data-dump.mk                        | 1 +
>   package/perl-data-optlist/perl-data-optlist.mk                  | 1 +
>   package/perl-data-uuid/perl-data-uuid.mk                        | 1 +
>   package/perl-date-manip/perl-date-manip.mk                      | 1 +
>   package/perl-datetime-tiny/perl-datetime-tiny.mk                | 1 +
>   package/perl-dbd-mysql/perl-dbd-mysql.mk                        | 1 +
>   package/perl-dbi/perl-dbi.mk                                    | 1 +
>   package/perl-devel-cycle/perl-devel-cycle.mk                    | 1 +
>   .../perl-devel-globaldestruction.mk                             | 1 +
>   package/perl-devel-size/perl-devel-size.mk                      | 1 +
>   .../perl-devel-stacktrace-ashtml.mk                             | 1 +
>   package/perl-devel-stacktrace/perl-devel-stacktrace.mk          | 1 +
>   package/perl-device-serialport/perl-device-serialport.mk        | 1 +
>   package/perl-digest-hmac/perl-digest-hmac.mk                    | 1 +
>   package/perl-digest-sha1/perl-digest-sha1.mk                    | 1 +
>   package/perl-dist-checkconflicts/perl-dist-checkconflicts.mk    | 1 +
>   package/perl-encode-detect/perl-encode-detect.mk                | 1 +
>   package/perl-encode-locale/perl-encode-locale.mk                | 1 +
>   package/perl-exporter-tiny/perl-exporter-tiny.mk                | 1 +
>   package/perl-extutils-config/perl-extutils-config.mk            | 1 +
>   package/perl-extutils-helpers/perl-extutils-helpers.mk          | 1 +
>   .../perl-extutils-installpaths/perl-extutils-installpaths.mk    | 1 +
>   package/perl-extutils-pkgconfig/perl-extutils-pkgconfig.mk      | 1 +
>   package/perl-file-listing/perl-file-listing.mk                  | 1 +
>   .../perl-file-sharedir-install/perl-file-sharedir-install.mk    | 1 +
>   package/perl-file-sharedir/perl-file-sharedir.mk                | 1 +
>   package/perl-file-slurp/perl-file-slurp.mk                      | 1 +
>   package/perl-file-util/perl-file-util.mk                        | 1 +
>   .../perl-filesys-notify-simple/perl-filesys-notify-simple.mk    | 1 +
>   package/perl-gd/perl-gd.mk                                      | 1 +
>   package/perl-gdgraph/perl-gdgraph.mk                            | 1 +
>   package/perl-gdtextutil/perl-gdtextutil.mk                      | 1 +
>   package/perl-hash-multivalue/perl-hash-multivalue.mk            | 1 +
>   package/perl-html-parser/perl-html-parser.mk                    | 1 +
>   package/perl-html-tagset/perl-html-tagset.mk                    | 1 +
>   package/perl-http-cookies/perl-http-cookies.mk                  | 1 +
>   package/perl-http-daemon/perl-http-daemon.mk                    | 1 +
>   package/perl-http-date/perl-http-date.mk                        | 1 +
>   package/perl-http-entity-parser/perl-http-entity-parser.mk      | 1 +
>   package/perl-http-headers-fast/perl-http-headers-fast.mk        | 1 +
>   package/perl-http-message/perl-http-message.mk                  | 1 +
>   package/perl-http-multipartparser/perl-http-multipartparser.mk  | 1 +
>   package/perl-http-negotiate/perl-http-negotiate.mk              | 1 +
>   package/perl-i18n/perl-i18n.mk                                  | 1 +
>   package/perl-image-exiftool/perl-image-exiftool.mk              | 1 +
>   package/perl-io-html/perl-io-html.mk                            | 1 +
>   package/perl-io-interface/perl-io-interface.mk                  | 1 +
>   package/perl-io-socket-multicast/perl-io-socket-multicast.mk    | 1 +
>   package/perl-io-socket-ssl/perl-io-socket-ssl.mk                | 1 +
>   package/perl-json-maybexs/perl-json-maybexs.mk                  | 1 +
>   package/perl-json-tiny/perl-json-tiny.mk                        | 1 +
>   package/perl-libwww-perl/perl-libwww-perl.mk                    | 1 +
>   .../perl-locale-maketext-lexicon.mk                             | 1 +
>   package/perl-lwp-mediatypes/perl-lwp-mediatypes.mk              | 1 +
>   package/perl-lwp-protocol-https/perl-lwp-protocol-https.mk      | 1 +
>   package/perl-mail-dkim/perl-mail-dkim.mk                        | 1 +
>   package/perl-mailtools/perl-mailtools.mk                        | 1 +
>   package/perl-math-int64/perl-math-int64.mk                      | 1 +
>   package/perl-math-prime-util/perl-math-prime-util.mk            | 1 +
>   package/perl-mime-base64-urlsafe/perl-mime-base64-urlsafe.mk    | 1 +
>   package/perl-mime-tools/perl-mime-tools.mk                      | 1 +
>   package/perl-module-build-tiny/perl-module-build-tiny.mk        | 1 +
>   package/perl-module-build/perl-module-build.mk                  | 1 +
>   .../perl-module-implementation/perl-module-implementation.mk    | 1 +
>   package/perl-module-runtime/perl-module-runtime.mk              | 1 +
>   .../perl-mojolicious-plugin-authentication.mk                   | 1 +
>   .../perl-mojolicious-plugin-authorization.mk                    | 1 +
>   .../perl-mojolicious-plugin-cspheader.mk                        | 1 +
>   .../perl-mojolicious-plugin-i18n.mk                             | 1 +
>   .../perl-mojolicious-plugin-securityheader.mk                   | 1 +
>   package/perl-mojolicious/perl-mojolicious.mk                    | 1 +
>   package/perl-moo/perl-moo.mk                                    | 1 +
>   package/perl-mozilla-ca/perl-mozilla-ca.mk                      | 1 +
>   package/perl-net-dns/perl-net-dns.mk                            | 1 +
>   package/perl-net-http/perl-net-http.mk                          | 1 +
>   package/perl-net-snmp/perl-net-snmp.mk                          | 1 +
>   package/perl-net-ssh2/perl-net-ssh2.mk                          | 1 +
>   package/perl-net-ssleay/perl-net-ssleay.mk                      | 1 +
>   package/perl-net-telnet/perl-net-telnet.mk                      | 1 +
>   package/perl-netaddr-ip/perl-netaddr-ip.mk                      | 1 +
>   package/perl-number-bytes-human/perl-number-bytes-human.mk      | 1 +
>   package/perl-package-stash/perl-package-stash.mk                | 1 +
>   package/perl-params-util/perl-params-util.mk                    | 1 +
>   package/perl-parse-yapp/perl-parse-yapp.mk                      | 1 +
>   package/perl-path-tiny/perl-path-tiny.mk                        | 1 +
>   package/perl-plack/perl-plack.mk                                | 1 +
>   .../perl-posix-strftime-compiler.mk                             | 1 +
>   package/perl-role-tiny/perl-role-tiny.mk                        | 1 +
>   package/perl-stream-buffered/perl-stream-buffered.mk            | 1 +
>   .../perl-sub-exporter-progressive.mk                            | 1 +
>   package/perl-sub-install/perl-sub-install.mk                    | 1 +
>   package/perl-sub-quote/perl-sub-quote.mk                        | 1 +
>   package/perl-sys-meminfo/perl-sys-meminfo.mk                    | 1 +
>   package/perl-sys-mmap/perl-sys-mmap.mk                          | 1 +
>   package/perl-time-parsedate/perl-time-parsedate.mk              | 1 +
>   package/perl-timedate/perl-timedate.mk                          | 1 +
>   package/perl-try-tiny/perl-try-tiny.mk                          | 1 +
>   package/perl-type-tiny/perl-type-tiny.mk                        | 1 +
>   package/perl-uri/perl-uri.mk                                    | 1 +
>   package/perl-www-form-urlencoded/perl-www-form-urlencoded.mk    | 1 +
>   package/perl-www-robotrules/perl-www-robotrules.mk              | 1 +
>   package/perl-x10/perl-x10.mk                                    | 1 +
>   package/perl-xml-libxml/perl-xml-libxml.mk                      | 1 +
>   package/perl-xml-namespacesupport/perl-xml-namespacesupport.mk  | 1 +
>   package/perl-xml-sax-base/perl-xml-sax-base.mk                  | 1 +
>   package/perl-xml-sax/perl-xml-sax.mk                            | 1 +
>   utils/scancpan                                                  | 2 ++
>   124 files changed, 125 insertions(+)
>
Yann E. MORIN April 7, 2024, 5:37 p.m. UTC | #2
Arnout, Francçois, All,

On 2024-04-07 19:09 +0200, Arnout Vandecappelle via buildroot spake thusly:
> On 07/04/2024 16:42, Francois Perrad wrote:
> > This serie goes on the top of serie "Support SBOM in CycloneDX format"
> > It handles PURL for the CPAN (Perl package manager)
>  You chose here to explicitly include the PURL variable in all packages. An
> alternative would be to automatically calculate a (default) value for it in
> the perl infra.
> 
>  Since (almost) all perl packages are generated with scancpan, I do think it
> makes sense to do it explicitly: it is much easier for a developer to see
> what is really happening (they don't need to know about how the perl infra
> works), it is still easy on maintenance because it's generated automatically
> anyway, and it means we don't need to make the perl infra more complicated.
> 
>  On the other hand, by putting it in the perl infra, it becomes very
> explicit when the automatic purl was overridden.
> 
>  IMHO, the tradeoff points to what you did: putting the PURL explicit in the
> .mk file. But other people's opinion may differ, so I wanted to throw this
> out there.

I haven't looked (yet) at the CycloneDX series. However, I think we
should try to handle the CPE and others related stuff in a similar
fashion whenever possible...

Regards,
Yann E. MORIN.

> 
>  Regards,
>  Arnout
> 
> 
> > 
> >   .../perl-apache-logformat-compiler.mk                           | 1 +
> >   package/perl-appconfig/perl-appconfig.mk                        | 1 +
> >   package/perl-astro-suntime/perl-astro-suntime.mk                | 1 +
> >   package/perl-class-inspector/perl-class-inspector.mk            | 1 +
> >   package/perl-class-load/perl-class-load.mk                      | 1 +
> >   .../perl-class-method-modifiers/perl-class-method-modifiers.mk  | 1 +
> >   package/perl-class-std-fast/perl-class-std-fast.mk              | 1 +
> >   package/perl-class-std/perl-class-std.mk                        | 1 +
> >   package/perl-clone/perl-clone.mk                                | 1 +
> >   package/perl-convert-asn1/perl-convert-asn1.mk                  | 1 +
> >   package/perl-cookie-baker/perl-cookie-baker.mk                  | 1 +
> >   package/perl-crypt-blowfish/perl-crypt-blowfish.mk              | 1 +
> >   package/perl-crypt-cbc/perl-crypt-cbc.mk                        | 1 +
> >   package/perl-crypt-openssl-aes/perl-crypt-openssl-aes.mk        | 1 +
> >   package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.mk    | 1 +
> >   package/perl-crypt-openssl-random/perl-crypt-openssl-random.mk  | 1 +
> >   package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.mk        | 1 +
> >   package/perl-data-dump/perl-data-dump.mk                        | 1 +
> >   package/perl-data-optlist/perl-data-optlist.mk                  | 1 +
> >   package/perl-data-uuid/perl-data-uuid.mk                        | 1 +
> >   package/perl-date-manip/perl-date-manip.mk                      | 1 +
> >   package/perl-datetime-tiny/perl-datetime-tiny.mk                | 1 +
> >   package/perl-dbd-mysql/perl-dbd-mysql.mk                        | 1 +
> >   package/perl-dbi/perl-dbi.mk                                    | 1 +
> >   package/perl-devel-cycle/perl-devel-cycle.mk                    | 1 +
> >   .../perl-devel-globaldestruction.mk                             | 1 +
> >   package/perl-devel-size/perl-devel-size.mk                      | 1 +
> >   .../perl-devel-stacktrace-ashtml.mk                             | 1 +
> >   package/perl-devel-stacktrace/perl-devel-stacktrace.mk          | 1 +
> >   package/perl-device-serialport/perl-device-serialport.mk        | 1 +
> >   package/perl-digest-hmac/perl-digest-hmac.mk                    | 1 +
> >   package/perl-digest-sha1/perl-digest-sha1.mk                    | 1 +
> >   package/perl-dist-checkconflicts/perl-dist-checkconflicts.mk    | 1 +
> >   package/perl-encode-detect/perl-encode-detect.mk                | 1 +
> >   package/perl-encode-locale/perl-encode-locale.mk                | 1 +
> >   package/perl-exporter-tiny/perl-exporter-tiny.mk                | 1 +
> >   package/perl-extutils-config/perl-extutils-config.mk            | 1 +
> >   package/perl-extutils-helpers/perl-extutils-helpers.mk          | 1 +
> >   .../perl-extutils-installpaths/perl-extutils-installpaths.mk    | 1 +
> >   package/perl-extutils-pkgconfig/perl-extutils-pkgconfig.mk      | 1 +
> >   package/perl-file-listing/perl-file-listing.mk                  | 1 +
> >   .../perl-file-sharedir-install/perl-file-sharedir-install.mk    | 1 +
> >   package/perl-file-sharedir/perl-file-sharedir.mk                | 1 +
> >   package/perl-file-slurp/perl-file-slurp.mk                      | 1 +
> >   package/perl-file-util/perl-file-util.mk                        | 1 +
> >   .../perl-filesys-notify-simple/perl-filesys-notify-simple.mk    | 1 +
> >   package/perl-gd/perl-gd.mk                                      | 1 +
> >   package/perl-gdgraph/perl-gdgraph.mk                            | 1 +
> >   package/perl-gdtextutil/perl-gdtextutil.mk                      | 1 +
> >   package/perl-hash-multivalue/perl-hash-multivalue.mk            | 1 +
> >   package/perl-html-parser/perl-html-parser.mk                    | 1 +
> >   package/perl-html-tagset/perl-html-tagset.mk                    | 1 +
> >   package/perl-http-cookies/perl-http-cookies.mk                  | 1 +
> >   package/perl-http-daemon/perl-http-daemon.mk                    | 1 +
> >   package/perl-http-date/perl-http-date.mk                        | 1 +
> >   package/perl-http-entity-parser/perl-http-entity-parser.mk      | 1 +
> >   package/perl-http-headers-fast/perl-http-headers-fast.mk        | 1 +
> >   package/perl-http-message/perl-http-message.mk                  | 1 +
> >   package/perl-http-multipartparser/perl-http-multipartparser.mk  | 1 +
> >   package/perl-http-negotiate/perl-http-negotiate.mk              | 1 +
> >   package/perl-i18n/perl-i18n.mk                                  | 1 +
> >   package/perl-image-exiftool/perl-image-exiftool.mk              | 1 +
> >   package/perl-io-html/perl-io-html.mk                            | 1 +
> >   package/perl-io-interface/perl-io-interface.mk                  | 1 +
> >   package/perl-io-socket-multicast/perl-io-socket-multicast.mk    | 1 +
> >   package/perl-io-socket-ssl/perl-io-socket-ssl.mk                | 1 +
> >   package/perl-json-maybexs/perl-json-maybexs.mk                  | 1 +
> >   package/perl-json-tiny/perl-json-tiny.mk                        | 1 +
> >   package/perl-libwww-perl/perl-libwww-perl.mk                    | 1 +
> >   .../perl-locale-maketext-lexicon.mk                             | 1 +
> >   package/perl-lwp-mediatypes/perl-lwp-mediatypes.mk              | 1 +
> >   package/perl-lwp-protocol-https/perl-lwp-protocol-https.mk      | 1 +
> >   package/perl-mail-dkim/perl-mail-dkim.mk                        | 1 +
> >   package/perl-mailtools/perl-mailtools.mk                        | 1 +
> >   package/perl-math-int64/perl-math-int64.mk                      | 1 +
> >   package/perl-math-prime-util/perl-math-prime-util.mk            | 1 +
> >   package/perl-mime-base64-urlsafe/perl-mime-base64-urlsafe.mk    | 1 +
> >   package/perl-mime-tools/perl-mime-tools.mk                      | 1 +
> >   package/perl-module-build-tiny/perl-module-build-tiny.mk        | 1 +
> >   package/perl-module-build/perl-module-build.mk                  | 1 +
> >   .../perl-module-implementation/perl-module-implementation.mk    | 1 +
> >   package/perl-module-runtime/perl-module-runtime.mk              | 1 +
> >   .../perl-mojolicious-plugin-authentication.mk                   | 1 +
> >   .../perl-mojolicious-plugin-authorization.mk                    | 1 +
> >   .../perl-mojolicious-plugin-cspheader.mk                        | 1 +
> >   .../perl-mojolicious-plugin-i18n.mk                             | 1 +
> >   .../perl-mojolicious-plugin-securityheader.mk                   | 1 +
> >   package/perl-mojolicious/perl-mojolicious.mk                    | 1 +
> >   package/perl-moo/perl-moo.mk                                    | 1 +
> >   package/perl-mozilla-ca/perl-mozilla-ca.mk                      | 1 +
> >   package/perl-net-dns/perl-net-dns.mk                            | 1 +
> >   package/perl-net-http/perl-net-http.mk                          | 1 +
> >   package/perl-net-snmp/perl-net-snmp.mk                          | 1 +
> >   package/perl-net-ssh2/perl-net-ssh2.mk                          | 1 +
> >   package/perl-net-ssleay/perl-net-ssleay.mk                      | 1 +
> >   package/perl-net-telnet/perl-net-telnet.mk                      | 1 +
> >   package/perl-netaddr-ip/perl-netaddr-ip.mk                      | 1 +
> >   package/perl-number-bytes-human/perl-number-bytes-human.mk      | 1 +
> >   package/perl-package-stash/perl-package-stash.mk                | 1 +
> >   package/perl-params-util/perl-params-util.mk                    | 1 +
> >   package/perl-parse-yapp/perl-parse-yapp.mk                      | 1 +
> >   package/perl-path-tiny/perl-path-tiny.mk                        | 1 +
> >   package/perl-plack/perl-plack.mk                                | 1 +
> >   .../perl-posix-strftime-compiler.mk                             | 1 +
> >   package/perl-role-tiny/perl-role-tiny.mk                        | 1 +
> >   package/perl-stream-buffered/perl-stream-buffered.mk            | 1 +
> >   .../perl-sub-exporter-progressive.mk                            | 1 +
> >   package/perl-sub-install/perl-sub-install.mk                    | 1 +
> >   package/perl-sub-quote/perl-sub-quote.mk                        | 1 +
> >   package/perl-sys-meminfo/perl-sys-meminfo.mk                    | 1 +
> >   package/perl-sys-mmap/perl-sys-mmap.mk                          | 1 +
> >   package/perl-time-parsedate/perl-time-parsedate.mk              | 1 +
> >   package/perl-timedate/perl-timedate.mk                          | 1 +
> >   package/perl-try-tiny/perl-try-tiny.mk                          | 1 +
> >   package/perl-type-tiny/perl-type-tiny.mk                        | 1 +
> >   package/perl-uri/perl-uri.mk                                    | 1 +
> >   package/perl-www-form-urlencoded/perl-www-form-urlencoded.mk    | 1 +
> >   package/perl-www-robotrules/perl-www-robotrules.mk              | 1 +
> >   package/perl-x10/perl-x10.mk                                    | 1 +
> >   package/perl-xml-libxml/perl-xml-libxml.mk                      | 1 +
> >   package/perl-xml-namespacesupport/perl-xml-namespacesupport.mk  | 1 +
> >   package/perl-xml-sax-base/perl-xml-sax-base.mk                  | 1 +
> >   package/perl-xml-sax/perl-xml-sax.mk                            | 1 +
> >   utils/scancpan                                                  | 2 ++
> >   124 files changed, 125 insertions(+)
> > 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
Francois Perrad April 8, 2024, 5:30 p.m. UTC | #3
Le dim. 7 avr. 2024 à 19:09, Arnout Vandecappelle <arnout@mind.be> a écrit :

>   Hi Francois, all,
>
> On 07/04/2024 16:42, Francois Perrad wrote:
> > This serie goes on the top of serie "Support SBOM in CycloneDX format"
> >
> > It handles PURL for the CPAN (Perl package manager)
> >
> > Francois Perrad (2):
> >    utils/scancpan: generate PURL package variable
> >    package/perl-*: regenerate with PURL
>
>   You chose here to explicitly include the PURL variable in all packages.
> An
> alternative would be to automatically calculate a (default) value for it
> in the
> perl infra.
>
>
You are right,

something like below (in package/pkg-perl.mk), does the same job:
$(3)_PURL = pkg:cpan/$(notdir $($(3)_SITE))/$($(3)_DISTNAME)@$($(3)_VERSION)

François


>   Since (almost) all perl packages are generated with scancpan, I do think
> it
> makes sense to do it explicitly: it is much easier for a developer to see
> what
> is really happening (they don't need to know about how the perl infra
> works), it
> is still easy on maintenance because it's generated automatically anyway,
> and it
> means we don't need to make the perl infra more complicated.
>
>   On the other hand, by putting it in the perl infra, it becomes very
> explicit
> when the automatic purl was overridden.
>
>   IMHO, the tradeoff points to what you did: putting the PURL explicit in
> the
> .mk file. But other people's opinion may differ, so I wanted to throw this
> out
> there.
>
>   Regards,
>   Arnout
>
>
> >
> >   .../perl-apache-logformat-compiler.mk                           | 1 +
> >   package/perl-appconfig/perl-appconfig.mk                        | 1 +
> >   package/perl-astro-suntime/perl-astro-suntime.mk                | 1 +
> >   package/perl-class-inspector/perl-class-inspector.mk            | 1 +
> >   package/perl-class-load/perl-class-load.mk                      | 1 +
> >   .../perl-class-method-modifiers/perl-class-method-modifiers.mk  | 1 +
> >   package/perl-class-std-fast/perl-class-std-fast.mk              | 1 +
> >   package/perl-class-std/perl-class-std.mk                        | 1 +
> >   package/perl-clone/perl-clone.mk                                | 1 +
> >   package/perl-convert-asn1/perl-convert-asn1.mk                  | 1 +
> >   package/perl-cookie-baker/perl-cookie-baker.mk                  | 1 +
> >   package/perl-crypt-blowfish/perl-crypt-blowfish.mk              | 1 +
> >   package/perl-crypt-cbc/perl-crypt-cbc.mk                        | 1 +
> >   package/perl-crypt-openssl-aes/perl-crypt-openssl-aes.mk        | 1 +
> >   package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.mk    | 1 +
> >   package/perl-crypt-openssl-random/perl-crypt-openssl-random.mk  | 1 +
> >   package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.mk        | 1 +
> >   package/perl-data-dump/perl-data-dump.mk                        | 1 +
> >   package/perl-data-optlist/perl-data-optlist.mk                  | 1 +
> >   package/perl-data-uuid/perl-data-uuid.mk                        | 1 +
> >   package/perl-date-manip/perl-date-manip.mk                      | 1 +
> >   package/perl-datetime-tiny/perl-datetime-tiny.mk                | 1 +
> >   package/perl-dbd-mysql/perl-dbd-mysql.mk                        | 1 +
> >   package/perl-dbi/perl-dbi.mk                                    | 1 +
> >   package/perl-devel-cycle/perl-devel-cycle.mk                    | 1 +
> >   .../perl-devel-globaldestruction.mk                             | 1 +
> >   package/perl-devel-size/perl-devel-size.mk                      | 1 +
> >   .../perl-devel-stacktrace-ashtml.mk                             | 1 +
> >   package/perl-devel-stacktrace/perl-devel-stacktrace.mk          | 1 +
> >   package/perl-device-serialport/perl-device-serialport.mk        | 1 +
> >   package/perl-digest-hmac/perl-digest-hmac.mk                    | 1 +
> >   package/perl-digest-sha1/perl-digest-sha1.mk                    | 1 +
> >   package/perl-dist-checkconflicts/perl-dist-checkconflicts.mk    | 1 +
> >   package/perl-encode-detect/perl-encode-detect.mk                | 1 +
> >   package/perl-encode-locale/perl-encode-locale.mk                | 1 +
> >   package/perl-exporter-tiny/perl-exporter-tiny.mk                | 1 +
> >   package/perl-extutils-config/perl-extutils-config.mk            | 1 +
> >   package/perl-extutils-helpers/perl-extutils-helpers.mk          | 1 +
> >   .../perl-extutils-installpaths/perl-extutils-installpaths.mk    | 1 +
> >   package/perl-extutils-pkgconfig/perl-extutils-pkgconfig.mk      | 1 +
> >   package/perl-file-listing/perl-file-listing.mk                  | 1 +
> >   .../perl-file-sharedir-install/perl-file-sharedir-install.mk    | 1 +
> >   package/perl-file-sharedir/perl-file-sharedir.mk                | 1 +
> >   package/perl-file-slurp/perl-file-slurp.mk                      | 1 +
> >   package/perl-file-util/perl-file-util.mk                        | 1 +
> >   .../perl-filesys-notify-simple/perl-filesys-notify-simple.mk    | 1 +
> >   package/perl-gd/perl-gd.mk                                      | 1 +
> >   package/perl-gdgraph/perl-gdgraph.mk                            | 1 +
> >   package/perl-gdtextutil/perl-gdtextutil.mk                      | 1 +
> >   package/perl-hash-multivalue/perl-hash-multivalue.mk            | 1 +
> >   package/perl-html-parser/perl-html-parser.mk                    | 1 +
> >   package/perl-html-tagset/perl-html-tagset.mk                    | 1 +
> >   package/perl-http-cookies/perl-http-cookies.mk                  | 1 +
> >   package/perl-http-daemon/perl-http-daemon.mk                    | 1 +
> >   package/perl-http-date/perl-http-date.mk                        | 1 +
> >   package/perl-http-entity-parser/perl-http-entity-parser.mk      | 1 +
> >   package/perl-http-headers-fast/perl-http-headers-fast.mk        | 1 +
> >   package/perl-http-message/perl-http-message.mk                  | 1 +
> >   package/perl-http-multipartparser/perl-http-multipartparser.mk  | 1 +
> >   package/perl-http-negotiate/perl-http-negotiate.mk              | 1 +
> >   package/perl-i18n/perl-i18n.mk                                  | 1 +
> >   package/perl-image-exiftool/perl-image-exiftool.mk              | 1 +
> >   package/perl-io-html/perl-io-html.mk                            | 1 +
> >   package/perl-io-interface/perl-io-interface.mk                  | 1 +
> >   package/perl-io-socket-multicast/perl-io-socket-multicast.mk    | 1 +
> >   package/perl-io-socket-ssl/perl-io-socket-ssl.mk                | 1 +
> >   package/perl-json-maybexs/perl-json-maybexs.mk                  | 1 +
> >   package/perl-json-tiny/perl-json-tiny.mk                        | 1 +
> >   package/perl-libwww-perl/perl-libwww-perl.mk                    | 1 +
> >   .../perl-locale-maketext-lexicon.mk                             | 1 +
> >   package/perl-lwp-mediatypes/perl-lwp-mediatypes.mk              | 1 +
> >   package/perl-lwp-protocol-https/perl-lwp-protocol-https.mk      | 1 +
> >   package/perl-mail-dkim/perl-mail-dkim.mk                        | 1 +
> >   package/perl-mailtools/perl-mailtools.mk                        | 1 +
> >   package/perl-math-int64/perl-math-int64.mk                      | 1 +
> >   package/perl-math-prime-util/perl-math-prime-util.mk            | 1 +
> >   package/perl-mime-base64-urlsafe/perl-mime-base64-urlsafe.mk    | 1 +
> >   package/perl-mime-tools/perl-mime-tools.mk                      | 1 +
> >   package/perl-module-build-tiny/perl-module-build-tiny.mk        | 1 +
> >   package/perl-module-build/perl-module-build.mk                  | 1 +
> >   .../perl-module-implementation/perl-module-implementation.mk    | 1 +
> >   package/perl-module-runtime/perl-module-runtime.mk              | 1 +
> >   .../perl-mojolicious-plugin-authentication.mk                   | 1 +
> >   .../perl-mojolicious-plugin-authorization.mk                    | 1 +
> >   .../perl-mojolicious-plugin-cspheader.mk                        | 1 +
> >   .../perl-mojolicious-plugin-i18n.mk                             | 1 +
> >   .../perl-mojolicious-plugin-securityheader.mk                   | 1 +
> >   package/perl-mojolicious/perl-mojolicious.mk                    | 1 +
> >   package/perl-moo/perl-moo.mk                                    | 1 +
> >   package/perl-mozilla-ca/perl-mozilla-ca.mk                      | 1 +
> >   package/perl-net-dns/perl-net-dns.mk                            | 1 +
> >   package/perl-net-http/perl-net-http.mk                          | 1 +
> >   package/perl-net-snmp/perl-net-snmp.mk                          | 1 +
> >   package/perl-net-ssh2/perl-net-ssh2.mk                          | 1 +
> >   package/perl-net-ssleay/perl-net-ssleay.mk                      | 1 +
> >   package/perl-net-telnet/perl-net-telnet.mk                      | 1 +
> >   package/perl-netaddr-ip/perl-netaddr-ip.mk                      | 1 +
> >   package/perl-number-bytes-human/perl-number-bytes-human.mk      | 1 +
> >   package/perl-package-stash/perl-package-stash.mk                | 1 +
> >   package/perl-params-util/perl-params-util.mk                    | 1 +
> >   package/perl-parse-yapp/perl-parse-yapp.mk                      | 1 +
> >   package/perl-path-tiny/perl-path-tiny.mk                        | 1 +
> >   package/perl-plack/perl-plack.mk                                | 1 +
> >   .../perl-posix-strftime-compiler.mk                             | 1 +
> >   package/perl-role-tiny/perl-role-tiny.mk                        | 1 +
> >   package/perl-stream-buffered/perl-stream-buffered.mk            | 1 +
> >   .../perl-sub-exporter-progressive.mk                            | 1 +
> >   package/perl-sub-install/perl-sub-install.mk                    | 1 +
> >   package/perl-sub-quote/perl-sub-quote.mk                        | 1 +
> >   package/perl-sys-meminfo/perl-sys-meminfo.mk                    | 1 +
> >   package/perl-sys-mmap/perl-sys-mmap.mk                          | 1 +
> >   package/perl-time-parsedate/perl-time-parsedate.mk              | 1 +
> >   package/perl-timedate/perl-timedate.mk                          | 1 +
> >   package/perl-try-tiny/perl-try-tiny.mk                          | 1 +
> >   package/perl-type-tiny/perl-type-tiny.mk                        | 1 +
> >   package/perl-uri/perl-uri.mk                                    | 1 +
> >   package/perl-www-form-urlencoded/perl-www-form-urlencoded.mk    | 1 +
> >   package/perl-www-robotrules/perl-www-robotrules.mk              | 1 +
> >   package/perl-x10/perl-x10.mk                                    | 1 +
> >   package/perl-xml-libxml/perl-xml-libxml.mk                      | 1 +
> >   package/perl-xml-namespacesupport/perl-xml-namespacesupport.mk  | 1 +
> >   package/perl-xml-sax-base/perl-xml-sax-base.mk                  | 1 +
> >   package/perl-xml-sax/perl-xml-sax.mk                            | 1 +
> >   utils/scancpan                                                  | 2 ++
> >   124 files changed, 125 insertions(+)
> >
>
Yann E. MORIN Sept. 15, 2024, 3:05 p.m. UTC | #4
François, all,

On 2024-04-07 16:42 +0200, Francois Perrad spake thusly:
> This serie goes on the top of serie "Support SBOM in CycloneDX format"
> It handles PURL for the CPAN (Perl package manager)

After discussing the PURL topic at the developpers days, because we do
see a direct use for those for now: the only consumer of SBOM-like we
identified, dependency-track, does not even make use of PURLs info.

But at least, we know it's going to be relatively easyt to have PURL for
perl packages.

Regards,
Yann E. MORIN.