diff --git a/faq.html b/faq.html
index 581d05cd9..eab2d5a95 100644
--- a/faq.html
+++ b/faq.html
@@ -425,7 +425,7 @@
IOCCC FAQ Table of Contents
-This is FAQ version 28.2.3 2025-02-02.
+This is FAQ version 28.2.4 2025-02-03.
@@ -799,35 +800,36 @@ the one linked to above.
-PLEASE look at the example remarks.md to give you a better idea of how
-it should be formed:
+PLEASE look at the template remarks.md to give you a better idea of how
+it should be formed, as it has some instructions you should follow:
-Read the instructions in the file and PLEASE pay especial attention to the
-instructions, including the IOCCC markdown guidelines. You will
-observe that it links back to this FAQ as to what you should or should not say.
+PLEASE pay especial attention to the instructions, including the IOCCC
+markdown guidelines. You will observe that it links back to this
+FAQ as to what you should or should not say.
Next, while you may put in as much or as little as you wish into your entry’s
remarks.md file, we do have few important suggestions:
-We recommend that you explain how to use your entry. Explain the
+
We recommend that you explain how to use your submission. Explain the
command line (if any command line options and arguments are used)
and any input or actions if applicable.
-We highly recommend that you explain why you think your entry is
+
We highly recommend that you explain why you think your submission is
well obfuscated.
For those submissions that win the IOCCC, we often use much of text from the
remarks.md file in the Author’s remarks section of the index.html file.
For this reason, a well written remarks.md file is considered a plus.
While not required, consider adding bit of humor to your remarks.md
-as most people who are not humor impaired, as well as the IOCCC judges
-appreciate the opportunity for a fun read as well as a chuckle or two.
+as most people who are not humor impaired, as well as the IOCCC judges (who
+might or might not be humour impaired :-) ), appreciate the opportunity for a
+fun read as well as a chuckle or two.
What helps:
-- explaining what your entry does
-- how to entice it to do what it is supposed to do
-- what obfuscations are used
-- what are the limitations of your entry in respect of portability and/or input data
-- how it works (if you are really condescending)
+- explaining what your entry does.
+- how to entice it to do what it is supposed to do.
+- what obfuscations are used.
+- what are the limitations of your entry in respect of portability and/or input data.
+- how it works (if you are really condescending).
What does not help:
@@ -839,11 +841,13 @@ it, not very obfuscated entries have a minuscule chance to win (although
in the C code for that matter) - we like to be unbiased during the judging
rounds; we look at the author name only if an entry wins. See the
guidelines AND rules if this is not clear!
-- leaving the remark section empty.
+- leaving the remark section empty (which would also indicate that you did not
+use
mkiocccentry(1), as it requires it to not be of size 0, though if you only
+include whitespace you would still be violating Rule 17).
Jump to: top
-
Q 0.5 What should I do with the try.sh and try.alt.sh scripts?
+Q 0.5: What should I do with the try.sh and try.alt.sh scripts?
If your submission has more than one use, or if you have interesting ways to
invoke your program, perhaps using other commonly installed tools (or tools
@@ -868,6 +872,22 @@ but we do enjoy interesting and creative uses of submissions.
example Makefile that you modify for your submission. See the
FAQ on “submission Makefiles.
Jump to: top
+
+
Q 0.6: What permissions may my files be and what if I need different permissions?
+
+As Rule 17 states, files in your submission tarball MUST be
+specific permissions. 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 you need a file to be executable, say a script, then make sure you do so in
+the appropriate place in your Makefile. See the
+FAQ on “submission Makefile”
+for more details.
+Do remember that if your submission requires different filenames, then you
+MUST make a COPY of them in your Makefile. See also Rule
+11.
+Jump to: top
-**PLEASE** look at the example remarks.md to give you a better idea of how
-it should be formed:
+**PLEASE** look at the template remarks.md to give you a better idea of how
+it should be formed, as it has some instructions you should follow:
-- [view example remarks.md](%%REPO_URL%%/next/remarks.example.md)
-- [remarks.md example](next/remarks.example.md)
+- [view template remarks.md](%%REPO_URL%%/next/remarks.example.md)
+- [remarks.md template](next/remarks.example.md)
-Read the instructions in the file and **PLEASE** pay especial attention to the
-instructions, including the [IOCCC markdown guidelines](markdown.html). You will
-observe that it links back to this FAQ as to what you should or should not say.
+**PLEASE** pay especial attention to the instructions, including the [IOCCC
+markdown guidelines](markdown.html). You will observe that it links back to this
+FAQ as to what you should or should not say.
Next, while you may put in as much or as little as you wish into your entry's
`remarks.md` file, we do have few important suggestions:
-We recommend that you explain how to use your entry. Explain the
+We recommend that you explain how to use your submission. Explain the
command line (if any command line options and arguments are used)
and any input or actions if applicable.
-We highly recommend that you explain why you think your entry is
+We highly recommend that you explain why you think your submission is
well obfuscated.
For those submissions that win the IOCCC, we often use much of text from the
@@ -460,17 +461,18 @@ For those submissions that win the IOCCC, we often use much of text from the
For this reason, a well written `remarks.md` file is considered a plus.
While not required, consider adding bit of humor to your `remarks.md`
-as most people who are not humor impaired, as well as the IOCCC judges
-appreciate the opportunity for a fun read as well as a chuckle or two.
+as most people who are not humor impaired, as well as the IOCCC judges (who
+might or might not be humour impaired :-) ), appreciate the opportunity for a
+fun read as well as a chuckle or two.
#### What helps:
-- explaining what your entry does
-- how to entice it to do what it is supposed to do
-- what obfuscations are used
-- what are the limitations of your entry in respect of portability and/or input data
-- how it works (if you are really condescending)
+- explaining what your entry does.
+- how to entice it to do what it is supposed to do.
+- what obfuscations are used.
+- what are the limitations of your entry in respect of portability and/or input data.
+- how it works (if you are really condescending).
#### What does not help:
@@ -483,13 +485,15 @@ it, not very obfuscated entries have a minuscule chance to win (although
in the C code for that matter) - we like to be unbiased during the judging
rounds; we look at the author name only if an entry wins. See the
[guidelines](next/guidelines.html) **AND** [rules](next/rules.html) if this is not clear!
-- leaving the remark section empty.
+- leaving the remark section empty (which would also indicate that you did not
+use `mkiocccentry(1)`, as it requires it to not be of size 0, though if you only
+include whitespace you would still be violating [Rule 17](next/rules.html#rule17)).
Jump to: [top](#)
-### Q 0.5 What should I do with the `try.sh` and `try.alt.sh` scripts?
+### Q 0.5: What should I do with the `try.sh` and `try.alt.sh` scripts?
If your submission has more than one use, or if you have interesting ways to
@@ -522,6 +526,30 @@ FAQ on "[submission Makefiles](#makefile).
Jump to: [top](#)
+
+
+
+### Q 0.6: What permissions may my files be and what if I need different permissions?
+
+
+As [Rule 17](#rule17) states, files in your submission tarball **MUST** be
+specific permissions. 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 you need a file to be executable, say a script, then make sure you do so in
+the appropriate place in your Makefile. See the
+FAQ on "[submission Makefile](#makefile)"
+for more details.
+
+Do remember that if your submission requires different filenames, then you
+**MUST** make a **COPY** of them in your `Makefile`. See also [Rule
+11](next/rules.html#rule11).
+
+
+
+Jump to: [top](#)
diff --git a/next/guidelines.html b/next/guidelines.html
index 0903d2bde..c6b6e90cb 100644
--- a/next/guidelines.html
+++ b/next/guidelines.html
@@ -461,7 +461,7 @@ writing by contacting the judges.
-These IOCCC guidelines are version 28.35 2025-01-30.
+These IOCCC guidelines are version 28.36 2025-02-03.
The markdown form of these guidelines
@@ -613,8 +613,12 @@ before this option will work a second time, just like in normal mode.
to account for the new mkiocccentry repo tools.
Thus, you are STRONGLY advised to use the mkiocccentry(1) tool
as found in the mkiocccentry repo
-to form the file to upload to the submit server. Not
-doing so puts you at a very big risk of violating Rule 17.
+using mkiocccentry(1) the submit server. Uploading
+a tarball not formed by mkiocccentry(1) puts you at a very big risk of
+violating Rule 17, 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.
See the
@@ -816,66 +820,6 @@ specific terminal brand. Programs that work in a standard xterm
are considered more portable.
Jump to: top
-
-
-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).
-
-
-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.
-
-
-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.
-
-
-In other words, the actual amount of EXTRA files is 31.
-
-
-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”
-and the
-FAQ on “alt code”.
-
-
-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 for more details on this important tool.
-
-
-If you DO include a tarball, and the build process or the program extracts
-said tarball(s), the make clobber rule MUST remove them.
-
-
-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:
-
-
tar --format=v7 -cJf foo.txz directory
-
-See Rule 17 and in particular the part about the maximum
-number of files. If you do not follow these points, you
-are at a great risk of violating Rule 17!
-
-
-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).
-
mkiocccentry
Rule 17 (the mkiocccentry(1) rule) states that
@@ -1082,6 +1026,66 @@ Of course, as txzchk does not extract the tarball, it is possible t
manually package your submission tarball, you could still be violating Rule
17.
+
+
+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).
+
+
+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.
+
+
+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.
+
+
+In other words, the actual amount of EXTRA files is 31.
+
+
+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”
+and the
+FAQ on “alt code”.
+
+
+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 for more details on this important tool.
+
+
+If you DO include a tarball, and the build process or the program extracts
+said tarball(s), the make clobber rule MUST remove them.
+
+
+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:
+
+ tar --format=v7 -cJf foo.txz directory
+
+See Rule 17 and in particular the part about the maximum
+number of files. If you do not follow these points, you
+are at a great risk of violating Rule 17!
+
+
+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).
+
See also the
FAQ on “txzchk”.
diff --git a/next/guidelines.md b/next/guidelines.md
index d8aa7f03c..27d78b377 100644
--- a/next/guidelines.md
+++ b/next/guidelines.md
@@ -49,7 +49,7 @@ Jump to: [top](#)
-These [IOCCC guidelines](guidelines.html) are version **28.35 2025-01-30**.
+These [IOCCC guidelines](guidelines.html) are version **28.36 2025-02-03**.
@@ -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).
@@ -485,81 +489,6 @@ are considered more portable.
Jump to: [top](#)
-
-
-
-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`).
-
-
-
-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.
-
-
-
-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.
-
-
-
-In other words, the actual amount of **EXTRA** files is 31.
-
-
-
-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)".
-
-
-
-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.
-
-
-
-If you **DO** include a tarball, and the build process or the program extracts
-said tarball(s), the make `clobber` rule **MUST** remove them.
-
-
-
-**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:
-
-
-```
- tar --format=v7 -cJf foo.txz directory
-```
-
-
-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)!
-
-
-
-**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`).
-
-
-
# `mkiocccentry`
@@ -818,6 +747,83 @@ manually package your submission tarball, you could still be violating [Rule
17](rules.html#rule17).
+
+
+
+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`).
+
+
+
+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.
+
+
+
+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.
+
+
+
+In other words, the actual amount of **EXTRA** files is 31.
+
+
+
+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)".
+
+
+
+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.
+
+
+
+If you **DO** include a tarball, and the build process or the program extracts
+said tarball(s), the make `clobber` rule **MUST** remove them.
+
+
+
+**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:
+
+
+```
+ tar --format=v7 -cJf foo.txz directory
+```
+
+
+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)!
+
+
+
+**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`).
+
+
+
+
+
See also the
FAQ on "[txzchk](../faq.html#txzchk)".
diff --git a/next/rules.html b/next/rules.html
index dc636dd9a..15cd07622 100644
--- a/next/rules.html
+++ b/next/rules.html
@@ -460,9 +460,8 @@ writing by contacting the judges.
IOCCC Rules version
-Jump to: top
-These IOCCC rules are version 28.19 2025-01-30.
+These IOCCC rules are version 28.21 2025-02-03.
The markdown form of these rules
@@ -973,8 +972,8 @@ if you need to include more files than this maximum.
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).
Jump to: top
Rule 17 - The COMPLEX details
@@ -1056,7 +1055,7 @@ See also the markdown synta
and the CommonMark Spec.
-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.
When your submission’s xz compressed tarball is uncompressed,
@@ -1092,11 +1091,10 @@ Filenames in your entry (that is, not including the files generated by the
-Be <= 38 characters in length
+Be <= 38 characters in length.
-NOT have a / (excluding the entry directory that
-the mkiocccentry(1) tool generates).
+NOT have a leading /.
NOT contain a path component of: . (that is, with
@@ -1116,12 +1114,12 @@ Match the regular expression
NOT be a directory depth > 4.
-NOT have a total path length > 99 characters.
+NOT have a total path length > 99 characters.
-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:
+The chkentry(1) tool will validate these two JSON files prior to the tarball
+being formed.
+
+
+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! If you do need different permissions, then see the
+FAQ on “file permissions”. Also keep in mind
+Rule 4, Rule 5 and Rule 21.
+
+
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.
@@ -1162,7 +1176,8 @@ having your submission rejected for violating Rule 17!
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
in the mkiocccentry repo. See the
@@ -1251,7 +1266,7 @@ do this AFTER the contest status h
CC BY-SA 4.0 DEED Attribution-ShareAlike 4.0 International
-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.
Jump to: top
diff --git a/next/rules.md b/next/rules.md
index 799cdb90b..fe0e6cf5a 100644
--- a/next/rules.md
+++ b/next/rules.md
@@ -51,11 +51,9 @@ Jump to: [top](#)
-Jump to: [top](#)
-
-These [IOCCC rules](rules.html) are version **28.19 2025-01-30**.
+These [IOCCC rules](rules.html) are version **28.21 2025-02-03**.
@@ -747,8 +745,8 @@ if you need to include more files than this maximum.
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`).
Jump to: [top](#)
@@ -835,7 +833,7 @@ and the [CommonMark Spec](https://spec.commonmark.org/current/).
-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.
@@ -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.
-
-
**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.
-
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**:
-* Be <= **38** characters in length
-* **NOT** have a **`/`** (excluding the entry directory that
-the `mkiocccentry(1)` tool generates).
+* Be <= **38** characters in length.
+* **NOT** have a leading **`/`**.
* **NOT** contain a path component of: **`.`** (that is, with
the exception of files generated by `mkiocccentry(1)` itself, it must have
**NO** **`.`**).
@@ -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)`).
* **NOT** be a directory depth > 4.
-* **NOT** have a total path length > 99 characters.
+* **NOT** have a total **path** length > 99 characters.
-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:
* `.auth.json` which contains information about the author or
@@ -904,12 +898,30 @@ authors (that will only be looked at if the submission wins).
* `.info.json` which contains information about the
entry.
+
+The `chkentry(1)` tool will validate these two JSON files _prior to_ the tarball
+being formed.
+
+
+
+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).
+
+
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).
@@ -938,7 +950,8 @@ having your submission rejected for violating [Rule 17](#rule17)!
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/)**
-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.