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,69 @@
#! /usr/bin/env perl
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation.
#
# Copyright (C) 2013 Wind River Systems, Inc.
#
# - It tests DBI and DBD::SQLite could work correctly which means one could
# manipulate sqlite database in perl
# - The test includes create/insert/update/delete/select, the five important
# things one can do with a table
use DBI;
sub execute_sql {
my $dbh = $_[0];
my $sql = $_[1];
my $sth = $dbh->prepare($sql)
or die "Couldn't prepare statement: " . $dbh->errstr;
$sth->execute();
print "$sql\n";
return $sth;
}
sub select_all {
my $dbh = $_[0];
my $table = $_[1];
my $sth = &execute_sql($dbh, "Select * from $table");
print "-----------------------------------\n";
while (@data = $sth->fetchrow_array()) {
my $name = $data[0];
my $id = $data[1];
print "$name: $id\n";
}
print "\n";
$sth->finish;
return $sth;
}
# A private, temporary in-memory database is created for the connection.
# This in-memory database will vanish when the database connection is
# closed. It is handy for your library tests.
my $dbfile = ":memory:";
my $dbh = DBI->connect("DBI:SQLite:dbname=$dbfile","","")
or die "Couldn't connect to database: " . DBI->errstr;
print "Connect to SQLite's in-memory database\n";
&execute_sql($dbh, "Create table tbl1(name varchar(10), id smallint)");
&execute_sql($dbh, "Insert into tbl1 values('yocto',10)");
&execute_sql($dbh, "Insert into tbl1 values('windriver', 20)");
&select_all($dbh, "tbl1");
&execute_sql($dbh, "Update tbl1 set name = 'oe-core' where id = 10");
&execute_sql($dbh, "Delete from tbl1 where id = 20");
&select_all($dbh, "tbl1");
$dbh->disconnect;
print "Test Success\n"

View File

@@ -0,0 +1,55 @@
SUMMARY = "A Perl DBI driver for SQLite"
DESCRIPTION = "DBD::SQLite is a Perl DBI driver for SQLite, that includes the entire \
thing in the distribution. So in order to get a fast transaction capable \
RDBMS working for your perl project you simply have to install this \
module, and nothing else. \
"
HOMEPAGE = "https://metacpan.org/release/DBD-SQLite"
SECTION = "libs"
LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
LIC_FILES_CHKSUM = "file://LICENSE;md5=1726e2117494ba3e13e1c3d93f795360"
SRC_URI = "${CPAN_MIRROR}/authors/id/I/IS/ISHIGAKI/DBD-SQLite-${PV}.tar.gz \
file://sqlite-perl-test.pl \
"
SRC_URI[sha256sum] = "5ca41e61eb52b52bd862a3088b912a75fe70910ac789b9a9983e0a449e94f551"
UPSTREAM_CHECK_REGEX = "DBD\-SQLite\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
S = "${WORKDIR}/DBD-SQLite-${PV}"
DEPENDS += "libdbi-perl-native"
inherit cpan ptest-perl
RDEPENDS:${PN} += "libdbi-perl \
sqlite3 \
perl-module-constant \
perl-module-locale \
perl-module-tie-hash \
"
do_install:append() {
if [ ${PERL_DBM_TEST} = "1" ]; then
install -m 755 -D ${WORKDIR}/sqlite-perl-test.pl ${D}/${bindir}/sqlite-perl-test.pl
fi
}
do_install_ptest() {
cp -r ${B}/MANIFEST ${D}${PTEST_PATH}
chown -R root:root ${D}${PTEST_PATH}
}
RDEPENDS:${PN}-ptest += " \
libtest-nowarnings-perl \
perl-module-lib \
perl-module-encode \
perl-module-file-spec \
perl-module-file-spec-functions \
perl-module-findbin \
perl-module-test-more \
"
BBCLASSEXTEND = "native"