Drupal module specfile template

From FedoraProject

Jump to: navigation, search

Contents


The following templates can be used to create new Drupal module and theme packages. Substitute the name for the Drupal module or theme, in the correct case as used throughout the Drupal web site.

Warning (medium size).png
Look for dependencies
Before you submit a package, you must go through the source and ensure that all dependency libraries are separately packaged in Fedora, and eliminated from the Drupal module package. Also, be sure to check the .info file for dependency information!

Module template

%global drupalver 6
%{?rhel: %{expand: %%global drupal drupal%%{drupalver}}}
%if 0%{?fedora} >= 15
%global drupal drupal%{drupalver}
%endif
%{!?drupal: %{expand: %%global drupal drupal}}
# e.g. "/usr/share/drupal6"
%global drupaldir %{_datadir}/%{drupal}
# Use upstream name as expressed in URL and tarball
%global modname <<<MODULE_NAME>>>

Name:    drupal%{drupalver}-%{modname}
Version: <<<MODULE_VERSION>>>
Release: 1%{?dist}
Summary: <<<MODULE_SUMMARY>>>
Group:   Applications/Publishing
License: GPLv2+
URL:     http://drupal.org/project/%{modname}
Source0: http://ftp.drupal.org/files/projects/%{modname}-%{drupalver}.x-%{version}.tar.gz
Source1: %{name}-fedora-README.txt
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires:  %{drupal} >= 6.0

%description
<<<MODULE_DESCRIPTION - use upstream text wherever possible>>>

%prep
%setup -qn %{modname}

%build
cp %{SOURCE1} .

%install
rm -rf %{buildroot}
install -d %{buildroot}%{drupaldir}/modules/%{modname}
find . -type f -exec install -m 0644 -D '{}' %{buildroot}%{drupaldir}/modules/%{modname}/'{}' \;


%clean
rm -rf %{buildroot}

%files
%defattr(-,root,root,-)
# Remember to include other documentation text here as well
%doc LICENSE.txt %{name}-fedora-README.txt
# Remember to exclude all documentation texts from above
%exclude %{drupaldir}/modules/%{modname}/LICENSE.txt
%exclude %{drupaldir}/modules/%{modname}/%{name}-fedora-README.txt
%{drupaldir}/modules/%{modname}

%changelog

Theme template

It's debatable whether packaging themes is worthwhile, since these tend to be specific to each site. However, the NineSixty (aka 960.gs) theme is available, which can be subthemed for a wide variety of uses.

%global drupalver 6
%{?rhel: %{expand: %%global drupal drupal%%{drupalver}}}
%if 0%{?fedora} >= 15
%global drupal drupal%{drupalver}
%endif
%{!?drupal: %{expand: %%global drupal drupal}}
# e.g. "/usr/share/drupal6"
%global drupaldir %{_datadir}/%{drupal}
# Use upstream name as expressed in URL and tarball
%global themename <<<THEME_NAME>>>

Name:    drupal%{drupalver}-%{themename}
Version: <<<THEME_VERSION>>>
Release: 1%{?dist}
Summary: <<<THEME_SUMMARY>>>
Group:   Applications/Publishing
License: GPLv2+
URL:     http://drupal.org/project/%{themename}
Source0: http://ftp.drupal.org/files/projects/%{themename}-%{drupalver}.x-%{version}.tar.gz
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires:  %{drupal} >= 6.0

%description
<<<THEME_DESCRIPTION - use upstream text wherever possible>>>

%prep
%setup -qn %{themename}

%build
# Empty.

%install
rm -rf %{buildroot}
install -d %{buildroot}%{drupaldir}/themes/%{themename}
find . -type f -exec install -m 0644 -D '{}' %{buildroot}%{drupaldir}/themes/%{themename}/'{}' \;

%clean
rm -rf %{buildroot}

%files
%defattr(-,root,root,-)
# Remember to include other documentation text here as well
%doc LICENSE.txt
# Remember to exclude all documentation texts from above
%exclude %{drupaldir}/themes/%{themename}/LICENSE.txt
%{drupaldir}/themes/%{themename}

%changelog