The Featureless Linux Library stable version 0.6.2 is released.
This release contains several security and bug fixes. There are also several improvements to the building and packaging scripts.
Added the following stand_alone
programs:
byte_dump
firewall
The bootstrap.sh
and package.sh
scripts have received some needed improvements.
The bootstrap.sh
script now processes more of the build settings and then also more appropriately processes the additional modes.
The bootstrap.sh
now more properly processes the -s/--settings
parameter option.
The package.sh
script is now more versatile, allowing for additional dependencies files and optionally prepending a string to each generated package directory.
Adding the referenced stand_alone
programs revealed quite a bit of minor mistakes in the macros, defines, and some dependencies.
Many of these might be considered breaking API changes but fixing these is deemed necessary.
The flagship program is Featureless Make.
All projects and programs now have a fakefile
for building as they should have had.
Problems with the Unicode handling have been identified and fixed.
The FLL and implementing programs like byte_dump
and utf8
should now have more accurate handling of Unicode characters.
The project now contains a generated list of all disable defines for each project under the build/disable
directory.
Use these to construct all the needed disable defines to reduce the amount of unneeded code.
These are now used when building the stand_alone
programs.
The documents and specifications have seen some major clean up. All of the documents and specifications should now utilize IKI. The Time and EpochTime standard written a while back now have formal documents and specifications. The Time and EpochTime documents and specifications are now at the top-level directory of the source code.
Documentation explicitly describing the lossy allocation strategy used by this project is now provided.
The following are changes since the 0.6.1 stable release.
Security Fixes:
- FLL: Invalid access when calling fake without
make
orbuild
. - FLL: Invalid write in FSS functions and ensure a reset used length on error.
Features:
- FLL: Add support for additional dependencies and settings files in
level_3
(in thepackage.sh
script). - FLL: Add support for a prepending a prefix to build directory names (in the
package.sh
script). - Featureless Make: Add
import
Object tofakefile
and settings specifications (Support is not implemented in0.6.x
).
Bug Fixes:
- FLL: Incomplete UTF-8
zero-width
detection, particularly for combining characters. - FLL: Add missing
f_type_array
dependency. - FLL: The
level_0
console should use private functions. - FLL: The
fss_payload_write
should not allowpayload
to be something other than last when specified. - FLL: Incorrect
ifndef
defines for some functions and structures. - FLL: Add missing
ifdefs
forf_file_stat()
andf_file_stat_at()
. - FLL: The private
is_zero_width
function is also needed by theis_graph
functions. - FLL: The
f_environment_max_length
should bef_environment_max_length_d
. - FLL: Some of the level checking defines have an
s
that should not be there. - FLL:
_di_string_ascii_s_
is missing the_f
. - FLL: The bootstrap script needs to treat
-s/--settings
as a possible path. - FLL: The bootstrap script needs to support settings-specific built files.
- FLL: FSS write functions should use
quote
when passed rather thanf_fss_delimit_quote_single_s
. - FLL:
_GNU_SOURCE
should be wrapped in anifndef
. - FLL: The
-mode
functionality is incomplete and incorrect in thebootstrap.sh
script. - Byte Dump: Incorrect spacing when combining
--unicode
with other digit displays. - Byte Dump: Invalid print of character when a placeholder should be printed in
byte_dump
. - Featureless Make: The IKI variables that expand reserved words should expand into multiple parameters.
- Firewall: Add missing dependencies and remove incorrect library from
firewall
program. - FSS Payload Write: The first character never gets printed for payload Content.
- Multiple Programs: The
type_array
is probably a dependency for most of these. - Multiple Programs: Imprecise desciption for
--partial
.
Refactors:
- None.
Updates:
- FLL: All projects should have a
fakefile
. - FLL: Fix and improve FSS unit test regarding zero-width.
- FLL: FSS and IKI specifications now support backticks for quoting similar to single and double quotes (Support is not implemented in
0.6.x
). - FLL: Add pre-built define files for stand alone use.
- FLL: Wrap the conversion digits defines in
_di_f_conversion_digits_d_
. - FLL: The
ifndef
wrappers should end in_t_
to represent it wrapping a type. - FLL: The
fake
stand_alone
build defines. - FLL: The disable defines files need to be updated when defines change.
- FLL: Remove unused
test
mode and addclang
mode tostand_alone
builds. - FLL: Style guide documentation.
- FLL: The status code wrapping defines should end in
_e
. - FLL: The
_di_compiler_attributes_
should be_di_compiler_attributes_d_
. - FLL: The status code wrapping global constant string wrapping defines should end in
_s
. - FLL: The define
_di_f_array_t_
should be_di_f_array_length_t_
. - FLL: Add mising
_d
in wrapping defines. - FLL: Add more notes to
disable
about.txt
documentation. - FLL: Add not implemented clarifications for
0.6.x
versions. - FLL: Add
fakefile
for the FLL monolithic and level builds. - FLL: Out of date build documentation.
- FLL: Add lossy allocation documentation.
- FLL: Build and other documentation, fixing or adding IKI support.
- FLL: Add formal specification for Time and EpochTime and use IKI in the files.
- FLL: Documentation and specifications (All of the documentation and specifications should now be IKI based).
- Featureless Make: The
stand_alone
fake
config.h
file. - Featureless Make: Improve some of the Featureless Make documentation and specifications.
- Featureless Make: Slight changes to design around the build settings arguments.
- Firewall: Add
stand_alone
firewall
build.
Check out the project on the FLL release page.
The project is built like a tool chest. Individuals who are unfamiliar with the project should have an easier time trying out the pre-packaged monolithic sources. These programs, by default, are designed to build against a library built using the monolithic source tree.
The stand alone sources for the Featureless Make and UTF8 programs can be found pre-packaged at Sourceforge.
Kevin Day