Drupal package management

Vladimir Zlatanov

What is this about?

Current status

Packages

Current status

Versioning

Current status

Locations

Status - Dependencies

Dependencies

dependency.inc

dependency_process

/**
 * execute/process the dependencies

 * @param $stages the installation/process stages
 * @param $modules the modules to install
 * @param $callback the callback to call, takes $stage,$module as parameters

 * @return $trace - the callstack ( will be deprecated in production )
 */
function dependency_process($stages$modules$callback,$validate_callback,$error_callback) {  

  $result FALSE;
  
  foreach(
$stages as $stage) {
    foreach(
$modules as $module) {
      
$result[$module] = _dependency_process$stage$module$callback,
                         
$validate_callback,$error_callback);
    }
  }   return 
$result; }

drupal dependency graph

drupal dependency graph (zoomed)

Packages

Metadata

Control/Description file

inspired by Debian control file

module: news_page
repository: contrib
path: /home/vlado/src/drupal/contributions/modules/news_page
schema: 1
depends: feed,og,title,variable,content

module: naggregator
repository: contrib
path: /home/vlado/src/drupal/contributions/modules/naggregator
schema: 1
depends: feed,item,title,variable

Control/Description file

Virtual and Meta packages

Installation

Installation stages

Direct web-based

Indirect web-based

Staged

Upgrades

drpkg status

Questions