Embedix::ECD
Details
| Size: | 40K |
| Last Update: | 2008-06-01 22:45:40 |
| Version: | 0.09 |
| OS Support: | Linux |
| License/Program Type: | Perl Artistic License |
| Publisher: | John BEPPU |
| Price: | $0.00 |
Description:
Embedix::ECD 0.09 is libraries software developed by John BEPPU.
Embedix::ECD is a Perl module with Embedix Component Descriptions as objects.
SYNOPSIS
instantiate from a file
my $ecd = Embedix::ECD->newFromFile('busybox.ecd');
my $other_ecd = Embedix::ECD->newFromFile('tinylogin.ecd');
access nodes
my $busybox = $ecd->System->Utilities->busybox;
build from scratch
my $server = Embedix::ECD::Group->new(name => 'Server');
my $www = Embedix::ECD::Group->new(name => 'WWW');
my $apache = Embedix::ECD::Component->new (
name => 'apache',
srpm => 'apache',
prompt => 'Include apache web server?',
help => 'The most popular http server on the internet',
);
$ecd->addChild($server);
$ecd->Server->addChild($www);
$ecd->Server->WWW->addChild($apache);
get/set attributes
my $srpm = $busybox->srpm();
$busybox->help('i am busybox of borg -- unix will be assimilated.');
$busybox->requires([
'libc.so.6',
'ld-linux.so.2',
'skellinux',
]);
combine Embedix::ECD objects together
$ecd->mergeWith($other_ecd);
print as text
print $ecd->toString;
print as XML
use Embedix::ECD::XMLv1 qw(xml_from_cons);
print $ecd->toXML(shiftwidth => 4, dtd => 'yes');
my $cons = Embedix::ECD->consFromFile('minicom.ecd');
print xml_from_cons($cons);
Embedix::ECD allows one to represent ECD files as a tree of perl objects. One can construct objects by parsing an ECD file, or one can build an ECD object from scratch by combining instances of Embedix::ECD and its subclasses. These objects can then be turned back into ECD files via the toString() method.
ECD stands for Embedix Component Description, and its purpose is to contain meta-data regarding packages (aka components) in the Embedix distribution. ECD files contain much of the same data a .spec file does for an RPM. A major difference however is that ECD files do not contain building instructions whereas .spec files do. Another major difference between .spec files and ECD files is the structure. ECD files are hierarchically structured whereas .spec files are comparatively flat.
The ECD format reminds me of the syntax for Apache configuration files. Items are tag-delimited (like in XML) and attributes are found between these tags. Comments are written by prefixing them with /^s/. Unlike apache configurations, attribute names and values are separated by an "=" sign, whereas in apache the first token is the attribute name and everything after that (sans leading whitespace) and up to the end of the line is the attribute's value. Also, unlike apache configurations, attributes may also be enclosed in tags, whereas in apache tags are used only to describe nodes.
ECD files look like pseudo-XML with shell-styled comments.
Requirements:
Perl
Embedix::ECD 0.09 supports different languages (including english). It works with Linux.
Downloading Embedix::ECD 0.09 will take several seconds if you use fast ADSL connection.
0 comments
Add to
Embedix::ECD Version History
Related Software
|
|
From category: Libraries |
| Combean 0.1 is libraries software developed by Combean Team. Combean project is a Java framework for combinatorial structures like graphs or linear programs and optimization algorithms working with... |
|
|
From category: Perl-Modules |
| Acme::Takahashi::Method it turns your script into slides accordingly to the Takahashi Method.... |
|
|
From category: Libraries |
| Convert::yEnc::RC 1.02 is libraries software developed by Steven W McDougall. Convert::yEnc::RC is a Perl module for yEnc file-part database. SYNOPSIS use Convert::yEnc::RC;... |
|
|
From category: UI-User-Interfaces |
| FLTK 1.1.7 is ui (user interfaces) software developed by Michael Sweet. FLTK project includes all of the usual widgets to develop your applications, and new widgets can be created easily through C+... |
|
|
From category: Debuggers |
| Extended Python Debugger 1.20 is debuggers software developed by R. Bernstein. Extended Python Debugger is a complete debugger for Python than the stock pdb.py debugger. It supports a \"rest... |
|
|
From category: Libraries |
| CAM::PDF::GS 1.07 is libraries software developed by Clotho Advanced Media Inc.. CAM::PDF::GS is a PDF graphic state. SYNOPSIS use CAM::PDF; my $pdf = CAM::PDF->new($filena... |
|
|
From category: Libraries |
| Bigtop::Docs::Cookbook 0.15 is libraries software developed by Bigtop::Docs::Cookbook Team. Bigtop::Docs::Cookbook is a Perl module for Bigtop syntax by example. This document is meant to be... |
|
|
From category: Disassemblers |
| DSP5600x disassembly library 1.1 is disassemblers software developed by Miloslaw Smyk. lib5600x is a library implementing Motorola DSP5600x disassembler. It\'s an ANSI C link library that should be... |
|
|
From category: Libraries |
| formVista 0.4.5 is libraries software developed by Yermo. formVista is an open-source dual-licensed PHP component framework for the rapid creation of advanced business web applications that run in... |
|
|
From category: Debuggers |
| DIMVisual 0.2 is debuggers software developed by Lucas Schnorr. DIMVisual stands for Data Integration Model for Visualization. The implementation allows the integration of information to the analys... |
|
|
From category: Libraries |
| cPdfWriter Image Graph Driver 0.2.2 is libraries software developed by Valeriu Palos. cPdfWriter is a PHP5 class for exporting PDF documents based on TCPDF, FPDF, and other related scripts.... |
|
|
From category: UI-User-Interfaces |
| Arg_parser 0.2 is ui (user interfaces) software developed by Antonio Diaz Diaz. Arg_parser is an argument parser that follows POSIX and GNU conventions for command line arguments. Arg_parser is imp... |
|
|
From category: Libraries |
| CPAN::Cache 0.02 is libraries software developed by Adam Kennedy. CPAN::Cache is a Perl module abstract locally-cached logical subset of a CPAN mirror. There have been any number of scripts... |
|
|
From category: Libraries |
| Convert::Number::Digits 0.03 is libraries software developed by Daniel Yacob. Convert::Number::Digits is a Perl module that convert Digits Between the Scripts of Unicode. SYNOPSIS us... |
|
|
From category: Libraries |
| Alvis::Pipeline 0.11 is libraries software developed by Mike Taylor. Alvis::Pipeline is a Perl extension for passing XML documents along the Alvis pipeline. SYNOPSIS use Alvis::Pipel... |
Leave a comment