added my Recipes

This commit is contained in:
2024-07-11 14:16:35 +02:00
parent 38bc4f53ac
commit 09b621d929
7118 changed files with 525762 additions and 3 deletions

View File

@@ -0,0 +1,24 @@
DESCRIPTION = "\
IPC::Run allows you run and interact with child processes \
using files, pipes, and pseudo-ttys. Both system()-style and scripted \
usages are supported and may be mixed. Likewise, functional and OO API \
styles are both supported and may be mixed."
HOMEPAGE = "https://metacpan.org/release/IPC-Run"
SECTION = "libs"
LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
LIC_FILES_CHKSUM = "file://LICENSE;md5=0ebd37caf53781e8b7223e6b99b63f4e"
DEPENDS = "perl"
SRC_URI = "git://github.com/toddr/IPC-Run.git;branch=master;protocol=https"
SRCREV = "44b1f2d2021615c88f2f6b1a6cbdd9aebaeb4ad1"
S = "${WORKDIR}/git"
inherit cpan
EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
do_compile() {
export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')"
cpan_do_compile
}

View File

@@ -0,0 +1,24 @@
DESCRIPTION = "Config file parser module"
HOMEPAGE = "http://search.cpan.org/dist/Config-General/"
LICENSE = "Artistic-2.0 | GPL-1.0-or-later"
SECTION = "libs"
LIC_FILES_CHKSUM = "file://README;beginline=90;endline=90;md5=53fe13727e61798809ec5c160dc93e6e"
SRCNAME = "Config-General"
SRC_URI = "http://search.cpan.org/CPAN/authors/id/T/TL/TLINDEN/${SRCNAME}-${PV}.tar.gz"
SRC_URI[sha256sum] = "4d6d5754be3a9f30906836f0cc10e554c8832e14e7a1341efb15b05d706fc58f"
S = "${WORKDIR}/${SRCNAME}-${PV}"
COMPATIBLE_HOST:libc-musl = "null"
EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
inherit cpan
do_compile() {
export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')"
cpan_do_compile
}

View File

@@ -0,0 +1,22 @@
SUMMARY = "A Perl DBI driver for MySQL"
DESCRIPTION = "DBD::mysql is the Perl5 Database Interface driver for \
the MySQL database. In other words: DBD::mysql is an interface between \
the Perl programming language and the MySQL programming API that comes \
with the MySQL relational database management system. Most functions \
provided by this programming API are supported. Some rarely used \
functions are missing, mainly because no-one ever requested them. \
"
HOMEPAGE = "https://github.com/perl5-dbi/DBD-mysql"
SECTION = "libs"
LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
DEPENDS += "libdev-checklib-perl-native libdbi-perl-native libmysqlclient"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d0a06964340e5c0cde88b7af611f755c"
SRCREV = "9b5b70ea372f49fe9bc9e592dae3870596d1e3d6"
SRC_URI = "git://github.com/perl5-dbi/DBD-mysql.git;protocol=https;branch=master"
S = "${WORKDIR}/git"
inherit cpan

View File

