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_dumpfirewall
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
makeorbuild. - 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.shscript). - FLL: Add support for a prepending a prefix to build directory names (in the
package.shscript). - Featureless Make: Add
importObject tofakefileand settings specifications (Support is not implemented in0.6.x).
Bug Fixes:
- FLL: Incomplete UTF-8
zero-widthdetection, particularly for combining characters. - FLL: Add missing
f_type_arraydependency. - FLL: The
level_0console should use private functions. - FLL: The
fss_payload_writeshould not allowpayloadto be something other than last when specified. - FLL: Incorrect
ifndefdefines for some functions and structures. - FLL: Add missing
ifdefsforf_file_stat()andf_file_stat_at(). - FLL: The private
is_zero_widthfunction is also needed by theis_graphfunctions. - FLL: The
f_environment_max_lengthshould bef_environment_max_length_d. - FLL: Some of the level checking defines have an
sthat should not be there. - FLL:
_di_string_ascii_s_is missing the_f. - FLL: The bootstrap script needs to treat
-s/--settingsas a possible path. - FLL: The bootstrap script needs to support settings-specific built files.
- FLL: FSS write functions should use
quotewhen passed rather thanf_fss_delimit_quote_single_s. - FLL:
_GNU_SOURCEshould be wrapped in anifndef. - FLL: The
-modefunctionality is incomplete and incorrect in thebootstrap.shscript. - Byte Dump: Incorrect spacing when combining
--unicodewith 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
firewallprogram. - FSS Payload Write: The first character never gets printed for payload Content.
- Multiple Programs: The
type_arrayis 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
ifndefwrappers should end in_t_to represent it wrapping a type. - FLL: The
fakestand_alonebuild defines. - FLL: The disable defines files need to be updated when defines change.
- FLL: Remove unused
testmode and addclangmode tostand_alonebuilds. - 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
_din wrapping defines. - FLL: Add more notes to
disableabout.txtdocumentation. - FLL: Add not implemented clarifications for
0.6.xversions. - FLL: Add
fakefilefor 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_alonefakeconfig.hfile. - 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_alonefirewallbuild.
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