Welcome to the Slackware Documentation Project

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
slackware:package_management_hands_on [2014/02/20 06:16 (UTC)]
kikinovak Continued french ==> english translation of "Software Management" article
slackware:package_management_hands_on [2014/02/20 11:42 (UTC)]
alienbob [Managing package dependencies] added missing formatting codes
Line 706: Line 706:
                 ||     ||                 ||     ||
 </​code>​ </​code>​
 +
 +==== Managing package dependencies ====
 +
 +Some packages require the presence of other packages, either to build (//build dependencies//​) and/or to run (//runtime dependencies//​) correctly. In some cases, a required package can depend itself on one or more other packages, and so on.
 +
 +To take an example, let's have a look at the ''​libgnomeprint''​ page on SlackBuilds.org. The package description is followed by the following caveat:
 +
 +<​code>​
 +This requires: libgnomecups.
 +</​code>​
 +
 +Moreover, every script tarball contains an ''​*.info''​ file which states explicitly all the required package dependencies. If we look at the ''​libgnomeprint.info''​ file, we'll find a ''​REQUIRES''​ field:
 +
 +<​code>​
 +PRGNAM="​libgnomeprint"​
 +VERSION="​2.18.8"​
 +HOMEPAGE="​http://​www.gnome.org"​
 +...
 +REQUIRES="​libgnomecups"​ ----> package dependency
 +...
 +</​code>​
 +
 +<​note>​The ''​REQUIRES''​ field has been introduced with Slackware 14.0.</​note>​
 +
 +This simply means that before we build the ''​libgnomeprint''​ package, we have to build and install the ''​libgnomecups''​ package.
 +
 +Besides strictly required dependencies,​ a package can also have some optional dependencies to offer some extra functionality. As an example, the Leafpad text editor can be built against the optional ''​libgnomeprint''​ and ''​libgnomeprintui''​ dependencies.
  
  

In Other Languages
QR Code
QR Code slackware:package_management_hands_on (generated for current page)