From Fedora Project Wiki

(Make sure template installs files as mode 0644)
(Leave notes on extra texts)
Line 52: Line 52:
%files
%files
%defattr(-,root,root,-)
%defattr(-,root,root,-)
# Remember to include other documentation text here as well
%doc LICENSE.txt %{name}-fedora-README.txt
%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}/LICENSE.txt
%exclude %{drupaldir}/modules/%{modname}/%{name}-fedora-README.txt
%exclude %{drupaldir}/modules/%{modname}/%{name}-fedora-README.txt
Line 107: Line 109:
%files
%files
%defattr(-,root,root,-)
%defattr(-,root,root,-)
# Remember to include other documentation text here as well
%doc LICENSE.txt
%doc LICENSE.txt
# Remember to exclude all documentation texts from above
%exclude %{drupaldir}/themes/%{themename}/LICENSE.txt
%exclude %{drupaldir}/themes/%{themename}/LICENSE.txt
%{drupaldir}/themes/%{themename}
%{drupaldir}/themes/%{themename}

Revision as of 11:35, 6 April 2011

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.

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