mirror of
https://github.com/opnsense/src.git
synced 2026-05-28 04:12:45 -04:00
setting. It can be built by setting the WITH_ICONV knob. While this knob is unset, the library part, the binaries, the header file and the metadata files will not be built or installed so it makes no impact on the system if left turned off. This work is based on the iconv implementation in NetBSD but a great number of improvements and feature additions have been included: - Some utilities have been added. There is a conversion table generator, which can compare conversion tables to reference data generated by GNU libiconv. This helps ensuring conversion compatibility. - UTF-16 surrogate support and some endianness issues have been fixed. - The rather chaotic Makefiles to build metadata have been refactored and cleaned up, now it is easy to read and it is also easier to add support for new encodings. - A bunch of new encodings and encoding aliases have been added. - Support for 1->2, 1->3 and 1->4 mappings, which is needed for transliterating with flying accents as GNU does, like "u. - Lots of warnings have been fixed, the major part of the code is now WARNS=6 clean. - New section 1 and section 5 manual pages have been added. - Some GNU-specific calls have been implemented: iconvlist(), iconvctl(), iconv_canonicalize(), iconv_open_into() - Support for GNU's //IGNORE suffix has been added. - The "-" argument for stdin is now recognized in iconv(1) as per POSIX. - The Big5 conversion module has been fixed. - The iconv.h header files is supposed to be compatible with the GNU version, i.e. sources should build with base iconv.h and GNU libiconv. It also includes a macro magic to deal with the char ** and const char ** incompatibility. - GNU compatibility: "" or "char" means the current local encoding in use - Various cleanups and style(9) fixes. Approved by: delphij (mentor) Obtained from: The NetBSD Project Sponsored by: Google Summer of Code 2009 |
||
|---|---|---|
| .. | ||
| BIND.chroot.dist | ||
| BIND.include.dist | ||
| BSD.groff.dist | ||
| BSD.include.dist | ||
| BSD.release.dist | ||
| BSD.root.dist | ||
| BSD.sendmail.dist | ||
| BSD.usr.dist | ||
| BSD.var.dist | ||
| Makefile | ||
| README | ||
$FreeBSD$
Note: If you modify these files, please keep hier(7) updated!
These files are used to create empty file hierarchies for building the
system into. Some notes about working with them are placed here to try
and keep them in good working order.
a) The files use 4 space indentation, and other than in the header
comments, should not contain any tabs. An indentation of 4 is
preferable to the standard indentation of 8 because the indentation
of levels in these files can become quite deep causing the line to
overflow 80 characters.
This also matches with the files generated when using the
mtree -c option, which was implemented that way for the same reason.
b) Only directories should be listed here.
c) The listing should be kept in filename sorted order.
d) Sanity checking changes to these files can be done by following
this procedure (the sed -e is ugly, but fixing mtree -c to
not emit the trailing white space would be even uglier):
mkdir /tmp/MTREE
mtree -deU -f BSD.X.dist -p /tmp/MTREE
mtree -cdin -k uname,gname,mode -p /tmp/MTREE | \
sed -e 's/ *$//' >BSD.X.new
diff -u BSD.X.dist BSD.X.new
rm -r /tmp/MTREE
Note that you will get some differences about /set lines,
and uname= gname= on certain directory areas, mainly man page
sections. This is caused by mtree not having a look ahead
mechanism for making better selections for these as it
traverses the hierarchy.
The BSD.X.new file should NOT be committed, as it will be missing
the correct header, and important keywords like ``nochange''.
Simply use the diff for a sanity check to make sure things are in
the correct order and correctly indented.
e) Further sanity checking of the system builds with DESTDIR=/someplace
are more complicated, but can often catch missing entries in these
files. I tend to run this more complete sanity check shortly after
the target date for a new release is announced.
If you want details on it bug me about it via email to
rgrimes@FreeBSD.org.