From Fedora Project Wiki
Guidelines for packaging Drupal 8 modules, themes, and profiles
Different Kinds of Packages
- Modules: Modules extend and customize Drupal functionality.
- Themes: Themes allow users to change the look and feel of their Drupal site.
- Distributions/Profiles: Distributions provide site features and functions for a specific type of site.
Naming Scheme
Every package MUST be named drupal8-<drupal_machine_name>
. The <drupal_machine_name>
MUST match the drupal.org project name (i.e. drupal.org/project/<drupal_machine_name>
). Drupal itself enforces unique machine names for each of its' projects and there is a single namespace for all modules, themes, and distributions/profiles.
File Placement
- Modules: A module package MUST be placed in the
%drupal8_modules
directory (base "modules/
" directory) - Themes: A theme package MUST be placed in the
%drupal8_themes
directory (base "themes/
" directory) - Distributions/Profiles: A distribution/profile package MUST be placed in the
%drupal8_profiles
directory (base "profiles/
" directory)
Requires and Provides
Macros and Scriptlets
Macros provided by the drupal8-rpmbuild
package:
Macro | Value | Description |
---|---|---|
%drupal8_version |
8.0* | Drupal 8 version. * Numeric value is dynamically updated by the Drupal 8 core package. |
%drupal8 |
%{_datadir}/drupal8 |
Drupal 8 base directory. |
%drupal8_modules |
%{drupal8}/modules |
Drupal 8 modules directory. |
%drupal8_profiles |
%{drupal8}/profiles |
Drupal 8 profiles directory. |
%drupal8_themes |
%{drupal8}/themes |
Drupal 8 themes directory. |