Skip to content

Commit 50aba04

Browse files
authored
Merge pull request #248 from xexyl/rules
Fixes in rules
2 parents e70b02f + 0aeac9b commit 50aba04

File tree

2 files changed

+133
-107
lines changed

2 files changed

+133
-107
lines changed

next/rules.html

Lines changed: 72 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -594,52 +594,69 @@ <h2 id="rule-4---required-files">Rule 4 - Required files</h2>
594594
requirements may be imposed by <code>mkiocccentry(1)</code> updates that have yet
595595
to be listed below:
596596
</p>
597-
<p><span style="font-size:28px;"><b>|</b></span>  
598-
* <code>.info.json</code> and <code>.auth.json</code> <strong>MUST</strong> be generated by
599-
<code>mkiocccenty(1)</code> when packing a submission. When <code>chksubmit(1)</code> is run
600-
on the submission directory <strong>ALL</strong> tests must pass and if there is
601-
<strong>ANY</strong> problem with these JSON files or if either is missing it will
602-
fail. See <a href="#rule17-mkiocccentry">Rule 17 - use mkiocccentry</a>.</p>
603-
<p><span style="font-size:28px;"><b>|</b></span>  
604-
* The <code>Makefile</code>, <code>remarks.md</code>,<code>.info.json</code>, and <code>.auth.json</code> <strong>MUST</strong>
605-
have a file size <strong>greater than 0</strong> and <strong>MUST</strong> have content. Note
606-
that <code>mkiocccentry(1)</code> will check for file <strong>size</strong> but will <strong>NOT</strong>
607-
check for content.</p>
608-
<p><span style="font-size:28px;"><b>|</b></span>  
609-
* Your submitted source code <strong>MUST</strong> be called <code>prog.c</code>. When the
597+
<ul>
598+
<li><p class="leftbar">
599+
<code>.info.json</code> and <code>.auth.json</code> <strong>MUST</strong> be generated by
600+
<code>mkiocccenty(1)</code> when packing a submission.
601+
</p></li>
602+
<li><p class="leftbar">
603+
Before forming the tarball, <code>mkiocccentry(1)</code> will run <code>chksubmit(1)</code> on your
604+
submission directory and if <strong>ANY</strong> problems are found (with <code>.auth.json</code>,
605+
<code>.info.json</code> or <strong>ANYTHING</strong> else), your tarball will <strong>NOT</strong> be formed.
606+
</p></li>
607+
<li><p class="leftbar">
608+
The <code>Makefile</code>, <code>remarks.md</code>,<code>.info.json</code>, and <code>.auth.json</code>
609+
<strong>MUST</strong> have a file size <strong>greater than 0</strong> and <strong>MUST</strong> have content. Note
610+
that <code>mkiocccentry(1)</code> will check for file <strong>size</strong> but will <strong>NOT</strong> check for
611+
content. On the other hand <code>chksubmit(1)</code> will check that the <code>.auth.json</code> and
612+
<code>.info.json</code> are both valid JSON and are valid according to the IOCCC
613+
requirements.
614+
</p></li>
615+
<li><p class="leftbar">
616+
Your submitted source code <strong>MUST</strong> be called <code>prog.c</code>. When the
610617
<code>Makefile</code> compiles your code, the executable (if applicable) <strong>MUST</strong>
611618
be called <code>prog</code>. The <code>Makefile</code> may compile your source code into
612-
other filenames as well, if you want.</p>
613-
<p><span style="font-size:28px;"><b>|</b></span>  
614-
* As <code>prog</code>, <code>prog.alt</code>, <code>prog.alt.o</code>, <code>prog.o</code> may be created by your
619+
other filenames as well, if you want.
620+
</p></li>
621+
<li><p class="leftbar">
622+
As <code>prog</code>, <code>prog.alt</code>, <code>prog.alt.o</code>, <code>prog.o</code> may be created by your
615623
<code>Makefile</code>, your submission <strong>MUST NOT</strong> include those files in your
616-
<strong>top</strong> directory.</p>
617-
<p><span style="font-size:28px;"><b>|</b></span>  
618-
* Your submission may <strong>NOT</strong> have any file that starts with <code>COPYING</code>,
619-
<code>COPYRIGHT</code>, or <code>LICENSE</code> as those files are reserved by IOCCC.</p>
620-
<p><span style="font-size:28px;"><b>|</b></span>  
621-
* Your submission may <strong>NOT</strong> have in the <strong>top</strong> directory:
624+
<strong>top</strong> directory.
625+
</p></li>
626+
<li><p class="leftbar">
627+
Your submission may <strong>NOT</strong> have any file that starts with <code>COPYING</code>,
628+
<code>COPYRIGHT</code>, or <code>LICENSE</code> as those files are reserved by IOCCC.
629+
</p></li>
630+
<li><p class="leftbar">
631+
Your submission may <strong>NOT</strong> have in the <strong>top</strong> directory:
622632
<code>prog.orig.c</code>, <code>README.md</code> or <code>index.html</code> as those files are reserved
623-
by the IOCCC.</p>
624-
<p><span style="font-size:28px;"><b>|</b></span>  
625-
* Your submission may <strong>NOT</strong> have in the <strong>top</strong> directory any file
626-
that matches a file glob pattern form <code>[0-9][0-9][0-9][0-9]_*.tar.bz2</code>
627-
as those files are reserved by IOCCC.</p>
628-
<p><span style="font-size:28px;"><b>|</b></span>  
629-
* Your submission may <strong>ONLY</strong> contain files and directories. Other
630-
file types such as symlinks, sockets etc. are <strong>NOT</strong> allowed.</p>
631-
<p><span style="font-size:28px;"><b>|</b></span>  
632-
* <strong>All</strong> directories <strong>MUST</strong> have permission mode of <strong>0755</strong>. All
633-
files <strong>MUST</strong> have the file mode of <strong>0444</strong>, EXCEPT for files that
634-
end in <code>.sh</code> which must have a mode of <strong>0555</strong>.</p>
635-
<p><span style="font-size:28px;"><b>|</b></span>  
636-
* All files that end in <code>.md</code> <strong>MUST</strong> be in markdown format.</p>
637-
<p><span style="font-size:28px;"><b>|</b></span>  
638-
* All filenames are treated as case insensitive. For example,
633+
by the IOCCC.
634+
</p></li>
635+
<li><p class="leftbar">
636+
Your submission may <strong>NOT</strong> have in the <strong>top</strong> directory any file that matches
637+
a file glob pattern form <code>[0-9][0-9][0-9][0-9]_*.tar.bz2</code> as those files are
638+
reserved by IOCCC.
639+
</p></li>
640+
<li><p class="leftbar">
641+
Your submission may <strong>ONLY</strong> contain <strong>regular</strong> files and directories. Other
642+
file types such as symlinks, sockets etc. are <strong>NOT</strong> allowed.
643+
</p></li>
644+
<li><p class="leftbar">
645+
<strong>All</strong> directories <strong>MUST</strong> have permission mode of <code>0755</code>. All
646+
files <strong>MUST</strong> have the file mode of <code>0444</code>, <strong>EXCEPT</strong> for files that
647+
end in <code>.sh</code> which must have a mode of <code>0555</code>.
648+
</p></li>
649+
<li><p class="leftbar">
650+
All files that end in <code>.md</code> <strong>MUST</strong> be in markdown format.
651+
</p></li>
652+
<li><p class="leftbar">
653+
All filenames are treated as case insensitive. For example,
639654
<code>REMARKS.MD</code>, and <code>Remarks.md</code>, and <code>remarks.md</code> are considered by
640655
<code>mkiocccenty(1)</code> to be the <strong>SAME</strong> file. When preparing a submission
641656
on a case sensitive filesystem, ensure that the submission will work on
642-
a case insensitive filesystem.</p>
657+
a case insensitive filesystem.
658+
</p></li>
659+
</ul>
643660
<p class="leftbar">
644661
<strong>NOTE</strong>: by ‘top directory’ we mean the directory with <code>prog.c</code>,
645662
<code>Makefile</code>, <code>remarks.md</code> and the <code>mkiocccentry(1)</code> generated files
@@ -676,7 +693,7 @@ <h2 id="rule-5---do-not-modify-submitted-files-filenames-or-parent-directories">
676693
<p>With the exception of the <code>/tmp</code> and the <code>/var/tmp</code> directories,
677694
assuming the directory name or filename does <strong>NOT</strong> start with a <code>.</code>
678695
(dot), your submission <strong>MUST NOT</strong> create or modify directories and
679-
files ABOVE the current directory.</p>
696+
files <strong>ABOVE</strong> the current directory.</p>
680697
<p>The <code>Makefile</code> <code>clobber</code> target <strong>MUST</strong> restore your submission to its
681698
original form, including the removal of any created files and
682699
directories.</p>
@@ -700,12 +717,11 @@ <h2 id="rule-7---original-work">Rule 7 - Original Work</h2>
700717
</div>
701718
</div>
702719
<p class="leftbar">
703-
You, the author(s), <strong>MUST</strong> own the contents of your submission,
704-
<strong>OR</strong>, IF you do <strong>NOT</strong> own the work, then you <strong>MUST</strong> have
705-
permission from the original owner(s) to its use. If you submit
706-
<strong>ANY</strong> content that is owned by others, you <strong>MUST</strong> detail that
707-
ownership, i.e., who owns what, and document the permission you
708-
obtained from them in your <code>remarks.md</code> file.
720+
You, the author(s), <strong>MUST</strong> own the contents of your submission, <strong>OR</strong>, IF you
721+
do <strong>NOT</strong> own the work, then you <strong>MUST</strong> have permission from the original
722+
owner(s) to its use. If you submit <strong>ANY</strong> content that is owned by others, you
723+
<strong>MUST</strong> detail that ownership, i.e., who owns what, and document in your
724+
<code>remarks.md</code> the permission you obtained from them.
709725
</p>
710726
<p class="leftbar">
711727
You are permitted to use tools to write your code.
@@ -818,7 +834,7 @@ <h2 id="rule-11---legal-rule-abuse">Rule 11 - Legal rule abuse</h2>
818834
<h2 id="rule-12---utf-8">Rule 12 - UTF-8</h2>
819835
</div>
820836
</div>
821-
<p>Use of UTF-8 is supported by <code>C89</code> standard and its updates and so too
837+
<p>Use of UTF-8 is supported by <code>C11</code> standard and its updates and so too
822838
by the IOCCC.</p>
823839
<p>See <a href="guidelines.html#guideline12-utf8">Guidelines for Rule 12 - UTF-8</a>.</p>
824840
<div id="rule13">
@@ -914,22 +930,25 @@ <h2 id="rule-16---anonymous-judging">Rule 16 - Anonymous judging</h2>
914930
<h2 id="rule-17---use-mkiocccentry">Rule 17 - Use <code>mkiocccentry</code></h2>
915931
</div>
916932
</div>
917-
<p>TL;DR: use <code>mkiocccentry(1)</code> to package your submission.</p>
933+
<p><strong>TL;DR</strong>: use <code>mkiocccentry(1)</code> to package your submission.</p>
918934
<p>The files, directories, and paths <strong>MUST</strong> conform to the limits
919-
imposed by <code>mkiocccentry(1)</code>, including but <strong>NOT</strong> limited, to their
935+
imposed by <code>mkiocccentry(1)</code>, including but <strong>NOT</strong> limited to, their
920936
names, count, path length, directory tree depth, and permissions.</p>
921937
<p class="leftbar">
922938
The submission tree may have at most <strong>13</strong> directories and maximum
923939
directory depths of <strong>4</strong>. The maximum number of files, excluding
924940
<code>prog.c</code>, <code>remarks.md</code>, <code>Makefile</code>, <code>prog.alt.c</code>, <code>try.sh</code>,
925-
<code>try.alt.sh</code>, <code>.info.json</code> and <code>.auth.json</code> is <strong>31</strong>. And the maximum
926-
file-path component is <strong>38</strong> and maximum path length is <strong>60</strong>.
941+
<code>try.alt.sh</code>, <code>.info.json</code> and <code>.auth.json</code> is <strong>31</strong>.
942+
</p>
943+
<p class="leftbar">
944+
The maximum file-path component is <strong>38</strong> and the maximum
945+
path length is <strong>60</strong>.
927946
</p>
928947
<p>The submission <strong>MUST</strong> be a <code>.txz</code> compressed tarball (i.e., tarball
929-
compressed by <code>xz(1)</code>) as constructed by <code>mkiocccentry(1)</code>, which
948+
compressed by <code>xz(1)</code>) <strong>as constructed by</strong> <code>mkiocccentry(1)</code>, which
930949
<strong>MUST</strong> be within <strong>[1..3999971]</strong> bytes in size.</p>
931950
<p>The tarball <strong>MUST</strong> be a <strong>v7 format</strong> tarball, and any supplementary
932-
tarballs you provide <strong>MUST</strong> also be <strong>v7 format</strong>.</p>
951+
tarballs you provide <strong>MUST ALSO</strong> be <strong>v7 format</strong>.</p>
933952
<p>The sum of all file lengths, after unpacking from the tarball, <strong>MUST</strong>
934953
be less than <code>27651*1024</code> (<strong>28314624</strong>) bytes.</p>
935954
<p class="leftbar">

