From Fedora Project Wiki

(Remove ugly notices)
(Fix theme template)
Line 57: Line 57:


== Theme template ==
== Theme template ==
It's debatable whether packaging themes is worthwhile, since these tend to be specific to each site.  However, the [http://drupal.org/project/ninesixty NineSixty] (aka 960.gs) theme is available, which can be subthemed for a wide variety of uses.


<pre>
<pre>
%global drupal_base        %{_datadir}/drupal
%global drupalver 6
%global drupal_themedir    %{drupal_base}/themes
# e.g. "drupal6"
%global drupal_themename    <<<YOUR_THEME_NAME>>>
%global drupal drupal%{drupalver}
# Use 5 for Drupal 5.x themes, 6 for Drupal 6.x themes, etc.
# e.g. "/usr/share/drupal6"
%global drupal_release      6
%global drupaldir %{_datadir}/%{drupal}
 
# Use upstream name as expressed in URL and tarball
Name:          drupal-theme-%{drupal_themename}-%{drupal_release}x
%global themename <<<THEME_NAME>>>
Version:        2.6
Release:        1%{?dist}
Summary:        # Use short description from Drupal site for theme
 
Group:          Applications/Publishing
License:        GPLv2
# Use top-level URL from Drupal site for the theme
URL:            http://drupal.org/
Source0:        http://ftp.drupal.org/files/projects/%{drupal_themename}-%{drupal_release}.x-%{version}.tar.gz
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch:      noarch
#  
Requires:      drupal >= %{drupal_release}


Name:    %{drupal}-%{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
%description
# Use full description from Drupal site for theme
<<<THEME_DESCRIPTION - use upstream text wherever possible>>>
 


%prep
%prep
%setup -qn %{drupal_themename}
%setup -qn %{themename}
# Remove empty index.html and others
find -size 0 | xargs rm -f
 


%build
%build
 
# Empty.


%install
%install
rm -rf $RPM_BUILD_ROOT
rm -rf %{buildroot}
%{__mkdir} -p $RPM_BUILD_ROOT/%{drupal_themedir}/%{drupal_themename}  
install -d %{buildroot}%{drupaldir}/themes/%{themename}
cp -pr . $RPM_BUILD_ROOT/%{drupal_themedir}/%{drupal_themename}
cp -pr * %{buildroot}%{drupaldir}/themes/%{themename}
rm -rf $RPM_BUILD_ROOT/%{drupal_themedir}/%{drupal_themename}/pndocs
 


%clean
%clean
rm -rf $RPM_BUILD_ROOT
rm -rf %{buildroot}
 


%files
%files
%defattr(-,root,root,-)
%defattr(-,root,root,-)
%doc CHANGELOG.txt LICENSE.txt README.txt DEVELOPER.txt UPGRADE.txt
%doc LICENSE.txt
%{drupal_themedir}/%{drupal_themename}
%exclude %{drupaldir}/themes/%{themename}/LICENSE.txt
 
%{drupaldir}/themes/%{themename}


%changelog
%changelog
</pre>
</pre>

Revision as of 00:59, 2 March 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.

Warning.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
# e.g. "drupal6"
%global drupal drupal%{drupalver}
# e.g. "/usr/share/drupal6"
%global drupaldir %{_datadir}/%{drupal}
# Use upstream name as expressed in URL and tarball
%global modname <<<MODULE_NAME>>>

Name:    %{drupal}-%{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}
cp -pr * %{buildroot}%{drupaldir}/modules/%{modname}

%clean
rm -rf %{buildroot}

%files
%defattr(-,root,root,-)
%doc LICENSE.txt %{name}-fedora-README.txt
%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
# e.g. "drupal6"
%global drupal drupal%{drupalver}
# e.g. "/usr/share/drupal6"
%global drupaldir %{_datadir}/%{drupal}
# Use upstream name as expressed in URL and tarball
%global themename <<<THEME_NAME>>>

Name:    %{drupal}-%{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}
cp -pr * %{buildroot}%{drupaldir}/themes/%{themename}

%clean
rm -rf %{buildroot}

%files
%defattr(-,root,root,-)
%doc LICENSE.txt
%exclude %{drupaldir}/themes/%{themename}/LICENSE.txt
%{drupaldir}/themes/%{themename}

%changelog