summaryrefslogtreecommitdiffstats
path: root/packaging/spec.xsl
blob: d123b5f3aad2be57c09bdb33d86c0ef6c1583b6b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
<!-- Transform rpm-info.xml into a SPEC File -->
<xsl:stylesheet version="1.0" xml:space="preserve" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output encoding="UTF-8" indent="no" method="text" omit-xml-declaration="no" standalone="no" version="1.0"/>

<!-- Note: do not indent this file!  Any whitespace here
     will be reproduced in the output -->

  <xsl:param name="lang" select="'en'" />
  <xsl:param name="docbase" select="'example-tutorial'" />

<xsl:template match="/"># Fedora Documentation Specfile
%define	docbase	<xsl:value-of select="$docbase"/>
%{!?fdpdir:%define localbuild 1}
%{!?fdpdir:%define fdpdir %{_datadir}/fedora/doc}

Summary:	Fedora Documentation: %{docbase}
Name:		fedora-doc-%{docbase}
Version:	<xsl:value-of select="/rpm-info/changelog/revision[@role = 'doc'][1]/@number"/>
Release:	<xsl:value-of select="/rpm-info/changelog/revision[@role = 'rpm'][1]/@number"/>
License:	<xsl:call-template name="rpm-license"><xsl:with-param name='license' select='/rpm-info/license/rights'/></xsl:call-template>
Url:		http://fedora.redhat.com/projects/docs
Source0:	%{docbase}-%{version}.src.tar.gz
Source1:	%{name}-gnome.desktop
Source2: 	%{name}-kde.desktop
Source3:	%{name}-khelp.desktop
<xsl:for-each select="/rpm-info/titles/translation">Source<xsl:value-of
	select="position()+3" />:	%{name}-<xsl:choose><xsl:when
	  test="@lang = 'en'">C</xsl:when><xsl:otherwise><xsl:value-of
	    select="@lang"/></xsl:otherwise></xsl:choose>.omf
</xsl:for-each>
Group:		Documentation
BuildArch:	noarch
BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires:	scrollkeeper &gt;= 0.3.11
Requires:	fedora-doc-common
BuildRequires:	xmlto
BuildRequires:	kdelibs
# Used if builder does not specify common files locally
%{?localbuild:%{expand:BuildRequires: fedora-doc-common}}

%description
<xsl:value-of select="/rpm-info/titles/translation[@lang='en']/desc" />

<xsl:for-each select="/rpm-info/titles/translation"><xsl:if test="@lang != 'en'">%package        <xsl:value-of select="@lang"/>
Summary:        Fedora Documentation - <xsl:value-of select="title"/>
Group:          Documentation

%description	<xsl:value-of select="@lang"/>
<xsl:value-of select="desc"/></xsl:if>

