All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [RFC PATCH 0/2] PURL pkg:cpan
@ 2024-04-07 14:42 Francois Perrad
  2024-04-07 14:42 ` [Buildroot] [RFC PATCH 1/2] utils/scancpan: generate PURL package variable Francois Perrad
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Francois Perrad @ 2024-04-07 14:42 UTC (permalink / raw)
  To: buildroot; +Cc: Thomas Perale

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(+)

-- 
2.40.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [RFC PATCH 1/2] utils/scancpan: generate PURL package variable
  2024-04-07 14:42 [Buildroot] [RFC PATCH 0/2] PURL pkg:cpan Francois Perrad
@ 2024-04-07 14:42 ` Francois Perrad
  2024-04-07 14:42 ` [Buildroot] [RFC PATCH 2/2] package/perl-*: regenerate with PURL Francois Perrad
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 7+ messages in thread
From: Francois Perrad @ 2024-04-07 14:42 UTC (permalink / raw)
  To: buildroot; +Cc: Thomas Perale

follow https://github.com/giterlizzi/perl-URI-PackageURL
where the author is used as namespace

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
---
 utils/scancpan | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/utils/scancpan b/utils/scancpan
index e7739a8ad..fbf17d0f9 100755
--- a/utils/scancpan
+++ b/utils/scancpan
@@ -754,6 +754,7 @@ while (my ($distname, $dist) = each %dist) {
     }
     if ($force || !-f $mkname) {
         my $version = $dist->{version};
+        my $author = $dist->{author};
         my ($path) = $dist->{download_url} =~ m|^[^:/?#]+://[^/?#]*([^?#]*)|;
         # this URL contains only the scheme, auth and path parts (but no query and fragment parts)
         # the scheme is not used, because the job is done by the BR download infrastructure
@@ -786,6 +787,7 @@ while (my ($distname, $dist) = each %dist) {
         say {$fh} qq{${brname}_VERSION = ${version}};
         say {$fh} qq{${brname}_SOURCE = ${distname}-\$(${brname}_VERSION).${suffix}};
         say {$fh} qq{${brname}_SITE = \$(BR2_CPAN_MIRROR)${directories}};
+        say {$fh} qq{${brname}_PURL = pkg:cpan/${author}/${distname}\@\$(${brname}_VERSION)};
         say {$fh} qq{${brname}_DEPENDENCIES = ${dependencies}} if $need_target{$distname} && $dependencies;
         say {$fh} qq{HOST_${brname}_DEPENDENCIES = ${host_dependencies}} if $need_host{$distname} && $host_dependencies;
         say {$fh} qq{${brname}_LICENSE = ${license}} if $license;
-- 
2.40.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Buildroot] [RFC PATCH 2/2] package/perl-*: regenerate with PURL
  2024-04-07 14:42 [Buildroot] [RFC PATCH 0/2] PURL pkg:cpan Francois Perrad
  2024-04-07 14:42 ` [Buildroot] [RFC PATCH 1/2] utils/scancpan: generate PURL package variable Francois Perrad
