diff --git a/next/rules.html b/next/rules.html index d0891aca2d..c094629cfb 100644 --- a/next/rules.html +++ b/next/rules.html @@ -594,52 +594,69 @@

Rule 4 - Required files

requirements may be imposed by mkiocccentry(1) updates that have yet to be listed below:

-

|   -* .info.json and .auth.json MUST be generated by -mkiocccenty(1) when packing a submission. When chksubmit(1) is run -on the submission directory ALL tests must pass and if there is -ANY problem with these JSON files or if either is missing it will -fail. See Rule 17 - use mkiocccentry.

-

|   -* The Makefile, remarks.md,.info.json, and .auth.json MUST -have a file size greater than 0 and MUST have content. Note -that mkiocccentry(1) will check for file size but will NOT -check for content.

-

|   -* Your submitted source code MUST be called prog.c. When the +

NOTE: by ‘top directory’ we mean the directory with prog.c, Makefile, remarks.md and the mkiocccentry(1) generated files @@ -676,7 +693,7 @@

With the exception of the /tmp and the /var/tmp directories, assuming the directory name or filename does NOT start with a . (dot), your submission MUST NOT create or modify directories and -files ABOVE the current directory.

+files ABOVE the current directory.

The Makefile clobber target MUST restore your submission to its original form, including the removal of any created files and directories.

@@ -700,12 +717,11 @@

Rule 7 - Original Work

-You, the author(s), MUST own the contents of your submission, -OR, IF you do NOT own the work, then you MUST have -permission from the original owner(s) to its use. If you submit -ANY content that is owned by others, you MUST detail that -ownership, i.e., who owns what, and document the permission you -obtained from them in your remarks.md file. +You, the author(s), MUST own the contents of your submission, OR, IF you +do NOT own the work, then you MUST have permission from the original +owner(s) to its use. If you submit ANY content that is owned by others, you +MUST detail that ownership, i.e., who owns what, and document in your +remarks.md the permission you obtained from them.

You are permitted to use tools to write your code. @@ -818,7 +834,7 @@

Rule 12 - UTF-8

-

Use of UTF-8 is supported by C89 standard and its updates and so too +

Use of UTF-8 is supported by C11 standard and its updates and so too by the IOCCC.

See Guidelines for Rule 12 - UTF-8.

@@ -914,22 +930,25 @@

Rule 16 - Anonymous judging

Rule 17 - Use mkiocccentry

-

TL;DR: use mkiocccentry(1) to package your submission.

+

TL;DR: use mkiocccentry(1) to package your submission.

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

The submission tree may have at most 13 directories and maximum directory depths of 4. The maximum number of files, excluding prog.c, remarks.md, Makefile, prog.alt.c, try.sh, -try.alt.sh, .info.json and .auth.json is 31. And the maximum -file-path component is 38 and maximum path length is 60. +try.alt.sh, .info.json and .auth.json is 31. +

+

+The maximum file-path component is 38 and the maximum +path length is 60.

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

The tarball MUST be a v7 format tarball, and any supplementary -tarballs you provide MUST also be v7 format.

+tarballs you provide MUST ALSO be v7 format.

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

diff --git a/next/rules.md b/next/rules.md index 980f1f515d..073e848d14 100644 --- a/next/rules.md +++ b/next/rules.md @@ -199,62 +199,67 @@ requirements may be imposed by `mkiocccentry(1)` updates that have yet to be listed below:

-|   -* `.info.json` and `.auth.json` **MUST** be generated by -`mkiocccenty(1)` when packing a submission. When `chksubmit(1)` is run -on the submission directory **ALL** tests must pass and if there is -**ANY** problem with these JSON files or if either is missing it will -fail. See [Rule 17 - use mkiocccentry](#rule17-mkiocccentry). - -|   -* The `Makefile`, `remarks.md`,`.info.json`, and `.auth.json` **MUST** -have a file size **greater than 0** and **MUST** have content. Note -that `mkiocccentry(1)` will check for file **size** but will **NOT** -check for content. - -|   -* Your submitted source code **MUST** be called `prog.c`. When the +*

`.info.json` and `.auth.json` **MUST** be generated by +`mkiocccenty(1)` when packing a submission.

+ +*

+Before forming the tarball, `mkiocccentry(1)` will run `chksubmit(1)` on your +submission directory and if **ANY** problems are found (with `.auth.json`, +`.info.json` or **ANYTHING** else), your tarball will **NOT** be formed. +

+ +*

The `Makefile`, `remarks.md`,`.info.json`, and `.auth.json` +**MUST** have a file size **greater than 0** and **MUST** have content. Note +that `mkiocccentry(1)` will check for file **size** but will **NOT** check for +content. On the other hand `chksubmit(1)` will check that the `.auth.json` and +`.info.json` are both valid JSON and are valid according to the IOCCC +requirements.

+ +*

+Your submitted source code **MUST** be called `prog.c`. When the `Makefile` compiles your code, the executable (if applicable) **MUST** be called `prog`. The `Makefile` may compile your source code into -other filenames as well, if you want. +other filenames as well, if you want.

-|   -* As `prog`, `prog.alt`, `prog.alt.o`, `prog.o` may be created by your +*

+As `prog`, `prog.alt`, `prog.alt.o`, `prog.o` may be created by your `Makefile`, your submission **MUST NOT** include those files in your -**top** directory. +**top** directory.

-|   -* Your submission may **NOT** have any file that starts with `COPYING`, -`COPYRIGHT`, or `LICENSE` as those files are reserved by IOCCC. +*

+Your submission may **NOT** have any file that starts with `COPYING`, +`COPYRIGHT`, or `LICENSE` as those files are reserved by IOCCC.

-|   -* Your submission may **NOT** have in the **top** directory: +*

+Your submission may **NOT** have in the **top** directory: `prog.orig.c`, `README.md` or `index.html` as those files are reserved -by the IOCCC. +by the IOCCC.

-|   -* Your submission may **NOT** have in the **top** directory any file -that matches a file glob pattern form `[0-9][0-9][0-9][0-9]_*.tar.bz2` -as those files are reserved by IOCCC. +*

+Your submission may **NOT** have in the **top** directory any file that matches +a file glob pattern form `[0-9][0-9][0-9][0-9]_*.tar.bz2` as those files are +reserved by IOCCC.

-|   -* Your submission may **ONLY** contain files and directories. Other -file types such as symlinks, sockets etc. are **NOT** allowed. +*

+Your submission may **ONLY** contain **regular** files and directories. Other +file types such as symlinks, sockets etc. are **NOT** allowed.

-|   -* **All** directories **MUST** have permission mode of **0755**. All -files **MUST** have the file mode of **0444**, EXCEPT for files that -end in `.sh` which must have a mode of **0555**. +*

+**All** directories **MUST** have permission mode of `0755`. All +files **MUST** have the file mode of `0444`, **EXCEPT** for files that +end in `.sh` which must have a mode of `0555`.

-|   -* All files that end in `.md` **MUST** be in markdown format. +*

+All files that end in `.md` **MUST** be in markdown format. +

-|   -* All filenames are treated as case insensitive. For example, +*

+All filenames are treated as case insensitive. For example, `REMARKS.MD`, and `Remarks.md`, and `remarks.md` are considered by `mkiocccenty(1)` to be the **SAME** file. When preparing a submission on a case sensitive filesystem, ensure that the submission will work on a case insensitive filesystem. +

**NOTE**: by 'top directory' we mean the directory with `prog.c`, @@ -303,7 +308,7 @@ restore the directory to its original state. With the exception of the `/tmp` and the `/var/tmp` directories, assuming the directory name or filename does **NOT** start with a `.` (dot), your submission **MUST NOT** create or modify directories and -files ABOVE the current directory. +files **ABOVE** the current directory. The `Makefile` `clobber` target **MUST** restore your submission to its original form, including the removal of any created files and @@ -338,12 +343,11 @@ See [Rule 19 - Prime](rules.html#rule19-prime).

-You, the author(s), **MUST** own the contents of your submission, -**OR**, IF you do **NOT** own the work, then you **MUST** have -permission from the original owner(s) to its use. If you submit -**ANY** content that is owned by others, you **MUST** detail that -ownership, i.e., who owns what, and document the permission you -obtained from them in your `remarks.md` file. +You, the author(s), **MUST** own the contents of your submission, **OR**, IF you +do **NOT** own the work, then you **MUST** have permission from the original +owner(s) to its use. If you submit **ANY** content that is owned by others, you +**MUST** detail that ownership, i.e., who owns what, and document in your +`remarks.md` the permission you obtained from them.

@@ -493,7 +497,7 @@ abuse](guidelines.html#guideline11-abuse). -Use of UTF-8 is supported by `C89` standard and its updates and so too +Use of UTF-8 is supported by `C11` standard and its updates and so too by the IOCCC. See [Guidelines for Rule 12 - UTF-8](guidelines.html#guideline12-utf8). @@ -620,26 +624,29 @@ comply may result in the submission being disqualified_**. -TL;DR: use `mkiocccentry(1)` to package your submission. +**TL;DR**: use `mkiocccentry(1)` to package your submission. The files, directories, and paths **MUST** conform to the limits -imposed by `mkiocccentry(1)`, including but **NOT** limited, to their +imposed by `mkiocccentry(1)`, including but **NOT** limited to, their names, count, path length, directory tree depth, and permissions.

The submission tree may have at most **13** directories and maximum directory depths of **4**. The maximum number of files, excluding `prog.c`, `remarks.md`, `Makefile`, `prog.alt.c`, `try.sh`, -`try.alt.sh`, `.info.json` and `.auth.json` is **31**. And the maximum -file-path component is **38** and maximum path length is **60**. +`try.alt.sh`, `.info.json` and `.auth.json` is **31**. +

+ +

The maximum file-path component is **38** and the maximum +path length is **60**.

The submission **MUST** be a `.txz` compressed tarball (i.e., tarball -compressed by `xz(1)`) as constructed by `mkiocccentry(1)`, which +compressed by `xz(1)`) **as constructed by** `mkiocccentry(1)`, which **MUST** be within **[1..3999971]** bytes in size. The tarball **MUST** be a **v7 format** tarball, and any supplementary -tarballs you provide **MUST** also be **v7 format**. +tarballs you provide **MUST ALSO** be **v7 format**. The sum of all file lengths, after unpacking from the tarball, **MUST** be less than `27651*1024` (**28314624**) bytes.