Merge pull request #77 from xexyl/mkiocccentry

Update FAQ, guidelines and rules
This commit is contained in:
Landon Curt Noll authored and GitHub committed 2025-01-30 12:13:08 -08:00
commit 2ed6fa9940
6 files changed
+138 -100

No files matched your search

+8 -12
View File
@@ -684,24 +684,20 @@ explain how to use this tool. If you want to know what it is in simpler terms,
see the see the
FAQ on “<a href="#about_mkiocccentry">what mkiocccentry is</a>”.</p> FAQ on “<a href="#about_mkiocccentry">what mkiocccentry is</a>”.</p>
<p>As the <a href="next/guidelines.html">Guidelines</a> state, the synopsis is:</p> <p>As the <a href="next/guidelines.html">Guidelines</a> state, the synopsis is:</p>
<pre><code> mkiocccentry [options] work_dir prog.c \ <pre><code> mkiocccentry [options] workdir topdir</code></pre>
Makefile remarks.md [file ...]</code></pre> <p>… where <code>workdir</code> is a directory that will be used to build the submission
<p>… where <code>work_dir</code> is a directory that will be used to build the submission tarball and <code>topdir</code> is the directory which has your files, including the
tarball, <code>prog.c</code> is your submission source code, <code>Makefile</code> is your submission’s mandatory <code>prog.c</code>, <code>Makefile</code> and <code>remarks.md</code>.</p>
<code>Makefile</code>, <code>remarks.md</code> are your remarks (that will be the basis of the <p>The <code>workdir</code> <strong>MUST</strong> already exist, as a directory, and it is an error if it
<code>README.md</code> file which will be used to form the <code>index.html</code> file, if your
submission wins) and the remaining args are the paths to any other files you
wish to submit.</p>
<p>The <code>work_dir</code> <strong>MUST</strong> already exist, as a directory, and it is an error if it
is not a directory that can be written to. In <strong>this</strong> directory your <strong>submission is not a directory that can be written to. In <strong>this</strong> directory your <strong>submission
directory</strong> will be created, with the name based on your IOCCC registration directory</strong> will be created, with the name based on your IOCCC registration
username, which is <strong>in the form of a UUID</strong>, and submission number; see the username, which is <strong>in the form of a UUID</strong>, and submission number; see the
<a href="next/rules.html">rules</a> for more details on this, and in particular <a href="next/rules.html#rule17">Rule <a href="next/rules.html">rules</a> for more details on this, and in particular <a href="next/rules.html#rule17">Rule
17</a>.</p> 17</a>.</p>
<p>If the <strong><em>subdirectory</em> in the <em>work directory</em></strong> already exists, you will have to <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 specify a different work directory (<strong>NOT</strong> the move it, remove it or otherwise specify a different work directory (<strong>NOT</strong> the
subdirectory), as it needs to be empty and the <code>mkiocccentry(1)</code> tool does not subdirectory), as it needs to be empty.</p>
check this for you as it could not do anything about anyway.</p>
<p>This <em>subdirectory is where your files will be <strong>copied</strong> to</em>. Your <em>submission <p>This <em>subdirectory is where your files will be <strong>copied</strong> to</em>. Your <em>submission
tarball</em> (which you will upload to the submit server) that <code>txzchk(1)</code> will tarball</em> (which you will upload to the submit server) that <code>txzchk(1)</code> will
validate <em>will be placed in the <strong>work directory</strong></em>, and <strong>its <em>contents</em> will validate <em>will be placed in the <strong>work directory</strong></em>, and <strong>its <em>contents</em> will
+8 -12
View File
@@ -300,28 +300,24 @@ FAQ on "[what mkiocccentry is](#about_mkiocccentry)".
As the [Guidelines](next/guidelines.html) state, the synopsis is: As the [Guidelines](next/guidelines.html) state, the synopsis is:
``` <!---sh--> ``` <!---sh-->
mkiocccentry [options] work_dir prog.c \ mkiocccentry [options] workdir topdir
Makefile remarks.md [file ...]
``` ```
... where `work_dir` is a directory that will be used to build the submission ... where `workdir` is a directory that will be used to build the submission
tarball, `prog.c` is your submission source code, `Makefile` is your submission's tarball and `topdir` is the directory which has your files, including the
`Makefile`, `remarks.md` are your remarks (that will be the basis of the mandatory `prog.c`, `Makefile` and `remarks.md`.
`README.md` file which will be used to form the `index.html` file, if your
submission wins) and the remaining args are the paths to any other files you
wish to submit.
The `work_dir` **MUST** already exist, as a directory, and it is an error if it The `workdir` **MUST** already exist, as a directory, and it is an error if it
is not a directory that can be written to. In **this** directory your **submission is not a directory that can be written to. In **this** directory your **submission
directory** will be created, with the name based on your IOCCC registration directory** will be created, with the name based on your IOCCC registration
username, which is **in the form of a UUID**, and submission number; see the username, which is **in the form of a UUID**, and submission number; see the
[rules](next/rules.html) for more details on this, and in particular [Rule [rules](next/rules.html) for more details on this, and in particular [Rule
17](next/rules.html#rule17). 17](next/rules.html#rule17).
If the **_subdirectory_ in the _work directory_** already exists, you will have to 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 specify a different work directory (**NOT** the move it, remove it or otherwise specify a different work directory (**NOT** the
subdirectory), as it needs to be empty and the `mkiocccentry(1)` tool does not subdirectory), as it needs to be empty.
check this for you as it could not do anything about anyway.
This _subdirectory is where your files will be **copied** to_. Your _submission This _subdirectory is where your files will be **copied** to_. Your _submission
tarball_ (which you will upload to the submit server) that `txzchk(1)` will tarball_ (which you will upload to the submit server) that `txzchk(1)` will
+33 -14
View File
@@ -461,7 +461,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.34 2025-01-24</strong>. These <a href="guidelines.html">IOCCC guidelines</a> are version <strong>28.35 2025-01-30</strong>.
</p> </p>
<p class="leftbar"> <p class="leftbar">
The <a href="guidelines.md" download="guidelines.md">markdown form of these guidelines</a> The <a href="guidelines.md" download="guidelines.md">markdown form of these guidelines</a>
@@ -600,9 +600,11 @@ without having to put in answers each time, you can use the <code>-d</code> or <
option to <code>mkiocccentry</code> for the tool to pseudo-randomly create answers for you. option to <code>mkiocccentry</code> for the tool to pseudo-randomly create answers for you.
The <code>-d</code> option is an alias for <code>-s 21701</code>. An example use: The <code>-d</code> option is an alias for <code>-s 21701</code>. An example use:
</p> </p>
<pre><code> mkiocccentry -d test_work prog.c Makefile remarks.md</code></pre> <pre><code> mkiocccentry -d workdir topdir</code></pre>
<p class="leftbar"> <p class="leftbar">
where <code>test_work</code> is the directory which the tarball will be formed. Be aware where <code>workdir</code> is the directory which the tarball will be formed and the
<code>topdir</code> is the directory which has the required files (<code>prog.c</code>, <code>Makefile</code> and
<code>remarks.md</code>) along with extra data files you wish to submit. Be aware
that if the directory exists already, you will have to remove it or move it that if the directory exists already, you will have to remove it or move it
before this option will work a second time, just like in normal mode. before this option will work a second time, just like in normal mode.
</p> </p>
@@ -821,20 +823,32 @@ are considered more portable.
The maximum total number of files that may be submitted has changed to 39 files. The maximum total number of files that may be submitted has changed to 39 files.
However, of those files, 5 are mandatory (<code>prog.c</code>, <code>Makefile</code>, <code>remarks.md</code> and However, of those files, 5 are mandatory (<code>prog.c</code>, <code>Makefile</code>, <code>remarks.md</code> and
the two JSON files generated by <code>mkiocccentry(1)</code>, <code>.info.json</code> and the two JSON files generated by <code>mkiocccentry(1)</code>, <code>.info.json</code> and
<code>.auth.json</code>). Additionally, three of the files in the limit <strong>MUST</strong> be <code>.auth.json</code>).
specific file(name)s: the <strong>OPTIONAL</strong> submission files, which are <code>prog.alt.c</code>, </p>
<code>try.sh</code> and <code>try.alt.sh</code>, or else they <strong>WILL</strong> count as an extra file. Of <p class="leftbar">
course, if you use the optional filenames without the files being their Additionally, three of the files, if included, <strong>MUST</strong> be
intended, that would be an abuse of rules. specific file(name)s and in the top level directory, or they will be counted as
For more details on the optional files, see the an extra file, not an optional file.
FAQ on the “<a href="../faq.html#try_script">try.sh script system</a>” </p>
and the <p class="leftbar">
FAQ on “<a href="../faq.html#alt_code">alt code</a>”. In particular, any file that is not <code>prog.c</code>, <code>Makefile</code>, <code>remarks.md</code>,
<code>try.sh</code>, <code>prog.alt.c</code> or <code>try.alt.sh</code> will be counted as an extra file, and if
<code>try.sh</code>, <code>prog.alt.c</code> or <code>try.alt.sh</code> are not in the top level directory they
will also be counted as an extra file. The <code>.info.json</code> and <code>.auth.json</code> files
are not counted as extra files but are required.
</p> </p>
<p class="leftbar"> <p class="leftbar">
In other words, the actual amount of <strong>EXTRA</strong> files is 31. In other words, the actual amount of <strong>EXTRA</strong> files is 31.
</p> </p>
<p class="leftbar"> <p class="leftbar">
Of course, if you use the optional filenames without
the files being our intended use, in order to get past the file limit, that
would be an abuse of rules. For more details on the optional files, see the
FAQ on the “<a href="../faq.html#try_script">try.sh script system</a>”
and the
FAQ on “<a href="../faq.html#alt_code">alt code</a>”.
</p>
<p class="leftbar">
If you do need to include more files, you may do so by including as an extra If you do need to include more files, you may do so by including as an extra
file, a tarball. This does <strong>NOT</strong> have to pass <code>txzchk(1)</code> tests; only the file, a tarball. This does <strong>NOT</strong> have to pass <code>txzchk(1)</code> tests; only the
submission tarball must pass the <code>txzchk(1)</code> tests. See the <a href="#txzchk">txzchk submission tarball must pass the <code>txzchk(1)</code> tests. See the <a href="#txzchk">txzchk
@@ -845,6 +859,12 @@ If you <strong>DO</strong> include a tarball, and the build process or the progr
said tarball(s), the make <code>clobber</code> rule <strong>MUST</strong> remove them. said tarball(s), the make <code>clobber</code> rule <strong>MUST</strong> remove them.
</p> </p>
<p class="leftbar"> <p class="leftbar">
<strong>IMPORTANT REMINDER</strong>: make <strong>SURE</strong> your tarball does <strong>NOT</strong> reveal who you are!
The <code>mkiocccentry(1)</code> tool creates a v7 format tarball to prevent this. You can
do the same like:
</p>
<pre><code> tar --format=v7 -cJf foo.txz directory</code></pre>
<p class="leftbar">
See <a href="rules.html#rule17">Rule 17</a> and in particular the part about the <a href="rules.html#max-files">maximum See <a href="rules.html#rule17">Rule 17</a> and in particular the part about the <a href="rules.html#max-files">maximum
number of files</a>. If you do not follow these points, you number of files</a>. If you do not follow these points, you
are at a great risk of violating <a href="rules.html#rule17">Rule 17</a>! are at a great risk of violating <a href="rules.html#rule17">Rule 17</a>!
@@ -911,8 +931,7 @@ correct details as you go along.
<p class="leftbar"> <p class="leftbar">
The synopsis of the <code>mkiocccentry(1)</code> tool is: The synopsis of the <code>mkiocccentry(1)</code> tool is:
</p> </p>
<pre><code> mkiocccentry [options] work_dir prog.c \ <pre><code> mkiocccentry [options] workdir topdir</code></pre>
Makefile remarks.md [file ...]</code></pre>
<p class="leftbar"> <p class="leftbar">
To help you with editing a submission, the <code>mkiocccentry(1)</code> tool has To help you with editing a submission, the <code>mkiocccentry(1)</code> tool has
some options to write <em>OR</em> read from an answers file so you do not have to input some options to write <em>OR</em> read from an answers file so you do not have to input
+39 -13
View File
@@ -222,11 +222,13 @@ The `-d` option is an alias for `-s 21701`. An example use:
</p> </p>
``` <!---sh--> ``` <!---sh-->
mkiocccentry -d test_work prog.c Makefile remarks.md mkiocccentry -d workdir topdir
``` ```
<p class="leftbar"> <p class="leftbar">
where `test_work` is the directory which the tarball will be formed. Be aware where `workdir` is the directory which the tarball will be formed and the
`topdir` is the directory which has the required files (`prog.c`, `Makefile` and
`remarks.md`) along with extra data files you wish to submit. Be aware
that if the directory exists already, you will have to remove it or move it that if the directory exists already, you will have to remove it or move it
before this option will work a second time, just like in normal mode. before this option will work a second time, just like in normal mode.
</p> </p>
@@ -491,21 +493,36 @@ Jump to: [top](#)
The maximum total number of files that may be submitted has changed to 39 files. The maximum total number of files that may be submitted has changed to 39 files.
However, of those files, 5 are mandatory (`prog.c`, `Makefile`, `remarks.md` and However, of those files, 5 are mandatory (`prog.c`, `Makefile`, `remarks.md` and
the two JSON files generated by `mkiocccentry(1)`, `.info.json` and the two JSON files generated by `mkiocccentry(1)`, `.info.json` and
`.auth.json`). Additionally, three of the files in the limit **MUST** be `.auth.json`).
specific file(name)s: the **OPTIONAL** submission files, which are `prog.alt.c`, </p>
`try.sh` and `try.alt.sh`, or else they **WILL** count as an extra file. Of
course, if you use the optional filenames without the files being their <p class="leftbar">
intended, that would be an abuse of rules. Additionally, three of the files, if included, **MUST** be
For more details on the optional files, see the specific file(name)s and in the top level directory, or they will be counted as
FAQ on the "[try.sh script system](../faq.html#try_script)" an extra file, not an optional file.
and the </p>
FAQ on "[alt code](../faq.html#alt_code)".
<p class="leftbar">
In particular, any file that is not `prog.c`, `Makefile`, `remarks.md`,
`try.sh`, `prog.alt.c` or `try.alt.sh` will be counted as an extra file, and if
`try.sh`, `prog.alt.c` or `try.alt.sh` are not in the top level directory they
will also be counted as an extra file. The `.info.json` and `.auth.json` files
are not counted as extra files but are required.
</p> </p>
<p class="leftbar"> <p class="leftbar">
In other words, the actual amount of **EXTRA** files is 31. In other words, the actual amount of **EXTRA** files is 31.
</p> </p>
<p class="leftbar">
Of course, if you use the optional filenames without
the files being our intended use, in order to get past the file limit, that
would be an abuse of rules. For more details on the optional files, see the
FAQ on the "[try.sh script system](../faq.html#try_script)"
and the
FAQ on "[alt code](../faq.html#alt_code)".
</p>
<p class="leftbar"> <p class="leftbar">
If you do need to include more files, you may do so by including as an extra If you do need to include more files, you may do so by including as an extra
file, a tarball. This does **NOT** have to pass `txzchk(1)` tests; only the file, a tarball. This does **NOT** have to pass `txzchk(1)` tests; only the
@@ -518,6 +535,16 @@ If you **DO** include a tarball, and the build process or the program extracts
said tarball(s), the make `clobber` rule **MUST** remove them. said tarball(s), the make `clobber` rule **MUST** remove them.
</p> </p>
<p class="leftbar">
**IMPORTANT REMINDER**: make **SURE** your tarball does **NOT** reveal who you are!
The `mkiocccentry(1)` tool creates a v7 format tarball to prevent this. You can
do the same like:
</p>
``` <!---sh-->
tar --format=v7 -cJf foo.txz directory
```
<p class="leftbar"> <p class="leftbar">
See [Rule 17](rules.html#rule17) and in particular the part about the [maximum See [Rule 17](rules.html#rule17) and in particular the part about the [maximum
number of files](rules.html#max-files). If you do not follow these points, you number of files](rules.html#max-files). If you do not follow these points, you
@@ -604,8 +631,7 @@ The synopsis of the `mkiocccentry(1)` tool is:
</p> </p>
``` <!---sh--> ``` <!---sh-->
mkiocccentry [options] work_dir prog.c \ mkiocccentry [options] workdir topdir
Makefile remarks.md [file ...]
``` ```
<p class="leftbar"> <p class="leftbar">
+25 -26
View File
@@ -462,7 +462,7 @@ writing by <a href="../contact.html">contacting the judges</a>.</p>
</div> </div>
<p>Jump to: <a href="#">top</a></p> <p>Jump to: <a href="#">top</a></p>
<p class="leftbar"> <p class="leftbar">
These <a href="rules.html">IOCCC rules</a> are version <strong>28.18 2025-01-24</strong>. These <a href="rules.html">IOCCC rules</a> are version <strong>28.19 2025-01-30</strong>.
</p> </p>
<p class="leftbar"> <p class="leftbar">
The <a href="rules.md" download="rules.md">markdown form of these rules</a> The <a href="rules.md" download="rules.md">markdown form of these rules</a>
@@ -1034,22 +1034,6 @@ issues
page</a>. page</a>.
</p> </p>
<p class="leftbar"> <p class="leftbar">
You submission may have additional files, however the filenames of those additional files <strong>MUST</strong>:
</p>
<ul>
<li><p class="leftbar">
Be less than <strong>100</strong> characters in length.
</p></li>
<li><p class="leftbar">
Match the regular expression:
<code>^[0-9A-Za-z][0-9A-Za-z._+-]*$</code>
</p></li>
</ul>
<p class="leftbar">
The <code>mkiocccentry(1)</code> tool will not package any files that do not meet
those requirements.
</p>
<p class="leftbar">
The <code>Makefile</code> <strong>MUST</strong> be a <strong>non</strong>-empty file in <strong><a href="https://www.gnu.org/software/make/manual/make.html">GNU The <code>Makefile</code> <strong>MUST</strong> be a <strong>non</strong>-empty file in <strong><a href="https://www.gnu.org/software/make/manual/make.html">GNU
Makefile</a></strong> form. See the Makefile</a></strong> form. See the
<a href="guidelines.html#makefile">Makefile section in the guidelines</a>, <a href="guidelines.html#makefile">Makefile section in the guidelines</a>,
@@ -1098,9 +1082,9 @@ more details on this tool and the <a href="https://github.com/ioccc-src/mkioccce
repo</a>. repo</a>.
</p> </p>
<p class="leftbar"> <p class="leftbar">
Your entry may <strong>NOT</strong> have subdirectories. However, you can provide files that Your entry may have subdirectories, depending on the depth and total length of
are in different directories as <code>mkiocccentry(1)</code> will copy them to the work the filenames. Certain directories like <code>.git</code>, <code>RCCS</code>, <code>CVS</code> and <code>.svn</code> are
directory (see the <a href="guidelines.html">guidelines</a> for more details). skipped. For more information, see the <a href="guidelines.html">guidelines</a>.
</p> </p>
<p class="leftbar"> <p class="leftbar">
Filenames in your entry (that is, not including the files generated by the Filenames in your entry (that is, not including the files generated by the
@@ -1108,7 +1092,7 @@ Filenames in your entry (that is, not including the files generated by the
</p> </p>
<ul> <ul>
<li><p class="leftbar"> <li><p class="leftbar">
Be less than <strong>100</strong> characters in length Be &lt;= <strong>38</strong> characters in length
</p></li> </p></li>
<li><p class="leftbar"> <li><p class="leftbar">
<strong>NOT</strong> have a <strong><code>/</code></strong> (excluding the entry directory that <strong>NOT</strong> have a <strong><code>/</code></strong> (excluding the entry directory that
@@ -1125,13 +1109,19 @@ the exception of files generated by <code>mkiocccentry(1)</code> itself, it must
</p></li> </p></li>
<li><p class="leftbar"> <li><p class="leftbar">
Match the regular expression Match the regular expression
<code>^[0-9A-Za-z][0-9A-Za-z._+-]*$</code> (again, excluding files generated by <code>^[0-9A-Za-z]+[0-9A-Za-z_+.-]*$</code> (again, excluding files generated by
<code>mkiocccentry(1)</code>). <code>mkiocccentry(1)</code>).
</p></li> </p></li>
<li><p class="leftbar">
<strong>NOT</strong> be a directory depth &gt; 4.
</p></li>
<li><p class="leftbar">
<strong>NOT</strong> have a total path length &gt; 99 characters.
</p></li>
</ul> </ul>
<p class="leftbar"> <p class="leftbar">
Additionally, the tarball <strong>MUST</strong> have the following files (generated Additionally, the submission tarball created by <code>mkiocccentry(1)</code> <strong>MUST</strong> have
by the <code>mkiocccentry(1)</code> tool): the following files (generated by the <code>mkiocccentry(1)</code> tool):
</p> </p>
<ul> <ul>
<li><p class="leftbar"> <li><p class="leftbar">
@@ -1181,7 +1171,10 @@ if you need to include more files.
</p> </p>
<p class="leftbar"> <p class="leftbar">
If you do include a tarball that takes your extra files count over the maximum, If you do include a tarball that takes your extra files count over the maximum,
you <strong>MUST</strong> explain this in your <code>remarks.md</code> file! you <strong>MUST</strong> explain this in your <code>remarks.md</code> file! <strong>PLEASE</strong> do not include a
tarball with extra files for a test-suite; instead mention in your remarks that
you have extra files for a test-suite that can be included should your
submission win.
</p> </p>
<p class="leftbar"> <p class="leftbar">
If you need to extract a tarball by some Makefile, or perhaps the program If you need to extract a tarball by some Makefile, or perhaps the program
@@ -1190,8 +1183,14 @@ created!
</p> </p>
<p class="leftbar"> <p class="leftbar">
Tarballs <strong>MUST</strong> only create files and directories <em>under them</em>. They may Tarballs <strong>MUST</strong> only create files and directories <em>under them</em>. They may
<strong>NOT</strong> contain absolute paths (paths that start with <code>/</code>)! <strong>NOT</strong> contain absolute paths (paths that start with <code>/</code>)! <code>txzchk</code> only checks
the submission tarball so you must verify these details yourself.
</p> </p>
<p class="leftbar">
Make <strong>SURE</strong> your tarball does not reveal who you are! The <code>mkiocccentry(1)</code>
tool uses the v7 format. For instance you might try:
</p>
<pre><code> tar --format=v7 -cJf foo.txz directory</code></pre>
<hr style="width:50%;text-align:left;margin-left:0"> <hr style="width:50%;text-align:left;margin-left:0">
<p class="leftbar"> <p class="leftbar">
<strong>IMPORTANT</strong>: where <a href="#rule17">Rule 17</a> and the tools from the latest <strong>IMPORTANT</strong>: where <a href="#rule17">Rule 17</a> and the tools from the latest
+25 -23
View File
@@ -55,7 +55,7 @@ Jump to: [top](#)
<p class="leftbar"> <p class="leftbar">
These [IOCCC rules](rules.html) are version **28.18 2025-01-24**. These [IOCCC rules](rules.html) are version **28.19 2025-01-30**.
</p> </p>
<p class="leftbar"> <p class="leftbar">
@@ -809,19 +809,6 @@ issues
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).
</p> </p>
<p class="leftbar">
You submission may have additional files, however the filenames of those additional files **MUST**:
</p>
* <p class="leftbar">Be less than **100** characters in length.</p>
* <p class="leftbar">Match the regular expression:
`^[0-9A-Za-z][0-9A-Za-z._+-]*$`</p>
<p class="leftbar">
The `mkiocccentry(1)` tool will not package any files that do not meet
those requirements.
</p>
<p class="leftbar"> <p class="leftbar">
The `Makefile` **MUST** be a **non**-empty file in **[GNU The `Makefile` **MUST** be a **non**-empty file in **[GNU
Makefile](https://www.gnu.org/software/make/manual/make.html)** form. See the Makefile](https://www.gnu.org/software/make/manual/make.html)** form. See the
@@ -883,9 +870,9 @@ repo](https://github.com/ioccc-src/mkiocccentry).
</p> </p>
<p class="leftbar"> <p class="leftbar">
Your entry may **NOT** have subdirectories. However, you can provide files that Your entry may have subdirectories, depending on the depth and total length of
are in different directories as `mkiocccentry(1)` will copy them to the work the filenames. Certain directories like `.git`, `RCCS`, `CVS` and `.svn` are
directory (see the [guidelines](guidelines.html) for more details). skipped. For more information, see the [guidelines](guidelines.html).
</p> </p>
<p class="leftbar"> <p class="leftbar">
@@ -893,7 +880,7 @@ Filenames in your entry (that is, not including the files generated by the
`mkiocccentry(1)` tool or the tools it or any other tool invokes) **MUST**: `mkiocccentry(1)` tool or the tools it or any other tool invokes) **MUST**:
</p> </p>
* <p class="leftbar">Be less than **100** characters in length</p> * <p class="leftbar">Be <= **38** characters in length</p>
* <p class="leftbar">**NOT** have a **`/`** (excluding the entry directory that * <p class="leftbar">**NOT** have a **`/`** (excluding the entry directory that
the `mkiocccentry(1)` tool generates).</p> the `mkiocccentry(1)` tool generates).</p>
* <p class="leftbar">**NOT** contain a path component of: **`.`** (that is, with * <p class="leftbar">**NOT** contain a path component of: **`.`** (that is, with
@@ -902,12 +889,14 @@ the exception of files generated by `mkiocccentry(1)` itself, it must have
* <p class="leftbar">**NOT** contain a path component of: **`..`** (that is, * <p class="leftbar">**NOT** contain a path component of: **`..`** (that is,
**NO** **`..`**).</p> **NO** **`..`**).</p>
* <p class="leftbar">Match the regular expression * <p class="leftbar">Match the regular expression
`^[0-9A-Za-z][0-9A-Za-z._+-]*$` (again, excluding files generated by `^[0-9A-Za-z]+[0-9A-Za-z_+.-]*$` (again, excluding files generated by
`mkiocccentry(1)`).</p> `mkiocccentry(1)`).</p>
* <p class="leftbar">**NOT** be a directory depth > 4.</p>
* <p class="leftbar">**NOT** have a total path length > 99 characters.</p>
<p class="leftbar"> <p class="leftbar">
Additionally, the tarball **MUST** have the following files (generated Additionally, the submission tarball created by `mkiocccentry(1)` **MUST** have
by the `mkiocccentry(1)` tool): the following files (generated by the `mkiocccentry(1)` tool):
</p> </p>
* <p class="leftbar">`.auth.json` which contains information about the author or * <p class="leftbar">`.auth.json` which contains information about the author or
@@ -959,7 +948,10 @@ if you need to include more files.
<p class="leftbar"> <p class="leftbar">
If you do include a tarball that takes your extra files count over the maximum, If you do include a tarball that takes your extra files count over the maximum,
you **MUST** explain this in your `remarks.md` file! you **MUST** explain this in your `remarks.md` file! **PLEASE** do not include a
tarball with extra files for a test-suite; instead mention in your remarks that
you have extra files for a test-suite that can be included should your
submission win.
</p> </p>
<p class="leftbar"> <p class="leftbar">
@@ -970,9 +962,19 @@ created!
<p class="leftbar"> <p class="leftbar">
Tarballs **MUST** only create files and directories _under them_. They may Tarballs **MUST** only create files and directories _under them_. They may
**NOT** contain absolute paths (paths that start with `/`)! **NOT** contain absolute paths (paths that start with `/`)! `txzchk` only checks
the submission tarball so you must verify these details yourself.
</p> </p>
<p class="leftbar">
Make **SURE** your tarball does not reveal who you are! The `mkiocccentry(1)`
tool uses the v7 format. For instance you might try:
</p>
``` <!---sh-->
tar --format=v7 -cJf foo.txz directory
```
<hr style="width:50%;text-align:left;margin-left:0"> <hr style="width:50%;text-align:left;margin-left:0">