sed -i
Giorgos Keramidas
keramida at ceid.upatras.gr
Sat Mar 31 18:53:40 UTC 2007
On 2007-03-31 15:02, Yar Tikhiy <yar at comp.chem.msu.su> wrote:
>On Fri, Mar 30, 2007 at 09:21:33PM +0400, Yar Tikhiy wrote:
>[...]
>> If we've started to delete the pattern space, we should print the
>> text in place of it because `c' is for `change'. BSD and GNU seds
>> have this bug, but Solaris sed doesn't have it.
>[...]
>
> By the way, I found myself w/o a Solaris account, but I was able
> to build Solaris sed in FreeBSD quickly from the OpenSolaris sources.
> All it took was downloading the following files:
>
> http://cvs.opensolaris.org/source/raw/onnv/onnv-gate/usr/src/ucbcmd/sed/sed.h
> http://cvs.opensolaris.org/source/raw/onnv/onnv-gate/usr/src/ucbcmd/sed/sed0.c
> http://cvs.opensolaris.org/source/raw/onnv/onnv-gate/usr/src/ucbcmd/sed/sed1.c
> http://cvs.opensolaris.org/source/raw/onnv/onnv-gate/usr/src/ucbhead/regexp.h
>
> and issuing this command:
>
> cc -I. -o sed sed*.c
>
> Voila! (Their regexp.h offers definitions of its functions, not
> just their prototypes, which made my task very easy.)
>
> Perhaps other basic tools from Solaris could be built in this way
> for the purpose of testing, too, in case one needs them but has no
> Solaris account at hand.
Nice. With very minor modifications, it may be possible to build more
of the OpenSolaris tools on FreeBSD. For instance, the only change I
had to make to build the Solaris version of cat(1) on FreeBSD was:
%%%
--- cat.c.orig Sat Mar 31 20:03:26 2007
+++ cat.c Sat Mar 31 20:02:07 2007
@@ -43,7 +43,9 @@
#include <unistd.h>
#include <sys/mman.h>
+#ifdef __FreeBSD_version
#include <widec.h>
+#endif
#include <wctype.h>
#include <limits.h>
#include <libintl.h>
%%%
The Solaris version of cat(1) calls textdomain() and gettext()
explicitly, so I also had to use libintl.so from the Ports to compile it
successfully:
$ cc -I/usr/local/include cat.c -L/usr/local/lib -lintl
But it does work, AFAICT. I haven't tried localized message support
yet, but this will take a bit more effort :-)
More information about the freebsd-hackers
mailing list