next/rules.md

Lines changed: 61 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -199,62 +199,67 @@ requirements may be imposed by `mkiocccentry(1)` updates that have yet
199199
to be listed below:
200200
</p>
201201

202-
<span style='font-size:28px;'><b>&verbar;</b></span>&nbsp;&nbsp;
203-
* `.info.json` and `.auth.json` **MUST** be generated by
204-
`mkiocccenty(1)` when packing a submission. When `chksubmit(1)` is run
205-
on the submission directory **ALL** tests must pass and if there is
206-
**ANY** problem with these JSON files or if either is missing it will
207-
fail. See [Rule 17 - use mkiocccentry](#rule17-mkiocccentry).
208-
209-
<span style='font-size:28px;'><b>&verbar;</b></span>&nbsp;&nbsp;
210-
* The `Makefile`, `remarks.md`,`.info.json`, and `.auth.json` **MUST**
211-
have a file size **greater than 0** and **MUST** have content. Note
212-
that `mkiocccentry(1)` will check for file **size** but will **NOT**
213-
check for content.
214-
215-
<span style='font-size:28px;'><b>&verbar;</b></span>&nbsp;&nbsp;
216-
* Your submitted source code **MUST** be called `prog.c`. When the
202+
* <p class="leftbar">`.info.json` and `.auth.json` **MUST** be generated by
203+
`mkiocccenty(1)` when packing a submission.</p>
204+
205+
* <p class="leftbar">
206+
Before forming the tarball, `mkiocccentry(1)` will run `chksubmit(1)` on your
207+
submission directory and if **ANY** problems are found (with `.auth.json`,
208+
`.info.json` or **ANYTHING** else), your tarball will **NOT** be formed.
209+
</p>
210+
211+
* <p class="leftbar">The `Makefile`, `remarks.md`,`.info.json`, and `.auth.json`
212+
**MUST** have a file size **greater than 0** and **MUST** have content. Note
213+
that `mkiocccentry(1)` will check for file **size** but will **NOT** check for
214+
content. On the other hand `chksubmit(1)` will check that the `.auth.json` and
215+
`.info.json` are both valid JSON and are valid according to the IOCCC
216+
requirements.</p>
217+
218+
* <p class="leftbar">
219+
Your submitted source code **MUST** be called `prog.c`. When the
217220
`Makefile` compiles your code, the executable (if applicable) **MUST**
218221
be called `prog`. The `Makefile` may compile your source code into
219-
other filenames as well, if you want.
222+
other filenames as well, if you want.</p>
220223

221-
<span style='font-size:28px;'><b>&verbar;</b></span>&nbsp;&nbsp;
222-
* As `prog`, `prog.alt`, `prog.alt.o`, `prog.o` may be created by your
224+
* <p class="leftbar">
225+
As `prog`, `prog.alt`, `prog.alt.o`, `prog.o` may be created by your
223226
`Makefile`, your submission **MUST NOT** include those files in your
224-
**top** directory.
227+
**top** directory.</p>
225228

226-
<span style='font-size:28px;'><b>&verbar;</b></span>&nbsp;&nbsp;
227-
* Your submission may **NOT** have any file that starts with `COPYING`,
228-
`COPYRIGHT`, or `LICENSE` as those files are reserved by IOCCC.
229+
* <p class="leftbar">
230+
Your submission may **NOT** have any file that starts with `COPYING`,
231+
`COPYRIGHT`, or `LICENSE` as those files are reserved by IOCCC.</p>
229232

230-
<span style='font-size:28px;'><b>&verbar;</b></span>&nbsp;&nbsp;
231-
* Your submission may **NOT** have in the **top** directory:
233+
* <p class="leftbar">
234+
Your submission may **NOT** have in the **top** directory:
232235
`prog.orig.c`, `README.md` or `index.html` as those files are reserved
233-
by the IOCCC.
236+
by the IOCCC.</p>
234237

235-
<span style='font-size:28px;'><b>&verbar;</b></span>&nbsp;&nbsp;
236-
* Your submission may **NOT** have in the **top** directory any file
237-
that matches a file glob pattern form `[0-9][0-9][0-9][0-9]_*.tar.bz2`
238-
as those files are reserved by IOCCC.
238+
* <p class="leftbar">
239+
Your submission may **NOT** have in the **top** directory any file that matches
240+
a file glob pattern form `[0-9][0-9][0-9][0-9]_*.tar.bz2` as those files are
241+
reserved by IOCCC.</p>
239242

240-
<span style='font-size:28px;'><b>&verbar;</b></span>&nbsp;&nbsp;
241-
* Your submission may **ONLY** contain files and directories. Other
242-
file types such as symlinks, sockets etc. are **NOT** allowed.
243+
* <p class="leftbar">
244+
Your submission may **ONLY** contain **regular** files and directories. Other
245+
file types such as symlinks, sockets etc. are **NOT** allowed.</p>
243246

244-
<span style='font-size:28px;'><b>&verbar;</b></span>&nbsp;&nbsp;
245-
* **All** directories **MUST** have permission mode of **0755**. All
246-
files **MUST** have the file mode of **0444**, EXCEPT for files that
247-
end in `.sh` which must have a mode of **0555**.
247+
* <p class="leftbar">
248+
**All** directories **MUST** have permission mode of `0755`. All
249+
files **MUST** have the file mode of `0444`, **EXCEPT** for files that
250+
end in `.sh` which must have a mode of `0555`.</p>
248251

249-
<span style='font-size:28px;'><b>&verbar;</b></span>&nbsp;&nbsp;
250-
* All files that end in `.md` **MUST** be in markdown format.
252+
* <p class="leftbar">
253+
All files that end in `.md` **MUST** be in markdown format.
254+
</p>
251255

252-
<span style='font-size:28px;'><b>&verbar;</b></span>&nbsp;&nbsp;
253-
* All filenames are treated as case insensitive. For example,
256+
* <p class="leftbar">
257+
All filenames are treated as case insensitive. For example,
254258
`REMARKS.MD`, and `Remarks.md`, and `remarks.md` are considered by
255259
`mkiocccenty(1)` to be the **SAME** file. When preparing a submission
256260
on a case sensitive filesystem, ensure that the submission will work on
257261
a case insensitive filesystem.
262+
</p>
258263

259264
<p class="leftbar">
260265
**NOTE**: by 'top directory' we mean the directory with `prog.c`,
@@ -303,7 +308,7 @@ restore the directory to its original state.
303308
With the exception of the `/tmp` and the `/var/tmp` directories,
304309
assuming the directory name or filename does **NOT** start with a `.`
305310
(dot), your submission **MUST NOT** create or modify directories and
306-
files ABOVE the current directory.
311+
files **ABOVE** the current directory.
307312

308313
The `Makefile` `clobber` target **MUST** restore your submission to its
309314
original form, including the removal of any created files and
@@ -338,12 +343,11 @@ See [Rule 19 - Prime](rules.html#rule19-prime).
338343
</div>
339344

340345
<p class="leftbar">
341-
You, the author(s), **MUST** own the contents of your submission,
342-
**OR**, IF you do **NOT** own the work, then you **MUST** have
343-
permission from the original owner(s) to its use. If you submit
344-
**ANY** content that is owned by others, you **MUST** detail that
345-
ownership, i.e., who owns what, and document the permission you
346-
obtained from them in your `remarks.md` file.
346+
You, the author(s), **MUST** own the contents of your submission, **OR**, IF you
347+
do **NOT** own the work, then you **MUST** have permission from the original
348+
owner(s) to its use. If you submit **ANY** content that is owned by others, you
349+
**MUST** detail that ownership, i.e., who owns what, and document in your
350+
`remarks.md` the permission you obtained from them.
347351
</p>
348352

349353
<p class="leftbar">
@@ -493,7 +497,7 @@ abuse](guidelines.html#guideline11-abuse).
493497
</div>
494498
</div>
495499

496-
Use of UTF-8 is supported by `C89` standard and its updates and so too
500+
Use of UTF-8 is supported by `C11` standard and its updates and so too
497501
by the IOCCC.
498502

499503
See [Guidelines for Rule 12 - UTF-8](guidelines.html#guideline12-utf8).
@@ -620,26 +624,29 @@ comply may result in the submission being disqualified_**.
620624
</div>
621625
</div>
622626

623-
TL;DR: use `mkiocccentry(1)` to package your submission.
627+
**TL;DR**: use `mkiocccentry(1)` to package your submission.
624628

625629
The files, directories, and paths **MUST** conform to the limits
626-
imposed by `mkiocccentry(1)`, including but **NOT** limited, to their
630+
imposed by `mkiocccentry(1)`, including but **NOT** limited to, their
627631
names, count, path length, directory tree depth, and permissions.
628632

629633
<p class="leftbar">
630634
The submission tree may have at most **13** directories and maximum
631635
directory depths of **4**. The maximum number of files, excluding
632636
`prog.c`, `remarks.md`, `Makefile`, `prog.alt.c`, `try.sh`,
633-
`try.alt.sh`, `.info.json` and `.auth.json` is **31**. And the maximum
634-
file-path component is **38** and maximum path length is **60**.
637+
`try.alt.sh`, `.info.json` and `.auth.json` is **31**.
638+
</p>
639+
640+
<p class="leftbar">The maximum file-path component is **38** and the maximum
641+
path length is **60**.
635642
</p>
636643

637644
The submission **MUST** be a `.txz` compressed tarball (i.e., tarball
638-
compressed by `xz(1)`) as constructed by `mkiocccentry(1)`, which
645+
compressed by `xz(1)`) **as constructed by** `mkiocccentry(1)`, which
639646
**MUST** be within **[1..3999971]** bytes in size.
640647

641648
The tarball **MUST** be a **v7 format** tarball, and any supplementary
642-
tarballs you provide **MUST** also be **v7 format**.
649+
tarballs you provide **MUST ALSO** be **v7 format**.
643650

644651
The sum of all file lengths, after unpacking from the tarball, **MUST**
645652
be less than `27651*1024` (**28314624**) bytes.

0 commit comments

Comments
 (0)