@ 2024-04-07 14:42 ` Francois Perrad
  2024-04-07 17:09 ` [Buildroot] [RFC PATCH 0/2] PURL pkg:cpan Arnout Vandecappelle via buildroot
  2024-09-15 15:05 ` Yann E. MORIN
  3 siblings, 0 replies; 7+ messages in thread
From: Francois Perrad @ 2024-04-07 14:42 UTC (permalink / raw)
  To: buildroot; +Cc: Thomas Perale

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
---
 .../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/perl-devel-globaldestruction.mk | 1 +
 package/perl-devel-size/perl-devel-size.mk                       | 1 +
 .../perl-devel-stacktrace-ashtml/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 +
 package/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 +
 package/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 +
 package/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/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 +
 package/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/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/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 +
 123 files changed, 123 insertions(+)

diff --git a/package/perl-apache-logformat-compiler/perl-apache-logformat-compiler.mk b/package/perl-apache-logformat-compiler/perl-apache-logformat-compiler.mk
index 82ceb7979..4e919bb3e 100644
--- a/package/perl-apache-logformat-compiler/perl-apache-logformat-compiler.mk
+++ b/package/perl-apache-logformat-compiler/perl-apache-logformat-compiler.mk
@@ -7,6 +7,7 @@
 PERL_APACHE_LOGFORMAT_COMPILER_VERSION = 0.36
 PERL_APACHE_LOGFORMAT_COMPILER_SOURCE = Apache-LogFormat-Compiler-$(PERL_APACHE_LOGFORMAT_COMPILER_VERSION).tar.gz
 PERL_APACHE_LOGFORMAT_COMPILER_SITE = $(BR2_CPAN_MIRROR)/authors/id/K/KA/KAZEBURO
+PERL_APACHE_LOGFORMAT_COMPILER_PURL = pkg:cpan/KAZEBURO/Apache-LogFormat-Compiler@$(PERL_APACHE_LOGFORMAT_COMPILER_VERSION)
 PERL_APACHE_LOGFORMAT_COMPILER_DEPENDENCIES = host-perl-module-build-tiny
 PERL_APACHE_LOGFORMAT_COMPILER_LICENSE = Artistic or GPL-1.0+
 PERL_APACHE_LOGFORMAT_COMPILER_LICENSE_FILES = LICENSE
diff --git a/package/perl-appconfig/perl-appconfig.mk b/package/perl-appconfig/perl-appconfig.mk
index 8f9dd5202..45abdb427 100644
--- a/package/perl-appconfig/perl-appconfig.mk
+++ b/package/perl-appconfig/perl-appconfig.mk
@@ -7,6 +7,7 @@
 PERL_APPCONFIG_VERSION = 1.71
 PERL_APPCONFIG_SOURCE = AppConfig-$(PERL_APPCONFIG_VERSION).tar.gz
 PERL_APPCONFIG_SITE = $(BR2_CPAN_MIRROR)/authors/id/N/NE/NEILB
+PERL_APPCONFIG_PURL = pkg:cpan/NEILB/AppConfig@$(PERL_APPCONFIG_VERSION)
 PERL_APPCONFIG_LICENSE = Artistic or GPL-1.0+
 PERL_APPCONFIG_LICENSE_FILES = LICENSE
 PERL_APPCONFIG_DISTNAME = AppConfig
diff --git a/package/perl-astro-suntime/perl-astro-suntime.mk b/package/perl-astro-suntime/perl-astro-suntime.mk
index e5cad6a40..045787531 100644
--- a/package/perl-astro-suntime/perl-astro-suntime.mk
+++ b/package/perl-astro-suntime/perl-astro-suntime.mk
@@ -7,6 +7,7 @@
 PERL_ASTRO_SUNTIME_VERSION = 0.06
 PERL_ASTRO_SUNTIME_SOURCE = Astro-SunTime-$(PERL_ASTRO_SUNTIME_VERSION).tar.gz
 PERL_ASTRO_SUNTIME_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RO/ROBF
+PERL_ASTRO_SUNTIME_PURL = pkg:cpan/ROBF/Astro-SunTime@$(PERL_ASTRO_SUNTIME_VERSION)
 PERL_ASTRO_SUNTIME_DEPENDENCIES = host-perl-module-build
 PERL_ASTRO_SUNTIME_LICENSE = GPL-3.0
 PERL_ASTRO_SUNTIME_LICENSE_FILES = LICENSE
diff --git a/package/perl-class-inspector/perl-class-inspector.mk b/package/perl-class-inspector/perl-class-inspector.mk
index fdb332366..c85818fea 100644
--- a/package/perl-class-inspector/perl-class-inspector.mk
+++ b/package/perl-class-inspector/perl-class-inspector.mk
@@ -7,6 +7,7 @@
 PERL_CLASS_INSPECTOR_VERSION = 1.36
 PERL_CLASS_INSPECTOR_SOURCE = Class-Inspector-$(PERL_CLASS_INSPECTOR_VERSION).tar.gz
 PERL_CLASS_INSPECTOR_SITE = $(BR2_CPAN_MIRROR)/authors/id/P/PL/PLICEASE
+PERL_CLASS_INSPECTOR_PURL = pkg:cpan/PLICEASE/Class-Inspector@$(PERL_CLASS_INSPECTOR_VERSION)
 PERL_CLASS_INSPECTOR_LICENSE = Artistic or GPL-1.0+
 PERL_CLASS_INSPECTOR_LICENSE_FILES = LICENSE
 PERL_CLASS_INSPECTOR_DISTNAME = Class-Inspector
diff --git a/package/perl-class-load/perl-class-load.mk b/package/perl-class-load/perl-class-load.mk
index c18e53d19..27b0d43bf 100644
--- a/package/perl-class-load/perl-class-load.mk
+++ b/package/perl-class-load/perl-class-load.mk
@@ -7,6 +7,7 @@
 PERL_CLASS_LOAD_VERSION = 0.25
 PERL_CLASS_LOAD_SOURCE = Class-Load-$(PERL_CLASS_LOAD_VERSION).tar.gz
 PERL_CLASS_LOAD_SITE = $(BR2_CPAN_MIRROR)/authors/id/E/ET/ETHER
+PERL_CLASS_LOAD_PURL = pkg:cpan/ETHER/Class-Load@$(PERL_CLASS_LOAD_VERSION)
 PERL_CLASS_LOAD_LICENSE = Artistic or GPL-1.0+
 PERL_CLASS_LOAD_LICENSE_FILES = LICENSE
 PERL_CLASS_LOAD_DISTNAME = Class-Load
diff --git a/package/perl-class-method-modifiers/perl-class-method-modifiers.mk b/package/perl-class-method-modifiers/perl-class-method-modifiers.mk
index d4a7f11b8..d0f0b535e 100644
--- a/package/perl-class-method-modifiers/perl-class-method-modifiers.mk
+++ b/package/perl-class-method-modifiers/perl-class-method-modifiers.mk
@@ -7,6 +7,7 @@
 PERL_CLASS_METHOD_MODIFIERS_VERSION = 2.15
 PERL_CLASS_METHOD_MODIFIERS_SOURCE = Class-Method-Modifiers-$(PERL_CLASS_METHOD_MODIFIERS_VERSION).tar.gz
 PERL_CLASS_METHOD_MODIFIERS_SITE = $(BR2_CPAN_MIRROR)/authors/id/E/ET/ETHER
+PERL_CLASS_METHOD_MODIFIERS_PURL = pkg:cpan/ETHER/Class-Method-Modifiers@$(PERL_CLASS_METHOD_MODIFIERS_VERSION)
 PERL_CLASS_METHOD_MODIFIERS_LICENSE = Artistic or GPL-1.0+
 PERL_CLASS_METHOD_MODIFIERS_LICENSE_FILES = LICENSE
 PERL_CLASS_METHOD_MODIFIERS_DISTNAME = Class-Method-Modifiers
diff --git a/package/perl-class-std-fast/perl-class-std-fast.mk b/package/perl-class-std-fast/perl-class-std-fast.mk
index b5d32398a..b848038e2 100644
--- a/package/perl-class-std-fast/perl-class-std-fast.mk
+++ b/package/perl-class-std-fast/perl-class-std-fast.mk
@@ -7,6 +7,7 @@
 PERL_CLASS_STD_FAST_VERSION = 0.0.8
 PERL_CLASS_STD_FAST_SOURCE = Class-Std-Fast-v$(PERL_CLASS_STD_FAST_VERSION).tar.gz
 PERL_CLASS_STD_FAST_SITE = $(BR2_CPAN_MIRROR)/authors/id/A/AC/ACID
+PERL_CLASS_STD_FAST_PURL = pkg:cpan/ACID/Class-Std-Fast@$(PERL_CLASS_STD_FAST_VERSION)
 PERL_CLASS_STD_FAST_DEPENDENCIES = host-perl-module-build
 PERL_CLASS_STD_FAST_LICENSE = Artistic or GPL-1.0+
 PERL_CLASS_STD_FAST_LICENSE_FILES = README
diff --git a/package/perl-class-std/perl-class-std.mk b/package/perl-class-std/perl-class-std.mk
index 493a89f26..138d4b1c4 100644
--- a/package/perl-class-std/perl-class-std.mk
+++ b/package/perl-class-std/perl-class-std.mk
@@ -7,6 +7,7 @@
 PERL_CLASS_STD_VERSION = 0.013
 PERL_CLASS_STD_SOURCE = Class-Std-$(PERL_CLASS_STD_VERSION).tar.gz
 PERL_CLASS_STD_SITE = $(BR2_CPAN_MIRROR)/authors/id/C/CH/CHORNY
+PERL_CLASS_STD_PURL = pkg:cpan/CHORNY/Class-Std@$(PERL_CLASS_STD_VERSION)
 PERL_CLASS_STD_DEPENDENCIES = host-perl-module-build
 PERL_CLASS_STD_LICENSE = Artistic or GPL-1.0+
 PERL_CLASS_STD_LICENSE_FILES = README
diff --git a/package/perl-clone/perl-clone.mk b/package/perl-clone/perl-clone.mk
index 9e04329ea..16914f970 100644
--- a/package/perl-clone/perl-clone.mk
+++ b/package/perl-clone/perl-clone.mk
@@ -7,6 +7,7 @@
 PERL_CLONE_VERSION = 0.46
 PERL_CLONE_SOURCE = Clone-$(PERL_CLONE_VERSION).tar.gz
 PERL_CLONE_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GARU
+PERL_CLONE_PURL = pkg:cpan/GARU/Clone@$(PERL_CLONE_VERSION)
 PERL_CLONE_LICENSE = Artistic or GPL-1.0+
 PERL_CLONE_LICENSE_FILES = README.md
 PERL_CLONE_DISTNAME = Clone
diff --git a/package/perl-convert-asn1/perl-convert-asn1.mk b/package/perl-convert-asn1/perl-convert-asn1.mk
index 07f9b1d1b..e417a22e5 100644
--- a/package/perl-convert-asn1/perl-convert-asn1.mk
+++ b/package/perl-convert-asn1/perl-convert-asn1.mk
@@ -7,6 +7,7 @@
 PERL_CONVERT_ASN1_VERSION = 0.34
 PERL_CONVERT_ASN1_SOURCE = Convert-ASN1-$(PERL_CONVERT_ASN1_VERSION).tar.gz
 PERL_CONVERT_ASN1_SITE = $(BR2_CPAN_MIRROR)/authors/id/T/TI/TIMLEGGE
+PERL_CONVERT_ASN1_PURL = pkg:cpan/TIMLEGGE/Convert-ASN1@$(PERL_CONVERT_ASN1_VERSION)
 PERL_CONVERT_ASN1_LICENSE = Artistic-1.0-Perl or GPL-1.0+
 PERL_CONVERT_ASN1_LICENSE_FILES = LICENSE
 PERL_CONVERT_ASN1_DISTNAME = Convert-ASN1
diff --git a/package/perl-cookie-baker/perl-cookie-baker.mk b/package/perl-cookie-baker/perl-cookie-baker.mk
index add5fcd0e..3a2d4b5cb 100644
--- a/package/perl-cookie-baker/perl-cookie-baker.mk
+++ b/package/perl-cookie-baker/perl-cookie-baker.mk
@@ -7,6 +7,7 @@
 PERL_COOKIE_BAKER_VERSION = 0.12
 PERL_COOKIE_BAKER_SOURCE = Cookie-Baker-$(PERL_COOKIE_BAKER_VERSION).tar.gz
 PERL_COOKIE_BAKER_SITE = $(BR2_CPAN_MIRROR)/authors/id/K/KA/KAZEBURO
+PERL_COOKIE_BAKER_PURL = pkg:cpan/KAZEBURO/Cookie-Baker@$(PERL_COOKIE_BAKER_VERSION)
 PERL_COOKIE_BAKER_DEPENDENCIES = host-perl-module-build-tiny
 PERL_COOKIE_BAKER_LICENSE = Artistic or GPL-1.0+
 PERL_COOKIE_BAKER_LICENSE_FILES = LICENSE
diff --git a/package/perl-crypt-blowfish/perl-crypt-blowfish.mk b/package/perl-crypt-blowfish/perl-crypt-blowfish.mk
index a8f274b60..fef509115 100644
--- a/package/perl-crypt-blowfish/perl-crypt-blowfish.mk
+++ b/package/perl-crypt-blowfish/perl-crypt-blowfish.mk
@@ -7,6 +7,7 @@
 PERL_CRYPT_BLOWFISH_VERSION = 2.14
 PERL_CRYPT_BLOWFISH_SOURCE = Crypt-Blowfish-$(PERL_CRYPT_BLOWFISH_VERSION).tar.gz
 PERL_CRYPT_BLOWFISH_SITE = $(BR2_CPAN_MIRROR)/authors/id/D/DP/DPARIS
+PERL_CRYPT_BLOWFISH_PURL = pkg:cpan/DPARIS/Crypt-Blowfish@$(PERL_CRYPT_BLOWFISH_VERSION)
 PERL_CRYPT_BLOWFISH_LICENSE = BSD-4-Clause-like
 PERL_CRYPT_BLOWFISH_LICENSE_FILES = COPYRIGHT
 PERL_CRYPT_BLOWFISH_DISTNAME = Crypt-Blowfish
diff --git a/package/perl-crypt-cbc/perl-crypt-cbc.mk b/package/perl-crypt-cbc/perl-crypt-cbc.mk
index c00ec37ee..9940306cf 100644
--- a/package/perl-crypt-cbc/perl-crypt-cbc.mk
+++ b/package/perl-crypt-cbc/perl-crypt-cbc.mk
@@ -7,6 +7,7 @@
 PERL_CRYPT_CBC_VERSION = 2.33
 PERL_CRYPT_CBC_SOURCE = Crypt-CBC-$(PERL_CRYPT_CBC_VERSION).tar.gz
 PERL_CRYPT_CBC_SITE = $(BR2_CPAN_MIRROR)/authors/id/L/LD/LDS
+PERL_CRYPT_CBC_PURL = pkg:cpan/LDS/Crypt-CBC@$(PERL_CRYPT_CBC_VERSION)
 PERL_CRYPT_CBC_LICENSE = Artistic
 PERL_CRYPT_CBC_LICENSE_FILES = CBC.pm
 PERL_CRYPT_CBC_DISTNAME = Crypt-CBC
diff --git a/package/perl-crypt-openssl-aes/perl-crypt-openssl-aes.mk b/package/perl-crypt-openssl-aes/perl-crypt-openssl-aes.mk
index c05f3a9c3..453ed5d09 100644
--- a/package/perl-crypt-openssl-aes/perl-crypt-openssl-aes.mk
+++ b/package/perl-crypt-openssl-aes/perl-crypt-openssl-aes.mk
@@ -7,6 +7,7 @@
 PERL_CRYPT_OPENSSL_AES_VERSION = 0.02
 PERL_CRYPT_OPENSSL_AES_SOURCE = Crypt-OpenSSL-AES-$(PERL_CRYPT_OPENSSL_AES_VERSION).tar.gz
 PERL_CRYPT_OPENSSL_AES_SITE = $(BR2_CPAN_MIRROR)/authors/id/T/TT/TTAR
+PERL_CRYPT_OPENSSL_AES_PURL = pkg:cpan/TIMLEGGE/Crypt-OpenSSL-AES@$(PERL_CRYPT_OPENSSL_AES_VERSION)
 PERL_CRYPT_OPENSSL_AES_LICENSE = Artistic or GPL-1.0+
 PERL_CRYPT_OPENSSL_AES_LICENSE_FILES = README
 PERL_CRYPT_OPENSSL_AES_DISTNAME = Crypt-OpenSSL-AES
diff --git a/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.mk b/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.mk
index 56ff79d84..2cd2e29ad 100644
--- a/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.mk
+++ b/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.mk
@@ -7,6 +7,7 @@
 PERL_CRYPT_OPENSSL_GUESS_VERSION = 0.15
 PERL_CRYPT_OPENSSL_GUESS_SOURCE = Crypt-OpenSSL-Guess-$(PERL_CRYPT_OPENSSL_GUESS_VERSION).tar.gz
 PERL_CRYPT_OPENSSL_GUESS_SITE = $(BR2_CPAN_MIRROR)/authors/id/A/AK/AKIYM
+PERL_CRYPT_OPENSSL_GUESS_PURL = pkg:cpan/AKIYM/Crypt-OpenSSL-Guess@$(PERL_CRYPT_OPENSSL_GUESS_VERSION)
 PERL_CRYPT_OPENSSL_GUESS_LICENSE = Artistic or GPL-1.0+
 PERL_CRYPT_OPENSSL_GUESS_LICENSE_FILES = LICENSE
 PERL_CRYPT_OPENSSL_GUESS_DISTNAME = Crypt-OpenSSL-Guess
diff --git a/package/perl-crypt-openssl-random/perl-crypt-openssl-random.mk b/package/perl-crypt-openssl-random/perl-crypt-openssl-random.mk
index e70eb7e92..e04111f28 100644
--- a/package/perl-crypt-openssl-random/perl-crypt-openssl-random.mk
+++ b/package/perl-crypt-openssl-random/perl-crypt-openssl-random.mk
@@ -7,6 +7,7 @@
 PERL_CRYPT_OPENSSL_RANDOM_VERSION = 0.15
 PERL_CRYPT_OPENSSL_RANDOM_SOURCE = Crypt-OpenSSL-Random-$(PERL_CRYPT_OPENSSL_RANDOM_VERSION).tar.gz
 PERL_CRYPT_OPENSSL_RANDOM_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RU/RURBAN
+PERL_CRYPT_OPENSSL_RANDOM_PURL = pkg:cpan/RURBAN/Crypt-OpenSSL-Random@$(PERL_CRYPT_OPENSSL_RANDOM_VERSION)
 PERL_CRYPT_OPENSSL_RANDOM_DEPENDENCIES = \
 	host-perl-crypt-openssl-guess \
 	openssl
diff --git a/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.mk b/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.mk
index e1bfd6a76..c54aa1257 100644
--- a/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.mk
+++ b/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.mk
@@ -7,6 +7,7 @@
 PERL_CRYPT_OPENSSL_RSA_VERSION = 0.33
 PERL_CRYPT_OPENSSL_RSA_SOURCE = Crypt-OpenSSL-RSA-$(PERL_CRYPT_OPENSSL_RSA_VERSION).tar.gz
 PERL_CRYPT_OPENSSL_RSA_SITE = $(BR2_CPAN_MIRROR)/authors/id/T/TO/TODDR
+PERL_CRYPT_OPENSSL_RSA_PURL = pkg:cpan/TODDR/Crypt-OpenSSL-RSA@$(PERL_CRYPT_OPENSSL_RSA_VERSION)
 PERL_CRYPT_OPENSSL_RSA_DEPENDENCIES = \
 	host-perl-crypt-openssl-guess \
 	perl-crypt-openssl-random \
diff --git a/package/perl-data-dump/perl-data-dump.mk b/package/perl-data-dump/perl-data-dump.mk
index e70de2a21..ee4e29e06 100644
--- a/package/perl-data-dump/perl-data-dump.mk
+++ b/package/perl-data-dump/perl-data-dump.mk
@@ -7,6 +7,7 @@
 PERL_DATA_DUMP_VERSION = 1.25
 PERL_DATA_DUMP_SOURCE = Data-Dump-$(PERL_DATA_DUMP_VERSION).tar.gz
 PERL_DATA_DUMP_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GARU
+PERL_DATA_DUMP_PURL = pkg:cpan/GARU/Data-Dump@$(PERL_DATA_DUMP_VERSION)
 PERL_DATA_DUMP_LICENSE = Artistic or GPL-1.0+
 PERL_DATA_DUMP_LICENSE_FILES = README.md
 PERL_DATA_DUMP_DISTNAME = Data-Dump
diff --git a/package/perl-data-optlist/perl-data-optlist.mk b/package/perl-data-optlist/perl-data-optlist.mk
index 8c22cfe78..09dcc6514 100644
--- a/package/perl-data-optlist/perl-data-optlist.mk
+++ b/package/perl-data-optlist/perl-data-optlist.mk
@@ -7,6 +7,7 @@
 PERL_DATA_OPTLIST_VERSION = 0.114
 PERL_DATA_OPTLIST_SOURCE = Data-OptList-$(PERL_DATA_OPTLIST_VERSION).tar.gz
 PERL_DATA_OPTLIST_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RJ/RJBS
+PERL_DATA_OPTLIST_PURL = pkg:cpan/RJBS/Data-OptList@$(PERL_DATA_OPTLIST_VERSION)
 PERL_DATA_OPTLIST_LICENSE = Artistic or GPL-1.0+
 PERL_DATA_OPTLIST_LICENSE_FILES = LICENSE
 PERL_DATA_OPTLIST_DISTNAME = Data-OptList
diff --git a/package/perl-data-uuid/perl-data-uuid.mk b/package/perl-data-uuid/perl-data-uuid.mk
index 93060964b..82031c985 100644
--- a/package/perl-data-uuid/perl-data-uuid.mk
+++ b/package/perl-data-uuid/perl-data-uuid.mk
@@ -7,6 +7,7 @@
 PERL_DATA_UUID_VERSION = 1.226
 PERL_DATA_UUID_SOURCE = Data-UUID-$(PERL_DATA_UUID_VERSION).tar.gz
 PERL_DATA_UUID_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RJ/RJBS
+PERL_DATA_UUID_PURL = pkg:cpan/GTERMARS/Data-UUID@$(PERL_DATA_UUID_VERSION)
 # The license is documented at
 # https://fedoraproject.org/wiki/Licensing:MIT#HP_Variant as the "HP
 # Variant" of the MIT license. There is no official SPDX tag for this
diff --git a/package/perl-date-manip/perl-date-manip.mk b/package/perl-date-manip/perl-date-manip.mk
index 55d9cff6e..e97ab8c83 100644
--- a/package/perl-date-manip/perl-date-manip.mk
+++ b/package/perl-date-manip/perl-date-manip.mk
@@ -7,6 +7,7 @@
 PERL_DATE_MANIP_VERSION = 6.94
 PERL_DATE_MANIP_SOURCE = Date-Manip-$(PERL_DATE_MANIP_VERSION).tar.gz
 PERL_DATE_MANIP_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SB/SBECK
+PERL_DATE_MANIP_PURL = pkg:cpan/SBECK/Date-Manip@$(PERL_DATE_MANIP_VERSION)
 PERL_DATE_MANIP_LICENSE = Artistic or GPL-1.0+
 PERL_DATE_MANIP_LICENSE_FILES = LICENSE
 PERL_DATE_MANIP_DISTNAME = Date-Manip
diff --git a/package/perl-datetime-tiny/perl-datetime-tiny.mk b/package/perl-datetime-tiny/perl-datetime-tiny.mk
index 2a4264261..8d9342b3e 100644
--- a/package/perl-datetime-tiny/perl-datetime-tiny.mk
+++ b/package/perl-datetime-tiny/perl-datetime-tiny.mk
@@ -7,6 +7,7 @@
 PERL_DATETIME_TINY_VERSION = 1.07
 PERL_DATETIME_TINY_SOURCE = DateTime-Tiny-$(PERL_DATETIME_TINY_VERSION).tar.gz
 PERL_DATETIME_TINY_SITE = $(BR2_CPAN_MIRROR)/authors/id/D/DA/DAGOLDEN
+PERL_DATETIME_TINY_PURL = pkg:cpan/DAGOLDEN/DateTime-Tiny@$(PERL_DATETIME_TINY_VERSION)
 PERL_DATETIME_TINY_LICENSE = Artistic or GPL-1.0+
 PERL_DATETIME_TINY_LICENSE_FILES = LICENSE
 PERL_DATETIME_TINY_DISTNAME = DateTime-Tiny
diff --git a/package/perl-dbd-mysql/perl-dbd-mysql.mk b/package/perl-dbd-mysql/perl-dbd-mysql.mk
index e87e34100..b0df5e457 100644
--- a/package/perl-dbd-mysql/perl-dbd-mysql.mk
+++ b/package/perl-dbd-mysql/perl-dbd-mysql.mk
@@ -7,6 +7,7 @@
 PERL_DBD_MYSQL_VERSION = 4.046
 PERL_DBD_MYSQL_SOURCE = DBD-mysql-$(PERL_DBD_MYSQL_VERSION).tar.gz
 PERL_DBD_MYSQL_SITE = $(BR2_CPAN_MIRROR)/authors/id/C/CA/CAPTTOFU
+PERL_DBD_MYSQL_PURL = pkg:cpan/DVEEDEN/DBD-mysql@$(PERL_DBD_MYSQL_VERSION)
 PERL_DBD_MYSQL_DEPENDENCIES = \
 	host-perl-dbi \
 	mariadb
diff --git a/package/perl-dbi/perl-dbi.mk b/package/perl-dbi/perl-dbi.mk
index 482d3d176..c04af7a53 100644
--- a/package/perl-dbi/perl-dbi.mk
+++ b/package/perl-dbi/perl-dbi.mk
@@ -7,6 +7,7 @@
 PERL_DBI_VERSION = 1.643
 PERL_DBI_SOURCE = DBI-$(PERL_DBI_VERSION).tar.gz
 PERL_DBI_SITE = $(BR2_CPAN_MIRROR)/authors/id/T/TI/TIMB
+PERL_DBI_PURL = pkg:cpan/TIMB/DBI@$(PERL_DBI_VERSION)
 PERL_DBI_LICENSE = Artistic or GPL-1.0+
 PERL_DBI_LICENSE_FILES = LICENSE
 PERL_DBI_DISTNAME = DBI
diff --git a/package/perl-devel-cycle/perl-devel-cycle.mk b/package/perl-devel-cycle/perl-devel-cycle.mk
index 0599e1c3a..afd323c1a 100644
--- a/package/perl-devel-cycle/perl-devel-cycle.mk
+++ b/package/perl-devel-cycle/perl-devel-cycle.mk
@@ -7,6 +7,7 @@
 PERL_DEVEL_CYCLE_VERSION = 1.12
 PERL_DEVEL_CYCLE_SOURCE = Devel-Cycle-$(PERL_DEVEL_CYCLE_VERSION).tar.gz
 PERL_DEVEL_CYCLE_SITE = $(BR2_CPAN_MIRROR)/authors/id/L/LD/LDS
+PERL_DEVEL_CYCLE_PURL = pkg:cpan/LDS/Devel-Cycle@$(PERL_DEVEL_CYCLE_VERSION)
 PERL_DEVEL_CYCLE_LICENSE = Artistic or GPL-1.0+
 PERL_DEVEL_CYCLE_LICENSE_FILES = README
 PERL_DEVEL_CYCLE_DISTNAME = Devel-Cycle
diff --git a/package/perl-devel-globaldestruction/perl-devel-globaldestruction.mk b/package/perl-devel-globaldestruction/perl-devel-globaldestruction.mk
index 3d4d60ed2..dd30c8c05 100644
--- a/package/perl-devel-globaldestruction/perl-devel-globaldestruction.mk
+++ b/package/perl-devel-globaldestruction/perl-devel-globaldestruction.mk
@@ -7,6 +7,7 @@
 PERL_DEVEL_GLOBALDESTRUCTION_VERSION = 0.14
 PERL_DEVEL_GLOBALDESTRUCTION_SOURCE = Devel-GlobalDestruction-$(PERL_DEVEL_GLOBALDESTRUCTION_VERSION).tar.gz
 PERL_DEVEL_GLOBALDESTRUCTION_SITE = $(BR2_CPAN_MIRROR)/authors/id/H/HA/HAARG
+PERL_DEVEL_GLOBALDESTRUCTION_PURL = pkg:cpan/HAARG/Devel-GlobalDestruction@$(PERL_DEVEL_GLOBALDESTRUCTION_VERSION)
 PERL_DEVEL_GLOBALDESTRUCTION_LICENSE = Artistic or GPL-1.0+
 PERL_DEVEL_GLOBALDESTRUCTION_LICENSE_FILES = README
 PERL_DEVEL_GLOBALDESTRUCTION_DISTNAME = Devel-GlobalDestruction
diff --git a/package/perl-devel-size/perl-devel-size.mk b/package/perl-devel-size/perl-devel-size.mk
index 9acc67c9e..5d1eb4a1d 100644
--- a/package/perl-devel-size/perl-devel-size.mk
+++ b/package/perl-devel-size/perl-devel-size.mk
@@ -7,6 +7,7 @@
 PERL_DEVEL_SIZE_VERSION = 0.83
 PERL_DEVEL_SIZE_SOURCE = Devel-Size-$(PERL_DEVEL_SIZE_VERSION).tar.gz
 PERL_DEVEL_SIZE_SITE = $(BR2_CPAN_MIRROR)/authors/id/N/NW/NWCLARK
+PERL_DEVEL_SIZE_PURL = pkg:cpan/NWCLARK/Devel-Size@$(PERL_DEVEL_SIZE_VERSION)
 PERL_DEVEL_SIZE_LICENSE = Artistic or GPL-1.0+
 PERL_DEVEL_SIZE_LICENSE_FILES = README
 PERL_DEVEL_SIZE_DISTNAME = Devel-Size
diff --git a/package/perl-devel-stacktrace-ashtml/perl-devel-stacktrace-ashtml.mk b/package/perl-devel-stacktrace-ashtml/perl-devel-stacktrace-ashtml.mk
index 949823c02..e7d05b900 100644
--- a/package/perl-devel-stacktrace-ashtml/perl-devel-stacktrace-ashtml.mk
+++ b/package/perl-devel-stacktrace-ashtml/perl-devel-stacktrace-ashtml.mk
@@ -7,6 +7,7 @@
 PERL_DEVEL_STACKTRACE_ASHTML_VERSION = 0.15
 PERL_DEVEL_STACKTRACE_ASHTML_SOURCE = Devel-StackTrace-AsHTML-$(PERL_DEVEL_STACKTRACE_ASHTML_VERSION).tar.gz
 PERL_DEVEL_STACKTRACE_ASHTML_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MI/MIYAGAWA
+PERL_DEVEL_STACKTRACE_ASHTML_PURL = pkg:cpan/MIYAGAWA/Devel-StackTrace-AsHTML@$(PERL_DEVEL_STACKTRACE_ASHTML_VERSION)
 PERL_DEVEL_STACKTRACE_ASHTML_LICENSE = Artistic or GPL-1.0+
 PERL_DEVEL_STACKTRACE_ASHTML_LICENSE_FILES = LICENSE
 PERL_DEVEL_STACKTRACE_ASHTML_DISTNAME = Devel-StackTrace-AsHTML
diff --git a/package/perl-devel-stacktrace/perl-devel-stacktrace.mk b/package/perl-devel-stacktrace/perl-devel-stacktrace.mk
index 557f21bb8..463ac39f1 100644
--- a/package/perl-devel-stacktrace/perl-devel-stacktrace.mk
+++ b/package/perl-devel-stacktrace/perl-devel-stacktrace.mk
@@ -7,6 +7,7 @@
 PERL_DEVEL_STACKTRACE_VERSION = 2.05
 PERL_DEVEL_STACKTRACE_SOURCE = Devel-StackTrace-$(PERL_DEVEL_STACKTRACE_VERSION).tar.gz
 PERL_DEVEL_STACKTRACE_SITE = $(BR2_CPAN_MIRROR)/authors/id/D/DR/DROLSKY
+PERL_DEVEL_STACKTRACE_PURL = pkg:cpan/DROLSKY/Devel-StackTrace@$(PERL_DEVEL_STACKTRACE_VERSION)
 PERL_DEVEL_STACKTRACE_LICENSE = Artistic-2.0
 PERL_DEVEL_STACKTRACE_LICENSE_FILES = LICENSE
 PERL_DEVEL_STACKTRACE_DISTNAME = Devel-StackTrace
diff --git a/package/perl-device-serialport/perl-device-serialport.mk b/package/perl-device-serialport/perl-device-serialport.mk
index 9889c9132..37c158b75 100644
--- a/package/perl-device-serialport/perl-device-serialport.mk
+++ b/package/perl-device-serialport/perl-device-serialport.mk
@@ -7,6 +7,7 @@
 PERL_DEVICE_SERIALPORT_VERSION = 1.04
 PERL_DEVICE_SERIALPORT_SOURCE = Device-SerialPort-$(PERL_DEVICE_SERIALPORT_VERSION).tar.gz
 PERL_DEVICE_SERIALPORT_SITE = $(BR2_CPAN_MIRROR)/authors/id/C/CO/COOK
+PERL_DEVICE_SERIALPORT_PURL = pkg:cpan/COOK/Device-SerialPort@$(PERL_DEVICE_SERIALPORT_VERSION)
 PERL_DEVICE_SERIALPORT_LICENSE = Artistic or GPL-1.0+
 PERL_DEVICE_SERIALPORT_LICENSE_FILES = README
 PERL_DEVICE_SERIALPORT_DISTNAME = Device-SerialPort
diff --git a/package/perl-digest-hmac/perl-digest-hmac.mk b/package/perl-digest-hmac/perl-digest-hmac.mk
index bc080703d..9a4d99592 100644
--- a/package/perl-digest-hmac/perl-digest-hmac.mk
+++ b/package/perl-digest-hmac/perl-digest-hmac.mk
@@ -7,6 +7,7 @@
 PERL_DIGEST_HMAC_VERSION = 1.04
 PERL_DIGEST_HMAC_SOURCE = Digest-HMAC-$(PERL_DIGEST_HMAC_VERSION).tar.gz
 PERL_DIGEST_HMAC_SITE = $(BR2_CPAN_MIRROR)/authors/id/A/AR/ARODLAND
+PERL_DIGEST_HMAC_PURL = pkg:cpan/ARODLAND/Digest-HMAC@$(PERL_DIGEST_HMAC_VERSION)
 PERL_DIGEST_HMAC_LICENSE = Artistic or GPL-1.0+
 PERL_DIGEST_HMAC_LICENSE_FILES = LICENSE
 PERL_DIGEST_HMAC_DISTNAME = Digest-HMAC
diff --git a/package/perl-digest-sha1/perl-digest-sha1.mk b/package/perl-digest-sha1/perl-digest-sha1.mk
index d3188db14..b0774724d 100644
--- a/package/perl-digest-sha1/perl-digest-sha1.mk
+++ b/package/perl-digest-sha1/perl-digest-sha1.mk
@@ -7,6 +7,7 @@
 PERL_DIGEST_SHA1_VERSION = 2.13
 PERL_DIGEST_SHA1_SOURCE = Digest-SHA1-$(PERL_DIGEST_SHA1_VERSION).tar.gz
 PERL_DIGEST_SHA1_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GAAS
+PERL_DIGEST_SHA1_PURL = pkg:cpan/GAAS/Digest-SHA1@$(PERL_DIGEST_SHA1_VERSION)
 PERL_DIGEST_SHA1_LICENSE = Artistic or GPL-1.0+
 PERL_DIGEST_SHA1_LICENSE_FILES = README
 PERL_DIGEST_SHA1_DISTNAME = Digest-SHA1
diff --git a/package/perl-dist-checkconflicts/perl-dist-checkconflicts.mk b/package/perl-dist-checkconflicts/perl-dist-checkconflicts.mk
index 47bd19f6c..82d795e1f 100644
--- a/package/perl-dist-checkconflicts/perl-dist-checkconflicts.mk
+++ b/package/perl-dist-checkconflicts/perl-dist-checkconflicts.mk
@@ -7,6 +7,7 @@
 PERL_DIST_CHECKCONFLICTS_VERSION = 0.11
 PERL_DIST_CHECKCONFLICTS_SOURCE = Dist-CheckConflicts-$(PERL_DIST_CHECKCONFLICTS_VERSION).tar.gz
 PERL_DIST_CHECKCONFLICTS_SITE = $(BR2_CPAN_MIRROR)/authors/id/D/DO/DOY
+PERL_DIST_CHECKCONFLICTS_PURL = pkg:cpan/DOY/Dist-CheckConflicts@$(PERL_DIST_CHECKCONFLICTS_VERSION)
 PERL_DIST_CHECKCONFLICTS_LICENSE = Artistic or GPL-1.0+
 PERL_DIST_CHECKCONFLICTS_LICENSE_FILES = LICENSE
 PERL_DIST_CHECKCONFLICTS_DISTNAME = Dist-CheckConflicts
diff --git a/package/perl-encode-detect/perl-encode-detect.mk b/package/perl-encode-detect/perl-encode-detect.mk
index 8e9ea7796..f7380a4b4 100644
--- a/package/perl-encode-detect/perl-encode-detect.mk
+++ b/package/perl-encode-detect/perl-encode-detect.mk
@@ -7,6 +7,7 @@
 PERL_ENCODE_DETECT_VERSION = 1.01
 PERL_ENCODE_DETECT_SOURCE = Encode-Detect-$(PERL_ENCODE_DETECT_VERSION).tar.gz
 PERL_ENCODE_DETECT_SITE = $(BR2_CPAN_MIRROR)/authors/id/J/JG/JGMYERS
+PERL_ENCODE_DETECT_PURL = pkg:cpan/JGMYERS/Encode-Detect@$(PERL_ENCODE_DETECT_VERSION)
 PERL_ENCODE_DETECT_DEPENDENCIES = host-perl-module-build
 PERL_ENCODE_DETECT_LICENSE = MPL-1.1
 PERL_ENCODE_DETECT_LICENSE_FILES = LICENSE
diff --git a/package/perl-encode-locale/perl-encode-locale.mk b/package/perl-encode-locale/perl-encode-locale.mk
index 1e948c65e..978693d42 100644
--- a/package/perl-encode-locale/perl-encode-locale.mk
+++ b/package/perl-encode-locale/perl-encode-locale.mk
@@ -7,6 +7,7 @@
 PERL_ENCODE_LOCALE_VERSION = 1.05
 PERL_ENCODE_LOCALE_SOURCE = Encode-Locale-$(PERL_ENCODE_LOCALE_VERSION).tar.gz
 PERL_ENCODE_LOCALE_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GAAS
+PERL_ENCODE_LOCALE_PURL = pkg:cpan/GAAS/Encode-Locale@$(PERL_ENCODE_LOCALE_VERSION)
 PERL_ENCODE_LOCALE_LICENSE = Artistic or GPL-1.0+
 PERL_ENCODE_LOCALE_LICENSE_FILES = README
 PERL_ENCODE_LOCALE_DISTNAME = Encode-Locale
diff --git a/package/perl-exporter-tiny/perl-exporter-tiny.mk b/package/perl-exporter-tiny/perl-exporter-tiny.mk
index 715070623..dd8e2e1d7 100644
--- a/package/perl-exporter-tiny/perl-exporter-tiny.mk
+++ b/package/perl-exporter-tiny/perl-exporter-tiny.mk
@@ -7,6 +7,7 @@
 PERL_EXPORTER_TINY_VERSION = 1.006002
 PERL_EXPORTER_TINY_SOURCE = Exporter-Tiny-$(PERL_EXPORTER_TINY_VERSION).tar.gz
 PERL_EXPORTER_TINY_SITE = $(BR2_CPAN_MIRROR)/authors/id/T/TO/TOBYINK
+PERL_EXPORTER_TINY_PURL = pkg:cpan/TOBYINK/Exporter-Tiny@$(PERL_EXPORTER_TINY_VERSION)
 PERL_EXPORTER_TINY_LICENSE = Artistic or GPL-1.0+
 PERL_EXPORTER_TINY_LICENSE_FILES = LICENSE
 PERL_EXPORTER_TINY_DISTNAME = Exporter-Tiny
diff --git a/package/perl-extutils-config/perl-extutils-config.mk b/package/perl-extutils-config/perl-extutils-config.mk
index f46ca3e6f..a246b9cb4 100644
--- a/package/perl-extutils-config/perl-extutils-config.mk
+++ b/package/perl-extutils-config/perl-extutils-config.mk
@@ -7,6 +7,7 @@
 PERL_EXTUTILS_CONFIG_VERSION = 0.008
 PERL_EXTUTILS_CONFIG_SOURCE = ExtUtils-Config-$(PERL_EXTUTILS_CONFIG_VERSION).tar.gz
 PERL_EXTUTILS_CONFIG_SITE = $(BR2_CPAN_MIRROR)/authors/id/L/LE/LEONT
+PERL_EXTUTILS_CONFIG_PURL = pkg:cpan/LEONT/ExtUtils-Config@$(PERL_EXTUTILS_CONFIG_VERSION)
 PERL_EXTUTILS_CONFIG_LICENSE = Artistic or GPL-1.0+
 PERL_EXTUTILS_CONFIG_LICENSE_FILES = LICENSE
 PERL_EXTUTILS_CONFIG_DISTNAME = ExtUtils-Config
diff --git a/package/perl-extutils-helpers/perl-extutils-helpers.mk b/package/perl-extutils-helpers/perl-extutils-helpers.mk
index d3b14d88c..c82111a2d 100644
--- a/package/perl-extutils-helpers/perl-extutils-helpers.mk
+++ b/package/perl-extutils-helpers/perl-extutils-helpers.mk
@@ -7,6 +7,7 @@
 PERL_EXTUTILS_HELPERS_VERSION = 0.026
 PERL_EXTUTILS_HELPERS_SOURCE = ExtUtils-Helpers-$(PERL_EXTUTILS_HELPERS_VERSION).tar.gz
 PERL_EXTUTILS_HELPERS_SITE = $(BR2_CPAN_MIRROR)/authors/id/L/LE/LEONT
+PERL_EXTUTILS_HELPERS_PURL = pkg:cpan/LEONT/ExtUtils-Helpers@$(PERL_EXTUTILS_HELPERS_VERSION)
 PERL_EXTUTILS_HELPERS_LICENSE = Artistic or GPL-1.0+
 PERL_EXTUTILS_HELPERS_LICENSE_FILES = LICENSE
 PERL_EXTUTILS_HELPERS_DISTNAME = ExtUtils-Helpers
diff --git a/package/perl-extutils-installpaths/perl-extutils-installpaths.mk b/package/perl-extutils-installpaths/perl-extutils-installpaths.mk
index e90e130c3..dba0d3b31 100644
--- a/package/perl-extutils-installpaths/perl-extutils-installpaths.mk
+++ b/package/perl-extutils-installpaths/perl-extutils-installpaths.mk
@@ -7,6 +7,7 @@
 PERL_EXTUTILS_INSTALLPATHS_VERSION = 0.012
 PERL_EXTUTILS_INSTALLPATHS_SOURCE = ExtUtils-InstallPaths-$(PERL_EXTUTILS_INSTALLPATHS_VERSION).tar.gz
 PERL_EXTUTILS_INSTALLPATHS_SITE = $(BR2_CPAN_MIRROR)/authors/id/L/LE/LEONT
+PERL_EXTUTILS_INSTALLPATHS_PURL = pkg:cpan/LEONT/ExtUtils-InstallPaths@$(PERL_EXTUTILS_INSTALLPATHS_VERSION)
 HOST_PERL_EXTUTILS_INSTALLPATHS_DEPENDENCIES = host-perl-extutils-config
 PERL_EXTUTILS_INSTALLPATHS_LICENSE = Artistic or GPL-1.0+
 PERL_EXTUTILS_INSTALLPATHS_LICENSE_FILES = LICENSE
diff --git a/package/perl-extutils-pkgconfig/perl-extutils-pkgconfig.mk b/package/perl-extutils-pkgconfig/perl-extutils-pkgconfig.mk
index cb11e9f58..4c1207d5f 100644
--- a/package/perl-extutils-pkgconfig/perl-extutils-pkgconfig.mk
+++ b/package/perl-extutils-pkgconfig/perl-extutils-pkgconfig.mk
@@ -7,6 +7,7 @@
 PERL_EXTUTILS_PKGCONFIG_VERSION = 1.16
 PERL_EXTUTILS_PKGCONFIG_SOURCE = ExtUtils-PkgConfig-$(PERL_EXTUTILS_PKGCONFIG_VERSION).tar.gz
 PERL_EXTUTILS_PKGCONFIG_SITE = $(BR2_CPAN_MIRROR)/authors/id/X/XA/XAOC
+PERL_EXTUTILS_PKGCONFIG_PURL = pkg:cpan/XAOC/ExtUtils-PkgConfig@$(PERL_EXTUTILS_PKGCONFIG_VERSION)
 PERL_EXTUTILS_PKGCONFIG_LICENSE = LGPL-2.1
 PERL_EXTUTILS_PKGCONFIG_LICENSE_FILES = README
 PERL_EXTUTILS_PKGCONFIG_DISTNAME = ExtUtils-PkgConfig
diff --git a/package/perl-file-listing/perl-file-listing.mk b/package/perl-file-listing/perl-file-listing.mk
index 583de605a..96a4802dc 100644
--- a/package/perl-file-listing/perl-file-listing.mk
+++ b/package/perl-file-listing/perl-file-listing.mk
@@ -7,6 +7,7 @@
 PERL_FILE_LISTING_VERSION = 6.16
 PERL_FILE_LISTING_SOURCE = File-Listing-$(PERL_FILE_LISTING_VERSION).tar.gz
 PERL_FILE_LISTING_SITE = $(BR2_CPAN_MIRROR)/authors/id/P/PL/PLICEASE
+PERL_FILE_LISTING_PURL = pkg:cpan/PLICEASE/File-Listing@$(PERL_FILE_LISTING_VERSION)
 PERL_FILE_LISTING_LICENSE = Artistic or GPL-1.0+
 PERL_FILE_LISTING_LICENSE_FILES = LICENSE
 PERL_FILE_LISTING_DISTNAME = File-Listing
diff --git a/package/perl-file-sharedir-install/perl-file-sharedir-install.mk b/package/perl-file-sharedir-install/perl-file-sharedir-install.mk
index 4f152e1b5..1a9f5a410 100644
--- a/package/perl-file-sharedir-install/perl-file-sharedir-install.mk
+++ b/package/perl-file-sharedir-install/perl-file-sharedir-install.mk
@@ -7,6 +7,7 @@
 PERL_FILE_SHAREDIR_INSTALL_VERSION = 0.14
 PERL_FILE_SHAREDIR_INSTALL_SOURCE = File-ShareDir-Install-$(PERL_FILE_SHAREDIR_INSTALL_VERSION).tar.gz
 PERL_FILE_SHAREDIR_INSTALL_SITE = $(BR2_CPAN_MIRROR)/authors/id/E/ET/ETHER
+PERL_FILE_SHAREDIR_INSTALL_PURL = pkg:cpan/ETHER/File-ShareDir-Install@$(PERL_FILE_SHAREDIR_INSTALL_VERSION)
 PERL_FILE_SHAREDIR_INSTALL_LICENSE = Artistic or GPL-1.0+
 PERL_FILE_SHAREDIR_INSTALL_LICENSE_FILES = LICENSE
 PERL_FILE_SHAREDIR_INSTALL_DISTNAME = File-ShareDir-Install
diff --git a/package/perl-file-sharedir/perl-file-sharedir.mk b/package/perl-file-sharedir/perl-file-sharedir.mk
index 0121b5634..40687cfc9 100644
--- a/package/perl-file-sharedir/perl-file-sharedir.mk
+++ b/package/perl-file-sharedir/perl-file-sharedir.mk
@@ -7,6 +7,7 @@
 PERL_FILE_SHAREDIR_VERSION = 1.118
 PERL_FILE_SHAREDIR_SOURCE = File-ShareDir-$(PERL_FILE_SHAREDIR_VERSION).tar.gz
 PERL_FILE_SHAREDIR_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RE/REHSACK
+PERL_FILE_SHAREDIR_PURL = pkg:cpan/REHSACK/File-ShareDir@$(PERL_FILE_SHAREDIR_VERSION)
 PERL_FILE_SHAREDIR_DEPENDENCIES = host-perl-file-sharedir-install
 PERL_FILE_SHAREDIR_LICENSE = Artistic or GPL-1.0+
 PERL_FILE_SHAREDIR_LICENSE_FILES = LICENSE
diff --git a/package/perl-file-slurp/perl-file-slurp.mk b/package/perl-file-slurp/perl-file-slurp.mk
index 0d4ab9403..4f2678840 100644
--- a/package/perl-file-slurp/perl-file-slurp.mk
+++ b/package/perl-file-slurp/perl-file-slurp.mk
@@ -7,6 +7,7 @@
 PERL_FILE_SLURP_VERSION = 9999.32
 PERL_FILE_SLURP_SOURCE = File-Slurp-$(PERL_FILE_SLURP_VERSION).tar.gz
 PERL_FILE_SLURP_SITE = $(BR2_CPAN_MIRROR)/authors/id/C/CA/CAPOEIRAB
+PERL_FILE_SLURP_PURL = pkg:cpan/CAPOEIRAB/File-Slurp@$(PERL_FILE_SLURP_VERSION)
 PERL_FILE_SLURP_LICENSE = Artistic or GPL-1.0+
 PERL_FILE_SLURP_LICENSE_FILES = README.md
 PERL_FILE_SLURP_DISTNAME = File-Slurp
diff --git a/package/perl-file-util/perl-file-util.mk b/package/perl-file-util/perl-file-util.mk
index 4348b0e95..1e4a6d8b2 100644
--- a/package/perl-file-util/perl-file-util.mk
+++ b/package/perl-file-util/perl-file-util.mk
@@ -7,6 +7,7 @@
 PERL_FILE_UTIL_VERSION = 4.201720
 PERL_FILE_UTIL_SOURCE = File-Util-$(PERL_FILE_UTIL_VERSION).tar.gz
 PERL_FILE_UTIL_SITE = $(BR2_CPAN_MIRROR)/authors/id/T/TO/TOMMY
+PERL_FILE_UTIL_PURL = pkg:cpan/TOMMY/File-Util@$(PERL_FILE_UTIL_VERSION)
 PERL_FILE_UTIL_DEPENDENCIES = host-perl-module-build
 PERL_FILE_UTIL_LICENSE = Artistic or GPL-1.0+
 PERL_FILE_UTIL_LICENSE_FILES = COPYING LICENSE
diff --git a/package/perl-filesys-notify-simple/perl-filesys-notify-simple.mk b/package/perl-filesys-notify-simple/perl-filesys-notify-simple.mk
index 62bc80c9f..63014ceda 100644
--- a/package/perl-filesys-notify-simple/perl-filesys-notify-simple.mk
+++ b/package/perl-filesys-notify-simple/perl-filesys-notify-simple.mk
@@ -7,6 +7,7 @@
 PERL_FILESYS_NOTIFY_SIMPLE_VERSION = 0.14
 PERL_FILESYS_NOTIFY_SIMPLE_SOURCE = Filesys-Notify-Simple-$(PERL_FILESYS_NOTIFY_SIMPLE_VERSION).tar.gz
 PERL_FILESYS_NOTIFY_SIMPLE_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MI/MIYAGAWA
+PERL_FILESYS_NOTIFY_SIMPLE_PURL = pkg:cpan/MIYAGAWA/Filesys-Notify-Simple@$(PERL_FILESYS_NOTIFY_SIMPLE_VERSION)
 PERL_FILESYS_NOTIFY_SIMPLE_LICENSE = Artistic or GPL-1.0+
 PERL_FILESYS_NOTIFY_SIMPLE_LICENSE_FILES = LICENSE
 PERL_FILESYS_NOTIFY_SIMPLE_DISTNAME = Filesys-Notify-Simple
diff --git a/package/perl-gd/perl-gd.mk b/package/perl-gd/perl-gd.mk
index 17c24bc97..5e827ef13 100644
--- a/package/perl-gd/perl-gd.mk
+++ b/package/perl-gd/perl-gd.mk
@@ -7,6 +7,7 @@
 PERL_GD_VERSION = 2.77
 PERL_GD_SOURCE = GD-$(PERL_GD_VERSION).tar.gz
 PERL_GD_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RU/RURBAN
+PERL_GD_PURL = pkg:cpan/RURBAN/GD@$(PERL_GD_VERSION)
 PERL_GD_DEPENDENCIES = host-perl-extutils-pkgconfig zlib gd
 PERL_GD_LICENSE = Artistic or GPL-1.0+
 PERL_GD_LICENSE_FILES = LICENSE
diff --git a/package/perl-gdgraph/perl-gdgraph.mk b/package/perl-gdgraph/perl-gdgraph.mk
index 286902a66..be9953b29 100644
--- a/package/perl-gdgraph/perl-gdgraph.mk
+++ b/package/perl-gdgraph/perl-gdgraph.mk
@@ -7,6 +7,7 @@
 PERL_GDGRAPH_VERSION = 1.54
 PERL_GDGRAPH_SOURCE = GDGraph-$(PERL_GDGRAPH_VERSION).tar.gz
 PERL_GDGRAPH_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RU/RUZ
+PERL_GDGRAPH_PURL = pkg:cpan/BPS/GDGraph@$(PERL_GDGRAPH_VERSION)
 PERL_GDGRAPH_LICENSE = Artistic or GPL-1.0+ (perl module), GPL-2.0+ (font)
 PERL_GDGRAPH_LICENSE_FILES = Dustismo.LICENSE README
 PERL_GDGRAPH_DISTNAME = GDGraph
diff --git a/package/perl-gdtextutil/perl-gdtextutil.mk b/package/perl-gdtextutil/perl-gdtextutil.mk
index f91d9e9eb..9e82df9a8 100644
--- a/package/perl-gdtextutil/perl-gdtextutil.mk
+++ b/package/perl-gdtextutil/perl-gdtextutil.mk
@@ -7,6 +7,7 @@
 PERL_GDTEXTUTIL_VERSION = 0.86
 PERL_GDTEXTUTIL_SOURCE = GDTextUtil-$(PERL_GDTEXTUTIL_VERSION).tar.gz
 PERL_GDTEXTUTIL_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MV/MVERB
+PERL_GDTEXTUTIL_PURL = pkg:cpan/MVERB/GDTextUtil@$(PERL_GDTEXTUTIL_VERSION)
 PERL_GDTEXTUTIL_LICENSE = Artistic or GPL-1.0+ (perl module), GPL-2.0+ (font)
 PERL_GDTEXTUTIL_LICENSE_FILES = Dustismo.LICENSE README
 PERL_GDTEXTUTIL_DISTNAME = GDTextUtil
diff --git a/package/perl-hash-multivalue/perl-hash-multivalue.mk b/package/perl-hash-multivalue/perl-hash-multivalue.mk
index dcbfe8431..23d7797d0 100644
--- a/package/perl-hash-multivalue/perl-hash-multivalue.mk
+++ b/package/perl-hash-multivalue/perl-hash-multivalue.mk
@@ -7,6 +7,7 @@
 PERL_HASH_MULTIVALUE_VERSION = 0.16
 PERL_HASH_MULTIVALUE_SOURCE = Hash-MultiValue-$(PERL_HASH_MULTIVALUE_VERSION).tar.gz
 PERL_HASH_MULTIVALUE_SITE = $(BR2_CPAN_MIRROR)/authors/id/A/AR/ARISTOTLE
+PERL_HASH_MULTIVALUE_PURL = pkg:cpan/ARISTOTLE/Hash-MultiValue@$(PERL_HASH_MULTIVALUE_VERSION)
 PERL_HASH_MULTIVALUE_LICENSE = Artistic or GPL-1.0+
 PERL_HASH_MULTIVALUE_LICENSE_FILES = LICENSE
 PERL_HASH_MULTIVALUE_DISTNAME = Hash-MultiValue
diff --git a/package/perl-html-parser/perl-html-parser.mk b/package/perl-html-parser/perl-html-parser.mk
index 50efaa273..8c4624259 100644
--- a/package/perl-html-parser/perl-html-parser.mk
+++ b/package/perl-html-parser/perl-html-parser.mk
@@ -7,6 +7,7 @@
 PERL_HTML_PARSER_VERSION = 3.81
 PERL_HTML_PARSER_SOURCE = HTML-Parser-$(PERL_HTML_PARSER_VERSION).tar.gz
 PERL_HTML_PARSER_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS
+PERL_HTML_PARSER_PURL = pkg:cpan/OALDERS/HTML-Parser@$(PERL_HTML_PARSER_VERSION)
 PERL_HTML_PARSER_LICENSE = Artistic or GPL-1.0+
 PERL_HTML_PARSER_LICENSE_FILES = LICENSE
 PERL_HTML_PARSER_DISTNAME = HTML-Parser
diff --git a/package/perl-html-tagset/perl-html-tagset.mk b/package/perl-html-tagset/perl-html-tagset.mk
index c6b5f6913..1d9c04eb5 100644
--- a/package/perl-html-tagset/perl-html-tagset.mk
+++ b/package/perl-html-tagset/perl-html-tagset.mk
@@ -7,6 +7,7 @@
 PERL_HTML_TAGSET_VERSION = 3.20
 PERL_HTML_TAGSET_SOURCE = HTML-Tagset-$(PERL_HTML_TAGSET_VERSION).tar.gz
 PERL_HTML_TAGSET_SITE = $(BR2_CPAN_MIRROR)/authors/id/P/PE/PETDANCE
+PERL_HTML_TAGSET_PURL = pkg:cpan/PETDANCE/HTML-Tagset@$(PERL_HTML_TAGSET_VERSION)
 PERL_HTML_TAGSET_LICENSE = Artistic or GPL-1.0+
 PERL_HTML_TAGSET_LICENSE_FILES = README
 PERL_HTML_TAGSET_DISTNAME = HTML-Tagset
diff --git a/package/perl-http-cookies/perl-http-cookies.mk b/package/perl-http-cookies/perl-http-cookies.mk
index 745fd10a7..a2c5bcb7a 100644
--- a/package/perl-http-cookies/perl-http-cookies.mk
+++ b/package/perl-http-cookies/perl-http-cookies.mk
@@ -7,6 +7,7 @@
 PERL_HTTP_COOKIES_VERSION = 6.10
 PERL_HTTP_COOKIES_SOURCE = HTTP-Cookies-$(PERL_HTTP_COOKIES_VERSION).tar.gz
 PERL_HTTP_COOKIES_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS
+PERL_HTTP_COOKIES_PURL = pkg:cpan/OALDERS/HTTP-Cookies@$(PERL_HTTP_COOKIES_VERSION)
 PERL_HTTP_COOKIES_LICENSE = Artistic or GPL-1.0+
 PERL_HTTP_COOKIES_LICENSE_FILES = LICENSE
 PERL_HTTP_COOKIES_DISTNAME = HTTP-Cookies
diff --git a/package/perl-http-daemon/perl-http-daemon.mk b/package/perl-http-daemon/perl-http-daemon.mk
index c017c4e09..dbfbf9bb1 100644
--- a/package/perl-http-daemon/perl-http-daemon.mk
+++ b/package/perl-http-daemon/perl-http-daemon.mk
@@ -7,6 +7,7 @@
 PERL_HTTP_DAEMON_VERSION = 6.16
 PERL_HTTP_DAEMON_SOURCE = HTTP-Daemon-$(PERL_HTTP_DAEMON_VERSION).tar.gz
 PERL_HTTP_DAEMON_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS
+PERL_HTTP_DAEMON_PURL = pkg:cpan/OALDERS/HTTP-Daemon@$(PERL_HTTP_DAEMON_VERSION)
 PERL_HTTP_DAEMON_DEPENDENCIES = host-perl-module-build-tiny
 PERL_HTTP_DAEMON_LICENSE = Artistic or GPL-1.0+
 PERL_HTTP_DAEMON_LICENSE_FILES = LICENCE
diff --git a/package/perl-http-date/perl-http-date.mk b/package/perl-http-date/perl-http-date.mk
index 2f1aeb7da..430a01ff7 100644
--- a/package/perl-http-date/perl-http-date.mk
+++ b/package/perl-http-date/perl-http-date.mk
@@ -7,6 +7,7 @@
 PERL_HTTP_DATE_VERSION = 6.06
 PERL_HTTP_DATE_SOURCE = HTTP-Date-$(PERL_HTTP_DATE_VERSION).tar.gz
 PERL_HTTP_DATE_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS
+PERL_HTTP_DATE_PURL = pkg:cpan/OALDERS/HTTP-Date@$(PERL_HTTP_DATE_VERSION)
 PERL_HTTP_DATE_LICENSE = Artistic-1.0-Perl or GPL-1.0+
 PERL_HTTP_DATE_LICENSE_FILES = LICENSE
 PERL_HTTP_DATE_DISTNAME = HTTP-Date
diff --git a/package/perl-http-entity-parser/perl-http-entity-parser.mk b/package/perl-http-entity-parser/perl-http-entity-parser.mk
index 2304955bd..51c016b4e 100644
--- a/package/perl-http-entity-parser/perl-http-entity-parser.mk
+++ b/package/perl-http-entity-parser/perl-http-entity-parser.mk
@@ -7,6 +7,7 @@
 PERL_HTTP_ENTITY_PARSER_VERSION = 0.25
 PERL_HTTP_ENTITY_PARSER_SOURCE = HTTP-Entity-Parser-$(PERL_HTTP_ENTITY_PARSER_VERSION).tar.gz
 PERL_HTTP_ENTITY_PARSER_SITE = $(BR2_CPAN_MIRROR)/authors/id/K/KA/KAZEBURO
+PERL_HTTP_ENTITY_PARSER_PURL = pkg:cpan/KAZEBURO/HTTP-Entity-Parser@$(PERL_HTTP_ENTITY_PARSER_VERSION)
 PERL_HTTP_ENTITY_PARSER_DEPENDENCIES = host-perl-module-build-tiny
 PERL_HTTP_ENTITY_PARSER_LICENSE = Artistic or GPL-1.0+
 PERL_HTTP_ENTITY_PARSER_LICENSE_FILES = LICENSE
diff --git a/package/perl-http-headers-fast/perl-http-headers-fast.mk b/package/perl-http-headers-fast/perl-http-headers-fast.mk
index d7bff6f99..408e5aade 100644
--- a/package/perl-http-headers-fast/perl-http-headers-fast.mk
+++ b/package/perl-http-headers-fast/perl-http-headers-fast.mk
@@ -7,6 +7,7 @@
 PERL_HTTP_HEADERS_FAST_VERSION = 0.22
 PERL_HTTP_HEADERS_FAST_SOURCE = HTTP-Headers-Fast-$(PERL_HTTP_HEADERS_FAST_VERSION).tar.gz
 PERL_HTTP_HEADERS_FAST_SITE = $(BR2_CPAN_MIRROR)/authors/id/T/TO/TOKUHIROM
+PERL_HTTP_HEADERS_FAST_PURL = pkg:cpan/TOKUHIROM/HTTP-Headers-Fast@$(PERL_HTTP_HEADERS_FAST_VERSION)
 PERL_HTTP_HEADERS_FAST_DEPENDENCIES = host-perl-module-build-tiny
 PERL_HTTP_HEADERS_FAST_LICENSE = Artistic or GPL-1.0+
 PERL_HTTP_HEADERS_FAST_LICENSE_FILES = LICENSE
diff --git a/package/perl-http-message/perl-http-message.mk b/package/perl-http-message/perl-http-message.mk
index 7fdba0b29..79295fb95 100644
--- a/package/perl-http-message/perl-http-message.mk
+++ b/package/perl-http-message/perl-http-message.mk
@@ -7,6 +7,7 @@
 PERL_HTTP_MESSAGE_VERSION = 6.45
 PERL_HTTP_MESSAGE_SOURCE = HTTP-Message-$(PERL_HTTP_MESSAGE_VERSION).tar.gz
 PERL_HTTP_MESSAGE_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS
+PERL_HTTP_MESSAGE_PURL = pkg:cpan/OALDERS/HTTP-Message@$(PERL_HTTP_MESSAGE_VERSION)
 PERL_HTTP_MESSAGE_LICENSE = Artistic-1.0-Perl or GPL-1.0+
 PERL_HTTP_MESSAGE_LICENSE_FILES = LICENSE
 PERL_HTTP_MESSAGE_DISTNAME = HTTP-Message
diff --git a/package/perl-http-multipartparser/perl-http-multipartparser.mk b/package/perl-http-multipartparser/perl-http-multipartparser.mk
index 7fb3b8aaa..d4070357d 100644
--- a/package/perl-http-multipartparser/perl-http-multipartparser.mk
+++ b/package/perl-http-multipartparser/perl-http-multipartparser.mk
@@ -7,6 +7,7 @@
 PERL_HTTP_MULTIPARTPARSER_VERSION = 0.02
 PERL_HTTP_MULTIPARTPARSER_SOURCE = HTTP-MultiPartParser-$(PERL_HTTP_MULTIPARTPARSER_VERSION).tar.gz
 PERL_HTTP_MULTIPARTPARSER_SITE = $(BR2_CPAN_MIRROR)/authors/id/C/CH/CHANSEN
+PERL_HTTP_MULTIPARTPARSER_PURL = pkg:cpan/CHANSEN/HTTP-MultiPartParser@$(PERL_HTTP_MULTIPARTPARSER_VERSION)
 PERL_HTTP_MULTIPARTPARSER_LICENSE = Artistic or GPL-1.0+
 PERL_HTTP_MULTIPARTPARSER_LICENSE_FILES = README
 PERL_HTTP_MULTIPARTPARSER_DISTNAME = HTTP-MultiPartParser
diff --git a/package/perl-http-negotiate/perl-http-negotiate.mk b/package/perl-http-negotiate/perl-http-negotiate.mk
index 868516fa7..b8f8eb5f4 100644
--- a/package/perl-http-negotiate/perl-http-negotiate.mk
+++ b/package/perl-http-negotiate/perl-http-negotiate.mk
@@ -7,6 +7,7 @@
 PERL_HTTP_NEGOTIATE_VERSION = 6.01
 PERL_HTTP_NEGOTIATE_SOURCE = HTTP-Negotiate-$(PERL_HTTP_NEGOTIATE_VERSION).tar.gz
 PERL_HTTP_NEGOTIATE_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GAAS
+PERL_HTTP_NEGOTIATE_PURL = pkg:cpan/GAAS/HTTP-Negotiate@$(PERL_HTTP_NEGOTIATE_VERSION)
 PERL_HTTP_NEGOTIATE_LICENSE = Artistic or GPL-1.0+
 PERL_HTTP_NEGOTIATE_LICENSE_FILES = README
 PERL_HTTP_NEGOTIATE_DISTNAME = HTTP-Negotiate
diff --git a/package/perl-i18n/perl-i18n.mk b/package/perl-i18n/perl-i18n.mk
index 04d75c214..5cbb6a344 100644
--- a/package/perl-i18n/perl-i18n.mk
+++ b/package/perl-i18n/perl-i18n.mk
@@ -7,6 +7,7 @@
 PERL_I18N_VERSION = 0.13
 PERL_I18N_SOURCE = i18n-$(PERL_I18N_VERSION).tar.gz
 PERL_I18N_SITE = $(BR2_CPAN_MIRROR)/authors/id/A/AU/AUDREYT
+PERL_I18N_PURL = pkg:cpan/AUDREYT/i18n@$(PERL_I18N_VERSION)
 PERL_I18N_LICENSE = MIT
 PERL_I18N_LICENSE_FILES = README
 PERL_I18N_DISTNAME = i18n
diff --git a/package/perl-image-exiftool/perl-image-exiftool.mk b/package/perl-image-exiftool/perl-image-exiftool.mk
index 42adb04d3..1b0e0e078 100644
--- a/package/perl-image-exiftool/perl-image-exiftool.mk
+++ b/package/perl-image-exiftool/perl-image-exiftool.mk
@@ -7,6 +7,7 @@
 PERL_IMAGE_EXIFTOOL_VERSION = 12.50
 PERL_IMAGE_EXIFTOOL_SOURCE = Image-ExifTool-$(PERL_IMAGE_EXIFTOOL_VERSION).tar.gz
 PERL_IMAGE_EXIFTOOL_SITE = $(BR2_CPAN_MIRROR)/authors/id/E/EX/EXIFTOOL
+PERL_IMAGE_EXIFTOOL_PURL = pkg:cpan/EXIFTOOL/Image-ExifTool@$(PERL_IMAGE_EXIFTOOL_VERSION)
 PERL_IMAGE_EXIFTOOL_LICENSE = Artistic or GPL-1.0+
 PERL_IMAGE_EXIFTOOL_LICENSE_FILES = README
 PERL_IMAGE_EXIFTOOL_DISTNAME = Image-ExifTool
diff --git a/package/perl-io-html/perl-io-html.mk b/package/perl-io-html/perl-io-html.mk
index 934ac60cb..5c432f1f9 100644
--- a/package/perl-io-html/perl-io-html.mk
+++ b/package/perl-io-html/perl-io-html.mk
@@ -7,6 +7,7 @@
 PERL_IO_HTML_VERSION = 1.004
 PERL_IO_HTML_SOURCE = IO-HTML-$(PERL_IO_HTML_VERSION).tar.gz
 PERL_IO_HTML_SITE = $(BR2_CPAN_MIRROR)/authors/id/C/CJ/CJM
+PERL_IO_HTML_PURL = pkg:cpan/CJM/IO-HTML@$(PERL_IO_HTML_VERSION)
 PERL_IO_HTML_LICENSE = Artistic or GPL-1.0+
 PERL_IO_HTML_LICENSE_FILES = LICENSE
 PERL_IO_HTML_DISTNAME = IO-HTML
diff --git a/package/perl-io-interface/perl-io-interface.mk b/package/perl-io-interface/perl-io-interface.mk
index 84e4d1a9b..d7a8f9c0e 100644
--- a/package/perl-io-interface/perl-io-interface.mk
+++ b/package/perl-io-interface/perl-io-interface.mk
@@ -7,6 +7,7 @@
 PERL_IO_INTERFACE_VERSION = 1.09
 PERL_IO_INTERFACE_SOURCE = IO-Interface-$(PERL_IO_INTERFACE_VERSION).tar.gz
 PERL_IO_INTERFACE_SITE = $(BR2_CPAN_MIRROR)/authors/id/L/LD/LDS
+PERL_IO_INTERFACE_PURL = pkg:cpan/LDS/IO-Interface@$(PERL_IO_INTERFACE_VERSION)
 PERL_IO_INTERFACE_DEPENDENCIES = host-perl-module-build
 PERL_IO_INTERFACE_LICENSE = Artistic-2.0
 PERL_IO_INTERFACE_LICENSE_FILES = LICENSE
diff --git a/package/perl-io-socket-multicast/perl-io-socket-multicast.mk b/package/perl-io-socket-multicast/perl-io-socket-multicast.mk
index a8c6896ce..1aa60f7ae 100644
--- a/package/perl-io-socket-multicast/perl-io-socket-multicast.mk
+++ b/package/perl-io-socket-multicast/perl-io-socket-multicast.mk
@@ -7,6 +7,7 @@
 PERL_IO_SOCKET_MULTICAST_VERSION = 1.12
 PERL_IO_SOCKET_MULTICAST_SOURCE = IO-Socket-Multicast-$(PERL_IO_SOCKET_MULTICAST_VERSION).tar.gz
 PERL_IO_SOCKET_MULTICAST_SITE = $(BR2_CPAN_MIRROR)/authors/id/B/BR/BRAMBLE
+PERL_IO_SOCKET_MULTICAST_PURL = pkg:cpan/BRAMBLE/IO-Socket-Multicast@$(PERL_IO_SOCKET_MULTICAST_VERSION)
 PERL_IO_SOCKET_MULTICAST_LICENSE = Artistic or GPL-1.0+
 PERL_IO_SOCKET_MULTICAST_LICENSE_FILES = README
 PERL_IO_SOCKET_MULTICAST_DISTNAME = IO-Socket-Multicast
diff --git a/package/perl-io-socket-ssl/perl-io-socket-ssl.mk b/package/perl-io-socket-ssl/perl-io-socket-ssl.mk
index d5c09d908..1c3075776 100644
--- a/package/perl-io-socket-ssl/perl-io-socket-ssl.mk
+++ b/package/perl-io-socket-ssl/perl-io-socket-ssl.mk
@@ -7,6 +7,7 @@
 PERL_IO_SOCKET_SSL_VERSION = 2.080
 PERL_IO_SOCKET_SSL_SOURCE = IO-Socket-SSL-$(PERL_IO_SOCKET_SSL_VERSION).tar.gz
 PERL_IO_SOCKET_SSL_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SU/SULLR
+PERL_IO_SOCKET_SSL_PURL = pkg:cpan/SULLR/IO-Socket-SSL@$(PERL_IO_SOCKET_SSL_VERSION)
 PERL_IO_SOCKET_SSL_LICENSE = Artistic or GPL-1.0+
 PERL_IO_SOCKET_SSL_LICENSE_FILES = README
 PERL_IO_SOCKET_SSL_DISTNAME = IO-Socket-SSL
diff --git a/package/perl-json-maybexs/perl-json-maybexs.mk b/package/perl-json-maybexs/perl-json-maybexs.mk
index 13c9439ea..2db715a8b 100644
--- a/package/perl-json-maybexs/perl-json-maybexs.mk
+++ b/package/perl-json-maybexs/perl-json-maybexs.mk
@@ -7,6 +7,7 @@
 PERL_JSON_MAYBEXS_VERSION = 1.004005
 PERL_JSON_MAYBEXS_SOURCE = JSON-MaybeXS-$(PERL_JSON_MAYBEXS_VERSION).tar.gz
 PERL_JSON_MAYBEXS_SITE = $(BR2_CPAN_MIRROR)/authors/id/E/ET/ETHER
+PERL_JSON_MAYBEXS_PURL = pkg:cpan/ETHER/JSON-MaybeXS@$(PERL_JSON_MAYBEXS_VERSION)
 PERL_JSON_MAYBEXS_LICENSE = Artistic or GPL-1.0+
 PERL_JSON_MAYBEXS_LICENSE_FILES = LICENSE
 PERL_JSON_MAYBEXS_DISTNAME = JSON-MaybeXS
diff --git a/package/perl-json-tiny/perl-json-tiny.mk b/package/perl-json-tiny/perl-json-tiny.mk
index 886cff810..88e43c92c 100644
--- a/package/perl-json-tiny/perl-json-tiny.mk
+++ b/package/perl-json-tiny/perl-json-tiny.mk
@@ -7,6 +7,7 @@
 PERL_JSON_TINY_VERSION = 0.58
 PERL_JSON_TINY_SOURCE = JSON-Tiny-$(PERL_JSON_TINY_VERSION).tar.gz
 PERL_JSON_TINY_SITE = $(BR2_CPAN_MIRROR)/authors/id/D/DA/DAVIDO
+PERL_JSON_TINY_PURL = pkg:cpan/DAVIDO/JSON-Tiny@$(PERL_JSON_TINY_VERSION)
 PERL_JSON_TINY_LICENSE = Artistic-2.0
 PERL_JSON_TINY_LICENSE_FILES = LICENSE
 PERL_JSON_TINY_DISTNAME = JSON-Tiny
diff --git a/package/perl-libwww-perl/perl-libwww-perl.mk b/package/perl-libwww-perl/perl-libwww-perl.mk
index 6c4bd2980..f72c74d84 100644
--- a/package/perl-libwww-perl/perl-libwww-perl.mk
+++ b/package/perl-libwww-perl/perl-libwww-perl.mk
@@ -7,6 +7,7 @@
 PERL_LIBWWW_PERL_VERSION = 6.67
 PERL_LIBWWW_PERL_SOURCE = libwww-perl-$(PERL_LIBWWW_PERL_VERSION).tar.gz
 PERL_LIBWWW_PERL_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS
+PERL_LIBWWW_PERL_PURL = pkg:cpan/OALDERS/libwww-perl@$(PERL_LIBWWW_PERL_VERSION)
 PERL_LIBWWW_PERL_LICENSE = Artistic or GPL-1.0+
 PERL_LIBWWW_PERL_LICENSE_FILES = LICENSE
 PERL_LIBWWW_PERL_DISTNAME = libwww-perl
diff --git a/package/perl-locale-maketext-lexicon/perl-locale-maketext-lexicon.mk b/package/perl-locale-maketext-lexicon/perl-locale-maketext-lexicon.mk
index 64b37f920..ec9e52e19 100644
--- a/package/perl-locale-maketext-lexicon/perl-locale-maketext-lexicon.mk
+++ b/package/perl-locale-maketext-lexicon/perl-locale-maketext-lexicon.mk
@@ -7,6 +7,7 @@
 PERL_LOCALE_MAKETEXT_LEXICON_VERSION = 1.00
 PERL_LOCALE_MAKETEXT_LEXICON_SOURCE = Locale-Maketext-Lexicon-$(PERL_LOCALE_MAKETEXT_LEXICON_VERSION).tar.gz
 PERL_LOCALE_MAKETEXT_LEXICON_SITE = $(BR2_CPAN_MIRROR)/authors/id/D/DR/DRTECH
+PERL_LOCALE_MAKETEXT_LEXICON_PURL = pkg:cpan/DRTECH/Locale-Maketext-Lexicon@$(PERL_LOCALE_MAKETEXT_LEXICON_VERSION)
 PERL_LOCALE_MAKETEXT_LEXICON_LICENSE = MIT
 PERL_LOCALE_MAKETEXT_LEXICON_LICENSE_FILES = LICENSE
 PERL_LOCALE_MAKETEXT_LEXICON_DISTNAME = Locale-Maketext-Lexicon
diff --git a/package/perl-lwp-mediatypes/perl-lwp-mediatypes.mk b/package/perl-lwp-mediatypes/perl-lwp-mediatypes.mk
index 687a84427..64b43620b 100644
--- a/package/perl-lwp-mediatypes/perl-lwp-mediatypes.mk
+++ b/package/perl-lwp-mediatypes/perl-lwp-mediatypes.mk
@@ -7,6 +7,7 @@
 PERL_LWP_MEDIATYPES_VERSION = 6.04
 PERL_LWP_MEDIATYPES_SOURCE = LWP-MediaTypes-$(PERL_LWP_MEDIATYPES_VERSION).tar.gz
 PERL_LWP_MEDIATYPES_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS
+PERL_LWP_MEDIATYPES_PURL = pkg:cpan/OALDERS/LWP-MediaTypes@$(PERL_LWP_MEDIATYPES_VERSION)
 PERL_LWP_MEDIATYPES_LICENSE = Artistic or GPL-1.0+
 PERL_LWP_MEDIATYPES_LICENSE_FILES = LICENSE
 PERL_LWP_MEDIATYPES_DISTNAME = LWP-MediaTypes
diff --git a/package/perl-lwp-protocol-https/perl-lwp-protocol-https.mk b/package/perl-lwp-protocol-https/perl-lwp-protocol-https.mk
index a2048e25a..02cfbf554 100644
--- a/package/perl-lwp-protocol-https/perl-lwp-protocol-https.mk
+++ b/package/perl-lwp-protocol-https/perl-lwp-protocol-https.mk
@@ -7,6 +7,7 @@
 PERL_LWP_PROTOCOL_HTTPS_VERSION = 6.12
 PERL_LWP_PROTOCOL_HTTPS_SOURCE = LWP-Protocol-https-$(PERL_LWP_PROTOCOL_HTTPS_VERSION).tar.gz
 PERL_LWP_PROTOCOL_HTTPS_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS
+PERL_LWP_PROTOCOL_HTTPS_PURL = pkg:cpan/OALDERS/LWP-Protocol-https@$(PERL_LWP_PROTOCOL_HTTPS_VERSION)
 PERL_LWP_PROTOCOL_HTTPS_LICENSE = Artistic-1.0-Perl or GPL-1.0+
 PERL_LWP_PROTOCOL_HTTPS_LICENSE_FILES = LICENSE
 PERL_LWP_PROTOCOL_HTTPS_CPE_ID_VENDOR = lwp\:\:protocol\:\:https_project
diff --git a/package/perl-mail-dkim/perl-mail-dkim.mk b/package/perl-mail-dkim/perl-mail-dkim.mk
index 4f4d86ee1..88967f46e 100644
--- a/package/perl-mail-dkim/perl-mail-dkim.mk
+++ b/package/perl-mail-dkim/perl-mail-dkim.mk
@@ -7,6 +7,7 @@
 PERL_MAIL_DKIM_VERSION = 1.20230630
 PERL_MAIL_DKIM_SOURCE = Mail-DKIM-$(PERL_MAIL_DKIM_VERSION).tar.gz
 PERL_MAIL_DKIM_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MB/MBRADSHAW
+PERL_MAIL_DKIM_PURL = pkg:cpan/MBRADSHAW/Mail-DKIM@$(PERL_MAIL_DKIM_VERSION)
 PERL_MAIL_DKIM_LICENSE = Artistic or GPL-1.0+
 PERL_MAIL_DKIM_LICENSE_FILES = LICENSE
 PERL_MAIL_DKIM_DISTNAME = Mail-DKIM
diff --git a/package/perl-mailtools/perl-mailtools.mk b/package/perl-mailtools/perl-mailtools.mk
index 900ee41ff..262430df6 100644
--- a/package/perl-mailtools/perl-mailtools.mk
+++ b/package/perl-mailtools/perl-mailtools.mk
@@ -7,6 +7,7 @@
 PERL_MAILTOOLS_VERSION = 2.21
 PERL_MAILTOOLS_SOURCE = MailTools-$(PERL_MAILTOOLS_VERSION).tar.gz
 PERL_MAILTOOLS_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MA/MARKOV
+PERL_MAILTOOLS_PURL = pkg:cpan/MARKOV/MailTools@$(PERL_MAILTOOLS_VERSION)
 PERL_MAILTOOLS_LICENSE = Artistic or GPL-1.0+
 PERL_MAILTOOLS_LICENSE_FILES = README
 PERL_MAILTOOLS_DISTNAME = MailTools
diff --git a/package/perl-math-int64/perl-math-int64.mk b/package/perl-math-int64/perl-math-int64.mk
index c0abcf48a..82107ad0f 100644
--- a/package/perl-math-int64/perl-math-int64.mk
+++ b/package/perl-math-int64/perl-math-int64.mk
@@ -7,6 +7,7 @@
 PERL_MATH_INT64_VERSION = 0.57
 PERL_MATH_INT64_SOURCE = Math-Int64-$(PERL_MATH_INT64_VERSION).tar.gz
 PERL_MATH_INT64_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SA/SALVA
+PERL_MATH_INT64_PURL = pkg:cpan/SALVA/Math-Int64@$(PERL_MATH_INT64_VERSION)
 PERL_MATH_INT64_LICENSE = Artistic or GPL-1.0+
 PERL_MATH_INT64_LICENSE_FILES = COPYING
 PERL_MATH_INT64_DISTNAME = Math-Int64
diff --git a/package/perl-math-prime-util/perl-math-prime-util.mk b/package/perl-math-prime-util/perl-math-prime-util.mk
index 5781fe75d..b5e94e64f 100644
--- a/package/perl-math-prime-util/perl-math-prime-util.mk
+++ b/package/perl-math-prime-util/perl-math-prime-util.mk
@@ -7,6 +7,7 @@
 PERL_MATH_PRIME_UTIL_VERSION = 0.73
 PERL_MATH_PRIME_UTIL_SOURCE = Math-Prime-Util-$(PERL_MATH_PRIME_UTIL_VERSION).tar.gz
 PERL_MATH_PRIME_UTIL_SITE = $(BR2_CPAN_MIRROR)/authors/id/D/DA/DANAJ
+PERL_MATH_PRIME_UTIL_PURL = pkg:cpan/DANAJ/Math-Prime-Util@$(PERL_MATH_PRIME_UTIL_VERSION)
 PERL_MATH_PRIME_UTIL_LICENSE = Artistic or GPL-1.0+
 PERL_MATH_PRIME_UTIL_LICENSE_FILES = LICENSE
 PERL_MATH_PRIME_UTIL_DISTNAME = Math-Prime-Util
diff --git a/package/perl-mime-base64-urlsafe/perl-mime-base64-urlsafe.mk b/package/perl-mime-base64-urlsafe/perl-mime-base64-urlsafe.mk
index 1a6a36eea..18399d76c 100644
--- a/package/perl-mime-base64-urlsafe/perl-mime-base64-urlsafe.mk
+++ b/package/perl-mime-base64-urlsafe/perl-mime-base64-urlsafe.mk
@@ -7,6 +7,7 @@
 PERL_MIME_BASE64_URLSAFE_VERSION = 0.01
 PERL_MIME_BASE64_URLSAFE_SOURCE = MIME-Base64-URLSafe-$(PERL_MIME_BASE64_URLSAFE_VERSION).tar.gz
 PERL_MIME_BASE64_URLSAFE_SITE = $(BR2_CPAN_MIRROR)/authors/id/K/KA/KAZUHO
+PERL_MIME_BASE64_URLSAFE_PURL = pkg:cpan/KAZUHO/MIME-Base64-URLSafe@$(PERL_MIME_BASE64_URLSAFE_VERSION)
 PERL_MIME_BASE64_URLSAFE_LICENSE = Artistic or GPL-1.0+
 PERL_MIME_BASE64_URLSAFE_LICENSE_FILES = README
 PERL_MIME_BASE64_URLSAFE_DISTNAME = MIME-Base64-URLSafe
diff --git a/package/perl-mime-tools/perl-mime-tools.mk b/package/perl-mime-tools/perl-mime-tools.mk
index 10279d730..1edcc30ff 100644
--- a/package/perl-mime-tools/perl-mime-tools.mk
+++ b/package/perl-mime-tools/perl-mime-tools.mk
@@ -7,6 +7,7 @@
 PERL_MIME_TOOLS_VERSION = 5.509
 PERL_MIME_TOOLS_SOURCE = MIME-tools-$(PERL_MIME_TOOLS_VERSION).tar.gz
 PERL_MIME_TOOLS_SITE = $(BR2_CPAN_MIRROR)/authors/id/D/DS/DSKOLL
+PERL_MIME_TOOLS_PURL = pkg:cpan/DSKOLL/MIME-tools@$(PERL_MIME_TOOLS_VERSION)
 PERL_MIME_TOOLS_LICENSE = Artistic or GPL-1.0+
 PERL_MIME_TOOLS_LICENSE_FILES = COPYING
 PERL_MIME_TOOLS_DISTNAME = MIME-tools
diff --git a/package/perl-module-build-tiny/perl-module-build-tiny.mk b/package/perl-module-build-tiny/perl-module-build-tiny.mk
index e2e3d83e7..564eeca15 100644
--- a/package/perl-module-build-tiny/perl-module-build-tiny.mk
+++ b/package/perl-module-build-tiny/perl-module-build-tiny.mk
@@ -7,6 +7,7 @@
 PERL_MODULE_BUILD_TINY_VERSION = 0.047
 PERL_MODULE_BUILD_TINY_SOURCE = Module-Build-Tiny-$(PERL_MODULE_BUILD_TINY_VERSION).tar.gz
 PERL_MODULE_BUILD_TINY_SITE = $(BR2_CPAN_MIRROR)/authors/id/L/LE/LEONT
+PERL_MODULE_BUILD_TINY_PURL = pkg:cpan/LEONT/Module-Build-Tiny@$(PERL_MODULE_BUILD_TINY_VERSION)
 HOST_PERL_MODULE_BUILD_TINY_DEPENDENCIES = \
 	host-perl-extutils-config \
 	host-perl-extutils-helpers \
diff --git a/package/perl-module-build/perl-module-build.mk b/package/perl-module-build/perl-module-build.mk
index 972902e04..d5345ffc8 100644
--- a/package/perl-module-build/perl-module-build.mk
+++ b/package/perl-module-build/perl-module-build.mk
@@ -7,6 +7,7 @@
 PERL_MODULE_BUILD_VERSION = 0.4234
 PERL_MODULE_BUILD_SOURCE = Module-Build-$(PERL_MODULE_BUILD_VERSION).tar.gz
 PERL_MODULE_BUILD_SITE = $(BR2_CPAN_MIRROR)/authors/id/L/LE/LEONT
+PERL_MODULE_BUILD_PURL = pkg:cpan/LEONT/Module-Build@$(PERL_MODULE_BUILD_VERSION)
 PERL_MODULE_BUILD_LICENSE = Artistic or GPL-1.0+
 PERL_MODULE_BUILD_LICENSE_FILES = LICENSE
 PERL_MODULE_BUILD_DISTNAME = Module-Build
diff --git a/package/perl-module-implementation/perl-module-implementation.mk b/package/perl-module-implementation/perl-module-implementation.mk
index 7cf7cbb21..0da88e283 100644
--- a/package/perl-module-implementation/perl-module-implementation.mk
+++ b/package/perl-module-implementation/perl-module-implementation.mk
@@ -7,6 +7,7 @@
 PERL_MODULE_IMPLEMENTATION_VERSION = 0.09
 PERL_MODULE_IMPLEMENTATION_SOURCE = Module-Implementation-$(PERL_MODULE_IMPLEMENTATION_VERSION).tar.gz
 PERL_MODULE_IMPLEMENTATION_SITE = $(BR2_CPAN_MIRROR)/authors/id/D/DR/DROLSKY
+PERL_MODULE_IMPLEMENTATION_PURL = pkg:cpan/DROLSKY/Module-Implementation@$(PERL_MODULE_IMPLEMENTATION_VERSION)
 PERL_MODULE_IMPLEMENTATION_LICENSE = Artistic-2.0
 PERL_MODULE_IMPLEMENTATION_LICENSE_FILES = LICENSE
 PERL_MODULE_IMPLEMENTATION_DISTNAME = Module-Implementation
diff --git a/package/perl-module-runtime/perl-module-runtime.mk b/package/perl-module-runtime/perl-module-runtime.mk
index dcf045cf1..c936d6a61 100644
--- a/package/perl-module-runtime/perl-module-runtime.mk
+++ b/package/perl-module-runtime/perl-module-runtime.mk
@@ -7,6 +7,7 @@
 PERL_MODULE_RUNTIME_VERSION = 0.016
 PERL_MODULE_RUNTIME_SOURCE = Module-Runtime-$(PERL_MODULE_RUNTIME_VERSION).tar.gz
 PERL_MODULE_RUNTIME_SITE = $(BR2_CPAN_MIRROR)/authors/id/Z/ZE/ZEFRAM
+PERL_MODULE_RUNTIME_PURL = pkg:cpan/ZEFRAM/Module-Runtime@$(PERL_MODULE_RUNTIME_VERSION)
 PERL_MODULE_RUNTIME_DEPENDENCIES = host-perl-module-build
 PERL_MODULE_RUNTIME_LICENSE = Artistic or GPL-1.0+
 PERL_MODULE_RUNTIME_LICENSE_FILES = README
diff --git a/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.mk b/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.mk
index 1d5e2511f..1a281e202 100644
--- a/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.mk
+++ b/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.mk
@@ -7,6 +7,7 @@
 PERL_MOJOLICIOUS_PLUGIN_AUTHENTICATION_VERSION = 1.39
 PERL_MOJOLICIOUS_PLUGIN_AUTHENTICATION_SOURCE = Mojolicious-Plugin-Authentication-$(PERL_MOJOLICIOUS_PLUGIN_AUTHENTICATION_VERSION).tar.gz
 PERL_MOJOLICIOUS_PLUGIN_AUTHENTICATION_SITE = $(BR2_CPAN_MIRROR)/authors/id/J/JJ/JJATRIA
+PERL_MOJOLICIOUS_PLUGIN_AUTHENTICATION_PURL = pkg:cpan/JJATRIA/Mojolicious-Plugin-Authentication@$(PERL_MOJOLICIOUS_PLUGIN_AUTHENTICATION_VERSION)
 PERL_MOJOLICIOUS_PLUGIN_AUTHENTICATION_LICENSE = Artistic or GPL-1.0+
 PERL_MOJOLICIOUS_PLUGIN_AUTHENTICATION_LICENSE_FILES = LICENSE
 PERL_MOJOLICIOUS_PLUGIN_AUTHENTICATION_DISTNAME = Mojolicious-Plugin-Authentication
diff --git a/package/perl-mojolicious-plugin-authorization/perl-mojolicious-plugin-authorization.mk b/package/perl-mojolicious-plugin-authorization/perl-mojolicious-plugin-authorization.mk
index f136be3ba..2b692677e 100644
--- a/package/perl-mojolicious-plugin-authorization/perl-mojolicious-plugin-authorization.mk
+++ b/package/perl-mojolicious-plugin-authorization/perl-mojolicious-plugin-authorization.mk
@@ -7,6 +7,7 @@
 PERL_MOJOLICIOUS_PLUGIN_AUTHORIZATION_VERSION = 1.06
 PERL_MOJOLICIOUS_PLUGIN_AUTHORIZATION_SOURCE = Mojolicious-Plugin-Authorization-$(PERL_MOJOLICIOUS_PLUGIN_AUTHORIZATION_VERSION).tar.gz
 PERL_MOJOLICIOUS_PLUGIN_AUTHORIZATION_SITE = $(BR2_CPAN_MIRROR)/authors/id/B/BY/BYTEROCK
+PERL_MOJOLICIOUS_PLUGIN_AUTHORIZATION_PURL = pkg:cpan/BYTEROCK/Mojolicious-Plugin-Authorization@$(PERL_MOJOLICIOUS_PLUGIN_AUTHORIZATION_VERSION)
 PERL_MOJOLICIOUS_PLUGIN_AUTHORIZATION_DEPENDENCIES = host-perl-module-build
 PERL_MOJOLICIOUS_PLUGIN_AUTHORIZATION_LICENSE = Artistic or GPL-1.0+
 PERL_MOJOLICIOUS_PLUGIN_AUTHORIZATION_LICENSE_FILES = LICENSE
diff --git a/package/perl-mojolicious-plugin-cspheader/perl-mojolicious-plugin-cspheader.mk b/package/perl-mojolicious-plugin-cspheader/perl-mojolicious-plugin-cspheader.mk
index 438d6d517..dd339c73c 100644
--- a/package/perl-mojolicious-plugin-cspheader/perl-mojolicious-plugin-cspheader.mk
+++ b/package/perl-mojolicious-plugin-cspheader/perl-mojolicious-plugin-cspheader.mk
@@ -7,6 +7,7 @@
 PERL_MOJOLICIOUS_PLUGIN_CSPHEADER_VERSION = 0.06
 PERL_MOJOLICIOUS_PLUGIN_CSPHEADER_SOURCE = Mojolicious-Plugin-CSPHeader-$(PERL_MOJOLICIOUS_PLUGIN_CSPHEADER_VERSION).tar.gz
 PERL_MOJOLICIOUS_PLUGIN_CSPHEADER_SITE = $(BR2_CPAN_MIRROR)/authors/id/L/LD/LDIDRY
+PERL_MOJOLICIOUS_PLUGIN_CSPHEADER_PURL = pkg:cpan/LDIDRY/Mojolicious-Plugin-CSPHeader@$(PERL_MOJOLICIOUS_PLUGIN_CSPHEADER_VERSION)
 PERL_MOJOLICIOUS_PLUGIN_CSPHEADER_LICENSE = Artistic or GPL-1.0+
 PERL_MOJOLICIOUS_PLUGIN_CSPHEADER_LICENSE_FILES = LICENSE
 PERL_MOJOLICIOUS_PLUGIN_CSPHEADER_DISTNAME = Mojolicious-Plugin-CSPHeader
diff --git a/package/perl-mojolicious-plugin-i18n/perl-mojolicious-plugin-i18n.mk b/package/perl-mojolicious-plugin-i18n/perl-mojolicious-plugin-i18n.mk
index 11d41ac55..2682b7d79 100644
--- a/package/perl-mojolicious-plugin-i18n/perl-mojolicious-plugin-i18n.mk
+++ b/package/perl-mojolicious-plugin-i18n/perl-mojolicious-plugin-i18n.mk
@@ -7,6 +7,7 @@
 PERL_MOJOLICIOUS_PLUGIN_I18N_VERSION = 1.6
 PERL_MOJOLICIOUS_PLUGIN_I18N_SOURCE = Mojolicious-Plugin-I18N-$(PERL_MOJOLICIOUS_PLUGIN_I18N_VERSION).tar.gz
 PERL_MOJOLICIOUS_PLUGIN_I18N_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SH/SHARIFULN
+PERL_MOJOLICIOUS_PLUGIN_I18N_PURL = pkg:cpan/SHARIFULN/Mojolicious-Plugin-I18N@$(PERL_MOJOLICIOUS_PLUGIN_I18N_VERSION)
 PERL_MOJOLICIOUS_PLUGIN_I18N_DEPENDENCIES = host-perl-module-build
 PERL_MOJOLICIOUS_PLUGIN_I18N_LICENSE = Artistic-2.0
 PERL_MOJOLICIOUS_PLUGIN_I18N_LICENSE_FILES = README.pod
diff --git a/package/perl-mojolicious-plugin-securityheader/perl-mojolicious-plugin-securityheader.mk b/package/perl-mojolicious-plugin-securityheader/perl-mojolicious-plugin-securityheader.mk
index 1f287f6f6..638cdb034 100644
--- a/package/perl-mojolicious-plugin-securityheader/perl-mojolicious-plugin-securityheader.mk
+++ b/package/perl-mojolicious-plugin-securityheader/perl-mojolicious-plugin-securityheader.mk
@@ -7,6 +7,7 @@
 PERL_MOJOLICIOUS_PLUGIN_SECURITYHEADER_VERSION = 0.07
 PERL_MOJOLICIOUS_PLUGIN_SECURITYHEADER_SOURCE = Mojolicious-Plugin-SecurityHeader-$(PERL_MOJOLICIOUS_PLUGIN_SECURITYHEADER_VERSION).tar.gz
 PERL_MOJOLICIOUS_PLUGIN_SECURITYHEADER_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RE/RENEEB
+PERL_MOJOLICIOUS_PLUGIN_SECURITYHEADER_PURL = pkg:cpan/RENEEB/Mojolicious-Plugin-SecurityHeader@$(PERL_MOJOLICIOUS_PLUGIN_SECURITYHEADER_VERSION)
 PERL_MOJOLICIOUS_PLUGIN_SECURITYHEADER_LICENSE = Artistic-2.0
 PERL_MOJOLICIOUS_PLUGIN_SECURITYHEADER_LICENSE_FILES = LICENSE
 PERL_MOJOLICIOUS_PLUGIN_SECURITYHEADER_DISTNAME = Mojolicious-Plugin-SecurityHeader
diff --git a/package/perl-mojolicious/perl-mojolicious.mk b/package/perl-mojolicious/perl-mojolicious.mk
index 4657d2792..1d7a660fd 100644
--- a/package/perl-mojolicious/perl-mojolicious.mk
+++ b/package/perl-mojolicious/perl-mojolicious.mk
@@ -7,6 +7,7 @@
 PERL_MOJOLICIOUS_VERSION = 9.35
 PERL_MOJOLICIOUS_SOURCE = Mojolicious-$(PERL_MOJOLICIOUS_VERSION).tar.gz
 PERL_MOJOLICIOUS_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SR/SRI
+PERL_MOJOLICIOUS_PURL = pkg:cpan/SRI/Mojolicious@$(PERL_MOJOLICIOUS_VERSION)
 PERL_MOJOLICIOUS_LICENSE = Artistic-2.0
 PERL_MOJOLICIOUS_LICENSE_FILES = LICENSE
 PERL_MOJOLICIOUS_DISTNAME = Mojolicious
diff --git a/package/perl-moo/perl-moo.mk b/package/perl-moo/perl-moo.mk
index 18e32688e..e7ef3da61 100644
--- a/package/perl-moo/perl-moo.mk
+++ b/package/perl-moo/perl-moo.mk
@@ -7,6 +7,7 @@
 PERL_MOO_VERSION = 2.005005
 PERL_MOO_SOURCE = Moo-$(PERL_MOO_VERSION).tar.gz
 PERL_MOO_SITE = $(BR2_CPAN_MIRROR)/authors/id/H/HA/HAARG
+PERL_MOO_PURL = pkg:cpan/HAARG/Moo@$(PERL_MOO_VERSION)
 PERL_MOO_LICENSE = Artistic or GPL-1.0+
 PERL_MOO_LICENSE_FILES = LICENSE
 PERL_MOO_DISTNAME = Moo
diff --git a/package/perl-mozilla-ca/perl-mozilla-ca.mk b/package/perl-mozilla-ca/perl-mozilla-ca.mk
index 92fb3cec6..8336de3a7 100644
--- a/package/perl-mozilla-ca/perl-mozilla-ca.mk
+++ b/package/perl-mozilla-ca/perl-mozilla-ca.mk
@@ -7,6 +7,7 @@
 PERL_MOZILLA_CA_VERSION = 20231213
 PERL_MOZILLA_CA_SOURCE = Mozilla-CA-$(PERL_MOZILLA_CA_VERSION).tar.gz
 PERL_MOZILLA_CA_SITE = $(BR2_CPAN_MIRROR)/authors/id/L/LW/LWP
+PERL_MOZILLA_CA_PURL = pkg:cpan/LWP/Mozilla-CA@$(PERL_MOZILLA_CA_VERSION)
 PERL_MOZILLA_CA_LICENSE = MPL-2.0
 PERL_MOZILLA_CA_LICENSE_FILES = README
 PERL_MOZILLA_CA_DISTNAME = Mozilla-CA
diff --git a/package/perl-net-dns/perl-net-dns.mk b/package/perl-net-dns/perl-net-dns.mk
index 5b6c1ba1d..b58e2d98b 100644
--- a/package/perl-net-dns/perl-net-dns.mk
+++ b/package/perl-net-dns/perl-net-dns.mk
@@ -7,6 +7,7 @@
 PERL_NET_DNS_VERSION = 1.42
 PERL_NET_DNS_SOURCE = Net-DNS-$(PERL_NET_DNS_VERSION).tar.gz
 PERL_NET_DNS_SITE = $(BR2_CPAN_MIRROR)/authors/id/N/NL/NLNETLABS
+PERL_NET_DNS_PURL = pkg:cpan/NLNETLABS/Net-DNS@$(PERL_NET_DNS_VERSION)
 PERL_NET_DNS_LICENSE = MIT
 PERL_NET_DNS_LICENSE_FILES = LICENSE
 PERL_NET_DNS_DISTNAME = Net-DNS
diff --git a/package/perl-net-http/perl-net-http.mk b/package/perl-net-http/perl-net-http.mk
index 08e81f95a..b72340028 100644
--- a/package/perl-net-http/perl-net-http.mk
+++ b/package/perl-net-http/perl-net-http.mk
@@ -7,6 +7,7 @@
 PERL_NET_HTTP_VERSION = 6.23
 PERL_NET_HTTP_SOURCE = Net-HTTP-$(PERL_NET_HTTP_VERSION).tar.gz
 PERL_NET_HTTP_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS
+PERL_NET_HTTP_PURL = pkg:cpan/OALDERS/Net-HTTP@$(PERL_NET_HTTP_VERSION)
 PERL_NET_HTTP_LICENSE = Artistic or GPL-1.0+
 PERL_NET_HTTP_LICENSE_FILES = LICENSE
 PERL_NET_HTTP_DISTNAME = Net-HTTP
diff --git a/package/perl-net-snmp/perl-net-snmp.mk b/package/perl-net-snmp/perl-net-snmp.mk
index 36b50d635..37189e1c5 100644
--- a/package/perl-net-snmp/perl-net-snmp.mk
+++ b/package/perl-net-snmp/perl-net-snmp.mk
@@ -7,6 +7,7 @@
 PERL_NET_SNMP_VERSION = 6.0.1
 PERL_NET_SNMP_SOURCE = Net-SNMP-v$(PERL_NET_SNMP_VERSION).tar.gz
 PERL_NET_SNMP_SITE = $(BR2_CPAN_MIRROR)/authors/id/D/DT/DTOWN
+PERL_NET_SNMP_PURL = pkg:cpan/DTOWN/Net-SNMP@$(PERL_NET_SNMP_VERSION)
 PERL_NET_SNMP_DEPENDENCIES = host-perl-module-build
 PERL_NET_SNMP_LICENSE = Artistic or GPL-1.0+
 PERL_NET_SNMP_LICENSE_FILES = LICENSE
diff --git a/package/perl-net-ssh2/perl-net-ssh2.mk b/package/perl-net-ssh2/perl-net-ssh2.mk
index 20e45b628..4efb8c9ab 100644
--- a/package/perl-net-ssh2/perl-net-ssh2.mk
+++ b/package/perl-net-ssh2/perl-net-ssh2.mk
@@ -7,6 +7,7 @@
 PERL_NET_SSH2_VERSION = 0.72
 PERL_NET_SSH2_SOURCE = Net-SSH2-$(PERL_NET_SSH2_VERSION).tar.gz
 PERL_NET_SSH2_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SA/SALVA
+PERL_NET_SSH2_PURL = pkg:cpan/RKITOVER/Net-SSH2@$(PERL_NET_SSH2_VERSION)
 PERL_NET_SSH2_LICENSE = Artistic or GPL-1.0+
 PERL_NET_SSH2_LICENSE_FILES = README.pod
 PERL_NET_SSH2_DEPENDENCIES = libssh2 zlib
diff --git a/package/perl-net-ssleay/perl-net-ssleay.mk b/package/perl-net-ssleay/perl-net-ssleay.mk
index 8b7b2b973..0843ca2e8 100644
--- a/package/perl-net-ssleay/perl-net-ssleay.mk
+++ b/package/perl-net-ssleay/perl-net-ssleay.mk
@@ -7,6 +7,7 @@
 PERL_NET_SSLEAY_VERSION = 1.93_01
 PERL_NET_SSLEAY_SOURCE = Net-SSLeay-$(PERL_NET_SSLEAY_VERSION).tar.gz
 PERL_NET_SSLEAY_SITE = $(BR2_CPAN_MIRROR)/authors/id/C/CH/CHRISN
+PERL_NET_SSLEAY_PURL = pkg:cpan/CHRISN/Net-SSLeay@$(PERL_NET_SSLEAY_VERSION)
 PERL_NET_SSLEAY_DEPENDENCIES = openssl
 PERL_NET_SSLEAY_LICENSE = Artistic-2.0
 PERL_NET_SSLEAY_LICENSE_FILES = LICENSE
diff --git a/package/perl-net-telnet/perl-net-telnet.mk b/package/perl-net-telnet/perl-net-telnet.mk
index ec3c02216..2ec97fd10 100644
--- a/package/perl-net-telnet/perl-net-telnet.mk
+++ b/package/perl-net-telnet/perl-net-telnet.mk
@@ -7,6 +7,7 @@
 PERL_NET_TELNET_VERSION = 3.05
 PERL_NET_TELNET_SOURCE = Net-Telnet-$(PERL_NET_TELNET_VERSION).tar.gz
 PERL_NET_TELNET_SITE = $(BR2_CPAN_MIRROR)/authors/id/J/JR/JROGERS
+PERL_NET_TELNET_PURL = pkg:cpan/JROGERS/Net-Telnet@$(PERL_NET_TELNET_VERSION)
 PERL_NET_TELNET_LICENSE = Artistic or GPL-1.0+
 PERL_NET_TELNET_LICENSE_FILES = README
 PERL_NET_TELNET_DISTNAME = Net-Telnet
diff --git a/package/perl-netaddr-ip/perl-netaddr-ip.mk b/package/perl-netaddr-ip/perl-netaddr-ip.mk
index c4885715b..e3f904543 100644
--- a/package/perl-netaddr-ip/perl-netaddr-ip.mk
+++ b/package/perl-netaddr-ip/perl-netaddr-ip.mk
@@ -7,6 +7,7 @@
 PERL_NETADDR_IP_VERSION = 4.079
 PERL_NETADDR_IP_SOURCE = NetAddr-IP-$(PERL_NETADDR_IP_VERSION).tar.gz
 PERL_NETADDR_IP_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MI/MIKER
+PERL_NETADDR_IP_PURL = pkg:cpan/MIKER/NetAddr-IP@$(PERL_NETADDR_IP_VERSION)
 PERL_NETADDR_IP_LICENSE = Artistic or GPL-1.0+
 PERL_NETADDR_IP_LICENSE_FILES = Artistic Copying
 PERL_NETADDR_IP_DISTNAME = NetAddr-IP
diff --git a/package/perl-number-bytes-human/perl-number-bytes-human.mk b/package/perl-number-bytes-human/perl-number-bytes-human.mk
index d2d712f8f..6d47e9c2e 100644
--- a/package/perl-number-bytes-human/perl-number-bytes-human.mk
+++ b/package/perl-number-bytes-human/perl-number-bytes-human.mk
@@ -7,6 +7,7 @@
 PERL_NUMBER_BYTES_HUMAN_VERSION = 0.11
 PERL_NUMBER_BYTES_HUMAN_SOURCE = Number-Bytes-Human-$(PERL_NUMBER_BYTES_HUMAN_VERSION).tar.gz
 PERL_NUMBER_BYTES_HUMAN_SITE = $(BR2_CPAN_MIRROR)/authors/id/F/FE/FERREIRA
+PERL_NUMBER_BYTES_HUMAN_PURL = pkg:cpan/FERREIRA/Number-Bytes-Human@$(PERL_NUMBER_BYTES_HUMAN_VERSION)
 PERL_NUMBER_BYTES_HUMAN_LICENSE = Artistic or GPL-1.0+
 PERL_NUMBER_BYTES_HUMAN_LICENSE_FILES = README
 PERL_NUMBER_BYTES_HUMAN_DISTNAME = Number-Bytes-Human
diff --git a/package/perl-package-stash/perl-package-stash.mk b/package/perl-package-stash/perl-package-stash.mk
index dd93314d8..ce76290a9 100644
--- a/package/perl-package-stash/perl-package-stash.mk
+++ b/package/perl-package-stash/perl-package-stash.mk
@@ -7,6 +7,7 @@
 PERL_PACKAGE_STASH_VERSION = 0.40
 PERL_PACKAGE_STASH_SOURCE = Package-Stash-$(PERL_PACKAGE_STASH_VERSION).tar.gz
 PERL_PACKAGE_STASH_SITE = $(BR2_CPAN_MIRROR)/authors/id/E/ET/ETHER
+PERL_PACKAGE_STASH_PURL = pkg:cpan/ETHER/Package-Stash@$(PERL_PACKAGE_STASH_VERSION)
 PERL_PACKAGE_STASH_LICENSE = Artistic or GPL-1.0+
 PERL_PACKAGE_STASH_LICENSE_FILES = LICENSE
 PERL_PACKAGE_STASH_DISTNAME = Package-Stash
diff --git a/package/perl-params-util/perl-params-util.mk b/package/perl-params-util/perl-params-util.mk
index 8c2a960c4..4a40541f2 100644
--- a/package/perl-params-util/perl-params-util.mk
+++ b/package/perl-params-util/perl-params-util.mk
@@ -7,6 +7,7 @@
 PERL_PARAMS_UTIL_VERSION = 1.102
 PERL_PARAMS_UTIL_SOURCE = Params-Util-$(PERL_PARAMS_UTIL_VERSION).tar.gz
 PERL_PARAMS_UTIL_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RE/REHSACK
+PERL_PARAMS_UTIL_PURL = pkg:cpan/REHSACK/Params-Util@$(PERL_PARAMS_UTIL_VERSION)
 PERL_PARAMS_UTIL_LICENSE = Artistic or GPL-1.0+
 PERL_PARAMS_UTIL_LICENSE_FILES = ARTISTIC-1.0 GPL-1 LICENSE
 PERL_PARAMS_UTIL_DISTNAME = Params-Util
diff --git a/package/perl-parse-yapp/perl-parse-yapp.mk b/package/perl-parse-yapp/perl-parse-yapp.mk
index 12f05efe0..4a93c2389 100644
--- a/package/perl-parse-yapp/perl-parse-yapp.mk
+++ b/package/perl-parse-yapp/perl-parse-yapp.mk
@@ -7,6 +7,7 @@
 PERL_PARSE_YAPP_VERSION = 1.21
 PERL_PARSE_YAPP_SOURCE = Parse-Yapp-$(PERL_PARSE_YAPP_VERSION).tar.gz
 PERL_PARSE_YAPP_SITE = $(BR2_CPAN_MIRROR)/authors/id/W/WB/WBRASWELL
+PERL_PARSE_YAPP_PURL = pkg:cpan/WBRASWELL/Parse-Yapp@$(PERL_PARSE_YAPP_VERSION)
 PERL_PARSE_YAPP_LICENSE = Artistic or GPL-1.0+
 PERL_PARSE_YAPP_LICENSE_FILES = lib/Parse/Yapp.pm
 PERL_PARSE_YAPP_DISTNAME = Parse-Yapp
diff --git a/package/perl-path-tiny/perl-path-tiny.mk b/package/perl-path-tiny/perl-path-tiny.mk
index 6d784a0d1..2150b8f36 100644
--- a/package/perl-path-tiny/perl-path-tiny.mk
+++ b/package/perl-path-tiny/perl-path-tiny.mk
@@ -7,6 +7,7 @@
 PERL_PATH_TINY_VERSION = 0.144
 PERL_PATH_TINY_SOURCE = Path-Tiny-$(PERL_PATH_TINY_VERSION).tar.gz
 PERL_PATH_TINY_SITE = $(BR2_CPAN_MIRROR)/authors/id/D/DA/DAGOLDEN
+PERL_PATH_TINY_PURL = pkg:cpan/DAGOLDEN/Path-Tiny@$(PERL_PATH_TINY_VERSION)
 PERL_PATH_TINY_LICENSE = Apache-2.0
 PERL_PATH_TINY_LICENSE_FILES = LICENSE
 PERL_PATH_TINY_DISTNAME = Path-Tiny
diff --git a/package/perl-plack/perl-plack.mk b/package/perl-plack/perl-plack.mk
index 2c591cc05..46801e093 100644
--- a/package/perl-plack/perl-plack.mk
+++ b/package/perl-plack/perl-plack.mk
@@ -7,6 +7,7 @@
 PERL_PLACK_VERSION = 1.0051
 PERL_PLACK_SOURCE = Plack-$(PERL_PLACK_VERSION).tar.gz
 PERL_PLACK_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MI/MIYAGAWA
+PERL_PLACK_PURL = pkg:cpan/MIYAGAWA/Plack@$(PERL_PLACK_VERSION)
 PERL_PLACK_DEPENDENCIES = host-perl-file-sharedir-install
 PERL_PLACK_LICENSE = Artistic or GPL-1.0+
 PERL_PLACK_LICENSE_FILES = LICENSE
diff --git a/package/perl-posix-strftime-compiler/perl-posix-strftime-compiler.mk b/package/perl-posix-strftime-compiler/perl-posix-strftime-compiler.mk
index f7f6745ec..2ea00c47d 100644
--- a/package/perl-posix-strftime-compiler/perl-posix-strftime-compiler.mk
+++ b/package/perl-posix-strftime-compiler/perl-posix-strftime-compiler.mk
@@ -7,6 +7,7 @@
 PERL_POSIX_STRFTIME_COMPILER_VERSION = 0.46
 PERL_POSIX_STRFTIME_COMPILER_SOURCE = POSIX-strftime-Compiler-$(PERL_POSIX_STRFTIME_COMPILER_VERSION).tar.gz
 PERL_POSIX_STRFTIME_COMPILER_SITE = $(BR2_CPAN_MIRROR)/authors/id/K/KA/KAZEBURO
+PERL_POSIX_STRFTIME_COMPILER_PURL = pkg:cpan/KAZEBURO/POSIX-strftime-Compiler@$(PERL_POSIX_STRFTIME_COMPILER_VERSION)
 PERL_POSIX_STRFTIME_COMPILER_DEPENDENCIES = host-perl-module-build-tiny
 PERL_POSIX_STRFTIME_COMPILER_LICENSE = Artistic or GPL-1.0+
 PERL_POSIX_STRFTIME_COMPILER_LICENSE_FILES = LICENSE
diff --git a/package/perl-role-tiny/perl-role-tiny.mk b/package/perl-role-tiny/perl-role-tiny.mk
index 64d5085fa..44a6a027c 100644
--- a/package/perl-role-tiny/perl-role-tiny.mk
+++ b/package/perl-role-tiny/perl-role-tiny.mk
@@ -7,6 +7,7 @@
 PERL_ROLE_TINY_VERSION = 2.002004
 PERL_ROLE_TINY_SOURCE = Role-Tiny-$(PERL_ROLE_TINY_VERSION).tar.gz
 PERL_ROLE_TINY_SITE = $(BR2_CPAN_MIRROR)/authors/id/H/HA/HAARG
+PERL_ROLE_TINY_PURL = pkg:cpan/HAARG/Role-Tiny@$(PERL_ROLE_TINY_VERSION)
 PERL_ROLE_TINY_LICENSE = Artistic or GPL-1.0+
 PERL_ROLE_TINY_LICENSE_FILES = LICENSE
 PERL_ROLE_TINY_DISTNAME = Role-Tiny
diff --git a/package/perl-stream-buffered/perl-stream-buffered.mk b/package/perl-stream-buffered/perl-stream-buffered.mk
index 63aa1a246..d59f1a694 100644
--- a/package/perl-stream-buffered/perl-stream-buffered.mk
+++ b/package/perl-stream-buffered/perl-stream-buffered.mk
@@ -7,6 +7,7 @@
 PERL_STREAM_BUFFERED_VERSION = 0.03
 PERL_STREAM_BUFFERED_SOURCE = Stream-Buffered-$(PERL_STREAM_BUFFERED_VERSION).tar.gz
 PERL_STREAM_BUFFERED_SITE = $(BR2_CPAN_MIRROR)/authors/id/D/DO/DOY
+PERL_STREAM_BUFFERED_PURL = pkg:cpan/DOY/Stream-Buffered@$(PERL_STREAM_BUFFERED_VERSION)
 PERL_STREAM_BUFFERED_LICENSE = Artistic or GPL-1.0+
 PERL_STREAM_BUFFERED_LICENSE_FILES = LICENSE
 PERL_STREAM_BUFFERED_DISTNAME = Stream-Buffered
diff --git a/package/perl-sub-exporter-progressive/perl-sub-exporter-progressive.mk b/package/perl-sub-exporter-progressive/perl-sub-exporter-progressive.mk
index 22fc29d5b..67d3a2e37 100644
--- a/package/perl-sub-exporter-progressive/perl-sub-exporter-progressive.mk
+++ b/package/perl-sub-exporter-progressive/perl-sub-exporter-progressive.mk
@@ -7,6 +7,7 @@
 PERL_SUB_EXPORTER_PROGRESSIVE_VERSION = 0.001013
 PERL_SUB_EXPORTER_PROGRESSIVE_SOURCE = Sub-Exporter-Progressive-$(PERL_SUB_EXPORTER_PROGRESSIVE_VERSION).tar.gz
 PERL_SUB_EXPORTER_PROGRESSIVE_SITE = $(BR2_CPAN_MIRROR)/authors/id/F/FR/FREW
+PERL_SUB_EXPORTER_PROGRESSIVE_PURL = pkg:cpan/FREW/Sub-Exporter-Progressive@$(PERL_SUB_EXPORTER_PROGRESSIVE_VERSION)
 PERL_SUB_EXPORTER_PROGRESSIVE_LICENSE = Artistic or GPL-1.0+
 PERL_SUB_EXPORTER_PROGRESSIVE_LICENSE_FILES = LICENSE
 PERL_SUB_EXPORTER_PROGRESSIVE_DISTNAME = Sub-Exporter-Progressive
diff --git a/package/perl-sub-install/perl-sub-install.mk b/package/perl-sub-install/perl-sub-install.mk
index 5e02a37eb..6007a395c 100644
--- a/package/perl-sub-install/perl-sub-install.mk
+++ b/package/perl-sub-install/perl-sub-install.mk
@@ -7,6 +7,7 @@
 PERL_SUB_INSTALL_VERSION = 0.929
 PERL_SUB_INSTALL_SOURCE = Sub-Install-$(PERL_SUB_INSTALL_VERSION).tar.gz
 PERL_SUB_INSTALL_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RJ/RJBS
+PERL_SUB_INSTALL_PURL = pkg:cpan/RJBS/Sub-Install@$(PERL_SUB_INSTALL_VERSION)
 PERL_SUB_INSTALL_LICENSE = Artistic or GPL-1.0+
 PERL_SUB_INSTALL_LICENSE_FILES = LICENSE
 PERL_SUB_INSTALL_DISTNAME = Sub-Install
diff --git a/package/perl-sub-quote/perl-sub-quote.mk b/package/perl-sub-quote/perl-sub-quote.mk
index 3c2a25be5..a949e140a 100644
--- a/package/perl-sub-quote/perl-sub-quote.mk
+++ b/package/perl-sub-quote/perl-sub-quote.mk
@@ -7,6 +7,7 @@
 PERL_SUB_QUOTE_VERSION = 2.006008
 PERL_SUB_QUOTE_SOURCE = Sub-Quote-$(PERL_SUB_QUOTE_VERSION).tar.gz
 PERL_SUB_QUOTE_SITE = $(BR2_CPAN_MIRROR)/authors/id/H/HA/HAARG
+PERL_SUB_QUOTE_PURL = pkg:cpan/HAARG/Sub-Quote@$(PERL_SUB_QUOTE_VERSION)
 PERL_SUB_QUOTE_LICENSE = Artistic or GPL-1.0+
 PERL_SUB_QUOTE_LICENSE_FILES = LICENSE
 PERL_SUB_QUOTE_DISTNAME = Sub-Quote
diff --git a/package/perl-sys-meminfo/perl-sys-meminfo.mk b/package/perl-sys-meminfo/perl-sys-meminfo.mk
index e70dd73af..a566ea067 100644
--- a/package/perl-sys-meminfo/perl-sys-meminfo.mk
+++ b/package/perl-sys-meminfo/perl-sys-meminfo.mk
@@ -7,6 +7,7 @@
 PERL_SYS_MEMINFO_VERSION = 0.99
 PERL_SYS_MEMINFO_SOURCE = Sys-MemInfo-$(PERL_SYS_MEMINFO_VERSION).tar.gz
 PERL_SYS_MEMINFO_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SC/SCRESTO
+PERL_SYS_MEMINFO_PURL = pkg:cpan/SCRESTO/Sys-MemInfo@$(PERL_SYS_MEMINFO_VERSION)
 PERL_SYS_MEMINFO_LICENSE = Artistic or GPL-1.0+
 PERL_SYS_MEMINFO_LICENSE_FILES = LICENSE
 PERL_SYS_MEMINFO_DISTNAME = Sys-MemInfo
diff --git a/package/perl-sys-mmap/perl-sys-mmap.mk b/package/perl-sys-mmap/perl-sys-mmap.mk
index 5e0814526..8ff32dc75 100644
--- a/package/perl-sys-mmap/perl-sys-mmap.mk
+++ b/package/perl-sys-mmap/perl-sys-mmap.mk
@@ -7,6 +7,7 @@
 PERL_SYS_MMAP_VERSION = 0.20
 PERL_SYS_MMAP_SOURCE = Sys-Mmap-$(PERL_SYS_MMAP_VERSION).tar.gz
 PERL_SYS_MMAP_SITE = $(BR2_CPAN_MIRROR)/authors/id/T/TO/TODDR
+PERL_SYS_MMAP_PURL = pkg:cpan/TODDR/Sys-Mmap@$(PERL_SYS_MMAP_VERSION)
 PERL_SYS_MMAP_LICENSE = Artistic or GPL-1.0+
 PERL_SYS_MMAP_LICENSE_FILES = Artistic Copying
 PERL_SYS_MMAP_DISTNAME = Sys-Mmap
diff --git a/package/perl-time-parsedate/perl-time-parsedate.mk b/package/perl-time-parsedate/perl-time-parsedate.mk
index cba8c7b6b..37ad340b7 100644
--- a/package/perl-time-parsedate/perl-time-parsedate.mk
+++ b/package/perl-time-parsedate/perl-time-parsedate.mk
@@ -7,6 +7,7 @@
 PERL_TIME_PARSEDATE_VERSION = 2015.103
 PERL_TIME_PARSEDATE_SOURCE = Time-ParseDate-$(PERL_TIME_PARSEDATE_VERSION).tar.gz
 PERL_TIME_PARSEDATE_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MU/MUIR/modules
+PERL_TIME_PARSEDATE_PURL = pkg:cpan/MUIR/Time-ParseDate@$(PERL_TIME_PARSEDATE_VERSION)
 PERL_TIME_PARSEDATE_LICENSE = Time Parse Date License, Public Domain
 PERL_TIME_PARSEDATE_LICENSE_FILES = lib/Time/JulianDay.pm lib/Time/Timezone.pm
 PERL_TIME_PARSEDATE_DISTNAME = Time-ParseDate
diff --git a/package/perl-timedate/perl-timedate.mk b/package/perl-timedate/perl-timedate.mk
index 89a82c042..e1e5c5d77 100644
--- a/package/perl-timedate/perl-timedate.mk
+++ b/package/perl-timedate/perl-timedate.mk
@@ -7,6 +7,7 @@
 PERL_TIMEDATE_VERSION = 2.33
 PERL_TIMEDATE_SOURCE = TimeDate-$(PERL_TIMEDATE_VERSION).tar.gz
 PERL_TIMEDATE_SITE = $(BR2_CPAN_MIRROR)/authors/id/A/AT/ATOOMIC
+PERL_TIMEDATE_PURL = pkg:cpan/ATOOMIC/TimeDate@$(PERL_TIMEDATE_VERSION)
 PERL_TIMEDATE_LICENSE = Artistic or GPL-1.0+
 PERL_TIMEDATE_LICENSE_FILES = README
 PERL_TIMEDATE_DISTNAME = TimeDate
diff --git a/package/perl-try-tiny/perl-try-tiny.mk b/package/perl-try-tiny/perl-try-tiny.mk
index cd2421a3c..e5dcc924d 100644
--- a/package/perl-try-tiny/perl-try-tiny.mk
+++ b/package/perl-try-tiny/perl-try-tiny.mk
@@ -7,6 +7,7 @@
 PERL_TRY_TINY_VERSION = 0.31
 PERL_TRY_TINY_SOURCE = Try-Tiny-$(PERL_TRY_TINY_VERSION).tar.gz
 PERL_TRY_TINY_SITE = $(BR2_CPAN_MIRROR)/authors/id/E/ET/ETHER
+PERL_TRY_TINY_PURL = pkg:cpan/ETHER/Try-Tiny@$(PERL_TRY_TINY_VERSION)
 PERL_TRY_TINY_LICENSE = MIT
 PERL_TRY_TINY_LICENSE_FILES = LICENCE
 PERL_TRY_TINY_DISTNAME = Try-Tiny
diff --git a/package/perl-type-tiny/perl-type-tiny.mk b/package/perl-type-tiny/perl-type-tiny.mk
index 31c84a263..49ab1fa9e 100644
--- a/package/perl-type-tiny/perl-type-tiny.mk
+++ b/package/perl-type-tiny/perl-type-tiny.mk
@@ -7,6 +7,7 @@
 PERL_TYPE_TINY_VERSION = 2.004000
 PERL_TYPE_TINY_SOURCE = Type-Tiny-$(PERL_TYPE_TINY_VERSION).tar.gz
 PERL_TYPE_TINY_SITE = $(BR2_CPAN_MIRROR)/authors/id/T/TO/TOBYINK
+PERL_TYPE_TINY_PURL = pkg:cpan/TOBYINK/Type-Tiny@$(PERL_TYPE_TINY_VERSION)
 PERL_TYPE_TINY_LICENSE = Artistic or GPL-1.0+
 PERL_TYPE_TINY_LICENSE_FILES = LICENSE
 PERL_TYPE_TINY_DISTNAME = Type-Tiny
diff --git a/package/perl-uri/perl-uri.mk b/package/perl-uri/perl-uri.mk
index aa0c1ed8b..c1bcc9444 100644
--- a/package/perl-uri/perl-uri.mk
+++ b/package/perl-uri/perl-uri.mk
@@ -7,6 +7,7 @@
 PERL_URI_VERSION = 5.21
 PERL_URI_SOURCE = URI-$(PERL_URI_VERSION).tar.gz
 PERL_URI_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS
+PERL_URI_PURL = pkg:cpan/OALDERS/URI@$(PERL_URI_VERSION)
 PERL_URI_LICENSE = Artistic-1.0-Perl or GPL-1.0+
 PERL_URI_LICENSE_FILES = LICENSE
 PERL_URI_DISTNAME = URI
diff --git a/package/perl-www-form-urlencoded/perl-www-form-urlencoded.mk b/package/perl-www-form-urlencoded/perl-www-form-urlencoded.mk
index a6f2edd5e..a8ca56dce 100644
--- a/package/perl-www-form-urlencoded/perl-www-form-urlencoded.mk
+++ b/package/perl-www-form-urlencoded/perl-www-form-urlencoded.mk
@@ -7,6 +7,7 @@
 PERL_WWW_FORM_URLENCODED_VERSION = 0.26
 PERL_WWW_FORM_URLENCODED_SOURCE = WWW-Form-UrlEncoded-$(PERL_WWW_FORM_URLENCODED_VERSION).tar.gz
 PERL_WWW_FORM_URLENCODED_SITE = $(BR2_CPAN_MIRROR)/authors/id/K/KA/KAZEBURO
+PERL_WWW_FORM_URLENCODED_PURL = pkg:cpan/KAZEBURO/WWW-Form-UrlEncoded@$(PERL_WWW_FORM_URLENCODED_VERSION)
 PERL_WWW_FORM_URLENCODED_DEPENDENCIES = host-perl-module-build
 PERL_WWW_FORM_URLENCODED_LICENSE = Artistic or GPL-1.0+
 PERL_WWW_FORM_URLENCODED_LICENSE_FILES = LICENSE
diff --git a/package/perl-www-robotrules/perl-www-robotrules.mk b/package/perl-www-robotrules/perl-www-robotrules.mk
index 052d9a674..aab608de5 100644
--- a/package/perl-www-robotrules/perl-www-robotrules.mk
+++ b/package/perl-www-robotrules/perl-www-robotrules.mk
@@ -7,6 +7,7 @@
 PERL_WWW_ROBOTRULES_VERSION = 6.02
 PERL_WWW_ROBOTRULES_SOURCE = WWW-RobotRules-$(PERL_WWW_ROBOTRULES_VERSION).tar.gz
 PERL_WWW_ROBOTRULES_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GAAS
+PERL_WWW_ROBOTRULES_PURL = pkg:cpan/GAAS/WWW-RobotRules@$(PERL_WWW_ROBOTRULES_VERSION)
 PERL_WWW_ROBOTRULES_LICENSE = Artistic or GPL-1.0+
 PERL_WWW_ROBOTRULES_LICENSE_FILES = README
 PERL_WWW_ROBOTRULES_DISTNAME = WWW-RobotRules
diff --git a/package/perl-x10/perl-x10.mk b/package/perl-x10/perl-x10.mk
index 4c90be65b..8c95f567b 100644
--- a/package/perl-x10/perl-x10.mk
+++ b/package/perl-x10/perl-x10.mk
@@ -7,6 +7,7 @@
 PERL_X10_VERSION = 0.04
 PERL_X10_SOURCE = X10-$(PERL_X10_VERSION).tar.gz
 PERL_X10_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RO/ROBF
+PERL_X10_PURL = pkg:cpan/ROBF/X10@$(PERL_X10_VERSION)
 PERL_X10_LICENSE = GPL-3.0
 PERL_X10_LICENSE_FILES = README
 PERL_X10_DISTNAME = X10
diff --git a/package/perl-xml-libxml/perl-xml-libxml.mk b/package/perl-xml-libxml/perl-xml-libxml.mk
index 9b563e29b..f38a3c49f 100644
--- a/package/perl-xml-libxml/perl-xml-libxml.mk
+++ b/package/perl-xml-libxml/perl-xml-libxml.mk
@@ -7,6 +7,7 @@
 PERL_XML_LIBXML_VERSION = 2.0134
 PERL_XML_LIBXML_SOURCE = XML-LibXML-$(PERL_XML_LIBXML_VERSION).tar.gz
 PERL_XML_LIBXML_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SH/SHLOMIF
+PERL_XML_LIBXML_PURL = pkg:cpan/SHLOMIF/XML-LibXML@$(PERL_XML_LIBXML_VERSION)
 PERL_XML_LIBXML_DEPENDENCIES = zlib libxml2
 PERL_XML_LIBXML_LICENSE = Artistic or GPL-1.0+
 PERL_XML_LIBXML_LICENSE_FILES = LICENSE
diff --git a/package/perl-xml-namespacesupport/perl-xml-namespacesupport.mk b/package/perl-xml-namespacesupport/perl-xml-namespacesupport.mk
index c3c54da6a..6fa770bba 100644
--- a/package/perl-xml-namespacesupport/perl-xml-namespacesupport.mk
+++ b/package/perl-xml-namespacesupport/perl-xml-namespacesupport.mk
@@ -7,6 +7,7 @@
 PERL_XML_NAMESPACESUPPORT_VERSION = 1.12
 PERL_XML_NAMESPACESUPPORT_SOURCE = XML-NamespaceSupport-$(PERL_XML_NAMESPACESUPPORT_VERSION).tar.gz
 PERL_XML_NAMESPACESUPPORT_SITE = $(BR2_CPAN_MIRROR)/authors/id/P/PE/PERIGRIN
+PERL_XML_NAMESPACESUPPORT_PURL = pkg:cpan/PERIGRIN/XML-NamespaceSupport@$(PERL_XML_NAMESPACESUPPORT_VERSION)
 PERL_XML_NAMESPACESUPPORT_LICENSE = Artistic or GPL-1.0+
 PERL_XML_NAMESPACESUPPORT_LICENSE_FILES = LICENSE
 PERL_XML_NAMESPACESUPPORT_DISTNAME = XML-NamespaceSupport
diff --git a/package/perl-xml-sax-base/perl-xml-sax-base.mk b/package/perl-xml-sax-base/perl-xml-sax-base.mk
index 810a46046..ef9ad7c61 100644
--- a/package/perl-xml-sax-base/perl-xml-sax-base.mk
+++ b/package/perl-xml-sax-base/perl-xml-sax-base.mk
@@ -7,6 +7,7 @@
 PERL_XML_SAX_BASE_VERSION = 1.09
 PERL_XML_SAX_BASE_SOURCE = XML-SAX-Base-$(PERL_XML_SAX_BASE_VERSION).tar.gz
 PERL_XML_SAX_BASE_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GR/GRANTM
+PERL_XML_SAX_BASE_PURL = pkg:cpan/GRANTM/XML-SAX-Base@$(PERL_XML_SAX_BASE_VERSION)
 PERL_XML_SAX_BASE_LICENSE = Artistic or GPL-1.0+
 PERL_XML_SAX_BASE_LICENSE_FILES = README
 PERL_XML_SAX_BASE_DISTNAME = XML-SAX-Base
diff --git a/package/perl-xml-sax/perl-xml-sax.mk b/package/perl-xml-sax/perl-xml-sax.mk
index e8de01bcb..d80c76b7c 100644
--- a/package/perl-xml-sax/perl-xml-sax.mk
+++ b/package/perl-xml-sax/perl-xml-sax.mk
@@ -7,6 +7,7 @@
 PERL_XML_SAX_VERSION = 1.02
 PERL_XML_SAX_SOURCE = XML-SAX-$(PERL_XML_SAX_VERSION).tar.gz
 PERL_XML_SAX_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GR/GRANTM
+PERL_XML_SAX_PURL = pkg:cpan/GRANTM/XML-SAX@$(PERL_XML_SAX_VERSION)
 PERL_XML_SAX_LICENSE = Artistic or GPL-1.0+
 PERL_XML_SAX_LICENSE_FILES = LICENSE
 PERL_XML_SAX_DISTNAME = XML-SAX
-- 
2.40.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [Buildroot] [RFC PATCH 0/2] PURL pkg:cpan
  2024-04-07 14:42 [Buildroot] [RFC PATCH 0/2] PURL pkg:cpan Francois Perrad
  2024-04-07 14:42 ` [Buildroot] [RFC PATCH 1/2] utils/scancpan: generate PURL package variable Francois Perrad
  2024-04-07 14:42 ` [Buildroot] [RFC PATCH 2/2] package/perl-*: regenerate with PURL Francois Perrad
@ 2024-04-07 17:09 ` Arnout Vandecappelle via buildroot
  2024-04-07 17:37   ` Yann E. MORIN
  2024-04-08 17:30   ` François Perrad
  2024-09-15 15:05 ` Yann E. MORIN
  3 siblings, 2 replies; 7+ messages in thread
From: Arnout Vandecappelle via buildroot @ 2024-04-07 17:09 UTC (permalink / raw)
  To: Francois Perrad, buildroot
  Cc: Romain Naour, Thomas Perale, Thomas Petazzoni, Yann E. MORIN

  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(+)
> 
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Buildroot] [RFC PATCH 0/2] PURL pkg:cpan
  2024-04-07 17:09 ` [Buildroot] [RFC PATCH 0/2] PURL pkg:cpan Arnout Vandecappelle via buildroot
