annotate packages/pkgconf/fixhtml.tcl @ 195:67850532eebb

Merge from eCos master repository on 2001-11-02-06:43:03-GMT
author jlarmour
date Fri, 02 Nov 2001 16:12:33 +0000
parents feb0fcf83327
children e0c0827131d1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
1 #!/bin/sh
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
2 # the next line restarts using tclsh \
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
3 exec tclsh "$0" ${1+"$@"}
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
4
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
5 #===============================================================================
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
6 #
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
7 # fixhtml.tcl
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
8 #
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
9 # Patch HTML files generated from DocBook sources.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
10 #
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
11 #===============================================================================
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
12 #####COPYRIGHTBEGIN####
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
13 #
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
14 # ===============================================================
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
15 # Copyright (C) 2000, 2001 Red Hat, Inc.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
16 #
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
17 # This file is part of the eCos host tools.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
18 #
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
19 # This program is free software; you can redistribute it and/or
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
20 # modify it under the terms of the GNU General Public License as
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
21 # published by the Free Software Foundation; either version 2 of
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
22 # the License, or (at your option) any later version.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
23 #
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
24 # This program is distributed in the hope that it will be useful,
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
25 # but WITHOUT ANY WARRANTY; without even the implied warranty of
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
26 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
27 # GNU General Public License for more details.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
28 #
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
29 # You should have received a copy of the GNU General Public
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
30 # License along with this program; if not, write to the Free
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
31 # Software Foundation, Inc., 59 Temple Place - Suite 330,
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
32 # Boston, MA 02111-1307, USA.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
33 #
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
34 # ===============================================================
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
35 #
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
36 #####COPYRIGHTEND####
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
37 #===============================================================================
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
38 ######DESCRIPTIONBEGIN####
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
39 #
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
40 # Author(s): bartv
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
41 # Contributors: bartv
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
42 # Date: 2000-03-14
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
43 # Purpose: HTML files generated from DocBook sources using the nwalsh
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
44 # stylesheets have a number of problems. Most importantly,
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
45 # Netscape 4.x does not understand all of the character entities
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
46 # defined by HTML 4.0x
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
47 #
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
48 #####DESCRIPTIONEND####
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
49 #===============================================================================
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
50 #
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
51
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
52 # Find out the current year for the copyright message. Ideally
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
53 # this would be a range extracted from the sources, but that is
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
54 # a little bit tricky.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
55
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
56 set year [clock format [clock seconds] -format "%Y"]
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
57
151
25e238959bae Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents: 150
diff changeset
58 set copyright_banner \
25e238959bae Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents: 150
diff changeset
59 "<!-- Copyright (C) $year Red Hat, Inc. -->
25e238959bae Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents: 150
diff changeset
60 <!-- This material may be distributed only subject to the terms -->
25e238959bae Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents: 150
diff changeset
61 <!-- and conditions set forth in the Open Publication License, v1.0 -->
25e238959bae Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents: 150
diff changeset
62 <!-- or later (the latest version is presently available at -->
163
0d2b193a635f Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents: 159
diff changeset
63 <!-- http://www.opencontent.org/openpub/). -->
151
25e238959bae Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents: 150
diff changeset
64 <!-- Distribution of substantively modified versions of this -->
25e238959bae Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents: 150
diff changeset
65 <!-- document is prohibited without the explicit permission of the -->
25e238959bae Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents: 150
diff changeset
66 <!-- copyright holder. -->
25e238959bae Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents: 150
diff changeset
67 <!-- Distribution of the work or derivative of the work in any -->
25e238959bae Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents: 150
diff changeset
68 <!-- standard (paper) book form is prohibited unless prior -->
163
0d2b193a635f Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents: 159
diff changeset
69 <!-- permission is obtained from the copyright holder. -->"
151
25e238959bae Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents: 150
diff changeset
70
150
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
71 set files [glob *.html]
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
72 foreach file $files {
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
73 set status [catch {
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
74
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
75 set fd [open $file "r"]
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
76 set data [read $fd]
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
77 close $fd
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
78
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
79 # If there is already a (C) message on the first line, skip this file.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
80 if {[regexp {[^\n]*Copyright (C) [0-9]* Red Hat.*} $data] == 0} {
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
81
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
82 # The DSSSL has the annoying habit of splitting tags over several lines.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
83 # This should sort things out.
159
511f4dc167f6 Merge from eCos master repository on 2001-05-18-01:30:05-BST
jlarmour
parents: 151
diff changeset
84 # REMOVED by jifl: doing this can add newlines in tags like
511f4dc167f6 Merge from eCos master repository on 2001-05-18-01:30:05-BST
jlarmour
parents: 151
diff changeset
85 # <literallayout>, <screen>, and/or <programlisting>
511f4dc167f6 Merge from eCos master repository on 2001-05-18-01:30:05-BST
jlarmour
parents: 151
diff changeset
86 # regsub -all "\n>" $data ">\n" data
150
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
87
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
88 # Add a copyright banner
151
25e238959bae Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents: 150
diff changeset
89 set data "[set copyright_banner]\n[set data]"
150
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
90
171
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents: 163
diff changeset
91 # Look for a smarttags meta. If absent, insert one. There should
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents: 163
diff changeset
92 # already be one meta present identifying the stylesheet, so
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents: 163
diff changeset
93 # that identifies a sensible location for inserting another meta.
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents: 163
diff changeset
94 if {[regexp {MSSmartTagsPreventParsing} $data] == 0} {
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents: 163
diff changeset
95 regsub -nocase {<META} $data "<meta name=\"MSSmartTagsPreventParsing\" content=\"TRUE\">\n<META" data
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents: 163
diff changeset
96 }
42f843b391aa Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents: 163
diff changeset
97
150
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
98 # Take care of some character entities that Netscape does not understand
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
99 regsub -all "&mgr;" $data "\\&#03BC;" data
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
100 regsub -all "&mdash;" $data "\\&#8212;" data
194
feb0fcf83327 Merge from eCos master repository on 2001-10-26-06:43:03-BST
jlarmour
parents: 171
diff changeset
101 regsub -all "&ndash;" $data "\\&#8211;" data
150
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
102 regsub -all "&hellip;" $data "\\&#8230;" data
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
103 regsub -all "&ldquo;" $data "\\&#8220;" data
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
104 regsub -all "&rdquo;" $data "\\&#8221;" data
159
511f4dc167f6 Merge from eCos master repository on 2001-05-18-01:30:05-BST
jlarmour
parents: 151
diff changeset
105 regsub -all "&lsqb;" $data "\\&#0091;" data
511f4dc167f6 Merge from eCos master repository on 2001-05-18-01:30:05-BST
jlarmour
parents: 151
diff changeset
106 regsub -all "&rsqb;" $data "\\&#0093;" data
511f4dc167f6 Merge from eCos master repository on 2001-05-18-01:30:05-BST
jlarmour
parents: 151
diff changeset
107 regsub -all "&lcub;" $data "\\&#0123;" data
511f4dc167f6 Merge from eCos master repository on 2001-05-18-01:30:05-BST
jlarmour
parents: 151
diff changeset
108 regsub -all "&rcub;" $data "\\&#0125;" data
511f4dc167f6 Merge from eCos master repository on 2001-05-18-01:30:05-BST
jlarmour
parents: 151
diff changeset
109 regsub -all "&lsquo;" $data "\\&#8216;" data
511f4dc167f6 Merge from eCos master repository on 2001-05-18-01:30:05-BST
jlarmour
parents: 151
diff changeset
110 regsub -all "&rsquo;" $data "\\&#8217;" data
511f4dc167f6 Merge from eCos master repository on 2001-05-18-01:30:05-BST
jlarmour
parents: 151
diff changeset
111 regsub -all "&trade;" $data "\\&#8482;" data
511f4dc167f6 Merge from eCos master repository on 2001-05-18-01:30:05-BST
jlarmour
parents: 151
diff changeset
112 regsub -all "&ast;" $data "\\&#0042;" data
511f4dc167f6 Merge from eCos master repository on 2001-05-18-01:30:05-BST
jlarmour
parents: 151
diff changeset
113 regsub -all "&lowbar;" $data "\\&#0095;" data
511f4dc167f6 Merge from eCos master repository on 2001-05-18-01:30:05-BST
jlarmour
parents: 151
diff changeset
114 regsub -all "&sol;" $data "\\&#0047;" data
511f4dc167f6 Merge from eCos master repository on 2001-05-18-01:30:05-BST
jlarmour
parents: 151
diff changeset
115 regsub -all "&equals;" $data "\\&#0061;" data
194
feb0fcf83327 Merge from eCos master repository on 2001-10-26-06:43:03-BST
jlarmour
parents: 171
diff changeset
116 regsub -all "&num;" $data "\\&#0035;" data
feb0fcf83327 Merge from eCos master repository on 2001-10-26-06:43:03-BST
jlarmour
parents: 171
diff changeset
117 regsub -all "&plus;" $data "\\&#0043;" data
195
67850532eebb Merge from eCos master repository on 2001-11-02-06:43:03-GMT
jlarmour
parents: 194
diff changeset
118 regsub -all "&percnt;" $data "\\&#0037;" data
67850532eebb Merge from eCos master repository on 2001-11-02-06:43:03-GMT
jlarmour
parents: 194
diff changeset
119 regsub -all "&dollar;" $data "\\&#0036;" data
67850532eebb Merge from eCos master repository on 2001-11-02-06:43:03-GMT
jlarmour
parents: 194
diff changeset
120 regsub -all "&boxv;" $data "\\&#9474;" data
67850532eebb Merge from eCos master repository on 2001-11-02-06:43:03-GMT
jlarmour
parents: 194
diff changeset
121 regsub -all "&bsol;" $data "\\&#0092;" data
150
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
122
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
123 # Now write the data back to the file. Do not bother to
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
124 # keep an old version lying around, the html files can be
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
125 # regenerated easily enough.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
126 set fd [open $file "w"]
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
127 puts -nonewline $fd $data
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
128 close $fd
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
129 }
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
130 } result]
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
131
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
132 if {0 != $status} {
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
133 puts "Error while processing file $file\n $result"
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
134 exit 1
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
135 }
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
136 }
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
137