Hello Eric,

On 2017-12-29 01:34 AM, Eric Fischer wrote:
I've recently spent some time adding multibyte support to the coreutils
text processing tools (sort, uniq, join, tr, cut, paste, expand, unexpand,
fmt, fold, and pr) in this repository:

     https://github.com/ericfischer/coreutils-utf8

First of all, thank you for working on this!
Multibyte support in coreutils is indeed an ongoing effort,
and any help is appreciated.

Before I put any more work into cleaning up my branch, I also have a
general development question: Is it OK to make multibyte additions to the
lib directory here, or do those changes need to made in an upstream
repository or in the applications themselves?

To move forward, I would suggest the following:

1.
Base your work on the coreutils GIT repository instead of the coreutils-8.28 tarball (version 8.29 was just released).

A good starting points are:
https://git.savannah.gnu.org/cgit/coreutils.git/tree/README-hacking
https://git.savannah.gnu.org/cgit/coreutils.git/tree/HACKING


2.
Regarding "lib" directory:
When using the coreutils git repository (and running "./bootstrap"),
it will automatically clone the gnulib git repository
as a git-submodule. Then, any changes you make under "lib"
will be tracked against the "gnulib" git repository (which is,
as you've said, a separate upstream project).



3.
GNU coreutils requires copyright assignment for major code contributions.
To learn more, see: https://www.gnu.org/licenses/why-assign.html

It'll be good to start the copyright assignment process by filling this form: https://git.savannah.gnu.org/cgit/gnulib.git/tree/doc/Copyright/request-assign.future

Please enter both "COREUTILS" and "GNULIB" as the projects/packages in the form to ensure you can contribute to both.

Completing the copyright assignment early ensures we can safely incorporate any future patches you send.


4.
If you wish to also experiment with the other multibyte effort,
the following commands should be used:

   git clone git://git.sv.gnu.org/coreutils.git
   cd coreutils/
wget https://files.housegordon.org/src/coreutils-multibyte-2017-12-23.patch.xz
   unxz coreutils-multibyte-2017-12-23.patch.xz
   git am < coreutils-multibyte-2017-12-23.patch
   ./bootstrap
   ./configure
   make


5.
Past discussions mentioned on
https://crashcourse.housegordon.org/coreutils-multibyte-support.html
have some good points and recommendations about
implementation details and requirements.




regards,
 - assaf

Reply via email to