@ 2024-04-07 17:37   ` Yann E. MORIN
  2024-04-08 17:30   ` François Perrad
  1 sibling, 0 replies; 7+ messages in thread
From: Yann E. MORIN @ 2024-04-07 17:37 UTC (permalink / raw)
  To: Arnout Vandecappelle
  Cc: buildroot, Romain Naour, Thomas Perale, Thomas Petazzoni

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

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Buildroot] [RFC PATCH 0/2] PURL pkg:cpan
  2024-04-07 17:09 ` [Buildroot] [RFC PATCH 0/2] PURL pkg:cpan Arnout Vandecappelle via buildroot
  2024-04-07 17:37   ` Yann E. MORIN
@ 2024-04-08 17:30   ` François Perrad
  1 sibling, 0 replies; 7+ messages in thread
From: François Perrad @ 2024-04-08 17:30 UTC (permalink / raw)
  To: Arnout Vandecappelle
  Cc: Yann E. MORIN, Thomas Petazzoni, buildroot, Romain Naour,
	Thomas Perale


[-- Attachment #1.1: Type: text/plain, Size: 11158 bytes --]

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(+)
> >
>

[-- Attachment #1.2: Type: text/html, Size: 23289 bytes --]

[-- Attachment #2: Type: text/plain, Size: 150 bytes --]

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Buildroot] [RFC PATCH 0/2] PURL pkg:cpan
  2024-04-07 14:42 [Buildroot] [RFC PATCH 0/2] PURL pkg:cpan Francois Perrad
                   ` (2 preceding siblings ...)
  2024-04-07 17:09 ` [Buildroot] [RFC PATCH 0/2] PURL pkg:cpan Arnout Vandecappelle via buildroot
@ 2024-09-15 15:05 ` Yann E. MORIN
  3 siblings, 0 replies; 7+ messages in thread
From: Yann E. MORIN @ 2024-09-15 15:05 UTC (permalink / raw)
  To: Francois Perrad; +Cc: buildroot, Thomas Perale

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.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-09-15 15:06 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-07 14:42 [Buildroot] [RFC PATCH 0/2] PURL pkg:cpan Francois Perrad
2024-04-07 14:42 ` [Buildroot] [RFC PATCH 1/2] utils/scancpan: generate PURL package variable Francois Perrad
2024-04-07 14:42 ` [Buildroot] [RFC PATCH 2/2] package/perl-*: regenerate with PURL Francois Perrad
2024-04-07 17:09 ` [Buildroot] [RFC PATCH 0/2] PURL pkg:cpan Arnout Vandecappelle via buildroot
2024-04-07 17:37   ` Yann E. MORIN
2024-04-08 17:30   ` François Perrad
2024-09-15 15:05 ` Yann E. MORIN

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.