]> git.ipfire.org Git - ipfire-3.x.git/blame - docbook-dtds/docbook-dtds.nm
Get rid of HTTP URLs as best as possible, take one
[ipfire-3.x.git] / docbook-dtds / docbook-dtds.nm
CommitLineData
ed1ec747
SS
1###############################################################################
2# IPFire.org - An Open Source Firewall Solution #
3# Copyright (C) - IPFire Development Team <info@ipfire.org> #
4###############################################################################
5
6name = docbook-dtds
7version = 1.0
50292f2c 8release = 7
ed1ec747
SS
9
10groups = Applications/Text
e14a82a1 11url = https://www.oasis-open.org/docbook/
ed1ec747
SS
12license = Copyright only
13summary = SGML and XML document type definitions for DocBook.
14
15description
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.
20end
21
ed1ec747
SS
22sources = \
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.
38directories = \
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
53build
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
118end
119
120packages
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 263end