Nguyen Thai Ngoc Duy wrote:
Hi,

I started the port about three years ago, on 1.6.1. Currently I'm
rebasing my work on master, but it will take some time before I could
submit anything. The old version based on 1.6.1 is on
http://github.com/pclouds/busybox-w32. Anyway I would like to discuss
about possibilities of merging this upstream. If it is accepted,
great! If not, maybe I could convince you to accept certain parts (see
changes below) and let other parts maintained separately.

Motivation

If you have ever been forced to use Windows, you would understand how
much you miss little Unix tools. Yes, there are MSYS/Cygwin/MKS. They
are great. They are also huge, and likely conflict each other if
installed on the same system. In work environment when I only want to
get things done quickly, I don't really want to install them. Busybox
in this regard would be beautiful: a single executable that has almost
everything.

A bit of background

The port originally reused lots of code from Git compatibility layer.
It was called "git-box" because I wanted something that makes Git
shell scripts run on Windows. Nowadays the amount of Git code is
reduced a lot (though remains). Git is GPL-2, I don't think we will
have license conflict.

Status

Except network and tty-related commands, others (sort of) work. wget
and vi work, although limited. Linux-specific commands won't work,
obviously.

Changes to make it  happen can be grouped as follows.

1. implemenatation for missing functions or workaround for bad ones.
It's ~8000 line of code. However fnmatch.c and regex.c (imported)
already take about 6000 lines.

2. changes inside busybox to support Windows specific things, e.g.
drive letter, line ending, .exe...
3. changes to support common used features that do not exist on
Windows, say "dd if=/dev/zero" or redirection to /dev/null
About 250 lines, more than 150 changed lines are inside libbb

4. ash
~1000 lines, half of them to work around fork(). Not everything works,
and not really stable. I'm thinking about a thread-based ash so that
it would work faster, but stability first.

So, comments?

A couple of suggestions for Unix/Linux shell users stuck in a Windows environment:

Try delorie software (www.delorie.com) for djgpp and associated tools. A bit dated now, but may help. Gives you a build environment for DOS/Windows. I've never tried to build busybox with it; when I was working mostly in a DOS/Windows environmet I had not heard of busybos.

Try DOStools at www.bootdisk.com/dostools.htm.

Also, look at www.4dos.info/dtools.htm

Good luck.

Doug Clapp
_______________________________________________
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to