mkiocccentry
If mkiocccentry(1) is used and chkentry(1) fails to validate either of the
files, then unless it is a system specific problem, it is likely a bug in
-mkiocccentry(1), chkentry(1) or possibly jparse, though these are quite
+mkiocccentry(1), chkentry(1) or possibly jparse, though this is quite
unlikely.
+If you want to know what .auth.json is, see the
+FAQ on “.auth.json”.
+If you want to know what the .info.json file is, see the
+FAQ on “.info.json”.
+On the other hand, if you want to know a bit more details about chkentry, see the
+FAQ about “chkentry”.
+
+
chkentry uses the jparse library. See the
jparse
README.md
@@ -816,7 +816,7 @@ details.
The jparse parser, library and tools were co-developed by
Cody Boone Ferguson and
-Landon Curt Noll in 2022 and comes
+Landon Curt Noll in 2022 and come
from the jparse repo. However, the
mkiocccentry tools use a clone of the jparse
repo at a specific release.
@@ -826,22 +826,29 @@ Thus the mkiocccentry will at times be behind the
You do NOT need to install jparse from the jparse
repo! The mkiocccentry tools link in the
-static library from mkiocccentry’s clone itself. This also goes for the
-dbg and
-dyn_array libraries that the mkiocccentry
-tools, the dyn_array library uses and the jparse library uses.
+static library from the mkiocccentry’s clone.
+
+
+The mkiocccentry toolkit also has a clone of both the dbg
+library and the
+dyn_array library; the dyn_array
+library uses the dbg
+library and the jparse
+library uses both libraries but unlike in the
+jparse repo, the libraries do not need to be
+installed separately, in order to use the tools in mkiocccentry.
In other words, mkiocccentry contains everything you need, and even if you
do install the libraries from their respective repos, it/they will not be
used when compiling the mkiocccentry tools. This is important to
make sure that you’re using the correct versions, which is verified by
-chkentry.
+chkentry. See Rule 17!
Please see the
FAQ on “validating .auth.json and/or .info.json files
-for more details on this tool and how you can use it to validate your
+for more details on chkentry and how you can use it to validate your
.auth.json and .info.json files manually, without having to repackage your
submission.
@@ -1193,7 +1200,7 @@ Again, please note that in macOS, /usr/bin/gcc is actually cl
The clobber rule
-When make clobber is invoked, we request that submission be restored
+When make clobber is invoked, we request that submissions be restored
to its original submission state. For example, any temporary files
created during the build process, or during execution should be
removed by the clobber rule.
@@ -1206,7 +1213,7 @@ removed by the clobber rule.
We LIKE submissions that use an edited variant of the
-example Makefile, as described in the Makefile section,
+example Makefile, as described and linked to in the Makefile section,
renamed as Makefile of course. This makes it easier for the IOCCC Judges
to test your submission. And if your submissions wins, it makes it easier to integrate it into
the Official IOCCC winner website.
diff --git a/next/guidelines.md b/next/guidelines.md
index 7e99cbb8e..0d205892b 100644
--- a/next/guidelines.md
+++ b/next/guidelines.md
@@ -43,7 +43,7 @@ Jump to: [top](#)
-These [IOCCC guidelines](guidelines.html) are version **28.27 2024-12-06**.
+These [IOCCC guidelines](guidelines.html) are version **28.28 2024-12-07**.
**IMPORTANT**: Be **SURE** to read the [IOCCC rules](rules.html).
@@ -360,18 +360,9 @@ page](https://github.com/ioccc-src/mkiocccentry/issues/new?assignees=&labels=bug
FAQ on "[reporting mkiocccentry bugs](../faq.html#mkiocccentry_bugs)".
-
-If you want to know what `.auth.json` is, see the
-FAQ on "[.auth.json](../faq.html#auth_json)".
-If you want to know what the `.info.json` file is, see the
-FAQ on "[.info.json](../faq.html#info_json)".
-On the other hand, if you want to know a bit more details about `chkentry`, see the
-FAQ about "[chkentry](../faq.html#chkentry)".
-
-
However, even if `mkiocccentry` or one of the tools it invokes reports an error,
-**does not** necessarily mean it is a bug in the code. It might be an issue with
+it **does not** necessarily mean it is a bug in the code. It might be an issue with
your submission. Thus if you report an error as a bug it might not be something
that will be fixed as there might not be anything wrong with the tools.
@@ -389,6 +380,8 @@ In many places it will prompt you to verify what you input, allowing you to
correct details as you go along.
+
+
Jump to: [top](#)
@@ -470,10 +463,19 @@ executed on it. In this case, there should be no problems, as `mkiocccentry(1)`
If `mkiocccentry(1)` is used and `chkentry(1)` fails to validate either of the
files, then unless it is a system specific problem, it is likely a bug in
-`mkiocccentry(1)`, `chkentry(1)` or possibly `jparse`, though these are quite
+`mkiocccentry(1)`, `chkentry(1)` or possibly `jparse`, though this is quite
unlikely.
+
+If you want to know what `.auth.json` is, see the
+FAQ on "[.auth.json](../faq.html#auth_json)".
+If you want to know what the `.info.json` file is, see the
+FAQ on "[.info.json](../faq.html#info_json)".
+On the other hand, if you want to know a bit more details about `chkentry`, see the
+FAQ about "[chkentry](../faq.html#chkentry)".
+
+
`chkentry` uses the `jparse` library. See the
[jparse
@@ -490,7 +492,7 @@ details.
The `jparse` parser, library and tools were co-developed by
[Cody Boone Ferguson](../authors.html#Cody_Boone_Ferguson) and
-[Landon Curt Noll](http://www.isthe.com/chongo/index.html) in 2022 and comes
+[Landon Curt Noll](http://www.isthe.com/chongo/index.html) in 2022 and come
from the [jparse repo](https://github.com/xexyl/jparse). However, the
**mkiocccentry tools use a _clone_** of the [jparse
repo](https://github.com/xexyl/jparse) **at a _specific_ release**.
@@ -501,10 +503,18 @@ Thus the `mkiocccentry` will at times be behind the
You do **NOT need to install** `jparse` from the [jparse
repo](https://github.com/xexyl/jparse)! The `mkiocccentry` tools link in the
-static library from `mkiocccentry`'s clone itself. This also goes for the
-[dbg](https://github.com/lcn2/dbg) and
-[dyn_array](https://github.com/lcn2/dyn_array) libraries that the `mkiocccentry`
-tools, the `dyn_array` library uses and the `jparse` library uses.
+static library from the `mkiocccentry`'s _clone_.
+
+
+
+The `mkiocccentry` toolkit _also_ has a clone of _both_ the [dbg
+library](https://github.com/lcn2/dbg) and the
+[dyn_array library](https://github.com/lcn2/dyn_array); the [dyn_array
+library](https://github.com/lcn2/dyn_array) uses the [dbg
+library](https://github.com/lcn2/dbg) and the [jparse
+library](https://github.com/xexyl/jparse) uses both libraries but unlike in the
+[jparse repo](https://github.com/xexyl/jparse), the libraries do not need to be
+installed separately, in order to use the tools in `mkiocccentry`.
@@ -512,13 +522,13 @@ In other words, `mkiocccentry` **contains everything** you need, and _even if yo
do install_ the libraries from their respective repos, it/they will **not be
used** when compiling the `mkiocccentry` tools. This is important to
make sure that you're using the correct versions, which is verified by
-`chkentry`.
+`chkentry`. See [Rule 17](rules.html#rule17)!
Please see the
FAQ on "[validating .auth.json and/or .info.json files](../faq.html#chkentry)
-for more details on this tool and how you can use it to validate your
+for more details on `chkentry` and how you can use it to validate your
`.auth.json` and `.info.json` files manually, without having to repackage your
submission.
@@ -978,7 +988,7 @@ Again, please note that in macOS, `/usr/bin/gcc` is actually `clang`!
-When `make clobber` is invoked, we request that submission be restored
+When `make clobber` is invoked, we request that submissions be restored
to its original submission state. For example, any temporary files
created during the build process, or during execution should be
removed by the `clobber` rule.
@@ -995,7 +1005,7 @@ Jump to: [top](#)
We **LIKE** submissions that use an edited variant of the
-example Makefile, as described in the [Makefile section](#makefile),
+example Makefile, as described and linked to in the [Makefile section](#makefile),
renamed as `Makefile` of course. This makes it easier for the [IOCCC Judges](../judges.html)
to test your submission. And if your submissions wins, it makes it easier to integrate it into
the [Official IOCCC winner website](https://www.ioccc.org/index.html).
diff --git a/next/rules.html b/next/rules.html
index 4a549edc3..3f6c61965 100644
--- a/next/rules.html
+++ b/next/rules.html
@@ -462,7 +462,7 @@ writing by contacting the judges.
Jump to: top
-These IOCCC rules are version 28.13 2024-12-06.
+These IOCCC rules are version 28.14 2024-12-07.
IMPORTANT: Be sure to read the IOCCC guidelines.
Jump to: top
@@ -666,10 +666,10 @@ See also Rule 5, Rule 18 and prog.c, the Makefile
(that we create from your how to build instructions), as well as any data
files you submit.
-If you submission wishes to modify such content, it MUST first copy the
+
If you submission needs (or wishes :-) ) to modify such content, it MUST first copy the
file to a new filename and then modify that copy.
-You may use your entry to form a copy, or you make use your Makefile to form that copy.
+You may use your submission to form a copy, or you can make use of your Makefile to form that copy.
If you do make a copy and then modify that copy, please be sure that
@@ -704,7 +704,15 @@ under the following license:
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.
-Please note that the IOCCC size tool is NOT an original work.
+
+Please note that the IOCCC size tool, the tools in the mkiocccentry
+repo and the tools and library in
+the jparse repo (that the
+mkiocccentry repo clones) are
+NOT original works, unless of course you’re the respective authors, in
+which case they are. Of course, neither are any of the previous
+winning entries, unless of course you’re the winner! :-)
+
See also Rule 5, Rule 18 and Rule 21.
@@ -805,7 +813,7 @@ to form your submission’s xz compressed tarball.
The mkiocccentry repo
-contains IMPORTANT tools such as:
+contains IMPORTANT tools and libraries such as:
@@ -824,7 +832,7 @@ contains IMPORTANT tools such as:
fnamchk(1)
-jparse(1) and jparse(8) (which chkentry(1) uses)
+jparse(1) (and other tools) and jparse(3) (which chkentry(1) uses)
@@ -837,12 +845,14 @@ line help. For additional details, see the tools’ man pages and the
guidelines.
-You do not explicitly need to invoke jparse(1) but the jparse(8)
-library will be used when compiling various tools.
+You do not explicitly need to invoke jparse(1) but the jparse(3)
+library will be used when compiling the tools.
-Of course you can invoke jparse(1) if you wish to validate your own JSON
-data file or some other JSON file.
+Of course you can invoke jparse(1) if you wish to validate a JSON file but
+the only JSON files you might want to validate for the IOCCC are validated
+by chkentry(1), and that is what you should use to make sure you conform to
+this rule.
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
@@ -1033,20 +1043,26 @@ This means you should MAKE SURE that you use mkiocccentry
package your submission; mkiocccentry(1) will run the above mentioned tools
(that do not act on the tarball) before creating the tarball and after the
tarball is created it will then verify that the tarball is okay by running
-txzchk(1) on it.
+txzchk(1) on it. If any step fails it is an error and submitting the
+submission will result in violating this rule.
MAKE SURE you use the correct release of the repository; you should do this
AFTER the contest opens (pull any changes or if you prefer download the
-repository via the download option at GitHub).
+repository via the download option at GitHub). See the
+FAQ on “obtaining mkiocccentry”
+for more help on ensuring you do have the most up to date release.
We recommend that you run make and then install the tools (and man pages) via
make install (as root or using sudo(1) to help you run these tools from your
submission’s directory. The make install will install in /usr/local.
+However, you do not have to install them, but in that case you’ll have to run it
+from the toolkit’s directory or use the correct options to specify the path to
+the necessary tools, and also specify the path to your files.
-These tools will link in the jparse(8) library; chkentry(1) uses the parser
+These tools will link in the jparse(3) library; chkentry(1) uses the parser
to validate the JSON but the other tools
use parts of the library as well.
diff --git a/next/rules.md b/next/rules.md
index 0a8fac484..44911262a 100644
--- a/next/rules.md
+++ b/next/rules.md
@@ -49,7 +49,7 @@ Jump to: [top](#)
Jump to: [top](#)
-These [IOCCC rules](rules.html) are version **28.13 2024-12-06**.
+These [IOCCC rules](rules.html) are version **28.14 2024-12-07**.
**IMPORTANT**: Be sure to read the [IOCCC guidelines](guidelines.html).
@@ -324,11 +324,11 @@ original submission including, but not limited to `prog.c`, the `Makefile`
(that we create from your how to build instructions), as well as any data
files you submit.
-If you submission wishes to modify such content, it **MUST** first copy the
+If you submission needs (or wishes :-) ) to modify such content, it **MUST** first copy the
file to a new filename and then modify that copy.
-You may use your entry to form a copy, or you make use your `Makefile` to form that copy.
+You may use your submission to form a copy, or you can make use of your `Makefile` to form that copy.
@@ -375,7 +375,15 @@ 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**.
-Please note that the IOCCC size tool is **NOT** an original work.
+
+Please note that the IOCCC size tool, the tools in the [mkiocccentry
+repo](https://github.com/ioccc-src/mkiocccentry) and the tools and library in
+the [jparse repo](https://github.com/xexyl/jparse/issues) (that the
+[mkiocccentry repo](https://github.com/ioccc-src/mkiocccentry) clones) are
+**NOT** original works, unless of course you're the respective authors, in
+which case they are. Of course, neither are any of the previous
+winning entries, unless of course you're the winner! :-)
+
See also [Rule 5](#rule5), [Rule 18](#rule18) and [Rule 21](#rule21).
@@ -516,7 +524,7 @@ to form your submission's xz compressed tarball.
The [mkiocccentry repo](https://github.com/ioccc-src/mkiocccentry)
-contains **IMPORTANT** tools such as:
+contains **IMPORTANT** tools and libraries such as:
* `chkentry(1)`
@@ -524,7 +532,7 @@ contains **IMPORTANT** tools such as:
* `mkiocccentry(1)`
* `txzchk(1)`
* `fnamchk(1)`
-* `jparse(1)` and `jparse(8)` (which `chkentry(1)` uses)
+* `jparse(1)` (and other tools) and `jparse(3)` (which `chkentry(1)` uses)
The above mentioned tools will help you verify that your submission
@@ -538,13 +546,15 @@ line help. For additional details, see the tools' man pages and the
-You do not explicitly need to invoke `jparse(1)` but the `jparse(8)`
-library will be used when compiling various tools.
+You do not explicitly need to invoke `jparse(1)` but the `jparse(3)`
+library will be used when compiling the tools.
-Of course you **can** invoke `jparse(1)` if you wish to validate your own JSON
-data file or some other JSON file.
+Of course you **can** invoke `jparse(1)` if you wish to validate a JSON file but
+the only JSON files you might want to validate for the IOCCC are validated
+by `chkentry(1)`, and that is what you should use to make sure you conform to
+this rule.
**IMPORTANT**: Make **SURE** you have the most recent version of the
@@ -733,23 +743,29 @@ This means you should **MAKE SURE** that you use `mkiocccentry(1)` to
package your submission; `mkiocccentry(1)` will run the above mentioned tools
(that do not act on the tarball) **before** creating the tarball and after the
tarball is created it will then verify that the tarball is okay by running
-`txzchk(1)` on it.
+`txzchk(1)` on it. If any step fails it is an error and submitting the
+submission will result in violating this rule.
**MAKE SURE** you use the correct release of the repository; you should do this
**AFTER** the contest opens (pull any changes or if you prefer download the
-repository via the download option at GitHub).
+repository via the download option at GitHub). See the
+FAQ on "[obtaining mkiocccentry](../faq.html#obtaining_mkiocccentry)"
+for more help on ensuring you do have the most up to date release.
We recommend that you run `make` and then install the tools (and man pages) via
`make install` (as root or using `sudo(1)` to help you run these tools from your
submission's directory. The `make install` will install in `/usr/local`.
+However, **you do not have** to install them, but in that case you'll have to run it
+from the toolkit's directory or use the correct options to specify the path to
+the necessary tools, and also specify the path to your files.
-These tools will link in the `jparse(8)` library; `chkentry(1)` uses the parser
+These tools will link in the `jparse(3)` library; `chkentry(1)` uses the parser
to validate the [JSON](https://www.json.org/json-en.html) but the other tools
use parts of the library as well.