Update FAQ, guidelines and quick start
This addresses most (if not all) of the recent changes to chkentry(1) though a more thorough check will be made later after the mkiocccentry code freeze.
This commit is contained in:
1 parent
c5adf3016b
commit
65cf447087
6 files changed
+324
-236
No files matched your search
@@ -425,7 +425,7 @@
|
|||||||
|
|
||||||
<!-- BEFORE: 1st line of markdown file: faq.md -->
|
<!-- BEFORE: 1st line of markdown file: faq.md -->
|
||||||
<h1 id="ioccc-faq-table-of-contents">IOCCC FAQ Table of Contents</h1>
|
<h1 id="ioccc-faq-table-of-contents">IOCCC FAQ Table of Contents</h1>
|
||||||
<p>This is FAQ version <strong>28.2.10 2025-02-26</strong>.</p>
|
<p>This is FAQ version <strong>28.2.11 2025-02-27</strong>.</p>
|
||||||
<h2 id="entering-the-ioccc-the-bare-minimum-you-need-to-know">0. <a href="#enter_questions">Entering the IOCCC: the bare minimum you need to know</a></h2>
|
<h2 id="entering-the-ioccc-the-bare-minimum-you-need-to-know">0. <a href="#enter_questions">Entering the IOCCC: the bare minimum you need to know</a></h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li><strong>Q 0.0</strong>: <a class="normal" href="#enter">How can I enter the IOCCC?</a></li>
|
<li><strong>Q 0.0</strong>: <a class="normal" href="#enter">How can I enter the IOCCC?</a></li>
|
||||||
@@ -434,7 +434,8 @@
|
|||||||
<li><strong>Q 0.1.1</strong>: <a class="normal" href="#about_mkiocccentry">What is <code>mkiocccentry(1)</code> in simple terms?</a></li>
|
<li><strong>Q 0.1.1</strong>: <a class="normal" href="#about_mkiocccentry">What is <code>mkiocccentry(1)</code> in simple terms?</a></li>
|
||||||
<li><strong>Q 0.1.2</strong>: <a class="normal" href="#obtaining_mkiocccentry">How do I obtain the latest mkiocccentry toolkit?</a></li>
|
<li><strong>Q 0.1.2</strong>: <a class="normal" href="#obtaining_mkiocccentry">How do I obtain the latest mkiocccentry toolkit?</a></li>
|
||||||
<li><strong>Q 0.1.3</strong>: <a class="normal" href="#compiling_mkiocccentry">How do I compile the mkiocccentry toolkit?</a></li>
|
<li><strong>Q 0.1.3</strong>: <a class="normal" href="#compiling_mkiocccentry">How do I compile the mkiocccentry toolkit?</a></li>
|
||||||
<li><strong>Q 0.1.4</strong>: <a class="normal" href="#using_mkiocccentry">How do I use mkiocccentry?</a></li>
|
<li><strong>Q 0.1.4</strong>: <a class="normal" href="#install">How do I install mkiocccentry(1) and related tools?</a></li>
|
||||||
|
<li><strong>Q 0.1.5</strong>: <a class="normal" href="#using_mkiocccentry">How do I use mkiocccentry?</a></li>
|
||||||
</ul></li>
|
</ul></li>
|
||||||
<li><strong>Q 0.2</strong>: <a class="normal" href="#platform">What platform should I assume for my submission?</a></li>
|
<li><strong>Q 0.2</strong>: <a class="normal" href="#platform">What platform should I assume for my submission?</a></li>
|
||||||
<li><strong>Q 0.3</strong>: <a class="normal" href="#makefile">What should I put in my submission Makefile?</a></li>
|
<li><strong>Q 0.3</strong>: <a class="normal" href="#makefile">What should I put in my submission Makefile?</a></li>
|
||||||
@@ -480,6 +481,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.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.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.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="#install">How can I install the <code>mkiocccentry(1)</code> and related tools?</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<h2 id="compiling-ioccc-entries">4. <a href="#compiling">Compiling IOCCC entries</a></h2>
|
<h2 id="compiling-ioccc-entries">4. <a href="#compiling">Compiling IOCCC entries</a></h2>
|
||||||
<ul>
|
<ul>
|
||||||
@@ -680,17 +682,43 @@ have an mkiocccentry tool directory:</p>
|
|||||||
<p>Once you’ve obtained the <strong>LATEST</strong> version (see the
|
<p>Once you’ve obtained the <strong>LATEST</strong> version (see the
|
||||||
FAQ on “<a href="#obtaining_mkiocccentry">obtaining the latest mkiocccentry toolkit</a>”
|
FAQ on “<a href="#obtaining_mkiocccentry">obtaining the latest mkiocccentry toolkit</a>”
|
||||||
to make sure of this), change to the <code>mkiocccentry</code> directory and then run:</p>
|
to make sure of this), change to the <code>mkiocccentry</code> directory and then run:</p>
|
||||||
|
<pre><code> make clobber all test</code></pre>
|
||||||
|
<p>to compile all the tools and run the test-suite.</p>
|
||||||
|
<p>You do not have to run the test-suite but if you wish to make sure all is in
|
||||||
|
order you may. If you wish to skip that:</p>
|
||||||
<pre><code> make clobber all</code></pre>
|
<pre><code> make clobber all</code></pre>
|
||||||
<p>to compile all the tools.</p>
|
<p>Jump to: <a href="#">top</a></p>
|
||||||
|
<div id="install">
|
||||||
|
<h3 id="q-0.1.4-how-do-i-install-mkiocccentry1-and-related-tools">Q 0.1.4: How do I install mkiocccentry(1) and related tools?</h3>
|
||||||
|
</div>
|
||||||
|
<p>After obtaining the toolkit (see the
|
||||||
|
FAQ on “<a href="#obtaining_mkiocccentry">obtaining the latest mkiocccentry toolkit</a>”)
|
||||||
|
and compiling the tools (see the
|
||||||
|
FAQ on “<a href="#compiling_mkiocccentry">compiling mkiocccentry</a>”
|
||||||
|
above) run as either <code>sudo(8)</code> or root <code>make install</code>:</p>
|
||||||
|
<pre><code> # if you use sudo(8):
|
||||||
|
sudo make install
|
||||||
|
|
||||||
|
# as root:
|
||||||
|
make install</code></pre>
|
||||||
|
<p>If everything goes well you should be able to run <code>mkiocccentry(1)</code>,
|
||||||
|
<code>txzchk(1)</code>, <code>chkentry(1)</code> and all the other installed tools from any directory,
|
||||||
|
and the tools that rely on other tools will be able to find those required tools
|
||||||
|
from any directory too.</p>
|
||||||
|
<p>Some tools like <code>bug_report.sh</code> and <code>hostchk.sh</code> are not meant to be installed
|
||||||
|
and will not work from any directory, however.</p>
|
||||||
<p>Jump to: <a href="#">top</a></p>
|
<p>Jump to: <a href="#">top</a></p>
|
||||||
<div id="using_mkiocccentry">
|
<div id="using_mkiocccentry">
|
||||||
<h4 id="q-0.1.4-how-do-i-use-mkiocccentry">Q 0.1.4: How do I use mkiocccentry?</h4>
|
<h4 id="q-0.1.5-how-do-i-use-mkiocccentry">Q 0.1.5: How do I use mkiocccentry?</h4>
|
||||||
</div>
|
</div>
|
||||||
<p>Once you have registered, you will need to package your entry with the
|
<p>Once you have registered, you will need to package your entry with the
|
||||||
<code>mkiocccentry</code> tool. If you have not already obtained the toolkit, see the
|
<code>mkiocccentry</code> tool. If you have not already obtained the toolkit, see the
|
||||||
FAQ on “<a href="#obtaining_mkiocccentry">obtaining the mkiocccentry toolkit</a>”
|
FAQ on “<a href="#obtaining_mkiocccentry">obtaining the most recent mkiocccentry
|
||||||
and the
|
toolkit</a>”,
|
||||||
|
the
|
||||||
FAQ on “<a href="#compiling_mkiocccentry">compiling mkiocccentry</a>”
|
FAQ on “<a href="#compiling_mkiocccentry">compiling mkiocccentry</a>”
|
||||||
|
and the
|
||||||
|
FAQ on “<a href="#installing">installing the mkiocccentry tools</a>”
|
||||||
if you have not already done so.</p>
|
if you have not already done so.</p>
|
||||||
<p>The below details discuss this very important tool. As it is complicated we will
|
<p>The below details discuss this very important tool. As it is complicated we will
|
||||||
explain how to use this tool. If you want to know what it is in simpler terms,
|
explain how to use this tool. If you want to know what it is in simpler terms,
|
||||||
@@ -709,15 +737,10 @@ the timestamp; see the <a href="next/rules.html">rules</a> for more details on t
|
|||||||
particular <a href="next/rules.html#rule17">Rule 17</a>.</p>
|
particular <a href="next/rules.html#rule17">Rule 17</a>.</p>
|
||||||
<p><strong>IMPORTANT NOTE</strong>: if you run the program outside the repo directory
|
<p><strong>IMPORTANT NOTE</strong>: if you run the program outside the repo directory
|
||||||
(specifying the absolute or relative path to the tool) and you have not
|
(specifying the absolute or relative path to the tool) and you have not
|
||||||
installed the tools then you will have to specify the options for the tools that
|
installed the tools (and we <strong>STRONGLY</strong> recommend you <strong>do</strong> install them),
|
||||||
are required like <code>chkentry(1)</code>, <code>txzchk(1)</code> and <code>fnamchk(1)</code>. But even if you
|
then you will have to specify the options for the tools that are required like
|
||||||
have installed them but some tools are out of date (in the install path) it will
|
<code>chkentry(1)</code>, <code>txzchk(1)</code> and <code>fnamchk(1)</code>. And remember to make sure you have
|
||||||
cause problems. Additionally, if you do not have the most recent version when
|
the latest version so you do not violate <a href="next/rules.html#rule17">Rule 17</a>.</p>
|
||||||
submitting a tarball it will be rejected for not having the right versions of
|
|
||||||
the tools. This is why you <strong>MUST</strong> make sure you have the most recent version
|
|
||||||
of all the tools and you either run it from the repo directory itself OR you
|
|
||||||
install them (<code>make install</code> as via <code>sudo</code> or as root). We recommend you install
|
|
||||||
the tools but if you wish to run it from the repo directory you may.</p>
|
|
||||||
<p>If the <strong><em>subdirectory</em> in the <em>work directory</em></strong> (based on your submit ID and
|
<p>If the <strong><em>subdirectory</em> in the <em>work directory</em></strong> (based on your submit ID and
|
||||||
slot number) already exists, you will have to move it, remove it or otherwise
|
slot number) already exists, you will have to move it, remove it or otherwise
|
||||||
specify a different work directory (<strong>NOT</strong> the subdirectory), as it needs to be
|
specify a different work directory (<strong>NOT</strong> the subdirectory), as it needs to be
|
||||||
@@ -1741,16 +1764,14 @@ you can do so. For instance:</p>
|
|||||||
FAQ on “<a href="#txzchk">validating your submission tarball</a>”
|
FAQ on “<a href="#txzchk">validating your submission tarball</a>”
|
||||||
for more information.</p>
|
for more information.</p>
|
||||||
<p>Jump to: <a href="#">top</a></p>
|
<p>Jump to: <a href="#">top</a></p>
|
||||||
<div id="validating_auth_info_json">
|
|
||||||
<div id="chkentry">
|
<div id="chkentry">
|
||||||
<h3 id="q-3.3-how-can-i-validate-my-submission-directory">Q 3.3: How can I validate my submission directory?</h3>
|
<h3 id="q-3.3-how-can-i-validate-my-submission-directory">Q 3.3: How can I validate my submission directory?</h3>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<p>If you want to validate your submission directory manually, including but not
|
<p>If you want to validate your submission directory manually, including but not
|
||||||
limited to the <code>.auth.json</code> or <code>.info.json</code> files, you should use <code>chkentry(1)</code>
|
limited to the <code>.auth.json</code> and <code>.info.json</code> files, you should use <code>chkentry(1)</code>
|
||||||
from the <a href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry repo</a>.</p>
|
from the <a href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry repo</a>.</p>
|
||||||
<p>The <code>chkentry(1)</code> tool runs a variety of checks on your submission directory,
|
<p>The <code>chkentry(1)</code> tool runs a variety of checks on your submission directory,
|
||||||
including but not limited to, using the <a href="https://github.com/ioccc-src/mkiocccentry/blob/master/jparse/man/man3/jparse.3">jparse
|
including, but not limited to, using the <a href="https://github.com/ioccc-src/mkiocccentry/blob/master/jparse/man/man3/jparse.3">jparse
|
||||||
API</a>
|
API</a>
|
||||||
to validate the two IOCCC specific JSON files (as valid JSON) and additional
|
to validate the two IOCCC specific JSON files (as valid JSON) and additional
|
||||||
checks on those files as well. An important thing that it does is verify that
|
checks on those files as well. An important thing that it does is verify that
|
||||||
@@ -1768,12 +1789,14 @@ and
|
|||||||
FAQ on “<a href="#info_json">.info.json</a>”
|
FAQ on “<a href="#info_json">.info.json</a>”
|
||||||
for more details on the two required and very important JSON files.</p>
|
for more details on the two required and very important JSON files.</p>
|
||||||
<p>The <code>chkentry(1)</code> tool accepts a single arg, a directory that <strong>MUST</strong> have the
|
<p>The <code>chkentry(1)</code> tool accepts a single arg, a directory that <strong>MUST</strong> have the
|
||||||
two JSON files, <code>.auth.json</code> and <code>.info.json</code>. (Okay there is an option to skip
|
two JSON files, <code>.auth.json</code> and <code>.info.json</code> as well as the <code>prog.c</code>,
|
||||||
files but this is for the judges <strong>ONLY</strong>; use of this option to validate your
|
<code>Makefile</code> and <code>remarks.md</code> files along with all the other files listed in the
|
||||||
submission puts you at a great risk of violating <a href="next/rules.html#rule17">Rule
|
<code>.info.json</code> manifest. (Okay there is an option to skip files but this is for
|
||||||
17</a>!).</p>
|
the judges <strong>ONLY</strong>; use of this option to validate your submission puts you at
|
||||||
<p>As an example, if your submission directory is <code>12345678-1234-4321-abcd-1234567890ab-0/</code> then you should run the
|
a great risk of violating <a href="next/rules.html#rule17">Rule 17</a>!).</p>
|
||||||
following command:</p>
|
<p>As an example, if your submission directory is
|
||||||
|
<code>12345678-1234-4321-abcd-1234567890ab-0/</code> then you should run the following
|
||||||
|
command:</p>
|
||||||
<pre><code> chkentry 12345678-1234-4321-abcd-1234567890ab-0</code></pre>
|
<pre><code> chkentry 12345678-1234-4321-abcd-1234567890ab-0</code></pre>
|
||||||
<p>If there is a <a href="https://www.json.org/json-en.html">JSON</a> issue detected by the
|
<p>If there is a <a href="https://www.json.org/json-en.html">JSON</a> issue detected by the
|
||||||
<code>jparse(3)</code> API (i.e. it is not valid JSON) it is an error and <code>chkentry(1)</code>
|
<code>jparse(3)</code> API (i.e. it is not valid JSON) it is an error and <code>chkentry(1)</code>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# IOCCC FAQ Table of Contents
|
# IOCCC FAQ Table of Contents
|
||||||
|
|
||||||
This is FAQ version **28.2.10 2025-02-26**.
|
This is FAQ version **28.2.11 2025-02-27**.
|
||||||
|
|
||||||
|
|
||||||
## 0. [Entering the IOCCC: the bare minimum you need to know](#enter_questions)
|
## 0. [Entering the IOCCC: the bare minimum you need to know](#enter_questions)
|
||||||
@@ -9,7 +9,8 @@ This is FAQ version **28.2.10 2025-02-26**.
|
|||||||
- **Q 0.1.1**: <a class="normal" href="#about_mkiocccentry">What is `mkiocccentry(1)` in simple terms?</a>
|
- **Q 0.1.1**: <a class="normal" href="#about_mkiocccentry">What is `mkiocccentry(1)` in simple terms?</a>
|
||||||
- **Q 0.1.2**: <a class="normal" href="#obtaining_mkiocccentry">How do I obtain the latest mkiocccentry toolkit?</a>
|
- **Q 0.1.2**: <a class="normal" href="#obtaining_mkiocccentry">How do I obtain the latest mkiocccentry toolkit?</a>
|
||||||
- **Q 0.1.3**: <a class="normal" href="#compiling_mkiocccentry">How do I compile the mkiocccentry toolkit?</a>
|
- **Q 0.1.3**: <a class="normal" href="#compiling_mkiocccentry">How do I compile the mkiocccentry toolkit?</a>
|
||||||
- **Q 0.1.4**: <a class="normal" href="#using_mkiocccentry">How do I use mkiocccentry?</a>
|
- **Q 0.1.4**: <a class="normal" href="#install">How do I install mkiocccentry(1) and related tools?</a>
|
||||||
|
- **Q 0.1.5**: <a class="normal" href="#using_mkiocccentry">How do I use mkiocccentry?</a>
|
||||||
- **Q 0.2**: <a class="normal" href="#platform">What platform should I assume for my submission?</a>
|
- **Q 0.2**: <a class="normal" href="#platform">What platform should I assume for my submission?</a>
|
||||||
- **Q 0.3**: <a class="normal" href="#makefile">What should I put in my submission Makefile?</a>
|
- **Q 0.3**: <a class="normal" href="#makefile">What should I put in my submission Makefile?</a>
|
||||||
- **Q 0.4**: <a class="normal" href="#remarks">What should I put in the remarks.md file of my submission?</a>
|
- **Q 0.4**: <a class="normal" href="#remarks">What should I put in the remarks.md file of my submission?</a>
|
||||||
@@ -54,6 +55,7 @@ This is FAQ version **28.2.10 2025-02-26**.
|
|||||||
- **Q 3.9**: <a class="normal" href="#entry_id_faq">What is an `entry_id`?</a>
|
- **Q 3.9**: <a class="normal" href="#entry_id_faq">What is an `entry_id`?</a>
|
||||||
- **Q 3.10**: <a class="normal" href="#entry_json">What is a `.entry.json` file and how is it used?</a>
|
- **Q 3.10**: <a class="normal" href="#entry_json">What is a `.entry.json` file and how is it used?</a>
|
||||||
- **Q 3.11**: <a class="normal" href="#jparse">How can I validate any JSON document?</a>
|
- **Q 3.11**: <a class="normal" href="#jparse">How can I validate any JSON document?</a>
|
||||||
|
- **Q 3.12**: <a class="normal" href="#install">How can I install the `mkiocccentry(1)` and related tools?</a>
|
||||||
|
|
||||||
|
|
||||||
## 4. [Compiling IOCCC entries](#compiling)
|
## 4. [Compiling IOCCC entries](#compiling)
|
||||||
@@ -289,23 +291,66 @@ Once you've obtained the **LATEST** version (see the
|
|||||||
FAQ on "[obtaining the latest mkiocccentry toolkit](#obtaining_mkiocccentry)"
|
FAQ on "[obtaining the latest mkiocccentry toolkit](#obtaining_mkiocccentry)"
|
||||||
to make sure of this), change to the `mkiocccentry` directory and then run:
|
to make sure of this), change to the `mkiocccentry` directory and then run:
|
||||||
|
|
||||||
|
``` <!---sh-->
|
||||||
|
make clobber all test
|
||||||
|
```
|
||||||
|
|
||||||
|
to compile all the tools and run the test-suite.
|
||||||
|
|
||||||
|
You do not have to run the test-suite but if you wish to make sure all is in
|
||||||
|
order you may. If you wish to skip that:
|
||||||
|
|
||||||
``` <!---sh-->
|
``` <!---sh-->
|
||||||
make clobber all
|
make clobber all
|
||||||
```
|
```
|
||||||
|
|
||||||
to compile all the tools.
|
|
||||||
|
|
||||||
Jump to: [top](#)
|
Jump to: [top](#)
|
||||||
|
|
||||||
|
<div id="install">
|
||||||
|
### Q 0.1.4: How do I install mkiocccentry(1) and related tools?
|
||||||
|
</div>
|
||||||
|
|
||||||
|
After obtaining the toolkit (see the
|
||||||
|
FAQ on "[obtaining the latest mkiocccentry toolkit](#obtaining_mkiocccentry)")
|
||||||
|
and compiling the tools (see the
|
||||||
|
FAQ on "[compiling mkiocccentry](#compiling_mkiocccentry)"
|
||||||
|
above) run as either `sudo(8)` or root `make install`:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
``` <!---sh-->
|
||||||
|
# if you use sudo(8):
|
||||||
|
sudo make install
|
||||||
|
|
||||||
|
# as root:
|
||||||
|
make install
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
If everything goes well you should be able to run `mkiocccentry(1)`,
|
||||||
|
`txzchk(1)`, `chkentry(1)` and all the other installed tools from any directory,
|
||||||
|
and the tools that rely on other tools will be able to find those required tools
|
||||||
|
from any directory too.
|
||||||
|
|
||||||
|
Some tools like `bug_report.sh` and `hostchk.sh` are not meant to be installed
|
||||||
|
and will not work from any directory, however.
|
||||||
|
|
||||||
|
Jump to: [top](#)
|
||||||
|
|
||||||
|
|
||||||
<div id="using_mkiocccentry">
|
<div id="using_mkiocccentry">
|
||||||
#### Q 0.1.4: How do I use mkiocccentry?
|
#### Q 0.1.5: How do I use mkiocccentry?
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
Once you have registered, you will need to package your entry with the
|
Once you have registered, you will need to package your entry with the
|
||||||
`mkiocccentry` tool. If you have not already obtained the toolkit, see the
|
`mkiocccentry` tool. If you have not already obtained the toolkit, see the
|
||||||
FAQ on "[obtaining the mkiocccentry toolkit](#obtaining_mkiocccentry)"
|
FAQ on "[obtaining the most recent mkiocccentry
|
||||||
and the
|
toolkit](#obtaining_mkiocccentry)",
|
||||||
|
the
|
||||||
FAQ on "[compiling mkiocccentry](#compiling_mkiocccentry)"
|
FAQ on "[compiling mkiocccentry](#compiling_mkiocccentry)"
|
||||||
|
and the
|
||||||
|
FAQ on "[installing the mkiocccentry tools](#installing)"
|
||||||
if you have not already done so.
|
if you have not already done so.
|
||||||
|
|
||||||
The below details discuss this very important tool. As it is complicated we will
|
The below details discuss this very important tool. As it is complicated we will
|
||||||
@@ -332,15 +377,10 @@ particular [Rule 17](next/rules.html#rule17).
|
|||||||
|
|
||||||
**IMPORTANT NOTE**: if you run the program outside the repo directory
|
**IMPORTANT NOTE**: if you run the program outside the repo directory
|
||||||
(specifying the absolute or relative path to the tool) and you have not
|
(specifying the absolute or relative path to the tool) and you have not
|
||||||
installed the tools then you will have to specify the options for the tools that
|
installed the tools (and we **STRONGLY** recommend you **do** install them),
|
||||||
are required like `chkentry(1)`, `txzchk(1)` and `fnamchk(1)`. But even if you
|
then you will have to specify the options for the tools that are required like
|
||||||
have installed them but some tools are out of date (in the install path) it will
|
`chkentry(1)`, `txzchk(1)` and `fnamchk(1)`. And remember to make sure you have
|
||||||
cause problems. Additionally, if you do not have the most recent version when
|
the latest version so you do not violate [Rule 17](next/rules.html#rule17).
|
||||||
submitting a tarball it will be rejected for not having the right versions of
|
|
||||||
the tools. This is why you **MUST** make sure you have the most recent version
|
|
||||||
of all the tools and you either run it from the repo directory itself OR you
|
|
||||||
install them (`make install` as via `sudo` or as root). We recommend you install
|
|
||||||
the tools but if you wish to run it from the repo directory you may.
|
|
||||||
|
|
||||||
If the **_subdirectory_ in the _work directory_** (based on your submit ID and
|
If the **_subdirectory_ in the _work directory_** (based on your submit ID and
|
||||||
slot number) already exists, you will have to move it, remove it or otherwise
|
slot number) already exists, you will have to move it, remove it or otherwise
|
||||||
@@ -1584,18 +1624,16 @@ for more information.
|
|||||||
Jump to: [top](#)
|
Jump to: [top](#)
|
||||||
|
|
||||||
|
|
||||||
<div id="validating_auth_info_json">
|
|
||||||
<div id="chkentry">
|
<div id="chkentry">
|
||||||
### Q 3.3: How can I validate my submission directory?
|
### Q 3.3: How can I validate my submission directory?
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
If you want to validate your submission directory manually, including but not
|
If you want to validate your submission directory manually, including but not
|
||||||
limited to the `.auth.json` or `.info.json` files, you should use `chkentry(1)`
|
limited to the `.auth.json` and `.info.json` files, you should use `chkentry(1)`
|
||||||
from the [mkiocccentry repo](https://github.com/ioccc-src/mkiocccentry).
|
from the [mkiocccentry repo](https://github.com/ioccc-src/mkiocccentry).
|
||||||
|
|
||||||
The `chkentry(1)` tool runs a variety of checks on your submission directory,
|
The `chkentry(1)` tool runs a variety of checks on your submission directory,
|
||||||
including but not limited to, using the [jparse
|
including, but not limited to, using the [jparse
|
||||||
API](https://github.com/ioccc-src/mkiocccentry/blob/master/jparse/man/man3/jparse.3)
|
API](https://github.com/ioccc-src/mkiocccentry/blob/master/jparse/man/man3/jparse.3)
|
||||||
to validate the two IOCCC specific JSON files (as valid JSON) and additional
|
to validate the two IOCCC specific JSON files (as valid JSON) and additional
|
||||||
checks on those files as well. An important thing that it does is verify that
|
checks on those files as well. An important thing that it does is verify that
|
||||||
@@ -1616,13 +1654,15 @@ FAQ on "[.info.json](#info_json)"
|
|||||||
for more details on the two required and very important JSON files.
|
for more details on the two required and very important JSON files.
|
||||||
|
|
||||||
The `chkentry(1)` tool accepts a single arg, a directory that **MUST** have the
|
The `chkentry(1)` tool accepts a single arg, a directory that **MUST** have the
|
||||||
two JSON files, `.auth.json` and `.info.json`. (Okay there is an option to skip
|
two JSON files, `.auth.json` and `.info.json` as well as the `prog.c`,
|
||||||
files but this is for the judges **ONLY**; use of this option to validate your
|
`Makefile` and `remarks.md` files along with all the other files listed in the
|
||||||
submission puts you at a great risk of violating [Rule
|
`.info.json` manifest. (Okay there is an option to skip files but this is for
|
||||||
17](next/rules.html#rule17)!).
|
the judges **ONLY**; use of this option to validate your submission puts you at
|
||||||
|
a great risk of violating [Rule 17](next/rules.html#rule17)!).
|
||||||
|
|
||||||
As an example, if your submission directory is `12345678-1234-4321-abcd-1234567890ab-0/` then you should run the
|
As an example, if your submission directory is
|
||||||
following command:
|
`12345678-1234-4321-abcd-1234567890ab-0/` then you should run the following
|
||||||
|
command:
|
||||||
|
|
||||||
|
|
||||||
``` <!---sh-->
|
``` <!---sh-->
|
||||||
@@ -3557,6 +3597,7 @@ something along those lines.
|
|||||||
Jump to: [top](#)
|
Jump to: [top](#)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div id="validating_json">
|
<div id="validating_json">
|
||||||
<div id="jparse">
|
<div id="jparse">
|
||||||
### Q 3.11: How can I validate any JSON document?
|
### Q 3.11: How can I validate any JSON document?
|
||||||
@@ -3612,6 +3653,7 @@ as the two can be different at times.
|
|||||||
|
|
||||||
Jump to: [top](#)
|
Jump to: [top](#)
|
||||||
|
|
||||||
|
|
||||||
<hr style="width:50%;text-align:left;margin-left:0">
|
<hr style="width:50%;text-align:left;margin-left:0">
|
||||||
<hr style="width:50%;text-align:left;margin-left:0">
|
<hr style="width:50%;text-align:left;margin-left:0">
|
||||||
|
|
||||||
|
|||||||
+74
-62
@@ -462,7 +462,7 @@ writing by <a href="../contact.html">contacting the judges</a>.</p>
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
These <a href="guidelines.html">IOCCC guidelines</a> are version <strong>28.39 2025-02-26</strong>.
|
These <a href="guidelines.html">IOCCC guidelines</a> are version <strong>28.40 2025-02-27</strong>.
|
||||||
</p>
|
</p>
|
||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
The markdown form of these guidelines <a href="guidelines.md"
|
The markdown form of these guidelines <a href="guidelines.md"
|
||||||
@@ -613,15 +613,19 @@ normal mode.
|
|||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
<strong>IMPORTANT NOTE</strong>: if you run the program outside the repo directory
|
<strong>IMPORTANT NOTE</strong>: if you run the program outside the repo directory
|
||||||
(specifying the absolute or relative path to the tool) and you have not
|
(specifying the absolute or relative path to the tool) and you have not
|
||||||
installed the tools then you will have to specify the options for the tools that
|
installed the tools (and we <strong>STRONGLY</strong> recommend you <strong>do</strong> install them),
|
||||||
are required like <code>chkentry(1)</code>, <code>txzchk(1)</code> and <code>fnamchk(1)</code>. But even if you
|
then you will have to specify the options for the tools that are required like
|
||||||
have installed them but some tools are out of date (in the install path) it will
|
<code>chkentry(1)</code>, <code>txzchk(1)</code> and <code>fnamchk(1)</code>. And remember to make sure you have
|
||||||
cause problems. Additionally, if you do not have the most recent version when
|
the latest version so you do not violate <a href="rules.html#rule17">Rule 17</a>.
|
||||||
submitting a tarball it will be rejected for not having the right versions of
|
See the
|
||||||
the tools. This is why you <strong>MUST</strong> make sure you have the most recent version
|
FAQ on “<a href="../faq.html#obtaining_mkiocccentry">obtaining the latest mkiocccentry tools</a>”,
|
||||||
of all the tools and you either run it from the repo directory itself OR you
|
the
|
||||||
install them (<code>make install</code> as via <code>sudo</code> or as root). We recommend you install
|
FAQ on “<a href="../faq.html#compiling_mkiocccentry">compiling the mkiocccentry tools</a>”,
|
||||||
the tools but if you wish to run it from the repo directory you may.
|
the
|
||||||
|
FAQ on “<a href="../faq.html#installing">installing the mkiocccentry tools</a>”
|
||||||
|
and the
|
||||||
|
FAQ on “<a href="../faq.html#using_mkiocccentry">using the mkiocccentry tools</a>”
|
||||||
|
for more help.
|
||||||
</p>
|
</p>
|
||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
<a href="rules.html#rule17">Rule 17</a> has been <strong>significantly modified</strong>
|
<a href="rules.html#rule17">Rule 17</a> has been <strong>significantly modified</strong>
|
||||||
@@ -858,9 +862,10 @@ its algorithm.
|
|||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
If <code>mkiocccentry</code> encounters an <strong>error</strong> the program will exit and the xz
|
If <code>mkiocccentry</code> encounters an <strong>error</strong> the program will exit and the xz
|
||||||
compressed tarball <strong>will not be formed</strong>. For instance, if
|
compressed tarball <strong>will not be formed</strong>. For instance, if
|
||||||
<a href="#chkentry">chkentry</a> fails to validate the <code>.auth.json</code> or <code>.info.json</code>
|
<a href="#chkentry">chkentry</a> fails to validate the submission directory, either because
|
||||||
<a href="https://www.json.org/json-en.html">JSON</a> files (see below) that
|
of a validation error in the <code>.auth.json</code> or <code>.info.json</code>
|
||||||
<code>mkiocccentry(1)</code> creates, or anything else <code>mkiocccentry(1)</code> does, it is an
|
<a href="https://www.json.org/json-en.html">JSON</a> files or because of
|
||||||
|
something else that <code>mkiocccentry(1)</code> creates or does, it is an
|
||||||
<strong>error</strong> and <strong>possibly</strong> a bug that you should <a href="https://github.com/ioccc-src/mkiocccentry/issues/new?assignees=&labels=bug&projects=&template=bug_report.yml&title=%5BBug%5D+%3Ctitle%3E">report as a bug at the
|
<strong>error</strong> and <strong>possibly</strong> a bug that you should <a href="https://github.com/ioccc-src/mkiocccentry/issues/new?assignees=&labels=bug&projects=&template=bug_report.yml&title=%5BBug%5D+%3Ctitle%3E">report as a bug at the
|
||||||
mkiocccentry bug report
|
mkiocccentry bug report
|
||||||
page</a>.
|
page</a>.
|
||||||
@@ -931,7 +936,17 @@ checks described above are still made but through <code>mkiocccentry</code> itse
|
|||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
<code>mkiocccentry(1)</code> will write two JSON files: <code>.auth.json</code> and
|
<code>mkiocccentry(1)</code> will write two JSON files: <code>.auth.json</code> and
|
||||||
<code>.info.json</code>. These files contain information about the author(s) and about the
|
<code>.info.json</code>. These files contain information about the author(s) and about the
|
||||||
submission. These files <strong>MUST</strong> pass the checks of <code>chkentry(1)</code>!
|
submission. After these files are formed, the <code>chkentry(1)</code> tool will be run on
|
||||||
|
the submission directory; this tool not only validates the two JSON files
|
||||||
|
(running specific checks on them after validating the JSON), but it also
|
||||||
|
verifies that what is in the manifest in <code>.info.json</code> matches the contents of
|
||||||
|
the directory, in addition to other checks. If <code>chkentry(1)</code> fails to validate
|
||||||
|
anything at all, your submission <strong>WILL BE</strong> rejected!
|
||||||
|
</p>
|
||||||
|
<p class="leftbar">
|
||||||
|
<strong>IMPORTANT</strong>: although <code>chkentry(1)</code> validates the files in the directory, it
|
||||||
|
only inspects the contents of the two JSON files; it performs other checks on
|
||||||
|
the other files, and those checks are run on the two JSON files as well.
|
||||||
</p>
|
</p>
|
||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
If <code>chkentry</code> does not pass and you used <code>mkiocccentry(1)</code> it is <strong>very likely</strong> a
|
If <code>chkentry</code> does not pass and you used <code>mkiocccentry(1)</code> it is <strong>very likely</strong> a
|
||||||
@@ -941,26 +956,21 @@ page</a>.
|
|||||||
</p>
|
</p>
|
||||||
<pre><code> make bug_report</code></pre>
|
<pre><code> make bug_report</code></pre>
|
||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
from the top level repo directory itself.
|
from the top level repo directory itself and attach the bug report file (it will
|
||||||
See also the
|
tell you the name of the file). See also the
|
||||||
FAQ on “<a href="../faq.html#mkiocccentry_bugs">reporting mkiocccentry bugs</a>”.
|
FAQ on “<a href="../faq.html#mkiocccentry_bugs">reporting mkiocccentry bugs</a>”.
|
||||||
</p>
|
</p>
|
||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
Assuming that <code>chkentry(1)</code> successfully validates both <code>.auth.json</code> and
|
Assuming that <code>chkentry(1)</code> successfully validates your submission directory,
|
||||||
<code>.info.json</code>, then the tarball will be formed and then <code>txzchk(1)</code> will be
|
the tarball will be formed and then <code>txzchk(1)</code> will be executed on it. In this
|
||||||
executed on it. In this case, there should be no problems, as <code>mkiocccentry(1)</code> should
|
case, there should be no problems, as <code>mkiocccentry(1)</code> should <strong>NOT</strong> form a
|
||||||
<strong>NOT</strong> form a tarball if there are any issues.
|
tarball if there are any issues.
|
||||||
</p>
|
|
||||||
<p class="leftbar">
|
|
||||||
<strong>NOTE</strong>: <code>chkentry(1)</code> also validates other things in your submission
|
|
||||||
directory.
|
|
||||||
</p>
|
</p>
|
||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
If <code>mkiocccentry(1)</code> is used and <code>chkentry(1)</code> fails to validate your submission
|
If <code>mkiocccentry(1)</code> is used and <code>chkentry(1)</code> fails to validate your submission
|
||||||
directory, then unless it is a system specific problem, it could be a bug in
|
directory, then unless it is a system specific problem, it could be a bug in
|
||||||
<code>mkiocccentry(1)</code>, <code>chkentry(1)</code> or possibly <code>jparse</code>, though this is quite
|
<code>mkiocccentry(1)</code>, <code>chkentry(1)</code> or possibly <code>jparse</code>, although this is unlikely.
|
||||||
unlikely. Nonetheless, if you believe there is a bug, you may report it as
|
Nonetheless, if you believe there is a bug, you may report it as explained above.
|
||||||
explained above.
|
|
||||||
</p>
|
</p>
|
||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
If you want to know what <code>.auth.json</code> is, see the
|
If you want to know what <code>.auth.json</code> is, see the
|
||||||
@@ -983,13 +993,12 @@ jparse</a>, for more
|
|||||||
details.
|
details.
|
||||||
</p>
|
</p>
|
||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
The <code>jparse</code> parser, library and tools were co-developed by
|
The <code>jparse</code> parser, library and tools were co-developed by <a href="../authors.html#Cody_Boone_Ferguson">Cody Boone
|
||||||
<a href="../authors.html#Cody_Boone_Ferguson">Cody Boone Ferguson</a> and
|
Ferguson</a> and <a href="http://www.isthe.com/chongo/index.html">Landon Curt
|
||||||
<a href="http://www.isthe.com/chongo/index.html">Landon Curt Noll</a> in 2022 and come
|
Noll</a> in 2022-2025 and come from the
|
||||||
from the <a href="https://github.com/xexyl/jparse">jparse repo</a>. However, the
|
<a href="https://github.com/xexyl/jparse">jparse repo</a>. However, the <strong>mkiocccentry
|
||||||
<strong>mkiocccentry tools use a <em>clone</em></strong> of the <a href="https://github.com/xexyl/jparse">jparse
|
tools use a <em>clone</em></strong> of the <a href="https://github.com/xexyl/jparse">jparse repo</a> <strong>at
|
||||||
repo</a> <strong>at a <em>specific</em> release</strong>.
|
a <em>specific</em> release</strong>. Thus the <code>mkiocccentry</code> will at times be behind the
|
||||||
Thus the <code>mkiocccentry</code> will at times be behind the
|
|
||||||
<a href="https://github.com/xexyl/jparse">jparse repo</a>!
|
<a href="https://github.com/xexyl/jparse">jparse repo</a>!
|
||||||
</p>
|
</p>
|
||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
@@ -1017,10 +1026,8 @@ make sure that you’re using the correct versions, which is also verified by
|
|||||||
</p>
|
</p>
|
||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
Please see the
|
Please see the
|
||||||
FAQ on “<a href="../faq.html#chkentry">validating .auth.json and/or .info.json files</a>
|
FAQ on “<a href="../faq.html#chkentry">validating your submission directory</a>
|
||||||
for more details on <code>chkentry</code> and how you can use it to validate your
|
for more details on <code>chkentry</code>.
|
||||||
<code>.auth.json</code> and <code>.info.json</code> files (and your submission directory in general)
|
|
||||||
manually, without having to repackage your submission.
|
|
||||||
</p>
|
</p>
|
||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
You might also wish to see the
|
You might also wish to see the
|
||||||
@@ -1944,46 +1951,51 @@ some Intel-like x86 architecture**.
|
|||||||
The IOCCC size tool source is not an original work, unless you are <a href="../authors.html#Anthony_C_Howe">Anthony C
|
The IOCCC size tool source is not an original work, unless you are <a href="../authors.html#Anthony_C_Howe">Anthony C
|
||||||
Howe</a>, in which case it is original! :-)
|
Howe</a>, in which case it is original! :-)
|
||||||
Submitting source code that uses the content of
|
Submitting source code that uses the content of
|
||||||
<a href="https://github.com/ioccc-src/mkiocccentry/blob/master/iocccsize.c">iocccsize.c</a>, unless you are
|
<a href="https://github.com/ioccc-src/mkiocccentry/blob/master/iocccsize.c">iocccsize.c</a>,
|
||||||
<a href="../authors.html#Anthony_C_Howe">Anthony C Howe</a>, might run the risk of
|
<em>unless</em> you are <a href="../authors.html#Anthony_C_Howe">Anthony C Howe</a>, might run the
|
||||||
violating <a href="rules.html#rule7">Rule 7</a>.
|
risk of violating <a href="rules.html#rule7">Rule 7</a>.
|
||||||
</p>
|
</p>
|
||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
The <code>txzchk(1)</code> tool source is not an original work,
|
The IOCCC submission tarball validator source is not an original work,
|
||||||
unless you are <a href="../authors.html#Cody_Boone_Ferguson">Cody Boone Ferguson</a>, in
|
unless you are <a href="../authors.html#Cody_Boone_Ferguson">Cody Boone Ferguson</a>, in
|
||||||
which case it is original! :-) Submitting source code that uses the contents of
|
which case it is original! :-) Submitting source code that uses the contents of
|
||||||
<a href="https://github.com/ioccc-src/mkiocccentry/blob/master/txzchk.c">txzchk.c</a>,
|
<a href="https://github.com/ioccc-src/mkiocccentry/blob/master/txzchk.c">txzchk.c</a>,
|
||||||
unless you are <a href="../authors.html#Cody_Boone_Ferguson">Cody Boone Ferguson</a>, might
|
<em>unless</em> you are <a href="../authors.html#Cody_Boone_Ferguson">Cody Boone Ferguson</a>, might
|
||||||
run the risk of violating <a href="rules.html#rule7">Rule 7</a>.
|
run the risk of violating <a href="rules.html#rule7">Rule 7</a>.
|
||||||
</p>
|
</p>
|
||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
Neither the <a href="https://github.com/ioccc-src/mkiocccentry/blob/master/chkentry.c">chkentry tool
|
In addition to the above tools, none of the <a href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry
|
||||||
source</a> nor
|
tools</a>, <em>including, <strong>but not
|
||||||
the <a href="https://github.com/ioccc-src/mkiocccentry/blob/master/jparse/README.md">JSON parser and
|
limited</strong></em> to
|
||||||
library</a>
|
<a href="https://github.com/ioccc-src/mkiocccentry/blob/master/mkiocccentry.c">mkiocccentry</a>,
|
||||||
nor
|
<a href="https://github.com/ioccc-src/mkiocccentry/blob/master/chkentry.c">chkentry</a>,
|
||||||
<a href="https://github.com/ioccc-src/mkiocccentry/blob/master/jparse/jstrencode.c">jstrencode</a>
|
<a href="https://github.com/ioccc-src/mkiocccentry/blob/master/test_ioccc/fnamchk.c">fnamchk</a>
|
||||||
nor
|
and
|
||||||
|
<a href="https://github.com/ioccc-src/mkiocccentry/blob/master/soup/location_main.c">location</a>,
|
||||||
|
nor the <a href="https://github.com/ioccc-src/mkiocccentry/blob/master/jparse/README.md">JSON parser and
|
||||||
|
library</a>,
|
||||||
|
<a href="https://github.com/ioccc-src/mkiocccentry/blob/master/jparse/jstrencode.c">jstrencode</a>,
|
||||||
<a href="https://github.com/ioccc-src/mkiocccentry/blob/master/jparse/jstrdecode.c">jstrdecode</a>
|
<a href="https://github.com/ioccc-src/mkiocccentry/blob/master/jparse/jstrdecode.c">jstrdecode</a>
|
||||||
nor any of the other <a href="https://github.com/ioccc-src/mkiocccentry/blob/master/jparse">jparse
|
or any of the other <a href="https://github.com/ioccc-src/mkiocccentry/blob/master/jparse">jparse
|
||||||
tools</a>
|
tools</a>
|
||||||
(see the <a href="https://github.com/xexyl/jparse/">jparse repo</a>), nor the <a href="https://github.com/ioccc-src/mkiocccentry/blob/master/test_ioccc/fnamchk.c">fnamchk tool
|
(see the <a href="https://github.com/xexyl/jparse/">jparse repo</a>), are original works,
|
||||||
source</a>,
|
|
||||||
are original works,
|
|
||||||
unless you are <a href="../authors.html#Cody_Boone_Ferguson">Cody Boone Ferguson</a> or
|
unless you are <a href="../authors.html#Cody_Boone_Ferguson">Cody Boone Ferguson</a> or
|
||||||
<a href="http://www.isthe.com/chongo/index.html">Landon Curt Noll</a>, in which case they
|
<a href="http://www.isthe.com/chongo/index.html">Landon Curt Noll</a>, in which case they
|
||||||
are original! :-) Submitting source code that uses the code of any of these tools or
|
are original! :-) Submitting source code that uses the content of any of these tools or
|
||||||
library, unless you are <a href="../authors.html#Cody_Boone_Ferguson">Cody Boone
|
library, <em>unless</em> you are <a href="../authors.html#Cody_Boone_Ferguson">Cody Boone
|
||||||
Ferguson</a> or <a href="http://www.isthe.com/chongo/index.html">Landon Curt
|
Ferguson</a> or <a href="http://www.isthe.com/chongo/index.html">Landon Curt
|
||||||
Noll</a>, might run the risk of violating
|
Noll</a>, might run the risk of violating
|
||||||
<a href="rules.html#rule7">Rule 7</a>.
|
<a href="rules.html#rule7">Rule 7</a>.
|
||||||
</p>
|
</p>
|
||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
Unless you are <a href="http://www.isthe.com/chongo/index.html">Landon Curt Noll</a>, the
|
And unless you are <a href="http://www.isthe.com/chongo/index.html">Landon Curt Noll</a>,
|
||||||
remaining tools in the <a href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry repo</a>
|
the code in
|
||||||
are <strong>NOT</strong> original works. Submitting source code that uses the content of those tools,
|
<a href="https://github.com/ioccc-src/mkiocccentry/tree/master/dbg">dbg</a> and
|
||||||
unless you are <a href="http://www.isthe.com/chongo/index.html">Landon Curt Noll</a>, might
|
<a href="https://github.com/ioccc-src/mkiocccentry/tree/master/dyn_array">dyn_array</a> are
|
||||||
run the risk of violating <a href="rules.html#rule7">Rule 7</a>.
|
not original works. Submitting source code that uses the content of those
|
||||||
|
libraries, <em>unless</em> you <a href="http://www.isthe.com/chongo/index.html">Landon Curt
|
||||||
|
Noll</a>, might run the risk of violating
|
||||||
|
<a href="rules.html#rule7">Rule 7</a>.
|
||||||
</p>
|
</p>
|
||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
<a href="rules.html#rule7">Rule 7</a> does not prohibit you from writing your own
|
<a href="rules.html#rule7">Rule 7</a> does not prohibit you from writing your own
|
||||||
@@ -1999,7 +2011,7 @@ mind that writing an obfuscated version of a library runs the risk of violating
|
|||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
Even so, we do not recommend you try and submit a JSON parser due to
|
Even so, we do not recommend you try and submit a JSON parser due to
|
||||||
the fact it will likely exceed <a href="rules.html#rule2">the source code size limit</a>
|
the fact it will likely exceed <a href="rules.html#rule2">the source code size limit</a>
|
||||||
and because you likely can’t beat <a href="https://github.com/westes/flex">flex</a> or
|
and because you likely can’t beat <a href="https://github.com/westes/flex">flex</a> and
|
||||||
<a href="https://www.gnu.org/software/bison/">bison</a> in obfuscation. This isn’t to
|
<a href="https://www.gnu.org/software/bison/">bison</a> in obfuscation. This isn’t to
|
||||||
say that <a href="https://github.com/xexyl/jparse/blob/master/json_README.md#so-called-json-spec">the so-called JSON spec</a> is not
|
say that <a href="https://github.com/xexyl/jparse/blob/master/json_README.md#so-called-json-spec">the so-called JSON spec</a> is not
|
||||||
obfuscated, but unless you have some really clever way to compact and
|
obfuscated, but unless you have some really clever way to compact and
|
||||||
|
|||||||
+75
-64
@@ -50,7 +50,7 @@ Jump to: [top](#)
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
These [IOCCC guidelines](guidelines.html) are version **28.39 2025-02-26**.
|
These [IOCCC guidelines](guidelines.html) are version **28.40 2025-02-27**.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
@@ -238,15 +238,19 @@ normal mode.
|
|||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
**IMPORTANT NOTE**: if you run the program outside the repo directory
|
**IMPORTANT NOTE**: if you run the program outside the repo directory
|
||||||
(specifying the absolute or relative path to the tool) and you have not
|
(specifying the absolute or relative path to the tool) and you have not
|
||||||
installed the tools then you will have to specify the options for the tools that
|
installed the tools (and we **STRONGLY** recommend you **do** install them),
|
||||||
are required like `chkentry(1)`, `txzchk(1)` and `fnamchk(1)`. But even if you
|
then you will have to specify the options for the tools that are required like
|
||||||
have installed them but some tools are out of date (in the install path) it will
|
`chkentry(1)`, `txzchk(1)` and `fnamchk(1)`. And remember to make sure you have
|
||||||
cause problems. Additionally, if you do not have the most recent version when
|
the latest version so you do not violate [Rule 17](rules.html#rule17).
|
||||||
submitting a tarball it will be rejected for not having the right versions of
|
See the
|
||||||
the tools. This is why you **MUST** make sure you have the most recent version
|
FAQ on "[obtaining the latest mkiocccentry tools](../faq.html#obtaining_mkiocccentry)",
|
||||||
of all the tools and you either run it from the repo directory itself OR you
|
the
|
||||||
install them (`make install` as via `sudo` or as root). We recommend you install
|
FAQ on "[compiling the mkiocccentry tools](../faq.html#compiling_mkiocccentry)",
|
||||||
the tools but if you wish to run it from the repo directory you may.
|
the
|
||||||
|
FAQ on "[installing the mkiocccentry tools](../faq.html#installing)"
|
||||||
|
and the
|
||||||
|
FAQ on "[using the mkiocccentry tools](../faq.html#using_mkiocccentry)"
|
||||||
|
for more help.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
@@ -535,9 +539,10 @@ its algorithm.
|
|||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
If `mkiocccentry` encounters an **error** the program will exit and the xz
|
If `mkiocccentry` encounters an **error** the program will exit and the xz
|
||||||
compressed tarball **will not be formed**. For instance, if
|
compressed tarball **will not be formed**. For instance, if
|
||||||
[chkentry](#chkentry) fails to validate the `.auth.json` or `.info.json`
|
[chkentry](#chkentry) fails to validate the submission directory, either because
|
||||||
[JSON](https://www.json.org/json-en.html) files (see below) that
|
of a validation error in the `.auth.json` or `.info.json`
|
||||||
`mkiocccentry(1)` creates, or anything else `mkiocccentry(1)` does, it is an
|
[JSON](https://www.json.org/json-en.html) files or because of
|
||||||
|
something else that `mkiocccentry(1)` creates or does, it is an
|
||||||
**error** and **possibly** a bug that you should [report as a bug at the
|
**error** and **possibly** a bug that you should [report as a bug at the
|
||||||
mkiocccentry bug report
|
mkiocccentry bug report
|
||||||
page](https://github.com/ioccc-src/mkiocccentry/issues/new?assignees=&labels=bug&projects=&template=bug_report.yml&title=%5BBug%5D+%3Ctitle%3E).
|
page](https://github.com/ioccc-src/mkiocccentry/issues/new?assignees=&labels=bug&projects=&template=bug_report.yml&title=%5BBug%5D+%3Ctitle%3E).
|
||||||
@@ -632,7 +637,18 @@ Jump to: [top](#)
|
|||||||
|
|
||||||
<p class="leftbar">`mkiocccentry(1)` will write two JSON files: `.auth.json` and
|
<p class="leftbar">`mkiocccentry(1)` will write two JSON files: `.auth.json` and
|
||||||
`.info.json`. These files contain information about the author(s) and about the
|
`.info.json`. These files contain information about the author(s) and about the
|
||||||
submission. These files **MUST** pass the checks of `chkentry(1)`!
|
submission. After these files are formed, the `chkentry(1)` tool will be run on
|
||||||
|
the submission directory; this tool not only validates the two JSON files
|
||||||
|
(running specific checks on them after validating the JSON), but it also
|
||||||
|
verifies that what is in the manifest in `.info.json` matches the contents of
|
||||||
|
the directory, in addition to other checks. If `chkentry(1)` fails to validate
|
||||||
|
anything at all, your submission **WILL BE** rejected!
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="leftbar">
|
||||||
|
**IMPORTANT**: although `chkentry(1)` validates the files in the directory, it
|
||||||
|
only inspects the contents of the two JSON files; it performs other checks on
|
||||||
|
the other files, and those checks are run on the two JSON files as well.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
@@ -647,29 +663,23 @@ page](https://github.com/ioccc-src/mkiocccentry/issues/new?assignees=&labels=bug
|
|||||||
```
|
```
|
||||||
|
|
||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
from the top level repo directory itself.
|
from the top level repo directory itself and attach the bug report file (it will
|
||||||
See also the
|
tell you the name of the file). See also the
|
||||||
FAQ on "[reporting mkiocccentry bugs](../faq.html#mkiocccentry_bugs)".
|
FAQ on "[reporting mkiocccentry bugs](../faq.html#mkiocccentry_bugs)".
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
Assuming that `chkentry(1)` successfully validates both `.auth.json` and
|
Assuming that `chkentry(1)` successfully validates your submission directory,
|
||||||
`.info.json`, then the tarball will be formed and then `txzchk(1)` will be
|
the tarball will be formed and then `txzchk(1)` will be executed on it. In this
|
||||||
executed on it. In this case, there should be no problems, as `mkiocccentry(1)` should
|
case, there should be no problems, as `mkiocccentry(1)` should **NOT** form a
|
||||||
**NOT** form a tarball if there are any issues.
|
tarball if there are any issues.
|
||||||
</p>
|
|
||||||
|
|
||||||
<p class="leftbar">
|
|
||||||
**NOTE**: `chkentry(1)` also validates other things in your submission
|
|
||||||
directory.
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
If `mkiocccentry(1)` is used and `chkentry(1)` fails to validate your submission
|
If `mkiocccentry(1)` is used and `chkentry(1)` fails to validate your submission
|
||||||
directory, then unless it is a system specific problem, it could be a bug in
|
directory, then unless it is a system specific problem, it could be a bug in
|
||||||
`mkiocccentry(1)`, `chkentry(1)` or possibly `jparse`, though this is quite
|
`mkiocccentry(1)`, `chkentry(1)` or possibly `jparse`, although this is unlikely.
|
||||||
unlikely. Nonetheless, if you believe there is a bug, you may report it as
|
Nonetheless, if you believe there is a bug, you may report it as explained above.
|
||||||
explained above.
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
@@ -695,13 +705,12 @@ details.
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
The `jparse` parser, library and tools were co-developed by
|
The `jparse` parser, library and tools were co-developed by [Cody Boone
|
||||||
[Cody Boone Ferguson](../authors.html#Cody_Boone_Ferguson) and
|
Ferguson](../authors.html#Cody_Boone_Ferguson) and [Landon Curt
|
||||||
[Landon Curt Noll](http://www.isthe.com/chongo/index.html) in 2022 and come
|
Noll](http://www.isthe.com/chongo/index.html) in 2022-2025 and come from the
|
||||||
from the [jparse repo](https://github.com/xexyl/jparse). However, the
|
[jparse repo](https://github.com/xexyl/jparse). However, the **mkiocccentry
|
||||||
**mkiocccentry tools use a _clone_** of the [jparse
|
tools use a _clone_** of the [jparse repo](https://github.com/xexyl/jparse) **at
|
||||||
repo](https://github.com/xexyl/jparse) **at a _specific_ release**.
|
a _specific_ release**. Thus the `mkiocccentry` will at times be behind the
|
||||||
Thus the `mkiocccentry` will at times be behind the
|
|
||||||
[jparse repo](https://github.com/xexyl/jparse)!
|
[jparse repo](https://github.com/xexyl/jparse)!
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
@@ -733,10 +742,8 @@ make sure that you're using the correct versions, which is also verified by
|
|||||||
|
|
||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
Please see the
|
Please see the
|
||||||
FAQ on "[validating .auth.json and/or .info.json files](../faq.html#chkentry)
|
FAQ on "[validating your submission directory](../faq.html#chkentry)
|
||||||
for more details on `chkentry` and how you can use it to validate your
|
for more details on `chkentry`.
|
||||||
`.auth.json` and `.info.json` files (and your submission directory in general)
|
|
||||||
manually, without having to repackage your submission.
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
@@ -1883,47 +1890,51 @@ We believe that Mark Twain's quote:
|
|||||||
The IOCCC size tool source is not an original work, unless you are [Anthony C
|
The IOCCC size tool source is not an original work, unless you are [Anthony C
|
||||||
Howe](../authors.html#Anthony_C_Howe), in which case it is original! :-)
|
Howe](../authors.html#Anthony_C_Howe), in which case it is original! :-)
|
||||||
Submitting source code that uses the content of
|
Submitting source code that uses the content of
|
||||||
[iocccsize.c](https://github.com/ioccc-src/mkiocccentry/blob/master/iocccsize.c), unless you are
|
[iocccsize.c](https://github.com/ioccc-src/mkiocccentry/blob/master/iocccsize.c),
|
||||||
[Anthony C Howe](../authors.html#Anthony_C_Howe), might run the risk of
|
_unless_ you are [Anthony C Howe](../authors.html#Anthony_C_Howe), might run the
|
||||||
violating [Rule 7](rules.html#rule7).
|
risk of violating [Rule 7](rules.html#rule7).
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p class="leftbar"> The `txzchk(1)` tool source is not an original work,
|
<p class="leftbar"> The IOCCC submission tarball validator source is not an original work,
|
||||||
unless you are [Cody Boone Ferguson](../authors.html#Cody_Boone_Ferguson), in
|
unless you are [Cody Boone Ferguson](../authors.html#Cody_Boone_Ferguson), in
|
||||||
which case it is original! :-) Submitting source code that uses the contents of
|
which case it is original! :-) Submitting source code that uses the contents of
|
||||||
[txzchk.c](https://github.com/ioccc-src/mkiocccentry/blob/master/txzchk.c),
|
[txzchk.c](https://github.com/ioccc-src/mkiocccentry/blob/master/txzchk.c),
|
||||||
unless you are [Cody Boone Ferguson](../authors.html#Cody_Boone_Ferguson), might
|
_unless_ you are [Cody Boone Ferguson](../authors.html#Cody_Boone_Ferguson), might
|
||||||
run the risk of violating [Rule 7](rules.html#rule7).</p>
|
run the risk of violating [Rule 7](rules.html#rule7).</p>
|
||||||
|
|
||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
Neither the [chkentry tool
|
In addition to the above tools, none of the [mkiocccentry
|
||||||
source](https://github.com/ioccc-src/mkiocccentry/blob/master/chkentry.c) nor
|
tools](https://github.com/ioccc-src/mkiocccentry), _including, **but not
|
||||||
the [JSON parser and
|
limited**_ to
|
||||||
library](https://github.com/ioccc-src/mkiocccentry/blob/master/jparse/README.md)
|
[mkiocccentry](https://github.com/ioccc-src/mkiocccentry/blob/master/mkiocccentry.c),
|
||||||
nor
|
[chkentry](https://github.com/ioccc-src/mkiocccentry/blob/master/chkentry.c),
|
||||||
[jstrencode](https://github.com/ioccc-src/mkiocccentry/blob/master/jparse/jstrencode.c)
|
[fnamchk](https://github.com/ioccc-src/mkiocccentry/blob/master/test_ioccc/fnamchk.c)
|
||||||
nor
|
and
|
||||||
|
[location](https://github.com/ioccc-src/mkiocccentry/blob/master/soup/location_main.c),
|
||||||
|
nor the [JSON parser and
|
||||||
|
library](https://github.com/ioccc-src/mkiocccentry/blob/master/jparse/README.md),
|
||||||
|
[jstrencode](https://github.com/ioccc-src/mkiocccentry/blob/master/jparse/jstrencode.c),
|
||||||
[jstrdecode](https://github.com/ioccc-src/mkiocccentry/blob/master/jparse/jstrdecode.c)
|
[jstrdecode](https://github.com/ioccc-src/mkiocccentry/blob/master/jparse/jstrdecode.c)
|
||||||
nor any of the other [jparse
|
or any of the other [jparse
|
||||||
tools](https://github.com/ioccc-src/mkiocccentry/blob/master/jparse)
|
tools](https://github.com/ioccc-src/mkiocccentry/blob/master/jparse)
|
||||||
(see the [jparse repo](https://github.com/xexyl/jparse/)), nor the [fnamchk tool
|
(see the [jparse repo](https://github.com/xexyl/jparse/)), are original works,
|
||||||
source](https://github.com/ioccc-src/mkiocccentry/blob/master/test_ioccc/fnamchk.c),
|
|
||||||
are original works,
|
|
||||||
unless you are [Cody Boone Ferguson](../authors.html#Cody_Boone_Ferguson) or
|
unless you are [Cody Boone Ferguson](../authors.html#Cody_Boone_Ferguson) or
|
||||||
[Landon Curt Noll](http://www.isthe.com/chongo/index.html), in which case they
|
[Landon Curt Noll](http://www.isthe.com/chongo/index.html), in which case they
|
||||||
are original! :-) Submitting source code that uses the code of any of these tools or
|
are original! :-) Submitting source code that uses the content of any of these tools or
|
||||||
library, unless you are [Cody Boone
|
library, _unless_ you are [Cody Boone
|
||||||
Ferguson](../authors.html#Cody_Boone_Ferguson) or [Landon Curt
|
Ferguson](../authors.html#Cody_Boone_Ferguson) or [Landon Curt
|
||||||
Noll](http://www.isthe.com/chongo/index.html), might run the risk of violating
|
Noll](http://www.isthe.com/chongo/index.html), might run the risk of violating
|
||||||
[Rule 7](rules.html#rule7).</p>
|
[Rule 7](rules.html#rule7).</p>
|
||||||
|
|
||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
Unless you are [Landon Curt Noll](http://www.isthe.com/chongo/index.html), the
|
And unless you are [Landon Curt Noll](http://www.isthe.com/chongo/index.html),
|
||||||
remaining tools in the [mkiocccentry repo](https://github.com/ioccc-src/mkiocccentry)
|
the code in
|
||||||
are **NOT** original works. Submitting source code that uses the content of those tools,
|
[dbg](https://github.com/ioccc-src/mkiocccentry/tree/master/dbg) and
|
||||||
unless you are [Landon Curt Noll](http://www.isthe.com/chongo/index.html), might
|
[dyn_array](https://github.com/ioccc-src/mkiocccentry/tree/master/dyn_array) are
|
||||||
run the risk of violating [Rule 7](rules.html#rule7).
|
not original works. Submitting source code that uses the content of those
|
||||||
</p>
|
libraries, _unless_ you [Landon Curt
|
||||||
|
Noll](http://www.isthe.com/chongo/index.html), might run the risk of violating
|
||||||
|
[Rule 7](rules.html#rule7).</p>
|
||||||
|
|
||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
[Rule 7](rules.html#rule7) does not prohibit you from writing your own
|
[Rule 7](rules.html#rule7) does not prohibit you from writing your own
|
||||||
@@ -1940,7 +1951,7 @@ mind that writing an obfuscated version of a library runs the risk of violating
|
|||||||
<p class="leftbar">
|
<p class="leftbar">
|
||||||
Even so, we do not recommend you try and submit a JSON parser due to
|
Even so, we do not recommend you try and submit a JSON parser due to
|
||||||
the fact it will likely exceed [the source code size limit](rules.html#rule2)
|
the fact it will likely exceed [the source code size limit](rules.html#rule2)
|
||||||
and because you likely can't beat [flex](https://github.com/westes/flex) or
|
and because you likely can't beat [flex](https://github.com/westes/flex) and
|
||||||
[bison](https://www.gnu.org/software/bison/) in obfuscation. This isn't to
|
[bison](https://www.gnu.org/software/bison/) in obfuscation. This isn't to
|
||||||
say that [the so-called JSON spec](https://github.com/xexyl/jparse/blob/master/json_README.md#so-called-json-spec) is not
|
say that [the so-called JSON spec](https://github.com/xexyl/jparse/blob/master/json_README.md#so-called-json-spec) is not
|
||||||
obfuscated, but unless you have some really clever way to compact and
|
obfuscated, but unless you have some really clever way to compact and
|
||||||
|
|||||||
+29
-29
@@ -424,6 +424,7 @@
|
|||||||
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||||
|
|
||||||
<!-- BEFORE: 1st line of markdown file: quick-start.md -->
|
<!-- BEFORE: 1st line of markdown file: quick-start.md -->
|
||||||
|
<p>This is quick start guide is version <strong>28.0.0 2025-02-27</strong>.</p>
|
||||||
<div id="enter_questions">
|
<div id="enter_questions">
|
||||||
<div id="enter">
|
<div id="enter">
|
||||||
<h1 id="entering-the-ioccc-the-bare-minimum-you-need-to-know">Entering the IOCCC: the bare minimum you need to know</h1>
|
<h1 id="entering-the-ioccc-the-bare-minimum-you-need-to-know">Entering the IOCCC: the bare minimum you need to know</h1>
|
||||||
@@ -431,7 +432,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<p>To submit your code to the IOCCC, you <strong>MUST</strong> follow these steps:</p>
|
<p>To submit your code to the IOCCC, you <strong>MUST</strong> follow these steps:</p>
|
||||||
<div id="step_0">
|
<div id="step_0">
|
||||||
<h4 id="verify-that-the-ioccc-is-pending-or-open-for-submissions">0. Verify that the IOCCC is pending or open for submissions</h4>
|
<h2 id="verify-that-the-ioccc-is-pending-or-open-for-submissions">0. Verify that the IOCCC is pending or open for submissions</h2>
|
||||||
</div>
|
</div>
|
||||||
<p>First, check the “<strong><a href="status.html">current status of the IOCCC</a></strong>” page to see current contest status.
|
<p>First, check the “<strong><a href="status.html">current status of the IOCCC</a></strong>” page to see current contest status.
|
||||||
You may <strong>only register for the IOCCC when the IOCCC is either <a href="status.html#pending">pending</a>
|
You may <strong>only register for the IOCCC when the IOCCC is either <a href="status.html#pending">pending</a>
|
||||||
@@ -439,7 +440,7 @@ or <a href="status.html#open">open</a></strong>.</p>
|
|||||||
<p>You may <strong>only submit your entries to the IOCCC when the IOCCC is <a href="status.html#open">open</a></strong>.</p>
|
<p>You may <strong>only submit your entries to the IOCCC when the IOCCC is <a href="status.html#open">open</a></strong>.</p>
|
||||||
<p>See also the <a href="news.html#news">IOCCC news</a> for more information.</p>
|
<p>See also the <a href="news.html#news">IOCCC news</a> for more information.</p>
|
||||||
<div id="step_1">
|
<div id="step_1">
|
||||||
<h4 id="read-the-latest-ioccc-rules-and-review-the-ioccc-guidelines">1. Read the latest IOCCC rules and review the IOCCC guidelines</h4>
|
<h2 id="read-the-latest-ioccc-rules-and-review-the-ioccc-guidelines">1. Read the latest IOCCC rules and review the IOCCC guidelines</h2>
|
||||||
</div>
|
</div>
|
||||||
<p>Please pay close attention to the <a href="next/rules.html">official IOCCC rules</a>.</p>
|
<p>Please pay close attention to the <a href="next/rules.html">official IOCCC rules</a>.</p>
|
||||||
<p>You are also <strong>highly encouraged</strong> to review the
|
<p>You are also <strong>highly encouraged</strong> to review the
|
||||||
@@ -447,7 +448,7 @@ or <a href="status.html#open">open</a></strong>.</p>
|
|||||||
suggestions, useful hints, and IOCCC humor. :-)</p>
|
suggestions, useful hints, and IOCCC humor. :-)</p>
|
||||||
<div id="step_2">
|
<div id="step_2">
|
||||||
<div id="register">
|
<div id="register">
|
||||||
<h4 id="register-for-the-ioccc">2. Register for the IOCCC</h4>
|
<h2 id="register-for-the-ioccc">2. Register for the IOCCC</h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<p><strong>IMPORTANT</strong>: You may <strong>only register for the IOCCC when the IOCCC is either <a href="status.html#pending">pending</a>
|
<p><strong>IMPORTANT</strong>: You may <strong>only register for the IOCCC when the IOCCC is either <a href="status.html#pending">pending</a>
|
||||||
@@ -455,7 +456,7 @@ or <a href="status.html#open">open</a></strong>. See “<strong><a href="status.
|
|||||||
<p>If the contest is <a href="status.html#pending">pending</a> or <a href="status.html#open">open</a>,
|
<p>If the contest is <a href="status.html#pending">pending</a> or <a href="status.html#open">open</a>,
|
||||||
then follow the directions on “<strong><a href="next/register.html">how to register for the IOCCC</a></strong>”.</p>
|
then follow the directions on “<strong><a href="next/register.html">how to register for the IOCCC</a></strong>”.</p>
|
||||||
<div id="step_3">
|
<div id="step_3">
|
||||||
<h4 id="wait-for-your-submit-server-username-and-initial-password">3. Wait for your submit server username and initial password</h4>
|
<h2 id="wait-for-your-submit-server-username-and-initial-password">3. Wait for your submit server username and initial password</h2>
|
||||||
</div>
|
</div>
|
||||||
<p>Once you have <a href="next/register.html">registered for the IOCCC</a>,
|
<p>Once you have <a href="next/register.html">registered for the IOCCC</a>,
|
||||||
and once the contest is <strong><a href="status.html#open">OPEN</a></strong>, one of the
|
and once the contest is <strong><a href="status.html#open">OPEN</a></strong>, one of the
|
||||||
@@ -477,7 +478,7 @@ password</strong>, and the <strong>CONTEST IS <a href="status.html#open">OPEN</a
|
|||||||
have you checked your spam folder, <a href="contact.html">Contact the IOCCC</a>
|
have you checked your spam folder, <a href="contact.html">Contact the IOCCC</a>
|
||||||
for assistance.</p>
|
for assistance.</p>
|
||||||
<div id="step_4">
|
<div id="step_4">
|
||||||
<h4 id="login-to-the-submit-server-and-change-your-password">4. Login to the submit server and change your password</h4>
|
<h2 id="login-to-the-submit-server-and-change-your-password">4. Login to the submit server and change your password</h2>
|
||||||
</div>
|
</div>
|
||||||
<p>Using the <strong>Username</strong> and <strong>Initial password</strong> you receive via email in
|
<p>Using the <strong>Username</strong> and <strong>Initial password</strong> you receive via email in
|
||||||
<a href="#step_3">step 3</a>, you need to login to the <a href="https://submit.ioccc.org">IOCCC submit server</a>.</p>
|
<a href="#step_3">step 3</a>, you need to login to the <a href="https://submit.ioccc.org">IOCCC submit server</a>.</p>
|
||||||
@@ -487,7 +488,7 @@ from when one of the <a href="judges.html">IOCCC judges</a> sent that email.</p>
|
|||||||
is only ready for submissions <strong>ONLY WHEN THE CONTEST IS <a href="status.html#open">open</a></strong>.</p>
|
is only ready for submissions <strong>ONLY WHEN THE CONTEST IS <a href="status.html#open">open</a></strong>.</p>
|
||||||
<p>Please visit the “<strong><a href="next/pw-change.html">change your submit server initial password</a></strong>” page for detailed instructions.</p>
|
<p>Please visit the “<strong><a href="next/pw-change.html">change your submit server initial password</a></strong>” page for detailed instructions.</p>
|
||||||
<div id="step_5">
|
<div id="step_5">
|
||||||
<h4 id="obtain-and-compile-the-latest-mkiocccentry-toolkit">5. Obtain and compile the latest mkiocccentry toolkit</h4>
|
<h2 id="obtain-and-compile-the-latest-mkiocccentry-toolkit">5. Obtain and compile the latest mkiocccentry toolkit</h2>
|
||||||
</div>
|
</div>
|
||||||
<p>Once the contest is <a href="status.html#open">open</a>, download the most recent
|
<p>Once the contest is <a href="status.html#open">open</a>, download the most recent
|
||||||
version of the <a href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry toolkit</a>.</p>
|
version of the <a href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry toolkit</a>.</p>
|
||||||
@@ -496,12 +497,14 @@ the <a href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry toolkit</a>
|
|||||||
could change. Once the content is <a href="status.html#open">open</a>, be sure
|
could change. Once the content is <a href="status.html#open">open</a>, be sure
|
||||||
you <strong>have the latest</strong> version installed.</p>
|
you <strong>have the latest</strong> version installed.</p>
|
||||||
<p>To help you, please see the
|
<p>To help you, please see the
|
||||||
FAQ on “<a href="#obtaining_mkiocccentry">how to obtain the most recent mkiocccentry</a>”
|
FAQ on “<a href="faq.html#obtaining_mkiocccentry">how to obtain the most recent mkiocccentry</a>”,
|
||||||
|
the
|
||||||
|
FAQ on “<a href="faq.html#compiling_mkiocccentry">compiling mkiocccentry toolkit</a>”
|
||||||
and the
|
and the
|
||||||
FAQ on “<a href="#compiling_mkiocccentry">compiling mkiocccentry toolkit</a>”,
|
FAQ on “<a href="faq.html#install">installing the mkiocccentry tools</a>”
|
||||||
for more details.</p>
|
for more details.</p>
|
||||||
<div id="step_6">
|
<div id="step_6">
|
||||||
<h4 id="run-the-mkiocccentry-tool-to-form-your-submission-tarball">6. Run the mkiocccentry tool to form your submission tarball</h4>
|
<h2 id="run-the-mkiocccentry-tool-to-form-your-submission-tarball">6. Run the mkiocccentry tool to form your submission tarball</h2>
|
||||||
</div>
|
</div>
|
||||||
<p>For more details on <code>mkiocccentry</code>, what it is, how to obtain it and how to use
|
<p>For more details on <code>mkiocccentry</code>, what it is, how to obtain it and how to use
|
||||||
it, see the
|
it, see the
|
||||||
@@ -525,7 +528,7 @@ guidelines</a>.</p>
|
|||||||
<li><p><code>prog.c</code></p>
|
<li><p><code>prog.c</code></p>
|
||||||
<p>path to the C source for your submission</p></li>
|
<p>path to the C source for your submission</p></li>
|
||||||
<li><p><code>Makefile</code></p>
|
<li><p><code>Makefile</code></p>
|
||||||
<p>Makefile to build (make all) and cleanup (make clean & make clobber) as well
|
<p>Makefile to build (make all) and clean up (make clean & make clobber) as well
|
||||||
as the other required rules</p></li>
|
as the other required rules</p></li>
|
||||||
<li><p><code>remarks.md</code></p>
|
<li><p><code>remarks.md</code></p>
|
||||||
<p>Remarks about your entry in markdown format: see the
|
<p>Remarks about your entry in markdown format: see the
|
||||||
@@ -533,24 +536,6 @@ FAQ on “<a href="faq.html#remarks_md">remarks.md</a>”
|
|||||||
for more info.</p></li>
|
for more info.</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
<p><strong>NOTE</strong>: Please see our <a href="markdown.html">IOCCC markdown guide</a> for <strong>important information</strong> on using markdown in the IOCCC.</p>
|
<p><strong>NOTE</strong>: Please see our <a href="markdown.html">IOCCC markdown guide</a> for <strong>important information</strong> on using markdown in the IOCCC.</p>
|
||||||
<p><strong>NOTE</strong>: It is <em>NOT</em> necessary to install the tools to use them as you can run
|
|
||||||
the tools from the top of the <code>mkiocccentry</code> repo directory just fine, though
|
|
||||||
you’ll have to use the form of <code>./mkiocccentry</code> instead of just <code>mkiocccentry</code>.
|
|
||||||
However, installing it will make it easier for you as you can run it from your
|
|
||||||
submission’s directory. See the
|
|
||||||
FAQ on “<strong><a href="https://github.com/ioccc-src/mkiocccentry/blob/master/FAQ.md#install">installing mkiocccentry</a></strong>”
|
|
||||||
at the mkiocccentry repo.</p>
|
|
||||||
<p><strong>IMPORTANT NOTE</strong>: if you run the program outside the repo directory
|
|
||||||
(specifying the absolute or relative path to the tool) and you have not
|
|
||||||
installed the tools then you will have to specify the options for the tools that
|
|
||||||
are required like <code>chkentry(1)</code>, <code>txzchk(1)</code> and <code>fnamchk(1)</code>. But even if you
|
|
||||||
have installed them but some tools are out of date (in the install path) it will
|
|
||||||
cause problems. Additionally, if you do not have the most recent version when
|
|
||||||
submitting a tarball it will be rejected for not having the right versions of
|
|
||||||
the tools. This is why you <strong>MUST</strong> make sure you have the most recent version
|
|
||||||
of all the tools and you either run it from the repo directory itself OR you
|
|
||||||
install them (<code>make install</code> as via <code>sudo</code> or as root). We recommend you install
|
|
||||||
the tools but if you wish to run it from the repo directory you may.</p>
|
|
||||||
<p>If the <code>mkiocccentry</code> tool indicates that there is a problem with your
|
<p>If the <code>mkiocccentry</code> tool indicates that there is a problem with your
|
||||||
submission, especially if it identifies a <a href="next/rules.html#rule2">Rule 2</a>, or
|
submission, especially if it identifies a <a href="next/rules.html#rule2">Rule 2</a>, or
|
||||||
any other rule, related problem, you are <strong>strongly</strong> encouraged to revise and
|
any other rule, related problem, you are <strong>strongly</strong> encouraged to revise and
|
||||||
@@ -558,9 +543,24 @@ correct your entry and then re-run the <code>mkiocccentry</code> tool.</p>
|
|||||||
<p>If you choose to risk violating rules, be sure and explain your reason
|
<p>If you choose to risk violating rules, be sure and explain your reason
|
||||||
for doing so in your <code>remarks.md</code> file.</p>
|
for doing so in your <code>remarks.md</code> file.</p>
|
||||||
<p>See also <a href="next/rules.html#rule17">Rule 17</a>!</p>
|
<p>See also <a href="next/rules.html#rule17">Rule 17</a>!</p>
|
||||||
|
<p><strong>IMPORTANT NOTE</strong>: if you run the program outside the repo directory
|
||||||
|
(specifying the absolute or relative path to the tool) and you have not
|
||||||
|
installed the tools (and we <strong>STRONGLY</strong> recommend you <strong>do</strong> install them),
|
||||||
|
then you will have to specify the options for the tools that are required like
|
||||||
|
<code>chkentry(1)</code>, <code>txzchk(1)</code> and <code>fnamchk(1)</code>. And remember to make sure you have
|
||||||
|
the latest version so you do not violate <a href="rules.html#rule17">Rule 17</a>.
|
||||||
|
See the
|
||||||
|
FAQ on “<a href="faq.html#obtaining_mkiocccentry">obtaining the latest mkiocccentry tools</a>”,
|
||||||
|
the
|
||||||
|
FAQ on “<a href="faq.html#compiling_mkiocccentry">compiling the mkiocccentry tools</a>”,
|
||||||
|
the
|
||||||
|
FAQ on “<a href="faq.html#installing">installing the mkiocccentry tools</a>”
|
||||||
|
and the
|
||||||
|
FAQ on “<a href="faq.html#using_mkiocccentry">using the mkiocccentry tools</a>”
|
||||||
|
for more help.</p>
|
||||||
<div id="step_7">
|
<div id="step_7">
|
||||||
<div id="submit">
|
<div id="submit">
|
||||||
<h4 id="upload-your-submission-to-the-ioccc-submit-server">7. Upload your submission to the IOCCC submit server</h4>
|
<h2 id="upload-your-submission-to-the-ioccc-submit-server">7. Upload your submission to the IOCCC submit server</h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<p>The screenshots on the “<strong><a href="next/submit.html">how to upload your submission to the IOCCC</a></strong>” page
|
<p>The screenshots on the “<strong><a href="next/submit.html">how to upload your submission to the IOCCC</a></strong>” page
|
||||||
|
|||||||
+31
-31
@@ -1,3 +1,5 @@
|
|||||||
|
This is quick start guide is version **28.0.0 2025-02-27**.
|
||||||
|
|
||||||
<div id="enter_questions">
|
<div id="enter_questions">
|
||||||
<div id="enter">
|
<div id="enter">
|
||||||
# Entering the IOCCC: the bare minimum you need to know
|
# Entering the IOCCC: the bare minimum you need to know
|
||||||
@@ -8,7 +10,7 @@ To submit your code to the IOCCC, you **MUST** follow these steps:
|
|||||||
|
|
||||||
|
|
||||||
<div id="step_0">
|
<div id="step_0">
|
||||||
#### 0. Verify that the IOCCC is pending or open for submissions
|
## 0. Verify that the IOCCC is pending or open for submissions
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
First, check the "**[current status of the IOCCC](status.html)**" page to see current contest status.
|
First, check the "**[current status of the IOCCC](status.html)**" page to see current contest status.
|
||||||
@@ -21,7 +23,7 @@ See also the [IOCCC news](news.html#news) for more information.
|
|||||||
|
|
||||||
|
|
||||||
<div id="step_1">
|
<div id="step_1">
|
||||||
#### 1. Read the latest IOCCC rules and review the IOCCC guidelines
|
## 1. Read the latest IOCCC rules and review the IOCCC guidelines
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
Please pay close attention to the [official IOCCC rules](next/rules.html).
|
Please pay close attention to the [official IOCCC rules](next/rules.html).
|
||||||
@@ -33,7 +35,7 @@ suggestions, useful hints, and IOCCC humor. :-)
|
|||||||
|
|
||||||
<div id="step_2">
|
<div id="step_2">
|
||||||
<div id="register">
|
<div id="register">
|
||||||
#### 2. Register for the IOCCC
|
## 2. Register for the IOCCC
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -45,7 +47,7 @@ then follow the directions on "**[how to register for the IOCCC](next/register.h
|
|||||||
|
|
||||||
|
|
||||||
<div id="step_3">
|
<div id="step_3">
|
||||||
#### 3. Wait for your submit server username and initial password
|
## 3. Wait for your submit server username and initial password
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
Once you have [registered for the IOCCC](next/register.html),
|
Once you have [registered for the IOCCC](next/register.html),
|
||||||
@@ -74,7 +76,7 @@ for assistance.
|
|||||||
|
|
||||||
|
|
||||||
<div id="step_4">
|
<div id="step_4">
|
||||||
#### 4. Login to the submit server and change your password
|
## 4. Login to the submit server and change your password
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
Using the **Username** and **Initial password** you receive via email in
|
Using the **Username** and **Initial password** you receive via email in
|
||||||
@@ -90,7 +92,7 @@ Please visit the "**[change your submit server initial password](next/pw-change.
|
|||||||
|
|
||||||
|
|
||||||
<div id="step_5">
|
<div id="step_5">
|
||||||
#### 5. Obtain and compile the latest mkiocccentry toolkit
|
## 5. Obtain and compile the latest mkiocccentry toolkit
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
Once the contest is [open](status.html#open), download the most recent
|
Once the contest is [open](status.html#open), download the most recent
|
||||||
@@ -102,14 +104,16 @@ could change. Once the content is [open](status.html#open), be sure
|
|||||||
you **have the latest** version installed.
|
you **have the latest** version installed.
|
||||||
|
|
||||||
To help you, please see the
|
To help you, please see the
|
||||||
FAQ on "[how to obtain the most recent mkiocccentry](#obtaining_mkiocccentry)"
|
FAQ on "[how to obtain the most recent mkiocccentry](faq.html#obtaining_mkiocccentry)",
|
||||||
|
the
|
||||||
|
FAQ on "[compiling mkiocccentry toolkit](faq.html#compiling_mkiocccentry)"
|
||||||
and the
|
and the
|
||||||
FAQ on "[compiling mkiocccentry toolkit](#compiling_mkiocccentry)",
|
FAQ on "[installing the mkiocccentry tools](faq.html#install)"
|
||||||
for more details.
|
for more details.
|
||||||
|
|
||||||
|
|
||||||
<div id="step_6">
|
<div id="step_6">
|
||||||
#### 6. Run the mkiocccentry tool to form your submission tarball
|
## 6. Run the mkiocccentry tool to form your submission tarball
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
For more details on `mkiocccentry`, what it is, how to obtain it and how to use
|
For more details on `mkiocccentry`, what it is, how to obtain it and how to use
|
||||||
@@ -145,7 +149,7 @@ Three files are required to exist in `topdir`:
|
|||||||
|
|
||||||
* `Makefile`
|
* `Makefile`
|
||||||
|
|
||||||
Makefile to build (make all) and cleanup (make clean & make clobber) as well
|
Makefile to build (make all) and clean up (make clean & make clobber) as well
|
||||||
as the other required rules
|
as the other required rules
|
||||||
|
|
||||||
* `remarks.md`
|
* `remarks.md`
|
||||||
@@ -156,26 +160,6 @@ Three files are required to exist in `topdir`:
|
|||||||
|
|
||||||
**NOTE**: Please see our [IOCCC markdown guide](markdown.html) for **important information** on using markdown in the IOCCC.
|
**NOTE**: Please see our [IOCCC markdown guide](markdown.html) for **important information** on using markdown in the IOCCC.
|
||||||
|
|
||||||
**NOTE**: It is *NOT* necessary to install the tools to use them as you can run
|
|
||||||
the tools from the top of the `mkiocccentry` repo directory just fine, though
|
|
||||||
you'll have to use the form of `./mkiocccentry` instead of just `mkiocccentry`.
|
|
||||||
However, installing it will make it easier for you as you can run it from your
|
|
||||||
submission's directory. See the
|
|
||||||
FAQ on "**[installing mkiocccentry](https://github.com/ioccc-src/mkiocccentry/blob/master/FAQ.md#install)**"
|
|
||||||
at the mkiocccentry repo.
|
|
||||||
|
|
||||||
**IMPORTANT NOTE**: if you run the program outside the repo directory
|
|
||||||
(specifying the absolute or relative path to the tool) and you have not
|
|
||||||
installed the tools then you will have to specify the options for the tools that
|
|
||||||
are required like `chkentry(1)`, `txzchk(1)` and `fnamchk(1)`. But even if you
|
|
||||||
have installed them but some tools are out of date (in the install path) it will
|
|
||||||
cause problems. Additionally, if you do not have the most recent version when
|
|
||||||
submitting a tarball it will be rejected for not having the right versions of
|
|
||||||
the tools. This is why you **MUST** make sure you have the most recent version
|
|
||||||
of all the tools and you either run it from the repo directory itself OR you
|
|
||||||
install them (`make install` as via `sudo` or as root). We recommend you install
|
|
||||||
the tools but if you wish to run it from the repo directory you may.
|
|
||||||
|
|
||||||
If the `mkiocccentry` tool indicates that there is a problem with your
|
If the `mkiocccentry` tool indicates that there is a problem with your
|
||||||
submission, especially if it identifies a [Rule 2](next/rules.html#rule2), or
|
submission, especially if it identifies a [Rule 2](next/rules.html#rule2), or
|
||||||
any other rule, related problem, you are **strongly** encouraged to revise and
|
any other rule, related problem, you are **strongly** encouraged to revise and
|
||||||
@@ -186,10 +170,26 @@ for doing so in your `remarks.md` file.
|
|||||||
|
|
||||||
See also [Rule 17](next/rules.html#rule17)!
|
See also [Rule 17](next/rules.html#rule17)!
|
||||||
|
|
||||||
|
**IMPORTANT NOTE**: if you run the program outside the repo directory
|
||||||
|
(specifying the absolute or relative path to the tool) and you have not
|
||||||
|
installed the tools (and we **STRONGLY** recommend you **do** install them),
|
||||||
|
then you will have to specify the options for the tools that are required like
|
||||||
|
`chkentry(1)`, `txzchk(1)` and `fnamchk(1)`. And remember to make sure you have
|
||||||
|
the latest version so you do not violate [Rule 17](rules.html#rule17).
|
||||||
|
See the
|
||||||
|
FAQ on "[obtaining the latest mkiocccentry tools](faq.html#obtaining_mkiocccentry)",
|
||||||
|
the
|
||||||
|
FAQ on "[compiling the mkiocccentry tools](faq.html#compiling_mkiocccentry)",
|
||||||
|
the
|
||||||
|
FAQ on "[installing the mkiocccentry tools](faq.html#installing)"
|
||||||
|
and the
|
||||||
|
FAQ on "[using the mkiocccentry tools](faq.html#using_mkiocccentry)"
|
||||||
|
for more help.
|
||||||
|
|
||||||
|
|
||||||
<div id="step_7">
|
<div id="step_7">
|
||||||
<div id="submit">
|
<div id="submit">
|
||||||
#### 7. Upload your submission to the IOCCC submit server
|
## 7. Upload your submission to the IOCCC submit server
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user