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
+84
-78
@@ -49,7 +49,7 @@ Jump to: [top](#)
|
||||
</div>
|
||||
|
||||
<p class="leftbar">
|
||||
These [IOCCC guidelines](guidelines.html) are version **28.35 2025-01-30**.
|
||||
These [IOCCC guidelines](guidelines.html) are version **28.36 2025-02-03**.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
@@ -238,8 +238,12 @@ before this option will work a second time, just like in normal mode.
|
||||
to account for the new [mkiocccentry repo](https://github.com/ioccc-src/mkiocccentry) tools.
|
||||
Thus, you are **STRONGLY** advised to use the `mkiocccentry(1)` tool
|
||||
as found in the [mkiocccentry repo](https://github.com/ioccc-src/mkiocccentry)
|
||||
to form the file to upload to the [submit server](https://submit.ioccc.org). Not
|
||||
doing so puts you at a very big risk of violating [Rule 17](rules.html#rule17).
|
||||
using `mkiocccentry(1)` the [submit server](https://submit.ioccc.org). Uploading
|
||||
a tarball not formed by `mkiocccentry(1)` puts you at a very big risk of
|
||||
violating [Rule 17](rules.html#rule17), especially as `mkiocccentry(1)` does a
|
||||
great number of things that are required, and it also runs many checks, and if
|
||||
any of those checks fail, you are at a very great risk of having your submission
|
||||
rejected for violating [Rule 17](rules.html#rule17).
|
||||
</p>
|
||||
|
||||
|
||||
@@ -485,81 +489,6 @@ are considered more portable.
|
||||
|
||||
Jump to: [top](#)
|
||||
|
||||
<div id="extra-files">
|
||||
# Including optional and extra files
|
||||
</div>
|
||||
|
||||
<p class="leftbar">
|
||||
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
|
||||
the two JSON files generated by `mkiocccentry(1)`, `.info.json` and
|
||||
`.auth.json`).
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
Additionally, three of the files, if included, **MUST** be
|
||||
specific file(name)s and in the top level directory, or they will be counted as
|
||||
an extra file, not an optional file.
|
||||
</p>
|
||||
|
||||
<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 class="leftbar">
|
||||
In other words, the actual amount of **EXTRA** files is 31.
|
||||
</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">
|
||||
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
|
||||
submission tarball must pass the `txzchk(1)` tests. See the [txzchk
|
||||
section](#txzchk) for more details on this important tool.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
If you **DO** include a tarball, and the build process or the program extracts
|
||||
said tarball(s), the make `clobber` rule **MUST** remove them.
|
||||
</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">
|
||||
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
|
||||
are at a great risk of violating [Rule 17](rules.html#rule17)!
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
**NOTE**: if you want to include a test-suite that requires a lot of files,
|
||||
please suggest this in your `remarks.md` and if your submission wins it can
|
||||
be done. In other words you should not use a tarball for a test-suite unless you
|
||||
have a very good reason for this (and if you do, make **SURE** you specify why
|
||||
in your `remarks.md`).
|
||||
</p>
|
||||
|
||||
|
||||
<div id="mkiocccentry">
|
||||
# `mkiocccentry`
|
||||
</div>
|
||||
@@ -818,6 +747,83 @@ manually package your submission tarball, you could still be violating [Rule
|
||||
17](rules.html#rule17).
|
||||
</p>
|
||||
|
||||
<div id="extra-files">
|
||||
## Including optional and extra files
|
||||
</div>
|
||||
|
||||
<p class="leftbar">
|
||||
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
|
||||
the two JSON files generated by `mkiocccentry(1)`, `.info.json` and
|
||||
`.auth.json`).
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
Additionally, three of the files, if included, **MUST** be
|
||||
specific file(name)s and in the top level directory, or they will be counted as
|
||||
an extra file, not an optional file.
|
||||
</p>
|
||||
|
||||
<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 class="leftbar">
|
||||
In other words, the actual amount of **EXTRA** files is 31.
|
||||
</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">
|
||||
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
|
||||
submission tarball must pass the `txzchk(1)` tests. See the [txzchk
|
||||
section](#txzchk) for more details on this important tool.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
If you **DO** include a tarball, and the build process or the program extracts
|
||||
said tarball(s), the make `clobber` rule **MUST** remove them.
|
||||
</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">
|
||||
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
|
||||
are at a great risk of violating [Rule 17](rules.html#rule17)!
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
**NOTE**: if you want to include a test-suite that requires a lot of files,
|
||||
please suggest this in your `remarks.md` and if your submission wins it can
|
||||
be done. In other words you should not use a tarball for a test-suite unless you
|
||||
have a very good reason for this (and if you do, make **SURE** you specify why
|
||||
in your `remarks.md`).
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
|
||||
<p class="leftbar">
|
||||
See also the
|
||||
FAQ on "[txzchk](../faq.html#txzchk)".
|
||||
|
||||
Reference in new issue
Block a user