resetting manifest requested domain to floor
[platform/upstream/docbook_4.git] / packaging / docbook_4.spec
1 Name:           docbook_4
2 BuildRequires:  fdupes
3 BuildRequires:  sgml-skel
4 BuildRequires:  unzip
5 Provides:       docbk_4
6 Provides:       docbook
7 Provides:       docbook-dtd
8 Provides:       docbook-dtds
9 Obsoletes:      docbk_4
10 Requires:       iso_ent
11 Requires:       libxml2
12 %define regcat /usr/bin/sgml-register-catalog
13 Requires(pre):         %{regcat} /usr/bin/xmlcatalog sgml-skel
14 Requires(pre):         sed grep awk
15 Summary:        DocBook DTD Version 4.x
16 License:        BSD-3-Clause ; MIT
17 Group:          Productivity/Publishing/DocBook
18 Version:        4.5
19 Release:        0
20 Source0:        dummy-%{version}.tar.bz2
21 Source7:        CATALOG.docbook_4
22 # DocBook 4.1
23 Source410:      http://www.oasis-open.org/docbook/sgml/4.1/docbk41.zip
24 Source411:      http://www.oasis-open.org/docbook/xml/4.1/docbkx412.zip
25 # No RNG and XSD files for DB4.1
26 Source414:      CATALOG.db41xml
27 # DocBook 4.2
28 Source420:      http://www.oasis-open.org/docbook/sgml/4.2/docbook-4.2.zip
29 Source421:      http://www.oasis-open.org/docbook/xml/4.2/docbook-xml-4.2.zip
30 Source422:      http://www.oasis-open.org/docbook/rng/4.2/docbook-rng-4.2.zip
31 Source423:      http://www.oasis-open.org/docbook/xsd/4.2/docbook-xsd-4.2.zip
32 Source424:      CATALOG.db42xml
33 # DocBook 4.3
34 Source430:      http://www.docbook.org/sgml/4.3/docbook-4.3.zip
35 Source431:      http://www.docbook.org/xml/4.3/docbook-xml-4.3.zip
36 Source432:      http://www.docbook.org/rng/4.3/docbook-rng-4.3.zip
37 Source433:      http://www.docbook.org/xsd/4.3/docbook-xsd-4.3.zip
38 Source434:      CATALOG.db43xml
39 # DocBook 4.4
40 Source440:      http://www.oasis-open.org/docbook/sgml/4.4/docbook-4.4.zip
41 Source441:      http://www.oasis-open.org/docbook/xml/4.4/docbook-xml-4.4.zip
42 Source442:      http://www.docbook.org/rng/4.4/docbook-rng-4.4.zip
43 Source443:      http://www.docbook.org/xsd/4.4/docbook-xsd-4.4.zip
44 Source444:      CATALOG.db44xml
45 # DocBook 4.5
46 Source450:      http://www.oasis-open.org/docbook/sgml/4.5/docbook-4.5.zip
47 Source451:      http://www.oasis-open.org/docbook/xml/4.5/docbook-xml-4.5.zip
48 Source452:      http://www.docbook.org/rng/4.5/docbook-rng-4.5.zip
49 Source453:      http://www.docbook.org/xsd/4.5/docbook-xsd-4.5.zip
50 Source454:      CATALOG.db45xml
51 Source1001:     docbook_4.manifest
52 Patch0:         docbook-4-3-cat.diff
53 Patch1:         docbook-4-3.diff
54 Patch2:         docbook-4-3-xml-cat.diff
55 Patch3:         docbook.4.4.dcl.diff
56 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
57 BuildArch:      noarch
58 Url:            http://www.oasis-open.org/docbook/
59
60 %description
61 DocBook is a schema. It is particularly well-suited to books and papers
62 about computer hardware and software (though it is not limited to these
63 applications at all). This package has SGML- and XML-DTD versions
64 included. Some versions of DocBook contain also a RELAX NG and W3C
65 Schema.
66
67 %define INSTALL install -m755 -s
68 %define INSTALL_DIR install -d -m755
69 %define INSTALL_DATA install -m644
70 %define INSTALL_SCRIPT install -m755
71 %define sgml_dir %{_datadir}/sgml
72 %define sgml_docbook_dir %{sgml_dir}/docbook
73 %define sgml_docbook_dtd_dir %{sgml_docbook_dir}/dtd
74 %define sgml_docbook_custom_dir %{sgml_docbook_dir}/custom
75 %define sgml_docbook_style_dir %{sgml_docbook_dir}/stylesheet
76 %define xml_dir %{_datadir}/xml
77 %define xml_docbook_dir %{xml_dir}/docbook
78 %define xml_docbook_dtd_dir %{xml_docbook_dir}/schema/dtd
79 %define xml_docbook_rng_dir %{xml_docbook_dir}/schema/rng
80 %define xml_docbook_xsd_dir %{xml_docbook_dir}/schema/xsd
81 %define xml_docbook_custom_dir %{xml_docbook_dir}/custom
82 %define xml_docbook_style_dir %{xml_docbook_dir}/stylesheet
83 %define sgml_config_dir /var/lib/sgml
84 %define sgml_sysconf_dir %{_sysconfdir}/sgml
85 %define xml_config_dir /var/lib/xml
86 %define xml_sysconf_dir %{_sysconfdir}/xml
87
88 %prep
89 %setup -n %{name} -c -T
90 cp %{SOURCE1001} .
91 %{INSTALL_DIR} dtd/4.{1,2,3,4,5} 4.{1,2,3,4,5}xml
92 echo "**** %{S:410}"
93 pushd dtd/4.1
94   unzip -q -a %{S:410}
95 popd
96 pushd 4.1xml
97   unzip -q -a %{S:411}
98 popd
99 pushd dtd/4.2
100   unzip -q -a %{S:420}
101 popd
102 pushd 4.2xml
103   unzip -q -a %{S:421}
104 popd
105 pushd dtd/4.3
106   unzip -q -a %{S:430}
107 popd
108 pushd 4.3xml
109   unzip -q -a %{S:431}
110 popd
111 pushd dtd/4.4
112   unzip -q -a %{S:440}
113 %patch3 -p 0
114 popd
115 pushd 4.4xml
116   unzip -q -a %{S:441}
117 popd
118 pushd dtd/4.5
119   unzip -q -a %{S:450}
120 popd
121 pushd 4.5xml
122   unzip -q -a %{S:451}
123 popd
124 %patch -p 1 -P 1 -p 0
125 %patch2 -p 1
126 # CATALOG.* files
127 cp %{S:7} %{S:414} %{S:424} %{S:434} %{S:444} %{S:454} .
128 chmod -R a+rX,g-w,o-w .
129 find . -type f | xargs chmod a-x
130
131 %build
132 CATALOG=docbook_41.xml
133 # # build root catalog fragment
134 xmlcatbin=/usr/bin/xmlcatalog
135 $xmlcatbin --create --noout $CATALOG
136 docbookdir=%{xml_docbook_dtd_dir}/4.1
137 $xmlcatbin --noout --add "public" \
138     "-//OASIS//ELEMENTS DocBook XML Information Pool V4.1.2//EN" \
139     "file://$docbookdir/dbpoolx.mod" $CATALOG
140 $xmlcatbin --noout --add "public" \
141     "-//OASIS//DTD DocBook XML V4.1.2//EN" \
142     "file://$docbookdir/docbookx.dtd" $CATALOG
143 $xmlcatbin --noout --add "public" \
144     "-//OASIS//ENTITIES DocBook XML Character Entities V4.1.2//EN" \
145     "file://$docbookdir/dbcentx.mod" $CATALOG
146 $xmlcatbin --noout --add "public" \
147     "-//OASIS//ENTITIES DocBook XML Notations V4.1.2//EN" \
148     "file://$docbookdir/dbnotnx.mod" $CATALOG
149 $xmlcatbin --noout --add "public" \
150     "-//OASIS//ENTITIES DocBook XML Additional General Entities V4.1.2//EN" \
151     "file://$docbookdir/dbgenent.mod" $CATALOG
152 $xmlcatbin --noout --add "public" \
153     "-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.1.2//EN" \
154     "file://$docbookdir/dbhierx.mod" $CATALOG
155 $xmlcatbin --noout --add "public" \
156     "-//OASIS//DTD XML Exchange Table Model 19990315//EN" \
157     "file://$docbookdir/soextblx.dtd" $CATALOG
158 $xmlcatbin --noout --add "public" \
159     "-//OASIS//DTD DocBook XML CALS Table Model V4.1.2//EN" \
160     "file://$docbookdir/calstblx.dtd" $CATALOG
161 $xmlcatbin --noout --add "rewriteSystem" \
162     "http://www.oasis-open.org/docbook/xml/4.1.2" \
163     "file://$docbookdir" $CATALOG
164 $xmlcatbin --noout --add "rewriteURI" \
165     "http://www.oasis-open.org/docbook/xml/4.1.2" \
166     "file://$docbookdir" $CATALOG
167 # === iso
168 isodir=$docbookdir/ent
169 $xmlcatbin --noout --add "public" \
170     "ISO 8879:1986//ENTITIES Publishing//EN//XML" \
171     "file://$isodir/iso-pub.ent" $CATALOG
172 $xmlcatbin --noout --add "public" \
173     "ISO 8879:1986//ENTITIES Greek Letters//EN//XML" \
174     "file://$isodir/iso-grk1.ent" $CATALOG
175 $xmlcatbin --noout --add "public" \
176     "ISO 8879:1986//ENTITIES Box and Line Drawing//EN//XML" \
177     "file://$isodir/iso-box.ent" $CATALOG
178 $xmlcatbin --noout --add "public" \
179     "ISO 8879:1986//ENTITIES Greek Symbols//EN//XML" \
180     "file://$isodir/iso-grk3.ent" $CATALOG
181 $xmlcatbin --noout --add "public" \
182     "ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN//XML" \
183     "file://$isodir/iso-amsn.ent" $CATALOG
184 $xmlcatbin --noout --add "public" \
185     "ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML" \
186     "file://$isodir/iso-num.ent" $CATALOG
187 $xmlcatbin --noout --add "public" \
188     "ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN//XML" \
189     "file://$isodir/iso-grk4.ent" $CATALOG
190 $xmlcatbin --noout --add "public" \
191     "ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML" \
192     "file://$isodir/iso-dia.ent" $CATALOG
193 $xmlcatbin --noout --add "public" \
194     "ISO 8879:1986//ENTITIES Monotoniko Greek//EN//XML" \
195     "file://$isodir/iso-grk2.ent" $CATALOG
196 $xmlcatbin --noout --add "public" \
197     "ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN//XML" \
198     "file://$isodir/iso-amsa.ent" $CATALOG
199 $xmlcatbin --noout --add "public" \
200     "ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN//XML" \
201     "file://$isodir/iso-amso.ent" $CATALOG
202 $xmlcatbin --noout --add "public" \
203     "ISO 8879:1986//ENTITIES Russian Cyrillic//EN//XML" \
204     "file://$isodir/iso-cyr1.ent" $CATALOG
205 $xmlcatbin --noout --add "public" \
206     "ISO 8879:1986//ENTITIES General Technical//EN//XML" \
207     "file://$isodir/iso-tech.ent" $CATALOG
208 $xmlcatbin --noout --add "public" \
209     "ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN//XML" \
210     "file://$isodir/iso-amsc.ent" $CATALOG
211 $xmlcatbin --noout --add "public" \
212     "ISO 8879:1986//ENTITIES Added Latin 1//EN//XML" \
213     "file://$isodir/iso-lat1.ent" $CATALOG
214 $xmlcatbin --noout --add "public" \
215     "ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN//XML" \
216     "file://$isodir/iso-amsb.ent" $CATALOG
217 $xmlcatbin --noout --add "public" \
218     "ISO 8879:1986//ENTITIES Added Latin 2//EN//XML" \
219     "file://$isodir/iso-lat2.ent" $CATALOG
220 $xmlcatbin --noout --add "public" \
221     "ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN//XML" \
222     "file://$isodir/iso-amsr.ent" $CATALOG
223 $xmlcatbin --noout --add "public" \
224     "ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN//XML" \
225     "file://$isodir/iso-cyr2.ent" $CATALOG
226 # ====
227 %define FOR_ROOT_CAT for-catalog-%{name}-%{version}.xml
228 CATALOG=etc/xml/$CATALOG
229 rm -f %{FOR_ROOT_CAT}.tmp
230 $xmlcatbin --noout --create %{FOR_ROOT_CAT}.tmp
231 for v in 4.2 4.3 4.4 4.5; do
232   cat42=%{xml_docbook_dtd_dir}/$v/catalog.xml
233   for s in \
234     "-//OASIS//DTD DocBook XML V${v}//EN" \
235     "-//OASIS//DTD DocBook CALS Table Model V${v}//EN" \
236     "-//OASIS//DTD XML Exchange Table Model 19990315//EN" \
237     "-//OASIS//ELEMENTS DocBook Information Pool V${v}//EN" \
238     "-//OASIS//ELEMENTS DocBook Document Hierarchy V${v}//EN" \
239     "-//OASIS//ENTITIES DocBook Additional General Entities V${v}//EN" \
240     "-//OASIS//ENTITIES DocBook Notations V${v}//EN" \
241     "-//OASIS//ENTITIES DocBook Character Entities V${v}//EN"
242    do
243    $xmlcatbin --noout --add "delegatePublic" "$s" \
244      "file://$cat42" %{FOR_ROOT_CAT}.tmp
245   done
246   case $v in
247     4.[345])
248       $xmlcatbin --noout --add "delegatePublic" \
249          "-//OASIS//ELEMENTS DocBook XML HTML Tables V${v}//EN" \
250          "file://$cat42" %{FOR_ROOT_CAT}.tmp
251       ;;
252     *)
253       true
254   esac
255   $xmlcatbin --noout --add "delegateSystem" \
256     "http://www.oasis-open.org/docbook/xml/${v}" \
257     "file://$cat42" %{FOR_ROOT_CAT}.tmp
258   $xmlcatbin --noout --add "delegateURI" \
259     "http://www.oasis-open.org/docbook/xml/${v}" \
260     "file://$cat42" %{FOR_ROOT_CAT}.tmp
261   $xmlcatbin --noout --add "rewriteSystem" \
262     "http://www.oasis-open.org/docbook/xml/${v}" \
263     "file://%{xml_docbook_dtd_dir}/${v}" %{FOR_ROOT_CAT}.tmp
264   $xmlcatbin --noout --add "delegatePublic" \
265     "ISO 8879:1986" \
266     "file:///$CATALOG" %{FOR_ROOT_CAT}.tmp
267 done
268 # 41xml
269 for s in \
270   "-//OASIS//DTD DocBook XML V4.1" \
271   "-//OASIS//ELEMENTS DocBook Information Pool V4.1" \
272   "-//OASIS//ELEMENTS DocBook Document Hierarchy V4.1" \
273   "-//OASIS//ENTITIES DocBook Additional General Entities V4.1" \
274   "-//OASIS//ENTITIES DocBook Notations V4.1" \
275   "-//OASIS//ENTITIES DocBook Character Entities V4.1"
276  do
277  $xmlcatbin --noout --add "delegatePublic" "$s" \
278    "file:///$CATALOG" %{FOR_ROOT_CAT}.tmp
279 done
280 $xmlcatbin --noout --add "delegateSystem" \
281   "http://www.oasis-open.org/docbook/xml/4.1" \
282   "file:///$CATALOG" %{FOR_ROOT_CAT}.tmp
283 $xmlcatbin --noout --add "delegateURI" \
284   "http://www.oasis-open.org/docbook/xml/4.1" \
285   "file:///$CATALOG" %{FOR_ROOT_CAT}.tmp
286 # Create tag
287 sed '/<catalog/a\
288   <group id="%{name}-%{version}">
289 /<\/catalog/i\
290   </group>' \
291   %{FOR_ROOT_CAT}.tmp > %{FOR_ROOT_CAT}
292
293 %install
294 %{INSTALL_DIR} $RPM_BUILD_ROOT%{sgml_config_dir}
295 %{INSTALL_DIR} $RPM_BUILD_ROOT%{xml_config_dir}
296 %{INSTALL_DATA} CATALOG.* $RPM_BUILD_ROOT%{sgml_config_dir}
297 # for CATALOG.* links
298 %define my_all_cat docbook_4 db41xml db42xml db43xml db44xml db45xml
299 for v in 4.1 4.2 4.3 4.4 4.5; do
300   vl=${v/\.}
301   %{INSTALL_DIR} $RPM_BUILD_ROOT%{sgml_docbook_dtd_dir}/$v
302   %{INSTALL_DATA} dtd/${v}/* $RPM_BUILD_ROOT%{sgml_docbook_dtd_dir}/${v}
303   %{INSTALL_DIR} $RPM_BUILD_ROOT%{xml_docbook_dtd_dir}/$v
304   cp -a ${v}xml/* $RPM_BUILD_ROOT%{xml_docbook_dtd_dir}/$v
305   ln -s %{xml_docbook_dtd_dir}/$v $RPM_BUILD_ROOT%{sgml_docbook_dtd_dir}/${v}xml
306   ln -sf %{sgml_config_dir}/CATALOG.db${vl}xml \
307     $RPM_BUILD_ROOT%{sgml_dir}/CATALOG.db${vl}xml
308 done
309 ln -sf %{sgml_docbook_dtd_dir}/4.1 $RPM_BUILD_ROOT%{sgml_dir}/%{name}.1
310 ln -sf %{sgml_config_dir}/CATALOG.%{name} \
311   $RPM_BUILD_ROOT%{sgml_dir}/CATALOG.%{name}
312 ln -sf %{sgml_config_dir}/CATALOG.%{name} \
313   $RPM_BUILD_ROOT%{sgml_dir}/CATALOG.docbk41
314 cat_dir=%{buildroot}/etc/xml
315 %{INSTALL_DIR} $cat_dir
316 %{INSTALL_DATA} %{FOR_ROOT_CAT} docbook_41.xml $cat_dir
317 # rng
318 %{INSTALL_DIR} $RPM_BUILD_ROOT%{xml_docbook_rng_dir}/{4.3,4.4} \
319                $RPM_BUILD_ROOT%{xml_docbook_xsd_dir}/{4.3,4.4}
320 unzip -q -a -d $RPM_BUILD_ROOT%{xml_docbook_rng_dir}/4.2 %{S:422}
321 unzip -q -a -d $RPM_BUILD_ROOT%{xml_docbook_rng_dir}/4.3 %{S:432}
322 unzip -q -a -d $RPM_BUILD_ROOT%{xml_docbook_rng_dir}/4.4 %{S:442}
323 unzip -q -a -d $RPM_BUILD_ROOT%{xml_docbook_rng_dir}/4.5 %{S:452}
324 # w3c schema
325 unzip -q -a -d $RPM_BUILD_ROOT%{xml_docbook_xsd_dir}/4.2 %{S:422}
326 unzip -q -a -d $RPM_BUILD_ROOT%{xml_docbook_xsd_dir}/4.3 %{S:433}
327 unzip -q -a -d $RPM_BUILD_ROOT%{xml_docbook_xsd_dir}/4.4 %{S:443}
328 unzip -q -a -d $RPM_BUILD_ROOT%{xml_docbook_xsd_dir}/4.5 %{S:453}
329 # cleanup
330 %fdupes $RPM_BUILD_ROOT
331
332 %post
333 if [ -x %{regcat} ]; then
334   for c in %{my_all_cat}; do
335     %{regcat} -a  %{sgml_dir}/CATALOG.$c \
336       >/dev/null 2>&1 || true
337   done
338 fi
339 if [ -x /usr/bin/edit-xml-catalog ]; then
340   /usr/bin/edit-xml-catalog --group --catalog /etc/xml/suse-catalog.xml \
341       --add /etc/xml/%{FOR_ROOT_CAT}
342 fi
343
344 %postun
345 if [ "$1" = "0" -a -x %{regcat} ]; then
346   for c in %{my_all_cat}; do
347     %{regcat} -r %{sgml_dir}/CATALOG.$c \
348       >/dev/null 2>&1 || true
349   done
350 fi
351 # remove entries only on removal of file
352 if [ ! -f %{xml_sysconf_dir}/%{FOR_ROOT_CAT} -a -x /usr/bin/edit-xml-catalog ] ; then
353   /usr/bin/edit-xml-catalog --group --catalog /etc/xml/suse-catalog.xml \
354       --del %{name}-%{version}
355 fi
356
357 %files
358 %manifest %{name}.manifest
359 %defattr(-, root, root)
360 %config %{sgml_config_dir}/CATALOG.*
361 %{sgml_dir}/CATALOG.*
362 %{sgml_docbook_dtd_dir}/4.1
363 %{sgml_docbook_dtd_dir}/4.2
364 %{sgml_docbook_dtd_dir}/4.3
365 %{sgml_docbook_dtd_dir}/4.4
366 %{sgml_docbook_dtd_dir}/4.5
367 #
368 %{sgml_docbook_dtd_dir}/4.1xml
369 %{sgml_docbook_dtd_dir}/4.2xml
370 %{sgml_docbook_dtd_dir}/4.3xml
371 %{sgml_docbook_dtd_dir}/4.4xml
372 %{sgml_docbook_dtd_dir}/4.5xml
373 #
374 %{xml_docbook_dtd_dir}/4.1
375 %{xml_docbook_dtd_dir}/4.2
376 %{xml_docbook_dtd_dir}/4.3
377 %{xml_docbook_dtd_dir}/4.4
378 %{xml_docbook_dtd_dir}/4.5
379 #
380 %{xml_docbook_rng_dir}/4.2
381 %{xml_docbook_rng_dir}/4.3
382 %{xml_docbook_rng_dir}/4.4
383 %{xml_docbook_rng_dir}/4.5
384 #
385 %{xml_docbook_xsd_dir}/4.2
386 %{xml_docbook_xsd_dir}/4.3
387 %{xml_docbook_xsd_dir}/4.4
388 %{xml_docbook_xsd_dir}/4.5
389 #
390 %config %{xml_sysconf_dir}/docbook_41.xml
391 %config %{xml_sysconf_dir}/%{FOR_ROOT_CAT}
392 %dir %{sgml_dir}/docbook/dtd
393 %{sgml_dir}/docbook_4.1
394 # %dir %{xml_dir}
395 # %dir %{xml_docbook_dir}
396 %dir %{xml_docbook_dir}/schema
397 %dir %{xml_docbook_dtd_dir}
398 %dir %{xml_docbook_rng_dir}
399 %dir %{xml_docbook_xsd_dir}
400
401 %changelog