Bug 4128

Summary: common perl packages should be added to oe-core.
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Randy MacLeod <randy.macleod>
Component: coreAssignee: Hongxu Jia <hongxu.jia>
Status: VERIFIED FIXED QA Contact:
Severity: enhancement    
Priority: Medium CC: hongxu.jia, ionutx.chisanovici, liezhi.yang, mark.hatle, meta.mr.watcher, meta.watcher, ning.zhang, Qi.Chen, richard.purdie, sgw, yi.zhao
Version: unspecified   
Target Milestone: 1.5 M5   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Don't know

Description Randy MacLeod 2013-03-26 20:24:51 UTC
commonly-used perl database support packages such as perl-DBI and perl-DBD-SQLite should be added to oe-core.
Comment 1 Richard Purdie 2013-04-02 11:40:32 UTC
We really need a proposed overall list of additions for 1.5 which we can vet and decide on.
Comment 2 Hongxu Jia 2013-08-06 10:11:01 UTC
Hi Richard,

Do you mean do a collection of *commonly-used perl database support
packages* or *common perl packages* to propose the overall list?

If the former, I think perl-DBI and perl-DBD-SQLite is ok, because
we only support SQLite in oe-core. If the latter, would you please
give some suggestions about the scope?

Thanks,
Hongxu
Comment 3 Hongxu Jia 2013-08-06 10:47:35 UTC
The DBI is a database access module for the Perl programming language.
It defines a set of methods, variables, and conventions that provide
a consistent database interface, independent of the actual database
being used.
             |<- Scope of DBI ->|
                  .-.   .--------------.   .-------------.
  .-------.       | |---| XYZ Driver   |---| XYZ Engine  |
  | Perl  |       | |   `--------------'   `-------------'
  | script|  |A|  |D|   .--------------.   .-------------.
  | using |--|P|--|B|---|Oracle Driver |---|Oracle Engine|
  | DBI   |  |I|  |I|   `--------------'   `-------------'
  | API   |       | |...
  |methods|       | |... Other drivers
  `-------'       | |...
                  `-'
DBI requires one or more 'driver' modules to talk to databases.
As only SQLite and mysql are supported in yocto, we choose to
support DBD::SQLite and DBD::mysql modules in oe-core.

The proposed list:
- DBI, DBI-1.628, Database independent interface for Perl.
- DBD::SQLite, DBD-SQLite-1.40, Yocto support SQLite in oe-core.
- DBD::mysql, DBD-mysql-4.023, Yocto support mysql in meta-oe.
Comment 4 Randy MacLeod 2013-08-12 14:02:35 UTC
Hongxu,

Adding the DBI generic module and sqlite/mysql support seems fine to me.

People will always want more perl (python/ruby/...) packages but for now these three packages will suffice. Thanks. // Randy
Comment 5 Hongxu Jia 2013-08-19 01:45:04 UTC
Create a layer meta-perl to collect additional perl recipes:

Currently only perl-DBI and perl-DBD-SQLite are supported.

* Git repository
git://git.openembedded.org/meta-openembedded 

* Subdirectory
meta-perl

* Dependencies
openembedded-core
Comment 6 Randy MacLeod 2013-08-20 15:37:39 UTC
Thanks Hongxu. That's a good start and we can point people to meta-perl if they want to add additional perl modules.
Comment 7 Ionut Chisanovici 2013-10-08 14:21:48 UTC
Verified on:

Build Configuration:
BB_VERSION        = "1.20.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "Fedora-19"
TARGET_SYS        = "x86_64-poky-linux"
MACHINE           = "qemux86-64"
DISTRO            = "poky"
DISTRO_VERSION    = "1.5"
TUNE_FEATURES     = "m64"
TARGET_FPU        = ""
meta              
meta-yocto        
meta-yocto-bsp    = "master:5445f71fc812a5fcf9bd67a26a500284af16ad39"
meta-perl         = "master:2a463dddcf76d7fa437e96f6cf0210143e97a904"