Update rules, guidelines and FAQ for file perms
Rule 17 mandates specific file permissions for files/directories in submission tarballs but the documentation did not state this. More work might need to be done here but it should be better now.
This commit is contained in:
1 parent
b0f512b865
commit
a2e216ec82
6 files changed
+299
-213
No files matched your search
+32
-19
@@ -51,11 +51,9 @@ Jump to: [top](#)
|
||||
</div>
|
||||
|
||||
|
||||
Jump to: [top](#)
|
||||
|
||||
|
||||
<p class="leftbar">
|
||||
These [IOCCC rules](rules.html) are version **28.19 2025-01-30**.
|
||||
These [IOCCC rules](rules.html) are version **28.21 2025-02-03**.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
@@ -747,8 +745,8 @@ if you need to include more files than this maximum.
|
||||
<p class="leftbar">
|
||||
Extra files are defined as files that are not the required files (`prog.c`,
|
||||
`Makefile`, `remarks.md` and the two generated by `mkiocccentry(1)` `.info.json`
|
||||
and `.auth.json`) and the optional files (`try.sh`, `prog.alt.c` and
|
||||
`try.alt.sh`).
|
||||
and `.auth.json`) and files that are also not the optional files (`try.sh`,
|
||||
`prog.alt.c` and `try.alt.sh`).
|
||||
</p>
|
||||
|
||||
Jump to: [top](#)
|
||||
@@ -835,7 +833,7 @@ and the [CommonMark Spec](https://spec.commonmark.org/current/).
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
The xz compressed tarball file **MUST** be less than or equal **3999971** octets in size.
|
||||
The xz compressed tarball file **MUST** be less than or equal to **3999971** octets in size.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
@@ -850,8 +848,6 @@ Your submission's xz compressed tarball **MUST** pass the `txzchk(1)` test. See
|
||||
the [guidelines](guidelines.html) for more details on this tool.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<p class="leftbar">
|
||||
**IMPORTANT**: Make **SURE** you have the most recent version of the
|
||||
`mkiocccentry` toolkit! Not doing so will put you at a great risk of violating
|
||||
@@ -861,7 +857,6 @@ for more details.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<p class="leftbar">
|
||||
You are **HIGHLY ENCOURAGED** to use the `mkiocccentry(1)` tool to form your
|
||||
submission's xz compressed tarball. See the [guidelines](guidelines.html) for
|
||||
@@ -880,9 +875,8 @@ 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**:
|
||||
</p>
|
||||
|
||||
* <p class="leftbar">Be <= **38** characters in length</p>
|
||||
* <p class="leftbar">**NOT** have a **`/`** (excluding the entry directory that
|
||||
the `mkiocccentry(1)` tool generates).</p>
|
||||
* <p class="leftbar">Be <= **38** characters in length.</p>
|
||||
* <p class="leftbar">**NOT** have a leading **`/`**.</p>
|
||||
* <p class="leftbar">**NOT** contain a path component of: **`.`** (that is, with
|
||||
the exception of files generated by `mkiocccentry(1)` itself, it must have
|
||||
**NO** **`.`**).</p>
|
||||
@@ -892,11 +886,11 @@ the exception of files generated by `mkiocccentry(1)` itself, it must have
|
||||
`^[0-9A-Za-z]+[0-9A-Za-z_+.-]*$` (again, excluding files generated by
|
||||
`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">**NOT** have a total **path** length > 99 characters.</p>
|
||||
|
||||
<p class="leftbar">
|
||||
Additionally, the submission tarball created by `mkiocccentry(1)` **MUST** have
|
||||
the following files (generated by the `mkiocccentry(1)` tool):
|
||||
The submission tarball created by `mkiocccentry(1)` **MUST** have
|
||||
the additional files that are generated by the `mkiocccentry(1)` tool:
|
||||
</p>
|
||||
|
||||
* <p class="leftbar">`.auth.json` which contains information about the author or
|
||||
@@ -904,12 +898,30 @@ authors (that will only be looked at if the submission wins).</p>
|
||||
* <p class="leftbar">`.info.json` which contains information about the
|
||||
entry.</p>
|
||||
|
||||
<p class="leftbar">
|
||||
The `chkentry(1)` tool will validate these two JSON files _prior to_ the tarball
|
||||
being formed.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
Files and directories in your submission tarball **MUST** be specific
|
||||
permissions and `mkiocccentry(1)` does this for you. In particular: directories
|
||||
**MUST** be `drwxr-xr-x` (i.e. `0755`), the optional files, `try.sh` or
|
||||
`try.alt.sh`, if provided, **MUST** be `-r-xr-xr-x` (i.e. `0555`) and all other
|
||||
files **MUST** be `-r--r--r--` (i.e. `0444`). If the files do not have these
|
||||
permissions, your submission **WILL** be rejected for violating [Rule
|
||||
17](#rule17)! If you do need different permissions, then see the
|
||||
FAQ on "[file permissions](../faq.html#file_perms)". Also keep in mind
|
||||
[Rule 4](#rule4), [Rule 5](#rule5) and [Rule 21](#rule21).
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
The `txzchk(1)` tool will verify these (and other things) for you and
|
||||
the `chkentry(1)` tool will do additional checks on the contents of the
|
||||
`.auth.json` and `.info.json` files (including JSON validity). If these checks
|
||||
fail it is an error and `mkiocccentry(1)` will fail. In this case it is very
|
||||
**possibly** a bug; please [report it as a bug at the mkiocccentry issues
|
||||
fail it is an error and `mkiocccentry(1)` will fail. In this case (it fails and
|
||||
you used `mkiocccentry(1)`) it is very **possibly** a bug; please [report it as
|
||||
a bug at the mkiocccentry issues
|
||||
page](https://github.com/ioccc-src/mkiocccentry/issues/new?assignees=&labels=bug&projects=&template=bug_report.yml&title=%5BBug%5D+%3Ctitle%3E).
|
||||
</p>
|
||||
|
||||
@@ -938,7 +950,8 @@ having your submission rejected for violating [Rule 17](#rule17)!
|
||||
<p class="leftbar">
|
||||
The maximum number of files your submission tarball may contain, not counting
|
||||
the optional files (`prog.alt.c`, `try.sh`, `try.alt.sh`) and the mandatory
|
||||
files (`prog.c`, `Makefile`, `remarks.md`) is 31. This is defined in the macro
|
||||
files (`prog.c`, `Makefile`, `remarks.md` plus the `mkiocccentry(1)` generated
|
||||
files `.auth.json` and `.info.json`) is 31. This is defined in the macro
|
||||
`MAX_EXTRA_FILE_COUNT` in
|
||||
[soup/limit_ioccc.h](https://github.com/ioccc-src/mkiocccentry/blob/master/soup/limit_ioccc.h)
|
||||
in the [mkiocccentry repo](https://github.com/ioccc-src/mkiocccentry). See the
|
||||
@@ -1049,7 +1062,7 @@ The entirety of your submission must be submitted under the following license:
|
||||
**[CC BY-SA 4.0 DEED Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/)**
|
||||
</p>
|
||||
|
||||
You (the author(s)) **MUST** own the contents of your submission **OR**
|
||||
You (the author(s)) **MUST** own the content of your submission **OR**
|
||||
you **MUST HAVE PERMISSION** from the owner(s) to submit their content.
|
||||
|
||||
You **MUST NOT** submit anything that cannot be submitted under that license.
|
||||
|
||||
Reference in new issue
Block a user