Fix version checks related FAQ
On second thoughts: there is a potential issue down the road with max version checks so this change was rolled back.
This commit is contained in:
1 parent
c8730660f5
commit
4d34c9d759
2 files changed
+81
-212
No files matched your search
@@ -484,7 +484,7 @@
|
||||
<li><strong>Q 3.9</strong>: <a class="normal" href="#entry_id_faq">What is an <code>entry_id</code>?</a></li>
|
||||
<li><strong>Q 3.10</strong>: <a class="normal" href="#entry_json">What is a <code>.entry.json</code> file and how is it used?</a></li>
|
||||
<li><strong>Q 3.11</strong>: <a class="normal" href="#jparse">How can I validate any JSON document?</a></li>
|
||||
<li><strong>Q 3.12</strong>: <a class="normal" href="#versions">What are required versions and how are they checked?</a></li>
|
||||
<li><strong>Q 3.12</strong>: <a class="normal" href="#install">How can I install the <code>mkiocccentry(1)</code> and related tools?</a></li>
|
||||
</ul>
|
||||
<h2 id="compiling-ioccc-entries">4. <a href="#compiling">Compiling IOCCC entries</a></h2>
|
||||
<ul>
|
||||
@@ -2273,13 +2273,11 @@ information about the author or authors of the submission, in JSON format.</p>
|
||||
<ul>
|
||||
<li>The current version of the <code>.auth.json</code> file.</li>
|
||||
</ul>
|
||||
<p><strong>IMPORTANT:</strong> this <strong>MUST</strong> be a valid <code>.auth.json</code> version for <strong>THIS</strong>
|
||||
IOCCC’s <code>.auth.json</code>, defined as <code>AUTH_VERSION</code> in
|
||||
<p><strong>IMPORTANT:</strong> this <strong>MUST</strong> be >= <strong>THIS</strong> IOCCC’s <code>.auth.json</code> version, defined as
|
||||
<code>AUTH_VERSION</code> in
|
||||
<a href="https://github.com/ioccc-src/mkiocccentry/blob/master/soup/version.h">soup/version.h</a>
|
||||
in the <a href="https://github.com/ioccc-src/mkiocccentry/">mkiocccentry repo</a>.</p>
|
||||
<p>See the
|
||||
FAQ on “<a href="#versions">version requirements</a>”
|
||||
for more details on what this means.</p></li>
|
||||
in the <a href="https://github.com/ioccc-src/mkiocccentry/">mkiocccentry repo</a>. If
|
||||
this is not the case your submission <strong>WILL BE</strong> rejected!</p></li>
|
||||
<li><p><code>IOCCC_contest</code> (double quoted string)</p>
|
||||
<ul>
|
||||
<li>Which contest number this is (e.g. 1 for 1984, 2 for 1985, 27 for 2020).</li>
|
||||
@@ -2304,39 +2302,28 @@ this is not the case your submission <strong>WILL BE</strong> rejected!</p></li>
|
||||
<ul>
|
||||
<li>The version of <code>mkiocccentry</code> that formed this <code>.auth.json</code> file.</li>
|
||||
</ul>
|
||||
<p><strong>IMPORTANT:</strong> this <strong>MUST</strong> be a valid <code>mkiocccentry(1)</code> version for <strong>THIS</strong>
|
||||
IOCCC’s <code>mkiocccentry(1)</code>, defined as <code>MKIOCCCENTRY_VERSION</code>
|
||||
<p><strong>IMPORTANT:</strong> this <strong>MUST</strong> be >= <strong>THIS</strong> IOCCC’s <code>mkiocccentry</code> version,
|
||||
defined as <code>MKIOCCCENTRY_VERSION</code> in
|
||||
<a href="https://github.com/ioccc-src/mkiocccentry/blob/master/soup/version.h">soup/version.h</a>
|
||||
in the <a href="https://github.com/ioccc-src/mkiocccentry/">mkiocccentry repo</a>.</p>
|
||||
<p>See the
|
||||
FAQ on “<a href="#versions">version requirements</a>”
|
||||
for more details on what this means.</p></li>
|
||||
in the <a href="https://github.com/ioccc-src/mkiocccentry/">mkiocccentry repo</a>. If
|
||||
this is not the case your submission <strong>WILL BE</strong> rejected!</p></li>
|
||||
<li><p><code>chkentry_version</code> (double quoted string)</p>
|
||||
<ul>
|
||||
<li>The version of <code>chkentry(1)</code> that was used to validate the submission
|
||||
<li>The version of <code>chkentry</code> that was used to validate the submission
|
||||
directory, including the <code>.auth.json</code> file.</li>
|
||||
</ul>
|
||||
<p><strong>IMPORTANT:</strong> this <strong>MUST</strong> be a valid <code>chkentry(1)</code> version for <strong>THIS</strong>
|
||||
IOCCC’s <code>chkentry(1)</code>, defined as <code>CHKENTRY_VERSION</code> in
|
||||
<p><strong>IMPORTANT:</strong> this <strong>MUST</strong> be >= <strong>THIS</strong> IOCCC’s <code>chkentry</code> version, defined
|
||||
as <code>CHKENTRY_VERSION</code> in
|
||||
<a href="https://github.com/ioccc-src/mkiocccentry/blob/master/soup/version.h">soup/version.h</a>
|
||||
in the <a href="https://github.com/ioccc-src/mkiocccentry/">mkiocccentry repo</a>. If
|
||||
this is not the case your submission <strong>WILL BE</strong> rejected!</p>
|
||||
<p>See the
|
||||
FAQ on “<a href="#versions">version requirements</a>”
|
||||
for more details on what this means.</p></li>
|
||||
this is not the case your submission <strong>WILL BE</strong> rejected!</p></li>
|
||||
<li><p><code>fnamchk_version</code> (double quoted string)</p>
|
||||
<ul>
|
||||
<li>The version of <code>fnamchk(1)</code> that <code>txzchk(1)</code> uses to validate the filename of
|
||||
<li>The version of <code>fnamchk</code> that <code>txzchk</code> uses to validate the filename of
|
||||
the xz compressed tarball.</li>
|
||||
</ul>
|
||||
<p><strong>IMPORTANT:</strong> this <strong>MUST</strong> be a valid <code>fnamchk(1)</code> version for <strong>THIS</strong>
|
||||
IOCCC’s <code>fnamchk(1)</code>, defined as <code>FNAMCHK_VERSION</code> in
|
||||
<a href="https://github.com/ioccc-src/mkiocccentry/blob/master/soup/version.h">soup/version.h</a>
|
||||
in the <a href="https://github.com/ioccc-src/mkiocccentry/">mkiocccentry repo</a>. If
|
||||
this is not the case your submission <strong>WILL BE</strong> rejected!</p>
|
||||
<p>See the
|
||||
FAQ on “<a href="#versions">version requirements</a>”
|
||||
for more details on what this means.</p></li>
|
||||
<p><strong>IMPORTANT:</strong> this <strong>MUST</strong> be >= <strong>THIS</strong> IOCCC’s <code>fnamchk</code> version in order for it
|
||||
to be valid. If this is not the case your submission <strong>WILL BE</strong> rejected!</p></li>
|
||||
<li><p><code>IOCCC_contest_id</code> (double quoted string)</p>
|
||||
<ul>
|
||||
<li>The IOCCC contestant ID used as a username in the form of <strong>in the form of
|
||||
@@ -2402,7 +2389,7 @@ See
|
||||
<a href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements" class="uri">https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements</a>
|
||||
for a list of valid codes.</li>
|
||||
</ul>
|
||||
<p><strong>NOTE:</strong> in <code>mkiocccentry(1)</code> use <code>XX</code> if you want your location to be anonymous.</p></li>
|
||||
<p><strong>NOTE:</strong> in <code>mkiocccentry</code> use <code>XX</code> if you want your location to be anonymous.</p></li>
|
||||
<li><p><code>email</code> (<code>null</code> or double quoted string)</p>
|
||||
<ul>
|
||||
<li>The <strong>email</strong> of this author in the form of <code>x@y</code>, or <code>null</code> if not provided.</li>
|
||||
@@ -2575,14 +2562,11 @@ for more information.</p>
|
||||
<ul>
|
||||
<li>The current version of the <code>.info.json</code> files.</li>
|
||||
</ul>
|
||||
<p><strong>IMPORTANT:</strong> this <strong>MUST</strong> be a valid <code>.info.json</code> version for
|
||||
<strong>THIS</strong> IOCCC’s <code>.info.json</code>, defined as <code>INFO_VERSION</code>
|
||||
<p><strong>IMPORTANT:</strong> this <strong>MUST</strong> be >= <strong>THIS</strong> IOCCC’s <code>.info.json</code> version, defined as
|
||||
<code>INFO_VERSION</code> in
|
||||
<a href="https://github.com/ioccc-src/mkiocccentry/blob/master/soup/version.h">soup/version.h</a>
|
||||
in the <a href="https://github.com/ioccc-src/mkiocccentry/">mkiocccentry repo</a>. If
|
||||
this is not the case your submission <strong>WILL BE</strong> rejected!</p>
|
||||
<p>See the
|
||||
FAQ on “<a href="#versions">version requirements</a>”
|
||||
for more details on what this means.</p></li>
|
||||
this is not the case your submission <strong>WILL BE</strong> rejected!</p></li>
|
||||
<li><p><code>IOCCC_contest</code> (double quoted string)</p>
|
||||
<ul>
|
||||
<li>Which contest number this is (e.g. 1 for 1984, 2 for 1985, 27 for 2020).</li>
|
||||
@@ -2605,66 +2589,51 @@ in the <a href="https://github.com/ioccc-src/mkiocccentry/">mkiocccentry repo</a
|
||||
this is not the case your submission <strong>WILL BE</strong> rejected!</p></li>
|
||||
<li><p><code>mkiocccentry_version</code> (double quoted string)</p>
|
||||
<ul>
|
||||
<li>The version of <code>mkiocccentry(1)</code> that formed this <code>.auth.json</code> file.</li>
|
||||
<li>The version of <code>mkiocccentry</code> that formed this <code>.auth.json</code> file.</li>
|
||||
</ul>
|
||||
<p><strong>IMPORTANT:</strong> this <strong>MUST</strong> be a valid <code>mkiocccentry(1)</code> version for <strong>THIS</strong>
|
||||
IOCCC’s <code>mkiocccentry(1)</code>, defined as <code>MKIOCCCENTRY_VERSION</code> in
|
||||
<p><strong>IMPORTANT:</strong> this <strong>MUST</strong> be >= <strong>THIS</strong> IOCCC’s <code>mkiocccentry</code> version,
|
||||
defined as <code>MKIOCCCENTRY_VERSION</code> in
|
||||
<a href="https://github.com/ioccc-src/mkiocccentry/blob/master/soup/version.h">soup/version.h</a>
|
||||
in the <a href="https://github.com/ioccc-src/mkiocccentry/">mkiocccentry repo</a>. If
|
||||
this is not the case your submission <strong>WILL BE</strong> rejected!</p>
|
||||
<p>See the
|
||||
FAQ on “<a href="#versions">version requirements</a>”
|
||||
for more details on what this means.</p></li>
|
||||
this is not the case your submission <strong>WILL BE</strong> rejected!</p></li>
|
||||
<li><p><code>iocccsize_version</code> (double quoted string)</p>
|
||||
<ul>
|
||||
<li>The version of <code>iocccsize(1)</code> that was used for this <code>.info.json</code> file.</li>
|
||||
<li>The version of <code>iocccsize</code> that was used for this <code>.info.json</code> file.</li>
|
||||
</ul>
|
||||
<p><strong>IMPORTANT:</strong> this <strong>MUST</strong> be a valid <code>iocccsize(1)</code> version for <strong>THIS</strong>
|
||||
IOCCC’s <code>iocccsize(1)</code>, defined as <code>IOCCCSIZE_VERSION</code> in
|
||||
<p><strong>IMPORTANT:</strong> this <strong>MUST</strong> be >= <strong>THIS</strong> IOCCC’s <code>iocccentry</code> version,
|
||||
defined as <code>IOCCCSIZE_VERSION</code> in
|
||||
<a href="https://github.com/ioccc-src/mkiocccentry/blob/master/soup/version.h">soup/version.h</a>
|
||||
in the <a href="https://github.com/ioccc-src/mkiocccentry/">mkiocccentry repo</a>. If
|
||||
this is not the case your submission <strong>WILL BE</strong> rejected!</p>
|
||||
<p>See the
|
||||
FAQ on “<a href="#versions">version requirements</a>”
|
||||
for more details on what this means.</p></li>
|
||||
this is not the case your submission <strong>WILL BE</strong> rejected!</p></li>
|
||||
<li><p><code>chkentry_version</code> (double quoted string)</p>
|
||||
<ul>
|
||||
<li>The version of <code>chkentry(1)</code> that was used to validate the submission
|
||||
<li>The version of <code>chkentry</code> that was used to validate the submission
|
||||
directory, including the <code>.info.json</code> file.</li>
|
||||
</ul>
|
||||
<p><strong>IMPORTANT:</strong> this <strong>MUST</strong> be a valid <code>chkentry(1)</code> version for <strong>THIS</strong>
|
||||
IOCCC’s <code>chkentry(1)</code>, defined as <code>CHKENTRY_VERSION</code> in
|
||||
<p><strong>IMPORTANT:</strong> this <strong>MUST</strong> be >= <strong>THIS</strong> IOCCC’s <code>chkentry</code> version, defined
|
||||
as <code>CHKENTRY_VERSION</code> in
|
||||
<a href="https://github.com/ioccc-src/mkiocccentry/blob/master/soup/version.h">soup/version.h</a>
|
||||
in the <a href="https://github.com/ioccc-src/mkiocccentry/">mkiocccentry repo</a>. If
|
||||
this is not the case your submission <strong>WILL BE</strong> rejected!</p>
|
||||
<p>See the
|
||||
FAQ on “<a href="#versions">version requirements</a>”
|
||||
for more details on what this means.</p></li>
|
||||
this is not the case your submission <strong>WILL BE</strong> rejected!</p></li>
|
||||
<li><p><code>fnamchk_version</code> (double quoted string)</p>
|
||||
<ul>
|
||||
<li>The version of <code>fnamchk(1)</code> that <code>txzchk</code> uses to validate the filename of
|
||||
<li>The version of <code>fnamchk</code> that <code>txzchk</code> uses to validate the filename of
|
||||
the xz compressed tarball.</li>
|
||||
</ul>
|
||||
<p><strong>IMPORTANT:</strong> this <strong>MUST</strong> be a valid <code>fnamchk(1)</code> version for <strong>THIS</strong>
|
||||
IOCCC’s <code>fnamchk(1)</code>, defined as <code>FNAMCHK_VERSION</code> in
|
||||
<p><strong>IMPORTANT:</strong> this <strong>MUST</strong> be >= <strong>THIS</strong> IOCCC’s <code>fnamchk</code> version, defined
|
||||
as <code>FNAMCHK_VERSION</code> in
|
||||
<a href="https://github.com/ioccc-src/mkiocccentry/blob/master/soup/version.h">soup/version.h</a>
|
||||
in the <a href="https://github.com/ioccc-src/mkiocccentry/">mkiocccentry repo</a>. If
|
||||
this is not the case your submission <strong>WILL BE</strong> rejected!</p>
|
||||
<p>See the
|
||||
FAQ on “<a href="#versions">version requirements</a>”
|
||||
for more details on what this means.</p></li>
|
||||
this is not the case your submission <strong>WILL BE</strong> rejected!</p></li>
|
||||
<li><p><code>txzchk_version</code> (double quoted string)</p>
|
||||
<ul>
|
||||
<li>The version of <code>txzchk(1)</code> used to validate the xz compressed tarball.</li>
|
||||
<li>The version of <code>txzchk</code> used to validate the xz compressed tarball.</li>
|
||||
</ul>
|
||||
<p><strong>IMPORTANT:</strong> this <strong>MUST</strong> be a valid <code>txzchk(1)</code> version for <strong>THIS</strong>
|
||||
IOCCC’s <code>txzchk(1)</code>, defined as <code>TXZCHK_VERSION</code> in
|
||||
<p><strong>IMPORTANT:</strong> this <strong>MUST</strong> be >= <strong>THIS</strong> IOCCC’s <code>txzchk</code> version, defined
|
||||
as <code>TXZCHK_VERSION</code> in
|
||||
<a href="https://github.com/ioccc-src/mkiocccentry/blob/master/soup/version.h">soup/version.h</a>
|
||||
in the <a href="https://github.com/ioccc-src/mkiocccentry/">mkiocccentry repo</a>. If
|
||||
this is not the case your submission <strong>WILL BE</strong> rejected!</p>
|
||||
<p>See the
|
||||
FAQ on “<a href="#versions">version requirements</a>”
|
||||
for more details on what this means.</p></li>
|
||||
this is not the case your submission <strong>WILL BE</strong> rejected!</p></li>
|
||||
<li><p><code>IOCCC_contest_id</code> (double quoted string)</p>
|
||||
<ul>
|
||||
<li>The IOCCC contestant ID used as a username in the form of <strong>in the form of
|
||||
@@ -2755,7 +2724,9 @@ violated but this is <code>true</code> then you stand a good chance of having yo
|
||||
submission rejected for violating <a href="next/rules.html#rule17">Rule 17</a>!</p></li>
|
||||
<li><p><code>highbit_warning</code> (boolean)</p>
|
||||
<ul>
|
||||
<li>This is ignored and will be removed for IOCCC29 and beyond.</li>
|
||||
<li><code>true</code> if <code>iocccsize</code> detects a high bit (unescaped octets with the high
|
||||
bit set - octet value >= 128); see <a href="next/rules.html#rule13">Rule 13</a>, else
|
||||
<code>false</code>.</li>
|
||||
</ul></li>
|
||||
<li><p><code>nul_warning</code> (boolean)</p>
|
||||
<ul>
|
||||
@@ -2820,7 +2791,7 @@ for more information.</p></li>
|
||||
<ul>
|
||||
<li><code>true</code> if the <code>Makefile</code> file has a <code>clobber</code> rule, else <code>false</code>.</li>
|
||||
</ul>
|
||||
<p><strong>IMPORTANT:</strong> if the <code>Makefile</code> file does <strong>NOT</strong> have a <code>clobber</code> rule and this
|
||||
<p><strong>IMPORTANT:</strong> if the <code>Makefile</code> file does <strong>NOT</strong> have an <code>clobber</code> rule and this
|
||||
boolean is <code>true</code> then you stand a good chance of having your submission
|
||||
rejected for violating <a href="next/rules.html#rule17">Rule 17</a>!</p>
|
||||
<p>See the
|
||||
@@ -3875,34 +3846,6 @@ install via the <code>mkiocccentry</code> repo because it has the dependencies b
|
||||
and because the <code>mkiocccentry</code> copy is that which is used by the current IOCCC,
|
||||
as the two can be different at times.</p>
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
<div id="versions">
|
||||
<h3 id="q-3.12-what-are-required-versions-and-how-are-they-checked">Q 3.12: What are required versions and how are they checked?</h3>
|
||||
</div>
|
||||
<p>For each contest the tools used must be a correct version. This correct version
|
||||
can be in a range: a valid version is >= the minimum version of a tool or file
|
||||
format that is specific to a particular IOCCC and which is not greater than the
|
||||
maximum version for that specific IOCCC. A required version is therefore a
|
||||
range, where as long as the version is between the min and max, that is >= min
|
||||
and <= max, and as long as it’s not a blacklisted version (the so-called
|
||||
poisonous versions), it is okay.</p>
|
||||
<p>The concept of a poisonous version exists in the case that a version has to be
|
||||
blacklisted for some problem. The file
|
||||
<a href="https://github.com/ioccc-src/mkiocccentry/blob/master/soup/version.h">soup/version.h</a>
|
||||
includes a list of versions, their minimum values and their maximum values.</p>
|
||||
<p>As an example, at the time of writing this, during IOCCC28, the minimum version
|
||||
of <code>mkiocccentry(1)</code> is <code>2.0.1 2025-03-02</code>. If however a fix was needed that
|
||||
necessitated a version change, the macro
|
||||
<code>MIN_MKIOCCCENTRY_VERSION</code> would be changed to that value, rather than map
|
||||
directly to <code>MKIOCCCENTRY_VERSION</code>. The maximum, <code>MAX_MKIOCCCENTRY_VERSION</code>, is
|
||||
defined as <code>MKIOCCCENTRY_VERSION</code> but to help distinguish that it is also the
|
||||
maximum, we use a separate macro.</p>
|
||||
<p>So as long as the version you use is >= this minimum and is <= the maximum, and
|
||||
as long as it is not in the poisonous list, you are okay. The poisonous versions
|
||||
lists can be found in
|
||||
<a href="https://github.com/ioccc-src/mkiocccentry/blob/master/soup/entry_util.c">soup/entry_util.c</a>.</p>
|
||||
<p>But as long as you are using the official version you should be fine as the
|
||||
contest would not open with an invalid version.</p>
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
<hr style="width:50%;text-align:left;margin-left:0">
|
||||
<hr style="width:50%;text-align:left;margin-left:0">
|
||||
<div id="compiling">
|
||||
|
||||
Reference in new issue
Block a user