]>
Commit | Line | Data |
---|---|---|
ed1ec747 SS |
1 | ############################################################################### |
2 | # IPFire.org - An Open Source Firewall Solution # | |
3 | # Copyright (C) - IPFire Development Team <info@ipfire.org> # | |
4 | ############################################################################### | |
5 | ||
6 | name = docbook-dtds | |
7 | version = 1.0 | |
50292f2c | 8 | release = 7 |
ed1ec747 SS |
9 | |
10 | groups = Applications/Text | |
11 | url = http://www.oasis-open.org/docbook/ | |
12 | license = Copyright only | |
13 | summary = SGML and XML document type definitions for DocBook. | |
14 | ||
15 | description | |
16 | The DocBook Document Type Definition (DTD) describes the syntax of | |
17 | technical documentation texts (articles, books and manual pages). | |
18 | This syntax is XML-compliant and is developed by the OASIS consortium. | |
19 | This package contains SGML and XML versions of the DocBook DTD. | |
20 | end | |
21 | ||
ed1ec747 SS |
22 | sources = \ |
23 | docbk30.zip \ | |
24 | docbk31.zip \ | |
25 | docbk40.zip \ | |
26 | docbk41.zip \ | |
27 | docbkx412.zip \ | |
28 | docbook-4.2.zip \ | |
29 | docbook-xml-4.2.zip \ | |
30 | docbook-4.3.zip \ | |
31 | docbook-xml-4.3.zip \ | |
32 | docbook-4.4.zip \ | |
33 | docbook-xml-4.4.zip \ | |
34 | docbook-4.5.zip \ | |
35 | docbook-xml-4.5.zip | |
36 | ||
37 | # Update directories at the scriptlets if there will be any changes. | |
38 | directories = \ | |
39 | 3.0-sgml \ | |
40 | 3.1-sgml \ | |
41 | 4.0-sgml \ | |
42 | 4.1-sgml \ | |
43 | 4.1.2-xml \ | |
44 | 4.2-sgml \ | |
45 | 4.2-xml \ | |
46 | 4.3-sgml \ | |
47 | 4.3-xml \ | |
48 | 4.4-sgml \ | |
49 | 4.4-xml \ | |
50 | 4.5-sgml \ | |
51 | 4.5-xml | |
52 | ||
53 | build | |
5cd803df MT |
54 | arches = noarch |
55 | ||
ed1ec747 SS |
56 | requires |
57 | dos2unix | |
29ce5abf | 58 | unzip>=6.0-3 |
ed1ec747 SS |
59 | end |
60 | ||
61 | prepare | |
62 | # Define a bash function to extract the files | |
63 | function macro_extract() | |
64 | { | |
65 | mkdir -pv %{DIR_APP}/$2 | |
66 | cd %{DIR_APP}/$2 && unzip %{DIR_DL}/$1 | |
67 | } | |
68 | ||
69 | # Extract files | |
70 | macro_extract docbk30.zip 3.0-sgml | |
71 | macro_extract docbk31.zip 3.1-sgml | |
72 | macro_extract docbk40.zip 4.0-sgml | |
73 | macro_extract docbk41.zip 4.1-sgml | |
74 | macro_extract docbkx412.zip 4.1.2-xml | |
75 | macro_extract docbook-4.2.zip 4.2-sgml | |
76 | macro_extract docbook-xml-4.2.zip 4.2-xml | |
77 | macro_extract docbook-4.3.zip 4.3-sgml | |
78 | macro_extract docbook-xml-4.3.zip 4.3-xml | |
79 | macro_extract docbook-4.4.zip 4.4-sgml | |
80 | macro_extract docbook-xml-4.4.zip 4.4-xml | |
81 | macro_extract docbook-4.5.zip 4.5-sgml | |
1f9bc2f0 | 82 | macro_extract docbook-xml-4.5.zip 4.5-xml |
ed1ec747 SS |
83 | |
84 | # Convert all catalog files to unix format | |
85 | cd %{DIR_APP} && dos2unix */docbook.cat | |
86 | ||
87 | %{MACRO_PATCHES} | |
88 | ||
89 | sed -e's,\(NAMELEN\s\+\)44\(\s\*\)\?,\1256,' -i.namelen */docbook.dcl | |
90 | sed -i 's/\r//' */*.txt | |
91 | chown -R root:root . | |
92 | chmod -R a+rX,g-w,o-w . | |
93 | end | |
94 | ||
95 | build = # Nothing to do | |
96 | ||
97 | install | |
29ce5abf | 98 | # Create Symlinks. |
ed1ec747 SS |
99 | mkdir -pv %{BUILDROOT}/etc/sgml |
100 | for fmt in sgml xml; do | |
101 | ln -svf $fmt-docbook-4.5.cat %{BUILDROOT}/etc/sgml/$fmt-docbook.cat | |
102 | done | |
103 | ||
104 | for dir in %{directories}; do | |
105 | fmt=${dir#*-}; ver=${dir%%-*} | |
106 | cd %{DIR_APP}/$dir | |
107 | DESTDIR=%{BUILDROOT}/usr/share/sgml/docbook/$fmt-dtd-$ver | |
108 | mkdir -pv $DESTDIR | |
109 | case $fmt in | |
50292f2c SS |
110 | sgml) mkdir -pv $DESTDIR; install -v -m 644 *.dcl $DESTDIR ;; |
111 | xml) mkdir -pv $DESTDIR/ent; install -v -m 644 ent/* $DESTDIR/ent ;; | |
ed1ec747 | 112 | esac |
50292f2c SS |
113 | install -v -m 644 *.dtd *.mod $DESTDIR |
114 | install -v -m 644 docbook.cat $DESTDIR/catalog | |
ed1ec747 SS |
115 | touch %{BUILDROOT}/etc/sgml/${dir#*-}-docbook-$ver.cat |
116 | done | |
117 | end | |
118 | end | |
119 | ||
120 | packages | |
121 | package %{name} | |
d9a3f5c7 | 122 | prerequires |
c274af29 | 123 | coreutils |
d9a3f5c7 | 124 | libxml2 |
c274af29 | 125 | sed |
29ce5abf | 126 | sgml-common |
d9a3f5c7 | 127 | end |
ed1ec747 | 128 | |
29ce5abf SS |
129 | script postin |
130 | # Install catalog files. | |
131 | for dir in %{directories}; do | |
132 | fmt=${dir#*-} | |
133 | ver=${dir%%-*} | |
134 | /usr/bin/xmlcatalog --sgml --noout --add /etc/sgml/${fmt}-docbook-${ver}.cat \ | |
135 | /usr/share/sgml/docbook/${fmt}-dtd-${ver}/catalog > /dev/null 2>/dev/null | |
136 | /usr/bin/xmlcatalog --sgml --noout --add /etc/sgml/${fmt}-docbook-${ver}.cat \ | |
137 | /usr/share/sgml/sgml-iso-entities-8879.1986/catalog > /dev/null 2>/dev/null | |
ed1ec747 SS |
138 | done |
139 | ||
72fd38a0 SS |
140 | # Create XML catalog. |
141 | for dir in %{directories}; do | |
142 | fmt=${dir#*-} | |
143 | ver=${dir%%-*} | |
ed1ec747 | 144 | |
72fd38a0 SS |
145 | if [ $fmt = xml -a -w /usr/share/sgml/docbook/xmlcatalog ]; then |
146 | while read f desc; do | |
147 | case $ver in 4.[45]) f={$f/-/} ;; esac | |
148 | /usr/bin/xmlcatalog --noout --add public "$desc" /usr/share/sgml/docbook/${fmt}-dtd-${ver}/${f} \ | |
149 | /etc/sgml/docbook/xmlcatalog /dev/null 2>/dev/null | |
150 | done <<ENDENT | |
151 | ent/iso-pub.ent ISO 8879:1986//ENTITIES Publishing//EN | |
152 | ent/iso-grk1.ent ISO 8879:1986//ENTITIES Greek Letters//EN | |
153 | dbpoolx.mod -//OASIS//ELEMENTS DocBook XML Information Pool V${ver}//EN | |
154 | ent/iso-box.ent ISO 8879:1986//ENTITIES Box and Line Drawing//EN | |
155 | docbookx.dtd -//OASIS//DTD DocBook XML V${ver}//EN | |
156 | ent/iso-grk3.ent ISO 8879:1986//ENTITIES Greek Symbols//EN | |
157 | ent/iso-amsn.ent ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN | |
158 | ent/iso-num.ent ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN | |
159 | dbcentx.mod -//OASIS//ENTITIES DocBook XML Character Entities V${ver}//EN | |
160 | ent/iso-grk4.ent ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN | |
161 | dbnotnx.mod -//OASIS//ENTITIES DocBook XML Notations V${ver}//EN | |
162 | ent/iso-dia.ent ISO 8879:1986//ENTITIES Diacritical Marks//EN | |
163 | ent/iso-grk2.ent ISO 8879:1986//ENTITIES Monotoniko Greek//EN | |
164 | dbgenent.mod -//OASIS//ENTITIES DocBook XML Additional General Entities V${ver}//EN | |
165 | dbhierx.mod -//OASIS//ELEMENTS DocBook XML Document Hierarchy V${vers}//EN | |
166 | ent/iso-amsa.ent ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN | |
167 | ent/iso-amso.ent ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN | |
168 | ent/iso-cyr1.ent ISO 8879:1986//ENTITIES Russian Cyrillic//EN | |
169 | ent/iso-tech.ent ISO 8879:1986//ENTITIES General Technical//EN | |
170 | ent/iso-amsc.ent ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN | |
171 | soextblx.dtd -//OASIS//DTD XML Exchange Table Model 19990315//EN | |
172 | calstblx.dtd -//OASIS//DTD DocBook XML CALS Table Model V${ver}//EN | |
173 | ent/iso-lat1.ent ISO 8879:1986//ENTITIES Added Latin 1//EN | |
174 | ent/iso-amsb.ent ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN | |
175 | ent/iso-lat2.ent ISO 8879:1986//ENTITIES Added Latin 2//EN | |
176 | ent/iso-amsr.ent ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN | |
177 | ent/iso-cyr2.ent ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN | |
29ce5abf | 178 | ENDENT |
ed1ec747 | 179 | |
72fd38a0 SS |
180 | for f in System URI; do |
181 | /usr/bin/xmlcatalog --noout --add rewrite${f} "http://www.oasis-open.org/docbook/xml/${ver}" \ | |
182 | /usr/share/sgml/docbook/${fmt}-dtd-${ver} /etc/sgml/docbook/xmlcatalog > /dev/null 2>/dev/null | |
183 | done | |
184 | fi | |
185 | done | |
186 | ||
187 | sed -ni ' | |
188 | /xml-docbook/ H | |
189 | /xml-docbook/ !p | |
190 | $ { | |
191 | g | |
192 | s/^\n//p | |
193 | } | |
194 | ' /etc/sgml/catalog | |
ed1ec747 SS |
195 | |
196 | # Finally, make sure everything in /etc/sgml is readable! | |
197 | chmod a+r /etc/sgml/* | |
198 | end | |
199 | ||
200 | script postun | |
ed1ec747 SS |
201 | # remove entries only on removal of package |
202 | if [ "$1" = 0 ]; then | |
1f9bc2f0 | 203 | |
ed1ec747 SS |
204 | entities=" |
205 | ent/iso-pub.ent | |
206 | ent/iso-grk1.ent | |
207 | dbpoolx.mod | |
208 | ent/iso-box.ent | |
209 | docbookx.dtd | |
210 | ent/iso-grk3.ent | |
211 | ent/iso-amsn.ent | |
212 | ent/iso-num.ent | |
213 | dbcentx.mod | |
214 | ent/iso-grk4.ent | |
215 | dbnotnx.mod | |
216 | ent/iso-dia.ent | |
217 | ent/iso-grk2.ent | |
218 | dbgenent.mod | |
219 | dbhierx.mod | |
220 | ent/iso-amsa.ent | |
221 | ent/iso-amso.ent | |
222 | ent/iso-cyr1.ent | |
223 | ent/iso-tech.ent | |
224 | ent/iso-amsc.ent | |
225 | soextblx.dtd | |
226 | calstblx.dtd | |
227 | ent/iso-lat1.ent | |
228 | ent/iso-amsb.ent | |
229 | ent/iso-lat2.ent | |
230 | ent/iso-amsr.ent | |
231 | ent/iso-cyr2.ent" | |
232 | ||
233 | for dir in %{directories}; do | |
234 | fmt=${dir#*-} ver=${dir%%-*} | |
235 | ||
236 | ## SGML catalog | |
237 | # Update the centralized catalog corresponding to this version of the DTD | |
238 | /usr/bin/xmlcatalog --noout --sgml --del /etc/sgml/catalog /etc/sgml/$fmt-docbook-$ver.cat | |
239 | rm -f /etc/sgml/$fmt-docbook-$ver.cat | |
240 | ||
241 | ## XML catalog | |
242 | if [ $fmt = xml -a -w /usr/share/sgml/docbook/xmlcatalog ]; then | |
243 | for f in $entities; do | |
244 | case $ver in 4.[45]) f=${f/-/} ;; esac | |
245 | /usr/bin/xmlcatalog --noout --del /usr/share/sgml/docbook/$fmt-dtd-$ver/$f /usr/share/sgml/docbook/xmlcatalog | |
246 | done | |
247 | /usr/bin/xmlcatalog --noout --del /usr/share/sgml/docbook/$fmt-dtd-$ver /usr/share/sgml/docbook/xmlcatalog | |
248 | fi | |
249 | done | |
250 | ||
251 | # See the comment attached to this command in the postin scriptlet. | |
252 | sed -ni ' | |
253 | /xml-docbook/ H | |
254 | /xml-docbook/ !p | |
255 | $ { | |
256 | g | |
257 | s/^\n//p | |
258 | } | |
259 | ' /etc/sgml/catalog | |
260 | fi | |
261 | end | |
262 | end | |
ed1ec747 | 263 | end |