</xsl:for-each>
%prep
%setup -q -n %{docbase}-%{version}
#export GLOBIGNORE=rpm-info.xml
for i in $RPM_BUILD_DIR/%{docbase}-%{version}/{*.xml,*/*.xml,Makefile}
do
	%{__sed} -i 's;\(\.\./\)\{1,\}docs-common;%{fdpdir}/docs-common;g' "$i"
done


%build
make html FDPDIR=%{fdpdir} %{!?localbuild:DRAFT="no"}
<xsl:for-each select="/rpm-info/titles/translation">
mkdir kde-<xsl:value-of select="@lang"/>
meinproc --output kde-<xsl:value-of select="@lang"/>/index.docbook \
	 --cache kde-<xsl:value-of select="@lang"/>/index.cache.bz2 \
	 <xsl:value-of select="@lang"/>/%{docbase}.xml
</xsl:for-each>

%install
for DIR in $RPM_BUILD_ROOT%{_datadir}/applications/kde \
	   $RPM_BUILD_ROOT%{_datadir}/apps/khelpcenter/plugins/Fedora \
	   $RPM_BUILD_ROOT%{_datadir}/omf/fedora-doc-%{docbase} \
	   <xsl:for-each select="/rpm-info/titles/translation">$RPM_BUILD_ROOT%{_docdir}/HTML/<xsl:value-of select="@lang"/>/fedora-doc-%{docbase} \
	   $RPM_BUILD_ROOT%{_datadir}/fedora/doc/fedora-doc-%{docbase}/<xsl:choose><xsl:when test="@lang = 'en'">C</xsl:when><xsl:otherwise><xsl:value-of select="@lang"/></xsl:otherwise></xsl:choose> \
	   </xsl:for-each>; do
	install -d -m 755 "$DIR"
done
export GLOBIGNORE=rpm-info.xml
desktop-file-install --vendor fedora \
		     --dir $RPM_BUILD_ROOT%{_datadir}/applications \
		     --add-category X-Fedora \
		     %{SOURCE1}
install -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/applications/kde
install -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/apps/khelpcenter/plugins/Fedora
install -m 644 en/*.xml $RPM_BUILD_ROOT%{_datadir}/fedora/doc/fedora-doc-%{docbase}/C
<xsl:for-each select="/rpm-info/titles/translation">install -m 644 %{SOURCE<xsl:value-of select="position()+3"/>} $RPM_BUILD_ROOT%{_datadir}/omf/fedora-doc-%{docbase}
<xsl:if test="@lang != 'en'">install -m 644 <xsl:value-of select="@lang"/>/*-<xsl:value-of select="@lang"/>.xml $RPM_BUILD_ROOT%{_datadir}/fedora/doc/fedora-doc-%{docbase}/<xsl:value-of select="@lang"/></xsl:if>
pushd %{docbase}-<xsl:value-of select="@lang"/>
find . -type d | xargs -i \
     install -d -m 755 $RPM_BUILD_ROOT%{_docdir}/HTML/<xsl:value-of select="@lang"/>/fedora-doc-%{docbase}/{}
find . -type f | xargs -i \
     install -D -m 644 {} $RPM_BUILD_ROOT%{_docdir}/HTML/<xsl:value-of select="@lang"/>/fedora-doc-%{docbase}/{}
popd
</xsl:for-each>

%clean
/bin/rm -rf $RPM_BUILD_ROOT

<xsl:for-each select="/rpm-info/titles/translation">
%post	<xsl:if test="@lang != 'en'"><xsl:value-of select="@lang"/></xsl:if>
/usr/bin/scrollkeeper-update || true

%postun	<xsl:if test="@lang != 'en'"><xsl:value-of select="@lang"/></xsl:if>
/usr/bin/scrollkeeper-update || true
</xsl:for-each>

%files
%defattr(-, root, root, -)
%dir %{_datadir}/fedora/doc/fedora-doc-%{docbase}
%dir %{_datadir}/fedora/doc/fedora-doc-%{docbase}/C
%{_datadir}/fedora/doc/fedora-doc-%{docbase}/C/*
%{_datadir}/applications/*.desktop
%{_datadir}/applications/kde/*.desktop
%{_datadir}/apps/khelpcenter/plugins/Fedora/*.desktop
%dir %{_datadir}/omf/fedora-doc-%{docbase}
%{_datadir}/omf/fedora-doc-%{docbase}/fedora-doc-%{docbase}-C.omf
%{_docdir}/HTML/en/fedora-doc-%{docbase}/*

<xsl:for-each select="/rpm-info/titles/translation"><xsl:if test="@lang != 'en'">
%files	<xsl:value-of select="@lang"/>
%defattr(-, root, root, -)
%dir %{_datadir}/fedora/doc/fedora-doc-%{docbase}/<xsl:value-of select="@lang"/>
%{_datadir}/fedora/doc/fedora-doc-%{docbase}/<xsl:value-of select="@lang"/>/*
%{_datadir}/omf/fedora-doc-%{docbase}/fedora-doc-%{docbase}-<xsl:value-of select="@lang"/>.omf
%{_docdir}/HTML/<xsl:value-of select="@lang"/>/fedora-doc-%{docbase}/*
</xsl:if></xsl:for-each>

%changelog
<xsl:for-each select="/rpm-info/changelog/revision"><xsl:choose><xsl:when 
	test="@role='rpm'">* <xsl:value-of select="@date"/> Fedora Docs Project &lt;fedora-docs-list@redhat.com&gt; - <xsl:value-of
	  select="following-sibling::revision[@role='doc']/@number"/>-<xsl:value-of select="@number"/>
- <xsl:value-of select="details"/>

</xsl:when><xsl:otherwise></xsl:otherwise></xsl:choose></xsl:for-each>
</xsl:template>

  <xsl:include href="templates.xsl"/>
</xsl:stylesheet>