@@ -0,0 +1,56 @@
Backport patch to fix CVE-2014-10402.
CVE: CVE-2014-10402
Upstream-Status: Backport [https://github.com/rehsack/dbi/commit/19d0fb1]
Ref:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=972180#12
Signed-off-by: Kai Kang <kai.kang@windriver.com>
From 19d0fb169eed475e1c053e99036b8668625cfa94 Mon Sep 17 00:00:00 2001
From: Jens Rehsack <sno@netbsd.org>
Date: Tue, 6 Oct 2020 10:22:17 +0200
Subject: [PATCH] lib/DBD/File.pm: fix CVE-2014-10401
Dig into the root cause of RT#99508 - which resulted in CVE-2014-10401 - and
figure out that DBI->parse_dsn is the wrong helper to parse our attributes in
DSN, since in DBD::dr::connect only the "dbname" remains from DSN which causes
parse_dsn to bailout.
Parsing on our own similar to parse_dsn shows the way out.
Signed-off-by: Jens Rehsack <sno@netbsd.org>
---
lib/DBD/File.pm | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/lib/DBD/File.pm b/lib/DBD/File.pm
index fb14e9a..f55076f 100644
--- a/lib/DBD/File.pm
+++ b/lib/DBD/File.pm
@@ -109,7 +109,11 @@ sub connect
# We do not (yet) care about conflicting attributes here
# my $dbh = DBI->connect ("dbi:CSV:f_dir=test", undef, undef, { f_dir => "text" });
# will test here that both test and text should exist
- if (my $attr_hash = (DBI->parse_dsn ($dbname))[3]) {
+ #
+ # Parsing on our own similar to parse_dsn to find attributes in 'dbname' parameter.
+ if ($dbname) {
+ my @attrs = split /;/ => $dbname;
+ my $attr_hash = { map { split /\s*=>?\s*|\s*,\s*/, $_} @attrs };
if (defined $attr_hash->{f_dir} && ! -d $attr_hash->{f_dir}) {
my $msg = "No such directory '$attr_hash->{f_dir}";
$drh->set_err (2, $msg);
@@ -120,7 +124,6 @@ sub connect
if ($attr and defined $attr->{f_dir} && ! -d $attr->{f_dir}) {
my $msg = "No such directory '$attr->{f_dir}";
$drh->set_err (2, $msg);
- $attr->{RaiseError} and croak $msg;
return;
}
--
2.17.1

View File

@@ -0,0 +1,69 @@
SUMMARY = "The Perl Database Interface"
DESCRIPTION = "DBI is a database access Application Programming Interface \
(API) for the Perl Language. The DBI API Specification defines a set \
of functions, variables and conventions that provide a consistent \
database interface independent of the actual database being used. \
"
HOMEPAGE = "http://search.cpan.org/dist/DBI/"
SECTION = "libs"
LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
LIC_FILES_CHKSUM = "file://LICENSE;md5=10982c7148e0a012c0fd80534522f5c5"
SRC_URI = "http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-${PV}.tar.gz \
file://CVE-2014-10402.patch \
"
SRC_URI[md5sum] = "352f80b1e23769c116082a90905d7398"
SRC_URI[sha256sum] = "8a2b993db560a2c373c174ee976a51027dd780ec766ae17620c20393d2e836fa"
S = "${WORKDIR}/DBI-${PV}"
inherit cpan ptest-perl
do_install:prepend() {
# test requires "-T" (taint) command line option
rm -rf ${B}/t/pod-coverage.t
rm -rf ${B}/t/13taint.t
# source of test failure not obvious
rm -rf ${B}/t/85gofer.t
# unclear why there are several duplicates of tests in tarball
rm -rf ${B}/t/z*.t
}
do_install:append() {
sed -i "s:^#!.*:#!/usr/bin/env perl:" ${D}${bindir}/dbiproxy \
${D}${bindir}/dbiprof ${D}${bindir}/dbilogstrip
}
RDEPENDS:${PN}:class-target = " \
perl \
perl-module-carp \
perl-module-exporter \
perl-module-exporter-heavy \
perl-module-dynaloader \
perl-module-io-dir \
perl-module-scalar-util \
perl-module-universal \
"
RDEPENDS:${PN}-ptest = " \
${PN} \
perl-module-b \
perl-module-benchmark \
perl-module-cwd \
perl-module-data-dumper \
perl-module-encode \
perl-module-encode-byte \
perl-module-encode-encoding \
perl-module-file-copy \
perl-module-file-path \
perl-module-lib \
perl-module-perlio \
perl-module-perlio-scalar \
perl-module-perlio-via \
perl-module-sdbm-file \
perl-module-storable \
perl-module-test-more \
perl-module-utf8 \
"
BBCLASSEXTEND = "native"

View File

@@ -0,0 +1,46 @@
From d111fd85b25466f7829ccee34493aa0e3b551308 Mon Sep 17 00:00:00 2001
From: Mingli Yu <mingli.yu@windriver.com>
Date: Tue, 23 Apr 2019 19:13:19 -0700
Subject: [PATCH] CheckLib.pm: don't execute the binary
Don't execute the binary in build env as the
binary which is generated in cross compile env
may fail when executed in build env.
And it's enough to verify the libs via successully
generate the binary which links the libs as below.
$ /yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/recipe-sysroot-native/usr/bin/x86_64-poky-linux/x86_64-poky-linux-gcc \
-m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security \
-Werror=format-security --sysroot=/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/recipe-sysroot \
-O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/perl/5.28.1-r1=/usr/src/debug/perl/5.28.1-r1 \
-fdebug-prefix-map=/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/perl/5.28.1-r1=/usr/src/debug/perl/5.28.1-r1 \
-fdebug-prefix-map=/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/recipe-sysroot= -fdebug-prefix-map=/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/recipe-sysroot-native= -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 assertlibEhx19yuY.c -L/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/recipe-sysroot/usr/lib -lcrypto -fstack-protector-strong -o assertlibCOw_eujb
Execute the binary in cross compile env as below
and use the return status to determine the lib's
checking status is not appropriate in cross compile env.
$ /yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/git/assertlibCOw_eujb
Upstream-Status: Inappropriate [oe specific]
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
---
lib/Devel/CheckLib.pm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/Devel/CheckLib.pm b/lib/Devel/CheckLib.pm
index 2e5a252..5c2f0b0 100644
--- a/lib/Devel/CheckLib.pm
+++ b/lib/Devel/CheckLib.pm
@@ -403,7 +403,7 @@ sub assert_lib {
if ($execute) {
my $retval = system($absexefile);
warn "# return value: $retval\n" if $args{debug};
- push @wrongresult, $lib if $retval != 0;
+ print "Checking the lib $lib\n" if $retval != 0;
}
push @wronganalysis, $lib
if $analyze_binary and !$analyze_binary->($lib, $exefile);
--
2.25.1

View File

@@ -0,0 +1,28 @@
SUMMARY = "A Perl module that checks whether a particular C library and its headers are available"
DESCRIPTION = "This module provides a way of checking whether a particular library \
and its headers are available, by attempting to compile a simple program and \
link against it."
HOMEPAGE = "https://metacpan.org/pod/Devel::CheckLib"
SECTION = "libs"
LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
LIC_FILES_CHKSUM = "file://README;md5=7911cdbb572d25c5f2e2ea17f669efc2"
SRC_URI = "https://cpan.metacpan.org/modules/by-module/Devel/Devel-CheckLib-${PV}.tar.gz \
file://0001-CheckLib.pm-don-t-execute-the-binary.patch \
"
SRC_URI[sha256sum] = "869d38c258e646dcef676609f0dd7ca90f085f56cf6fd7001b019a5d5b831fca"
S = "${WORKDIR}/Devel-CheckLib-${PV}"
inherit cpan
do_install:append() {
# update interpreter on shebang line
# since old version env doesn't support multiple arguments, replace option
# '-w' with 'use warnings;'
sed -i -e "s:^#!.*:#!/usr/bin/env perl:" \
-e "/use strict;/ause warnings;" ${D}${bindir}/use-devel-checklib
}
BBCLASSEXTEND="native"

View File

@@ -0,0 +1,54 @@
From 1735a78561dbe139fd138caef2d44d81f5494fe7 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 4 Apr 2023 12:28:11 -0700
Subject: [PATCH] Make function checks more robust within shared libs
Previous attempt to error at link like was with
https://github.com/toddr/IO-Tty/commit/1747cdf9f98cfd3aada9bf6c09f9d46297e18a5e
this however causes issues with newer clang where it detects
the assignment as -Wint-conversion warning which is treated at error
and builds with clang fail. So this is an attempt to instruct
linker explicitly to error out if the symbol is not found during link
time when building a shared library, this fixes both the problems
as reported in
https://github.com/toddr/IO-Tty/issues/23
as well as
https://github.com/toddr/IO-Tty/pull/33#issuecomment-1260147256
Upstream-Status: Submitted [https://github.com/toddr/IO-Tty/pull/33]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Makefile.PL | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/Makefile.PL b/Makefile.PL
index eaf47e0..2e8338d 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -163,7 +163,8 @@ main ()
#if defined (__stub_$f) || defined (__stub___$f)
choke me
#else
-f = $f ();
+f = $f;
+f();
#endif
;
@@ -173,7 +174,7 @@ ESQ
close(TST);
print "Looking for $f()" . "." x (13-length($f)) . " ";
- if (system("$cfg{'cc'} $flags $funcs{$f} functest_$f.c > functest_$f.log 2>&1")) {
+ if (system("$cfg{'cc'} $flags -Wl,--no-undefined $funcs{$f} functest_$f.c > functest_$f.log 2>&1")) {
print "not found.\n";
} else {
$define{"-DHAVE_\U$f"} = undef;
--
2.40.0

View File

@@ -0,0 +1,27 @@
SUMMARY = "Perl module for pseudo tty IO"
SECTION = "libs"
LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
LIC_FILES_CHKSUM = "file://META.yml;beginline=11;endline=12;md5=b2562f94907eeb42e8ce9d45f628e587"
SRC_URI = "http://www.cpan.org/modules/by-module/IO/IO-Tty-${PV}.tar.gz \
file://0001-Make-function-checks-more-robust-within-shared-libs.patch \
"
SRC_URI[sha256sum] = "a5f1a83020bc5b5dd6c1b570f48c7546e0a8f7fac10a068740b03925ad9e14e8"
S = "${WORKDIR}/IO-Tty-${PV}"
inherit cpan ptest-perl
RDEPENDS:${PN} += "\
perl-module-carp \
perl-module-exporter \
perl-module-io-handle \
perl-module-posix \
"
RDEPENDS:${PN}-ptest += "\
perl-module-test-more \
"
FILES:${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/IO/Tty/.debug/"

View File

@@ -0,0 +1,22 @@
SUMMARY = "Perl module to decode/encode json files"
DESCRIPTION = "This package contains the JSON.pm module with friends. \
The module implements JSON encode/decode."
HOMEPAGE = "https://metacpan.org/pod/JSON"
SECTION = "libs"
LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
LIC_FILES_CHKSUM = "file://README;beginline=1171;endline=1176;md5=3be2cb8159d094768e67386c453e8bbe"
DEPENDS += "perl"
SRC_URI = "git://github.com/makamaka/JSON.git;protocol=https;branch=master"
SRCREV = "ebbae181c5e311fa80ee4c6379b598c7a6400570"
S = "${WORKDIR}/git"
inherit cpan
RDEPENDS:${PN} += "perl"
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,25 @@
SUMMARY = "Perl extension for generating and using LALR parsers"
DESCRIPTION = "Parse::Yapp (Yet Another Perl Parser compiler) is a collection \
of modules that let you generate and use yacc like thread safe (reentrant) parsers \
with perl object oriented interface."
HOMEPAGE = "http://search.cpan.org/dist/Parse-Yapp/"
SECTION = "libs"
LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
LIC_FILES_CHKSUM = "file://lib/Parse/Yapp.pm;beginline=508;endline=521;md5=41a4542fcde97a600c9de0d782a90256"
SRC_URI = "https://www.cpan.org/authors/id/W/WB/WBRASWELL/Parse-Yapp-${PV}.tar.gz"
SRC_URI[md5sum] = "69584d5b0f0304bb2a23cffcd982c5de"
SRC_URI[sha256sum] = "3810e998308fba2e0f4f26043035032b027ce51ce5c8a52a8b8e340ca65f13e5"
S = "${WORKDIR}/Parse-Yapp-${PV}"
inherit cpan
do_install:append() {
sed -i "s:^#!.*:#!/usr/bin/env perl:" ${D}${bindir}/yapp
}
BBCLASSEXTEND = "native"

View File

@@ -0,0 +1,22 @@
SUMMARY = "Perl interface to the PC/SC smart card library"
DESCRIPTION = "Perl wrapper to the PC/SC smartcard library (pcsc-lite) \
together with some small examples. \
The provided modules are Chipcard::PCSC and Chipcard::PCSC::Card."
HOMEPAGE = "https://metacpan.org/dist/pcsc-perl"
SECTION = "libs"
LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
LIC_FILES_CHKSUM = "file://LICENCE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "https://cpan.metacpan.org/authors/id/W/WH/WHOM/pcsc-perl-${PV}.tar.bz2"
SRC_URI[md5sum] = "45601505dbb7b27329811ac9bad35fab"
SRC_URI[sha256sum] = "2722b7e5543e4faf3ba1ec6b29a7dfec6d92be1edec09d0a3191992d4d88c69d"
S = "${WORKDIR}/pcsc-perl-${PV}"
inherit cpan pkgconfig
DEPENDS += "pcsc-lite"
RDEPENDS:${PN} += "perl-module-carp"
BBCLASSEXTEND="native"

View File

@@ -0,0 +1,30 @@
SUMMARY = "Perl module to manipulate and access gzip files"
DESCRIPTION = "This package contains the gzip.pm module with friends. \
The module implements perlio layer for gzip."
HOMEPAGE = "https://metacpan.org/pod/PerlIO::gzip"
SECTION = "libs"
LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
LIC_FILES_CHKSUM = "file://README;beginline=55;endline=61;md5=bc3da2dec1fbea59ac91172c5e0eb837"
DEPENDS += "perl"
SRC_URI = "https://cpan.metacpan.org/authors/id/N/NW/NWCLARK/PerlIO-gzip-${PV}.tar.gz"
SRC_URI[md5sum] = "0393eae5d0b23df6cf40ed44af7d711c"
SRC_URI[sha256sum] = "4848679a3f201e3f3b0c5f6f9526e602af52923ffa471a2a3657db786bd3bdc5"
S = "${WORKDIR}/PerlIO-gzip-${PV}"
EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
inherit cpan
do_compile() {
export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')"
cpan_do_compile
}
RDEPENDS:${PN} += "perl perl-module-perlio"
BBCLASSEXTEND = "native nativesdk"