07.06.2014 Views

2 - Raspberry PI Community Projects

2 - Raspberry PI Community Projects

2 - Raspberry PI Community Projects

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Figure 5.1<br />

Use of a Provides field in order to not break dependencies<br />

This feature is very useful, since it is never possible to anticipate the vagaries of development,<br />

and it is necessary to be able to adjust to renaming, and other automatic replacement, of obsolete<br />

software.<br />

BACK TO BASICS<br />

Perl, a programming<br />

language<br />

Perl (Practical Extraction and Report Language) is a very popular programming<br />

language. It has many ready-to-use modules that cover a vast spectrum<br />

of applications, and that are distributed by the CPAN (Comprehensive Perl<br />

Archive Network) servers, an exhaustive network of Perl packages.<br />

➨ http://www.perl.org/<br />

➨ http://www.cpan.org/<br />

Since it is an interpreted language, a program wrien in Perl does not require<br />

compilation prior to execution. This is why they are called “Perl scripts”.<br />

Current Limitations Virtual packages suffer from some troubling limitations, the most significant<br />

of which being the absence of a version number. To return to the previous example,<br />

a dependency such as Depends:libdigest-md5-perl (>=1.6), despite the presence of Perl 5.10,<br />

will never be considered as satisfied by the packaging system — while in fact it most likely is<br />

satisfied. Unaware of this, the package system chooses the least risky option, assuming that the<br />

versions do not match.<br />

GOING FURTHER<br />

Virtual package versions<br />

Although today virtual packages can't have versions, this will not necessarily<br />

always be the case. Indeed, apt is already able to manage the versions of<br />

Chapter 5 — Packaging System: Tools and Fundamental Principles<br />

83

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!