summaryrefslogtreecommitdiffstats
path: root/htdocs/source/index.html
blob: 7ec47afa777f28f16ef5160bf292743edb4fa693 (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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
<!--#set var="revision" value="\$Id: index.html,v 1.39 2005-10-20 06:46:50 ot Exp $"
--><!--#set var="date" value="\$Date: 2005-10-20 06:46:50 $"
--><!--#set var="title" value="Source Code Availability for The W3C Markup Validation Service"
--><!--#set var="relroot" value="../"
--><!--#include virtual="../header.html" -->
<div class="doc">
<h2>Source code availability<br />for the W3C Markup Validator</h2>
<h3 id="TableOfContents">Table of Contents</h3>

    <div id="toc">
      <ul>
      <li><a href="#getting">Retrieving and browsing the Code</a>
       <ul>	
	<li><a href="#browse">Browsing the code</a></li>
	<li><a href="#tarball">Download tarballs</a></li>
	<li><a href="#rpm">RPM package</a></li>
	<li><a href="#deb">Debian package</a></li>
	<li><a href="#CVS">CVS repository</a></li>
       </ul>
      </li>
      <li><a href="#using">Using the code</a></li>
      </ul>
    </div>


      <h3><a name="getting" id="getting"></a>Retrieving and browsing the Code</h3>

    <p><a id="skip" name="skip"></a>
      The source code for the <a
        href="../"><acronym title="World Wide Web Consortium">W3C</acronym>
	Markup Validation Service</a> is available under the
      terms of the <a
        href="http://www.w3.org/Consortium/Legal/copyright-software"><acronym
          title="World Wide Web Consortium">W3C</acronym>
	Software License</a>. Source tarball of the latest production
      version is always available at
      &lt;<a href="http://validator.w3.org/validator.tar.gz">http://validator.w3.org/validator.tar.gz</a>&gt;.
      Development code is only available from CVS.
    </p>

          <h4><a id="browse" name="browse"></a>Browsing the code</h4>
	  <p>
            If you just want to glance at the code, or see its revision
            history, you can
            <a href="http://dev.w3.org/cvsweb/validator/">browse it on
              the web</a>.
          </p>
          <p>
            The most interesting files are currently
            <a href="http://dev.w3.org/cvsweb/validator/httpd/cgi-bin/check">a
              CGI script called "check"</a> that does pretty much everything,
            and possibly also <a
              href="http://dev.w3.org/cvsweb/validator/httpd/conf/httpd.conf">the
              httpd.conf configuration file snippet for Apache</a>.
            Select the topmost revision numbers on these
            pages to see the most recent revision of each file.
          </p>
          <h4><a id="tarball" name="tarball"></a>Download the code in tarballs</h4>
	   <p>
            If you want a copy of all the files that make up the service, you
            can download a tarball of <a href="http://validator.w3.org/validator.tar.gz">the code</a>
	    (~300kB) and <a href="http://validator.w3.org/sgml-lib.tar.gz">the <acronym
              title="Document Type Definitions">DTDs</acronym></a> (~500kB).
          </p>
        <h4><a id="rpm" name="rpm"></a>RPM package</h4>
          <p>
            RPM packages are available, courtesy of Ville Skytt&auml;, at
            Fedora Extras,
            &lt;<a href="http://fedoraproject.org/wiki/Extras">http://fedoraproject.org/wiki/Extras</a>&gt;.
          </p>
          <p>
            In addition to different Fedora Core versions, the RPMs
            should be adaptable to other RPM based systems.
          </p>
          <p>
            Note that the Validator RPMs have several dependencies, you'll
            have to get at least the following RPMs from Fedora Extras (other
            dependencies are included in the Fedora Core distribution):
          </p>
          <ul>
            <li>w3c-markup-validator</li>
            <li>w3c-markup-validator-libs</li>
            <li>perl-Config-General</li>
            <li>perl-HTML-Template</li>
            <li>perl-Net-IP</li>
            <li>perl-Set-IntSpan</li>
            <li>perl-Text-Iconv</li>
          </ul>
          <p>
            In addition, each of these may have further dependencies that must
            be satisfied. All the necessary RPMs are either included in
            the Fedora Core distribution(s) or are available from
            <a href="http://fedoraproject.org/wiki/Extras">Fedora Extras</a>.
            Use of an automated package management tool to install the
            packages, such as yum or up2date is <em>strongly</em>
            recommended.  See the Fedora Extras
            <a href="http://fedoraproject.org/wiki/Extras/UsingExtras">documentation</a>
            for information about configuring these tools.
          </p>
        <h4><a name="deb" id="deb"></a>Debian package</h4>
          <p>
            A Debian package is available, courtesy of Fr&eacute;d&eacute;ric
            Sch&uuml;tz. 
          </p>
          <ul>
            <li>
            If you are using the Debian Testing or Unstable distribution, the
            package is already included in the offical archive and you can
            directly use the <kbd>apt-get</kbd> command if your
            /etc/apt/sources.list file is correctly configured.
            </li>
            <li>
            If you are using the stable (woody) Debian distribution, add the 
            following line in the /etc/apt/sources.list file.
            <pre><kbd>deb http://www.mathgen.ch/debian/woody ./</kbd></pre>
            </li>
          </ul>
          <p>
            Running the command <kbd>apt-get install w3c-markup-validator</kbd> 
            as root will then install all the packages needed.
          </p>

        <h4><a id="CVS" name="CVS"></a>CVS repository</h4>
          <p>
            If you intend to actively mirror the code and/or contribute
            patches to the code, you should install and become familiar
            with <a href="http://www.nongnu.org/cvs/">CVS</a>;
            this is the tool we use for revision control and is generally
            a good thing to <a href="http://ximbiot.com/cvs/manual/">get to
            know</a>.
          </p>
          <p>
            Our CVS base is available read-only, using CVS pserver
            authentication a la:
          </p>
          <pre>
    bash$ <kbd>export CVSROOT=":pserver:anonymous@dev.w3.org:/sources/public"</kbd>
    bash$ <kbd>cvs login</kbd>
    (Logging in to anonymous@dev.w3.org)
    CVS password: <kbd>anonymous</kbd>
    bash$ <kbd>cvs get -r validator-0_7_1-release validator</kbd>
    cvs server: Updating validator
    cvs server: Updating validator/htdocs
    U validator/htdocs/about.html
    ...
          </pre>
          <p>
            This will get you the last release version. use <kbd>cvs get validator</kbd>
            to retrieve the <code>HEAD</code>. Be aware that constant development is made
            on this latest version, and
            the trunk is more or less guaranteed to be in a state of greater
            or lesser breakage at any given point in time. <em>Approach with
            caution!</em>
          </p>

  <h3><a id="using" name="using"></a>Using the code</h3>

     <p>
      The purpose of making the source code available is partly to allow
      others to set up mirrors of the service (either publicly or within
      an intranet behind a firewall), but also to allow us to collaborate
      on making the service better! If you are interested in helping with 
      the development, we suggest you  first <a href="../docs/install.html">install</a>
      the code and <a href="../docs/devel.html">read our instructions for developers</a>.
    </p>


</div>
<!--#include virtual="../footer.html" -->
  </body>
</html>