mkiocccentry v1.0.0 release #508
Closed
lcn2
announced in
Announcements
Replies: 2 comments 3 replies
-
We plan to ask for public comments and testing of this release in the near future. In the mean time, we are working on a preliminary overhaul of the www.ioccc.org web site. |
Beta Was this translation helpful? Give feedback.
0 replies
-
Very cool! Looking forward to that. |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Release 1.0.0 2023-02-04
Resolved all macOS -Weverything issues worth addressing. See
test_ioccc/static_analysis.md
for details and to see how you can also help aswell as the fixes we applied, what might need to be fixed and what we ignore
(and why we choose to ignore them). Note that originally the commit ids were
bogus and although we fixed those in that file the git commit log obviously has
the bogus ids.
Restore Makefile use -Werror and use of -O0. With the exception of the dbg code,
use of -Werror and compiling with -O0 -g is restored in various Makefiles while
version 1.0.0 is still in development.
Fix some memory leaks detected with
valgrind
. Seetest_ioccc/dynamic_analysis.md
for details and to see how you might also help.Exit codes checked for consistency across usage strings, man pages and the tools
themselves.
Changed DBG_VERSION from "2.6 2022-11-09" to "2.8 2023-01-29".
Minor improvements made on when warning messages are printed.
Added dbg_version as a global string for users of the dbg.a library.
Changed DYN_ARRAY_VERSION from "2.0 2022-06-09" to "2.1 2023-01-21" and then
from "2.1 2023-01-21" to "2.2 2023-01-22".
Added dyn_array_version as a global string for users of the dyn_array.a library.
Changed JSON_PARSER_VERSION from "0.12 2022-11-09" to "0.13 2023-01-21".
Added json_parser_version as a global string for users of the jparse.a library.
Moved JPARSE_VERSION "0.11 2022-07-04" from jparse_main.h to jparse.h.
Added jparse_version as a global string for users of the jparse.a library.
Changed JNUM_GEN_VERSION from "0.7 2022-05-01" to "0.8 2023-01-22".
Current JNUM_CHK_VERSION is "0.8 2022-05-01".
Fixed bug where jnum_gen.c had JNUM_CHK_VERSION.
Added SOUP_VERSION as "1.0 2023-01-21".
Added soup_version as a global string for users of the soup.a library.
Changed jsemtblgen so that -P prefix will always be used on function names.
Use of -M func will override any specific member name.
Changed JSEMTBLGEN_VERSION from "0.4 2022-07-13" to "0.6 2023-01-22".
The jsemtblgen tool, with the -I option, will not print duplicate
extern function declarations.
Fixed a number of tests relating to conversion of floating point values.
Corrected
jparse/test_jparse/jnum_test.c
test results forthe
as_double is an integer
test cases.Added a system to notice "Notice:" messages and count then for
make prep
.The
test_ioccc/prep.sh
tool removed the generated bug report log fileif the
bug-report.sh
tool does an exit 0, even if there are notices.Changed BUG_REPORT_VERSION from "0.12 2023-01-24" to "0.13 2023-01-24".
Then with more improvements (see below) it was changed to "0.14 2023-01-30". The
improvements: check for Makefile in all subdirectories, check for overriding
makefile.local in all subdirectories and check that all subdirectories exist and
are readable and are executable.
Changed PREP_VERSION from "0.3 2023-01-24" to "0.4 2023-01-24".
Moved static variables from header to source files.
Fix segfault when author length is too long from NULL pointer dereference: due
to an else being left off from an if after rejecting the author, freeing and
setting to NULL the code went on to check for unique author names which would
then dereference the just rejected NULL author name. See commit
48ea6cc.
Go through all files and fix typos and do a check for consistency in messages as
well (error, debug, general, warnings etc.). This excludes .json, .txt and .err
files under test_ioccc/ as there's no point in checking them (some of the .txt
files do have text that would trigger spellchecking problems but they're part of
invalid tarball listings). The iocccsize related files have not been checked.
Where the alternative and incorrect English (that is American English) spelling
was in the repo it was untouched as it is after all the International Obfuscated
C Code Contest, not the Obfuscated C Code Contest for people who use proper
English. :-)
Fix some grammar errors. More could probably be done later but whether this is
worth it can be TBD at another time. There are some places that are problematic
in fixing and it's time consuming to find all the remaining issues. Besides,
this is for the IOCCC so if a few things here and there are misleading or
confusing it's probably not all that bad anyway! :-)
Improved man pages, error messages and documentation. Went through all
documentation and fixed noticed problems, typos, formatting issues etc.
Add CodeQL Analysis for GitHub commits: added codeql.yml as a new GitHub
workflow.
Fix internal Makefile rules to do with the
dbg repo.
Fold in .gitignore from dbg repo.
Improve Makefile #! lines.
Fix shellcheck errors under macOS.
Moved utf8_test(8) to test_ioccc/man/man8.
Improve getopt() calls. We now control the error messages for better output like
removing "-h help mode" when -h is specified. Compress the '?', ':' and default
cases by way of new function check_invalid_option().
Fix bug_report.sh options -l and -x.
Improve dyn_alloc code robustness.
Fix several implicit signed conversion issues and double precision floating
point tests. Improve other fixes to various warnings.
Change remaining calls to strtok() to strtok_r().
Remove duplicate object in jparse Makefile.
Update README.md for information on how to help (for when we're ready for such
help). The note that we're not yet ready will be removed once we are.
Fixed debug calls in jparse.y to match the functions being called that changed
due to making the parser re-entrant.
Fixed various compile errors in systems that were not initially tested (debian
and linux in general depending on the issue).
Improve prep.sh so that issues reported are more specific. In particular it will
show which rule failed rather than just that a make action failed.
Change in txzchk the txzpath to tarball_path to be clearer what it is.
Fix double notices by bug_report.sh for unknown versions of tools.
Improve how bug_report.sh reports on missing commands.
Fix man pages to use formatting macros throughout and add them to the SYNOPSIS
and OPTIONS sections. This makes run_usage.sh (which was always a quick, dirty
and ugly hack) even less useful but not entirely useless. Update checknr call
in Makefiles so that checknr is aware of the additional macros.
Fix (prevent) stray jparse related files after bug_report.sh.
Fix potential NULL pointer dereferences.
Improve make clobber so that specific files and directories that were being
erroneously being removed no longer are removed.
Make it easier to make soup. :-) Yes this is for fun only and that sentence has
a slight hint.
Typo fix in soup/location.c: although ions have their place when peroxide ions
in particular combine with water and diluted acids it forms hydrogen peroxide
which has ended up killing people when those unaware of the dangers
misunderstand the request that someone would like a glass of H2O too. Thus we
should get rid of stray ions in the repo and now have. See commit
532d337 for details.
Make parameters in usage() functions consistent across all files. Add usage() to
utf8_test.c and improve usage message. Change VERSION to UTF8_TEST_VERSION in
utf8_test.c.
Change boldness of foo([138]) in man pages so that only foo is in bold.
Fix usage message in fnamchk.
Change some local variables to not be the name of functions in the dbg library
(which the files in question used).
Improve iocccsize -h output. This includes adding version information to the
message.
Add version information to jsemcgen -h. More generally fix shell script -h
version in several scripts to print script name and version string.
Remove extra spaces in all_sem_ref.sh -h output.
Remove trailing blank lines to various scripts -h output.
Clarify comments about rule 2a and rule 2b tests.
Improve jsemcgen(8), jsemtblgen(8) and all_sem_ref(8).
Improve output of
jsemtblgen -h
.Add FAQ.md for information on getting help with various problems.
Bug fix hostchk.sh. In particular in some cases it would be that the non-zero
exit code would be reported as 0.
Update dbg/README.md to refer to other dbg(3) man pages (the main files not the
symlinks). The jparse/README.md does not refer to an example yet (for the
library) as an example program does not exist. The dyn_array/README.md does not
explain how to link in the library yet because it depends on the dbg repo and it
is not yet determined how this will be approached. Similar can be said for
jparse though we do have json_dbg() and other related functions.
In order to make it easier to run tools from the top level directory, we
changed the default path of
fnamchk
from "./fnamchk" to "./test_ioccc/fnamchk",and the path of
jparse
from "./jparse" to "./jparse/jparse".Check return value of function
yylex_init_extra()
and warn with errnoinformation if non-zero return value. Sequenced exit codes, updated backup
parser files.
Remove unused function string_to_intmax() and change string_to_intmax2() to be
string_to_intmax().
Added
IOCCC_NEWS_URL
tomkiocccentry.h
to define the URL toread IOCCC news. Added
IOCCC_REGISTRATION_READY
tomkiocccentry.h
to indicate if the registration process is ready independently from
the submit server.
Fixed coredump in verge when a version string starts with a non-digit
(
!isascii() && !isdigit()
).Make verge use string_to_intmax() (instead of string_to_long()) and get rid of
the following unused functions:
Exit codes were resequenced.
The
make tags
now forms both local directory tags files by the name of.local.dir.tags as well as a tags file from the accumulation of tags from
related source directories.
Changed
soup/vermod.sh
default JSON tree from "../test_ioccc/test_JSON" to "test_ioccc/test_JSON" and default limit.sh from "./limit_ioccc.sh" to "soup/limit_ioccc.sh" so thatsoup/vermod.sh
may be executed from the top level source directory without the need for using-d test_dir
nor-i limit.sh
.Update versions prior to code freeze.
Changed ALL_SEM_REF_VERSION from "1.1 2022-12-30" to "1.2 2023-02-04".
Changed AUTH_VERSION from "1.18 2022-11-30" to "1.19 2023-02-04".
Changed BUG_REPORT_VERSION from "0.14 2023-01-30" to "1.0 2023-02-04".
Changed CHKENTRY_TEST_VERSION from "0.2 2022-11-04" to "1.0 2023-02-04".
Changed CHKENTRY_VERSION from "0.4 2022-11-30" to "1.0 2023-02-04".
Changed DBG_VERSION from "2.8 2023-01-29" to "2.9 2023-02-04".
Changed DYN_ARRAY_VERSION from "2.2 2023-01-22" to "2.3 2023-02-04".
Changed DYN_TEST_VERSION from "1.8 2023-01-2" to "1.9 2023-02-04".
Changed FNAMCHK_VERSION from "0.6 2022-03-15" to "1.0 2023-02-04".
Changed HOSTCHK_VERSION from "0.3 2022-10-27" to "1.0 2023-02-04".
Changed INFO_VERSION from "1.13 2022-10-28" to "1.14 2023-02-04".
Changed IOCCC_YEAR from 2022 to 2023.
Changed IOCCCSIZE_VERSION from "28.12 2022-10-17" to "28.13 2023-02-04".
Changed IOCCC_TEST_VERSION from "0.5 2022-11-04" to "1.0 2023-02-04".
Changed JNUM_CHK_VERSION from "0.8 2022-05-01" to "1.0 2023-02-04".
Changed JNUM_GEN_VERSION from "0.8 2023-01-22" to "1.0 2023-02-04".
Changed JPARSE_TEST_VERSION from "0.5 2022-12-31" to "1.0 2023-02-04".
Changed JPARSE_VERSION from "0.11 2022-07-04" to "1.0 2023-02-04".
Changed JSEMCGEN_VERSION from "1.2 2022-10-23" to "1.3 2023-02-04".
Changed JSEMTBLGEN_VERSION from "0.6 2023-01-22" to "1.0 2023-02-04".
Changed JSON_PARSER_VERSION from "0.13 2023-01-21" to "1.0 2023-02-04".
Changed JSTRDECODE_VERSION from "0.5 2022-04-17" to "1.0 2023-02-04".
Changed JSTRENCODE_VERSION from "0.5 2022-04-17" to "1.0 2023-02-04".
Changed JSTR_TEST_VERSION from "0.4 2022-11-05" to "1.0 2023-02-04".
Changed MKIOCCCENTRY_TEST_VERSION from "0.3 2022-11-05" to "1.0 2023-02-04".
Changed MKIOCCCENTRY_VERSION from "0.44 2022-11-30" to "1.0 2023-02-04".
Changed MIN_TIMESTAMP from 1662145368 to 1662145368.
Changed PREP_VERSION from "0.4 2023-01-24" to "1.0 2023-02-04".
Changed RESET_TSTAMP_VERSION from "0.4 2022-04-23" to "1.0 2023-02-04".
Changed RUN_BISON_VERSION from "0.4 2023-01-05" to "1.0 2023-02-04".
Changed RUN_FLEX_VERSION from "0.5 2023-01-05" to "1.0 2023-02-04".
Changed RUN_USAGE_VERSION from "0.2 2022-11-06" to "1.0 2023-02-04".
Changed SOUP_VERSION from "1.0 2023-01-21" to "1.1 2023-02-04".
Changed TEST_IOCCCSIZE_VERSION from "1.3 2023-01-17" to "1.4 2023-02-04".
Changed TXZCHK_TEST_VERSION from "0.5 2022-11-04" to "1.0 2023-02-04".
Changed TXZCHK_VERSION from "0.13 2022-10-09" to "1.0 2023-02-04".
Changed UTF8_TEST_VERSION from "1.1 2022-10-17" to "1.3 2023-02-04".
Changed VERGE_VERSION from "0.1 2022-04-02" to "1.0 2023-02-04".
Changed VERMOD_VERSION from "0.1 2022-03-15" to "1.0 2023-02-04".
Updated test_ioccc/test_JSON test files to account for changes
in the following versions:
Updated selective
test_ioccc/test_txzchk
test files to accountfor changes in MIN_TIMESTAMP made by prior use of the
soup/reset_tstamp.sh
tool.Added MKIOCCCENTRY_REPO_VERSION "1.0.0 2023-02-04" to the
soup/version.h
file.Fix
soup/Makefile
clobber rule to remove thesoup/ref
tree.Have the
test_ioccc/Makefile
clobber rule removetest_iocccsize/
,test_src/
, andtest_work/
directorytrees from from under the
test_ioccc/
directory.Improved mkiocccentry_test.sh so that one can specify the path to various tools
that mkiocccentry needs.
Made txzchk_test.sh -t/-t consistent with mkiocccentry.
Added option to ioccc_test.sh to let one specify path to tar.
Changed IOCCC_TEST_VERSION from "1.0 2023-02-04" to "1.0.1 2023-02-05".
Changed MKIOCCCENTRY_TEST_VERSION from "1.0 2023-02-04" to "1.0.1 2023-02-05".
Changed TXZCHK_TEST_VERSION from "1.0 2023-02-04" to "1.0.1 2023-02-05".
Fixed chkentry_test.sh so it will work when running it directly.
Major updates to CHANGES.md. See
CHANGES.md
for details. :-)
Version 1.0.0 code freeze.
Formal version 1.0.0 release.
This discussion was created from the release mkiocccentry v1.0.0 release.
Beta Was this translation helpful? Give feedback.
All reactions