Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 1 Jun 1998 19:44:00 +0200 (MET DST)
From:      Joerg Schilling <schilling@fokus.gmd.de>
To:        mike@smith.net.au, schilling@fokus.gmd.de
Cc:        dufault@hda.com, freebsd-current@FreeBSD.ORG
Subject:   Re: cdrecord trouble on currnet
Message-ID:  <199806011744.TAA17106@sherwood.gmd.de>

next in thread | raw e-mail | index | archive | help
>From mike@antipodes.cdrom.com Mon Jun  1 18:34:21 1998

>> >Only if you promise not to give me trouble about errx - as a FreeBSD
>> >utility their coding standard says to use that, and when
>> >in Rome do as the Romans do.
>> =
>> To make it portable, I'll need to replace them with my routines
>> comerr() comerrno() errmsg() and errmsgno() wich I am using since 1982 =
>- =
>> long before BSD intruduced things like that.
>> =
>> I have no problems with these functions as I believe that it neccessary=
> to =
>> have readable error messages and perror() don't makes good error messag=
>es.
>Great.  Replace a set of standard error reporting functions with older, =
>nonstandard ones. 8) This really sinks most of the rest of your argument,=
>unfortunately.

You are right from the view of a *BSD user but from the view of a mainstream UNIX
user the BSD functions are non standard too and in addition non portable.

My functions are portable though.

>> 	I believe the suing with AT&T has been won and there is no need to mak=
>e
>> 	programs look like they are not from a UNIX system.
>Bear in mind that BSD is half of the Unix family tree.  The BSD libc =
>API is at least as valid as any other.  The err() family of functions =
>are mainstream from 4.4BSD, so they are shared with all the current BSD =
>family.

As long as err() is not portable, I prefer my functions which are even older
then the *BSD ones.

Around 1990 the number of pure BSD users did go dramatically down because 
many vendors switched over to SVr4.  No commercial UNIX incorporated things
from 4.4BSD (if I rememer correctly) in contrary to the former behaviour of
these companies. 

I believe that > 80% of all UNIX users have no access to err().
So I cannot call 4.4BSD mainstream or half the UNIX tree.


>> 	-	Put all non standard library extensions into a separate
>> 		libbsd and make this library portable.
>> 		( you may add this library to the default library list of the
>> 		compiler on *BSD so there will be no need to change makefiles)

>What you are suggesting you want here is a portable "libbsd".  This =
>will need more than just "non-standard" library extensions, as the =
>alternative would be to put almost all of the BSD library in here.
>Rather, what needs to be done is for someone that wants to port BSD =
>programs to other platforms to take the BSD libc and extract all those =
>components which are a superset of the desired target platform(s) APIs =
>and build a libbsd suited to each of the deficient targets.
>There is not likely to be much support for political emasculation of =
>the BSD API.

No doubt, there is a need for UNIX utilities with better error printing
and standardized bahaviour and many ideas from 4.4 BSD are not bad, but
they are not available outside *BSD.

As one exaple, I now have my own termcap library that implements the 
exellent idea of the TERMPATH environment. The 4.4BSD version could
not be used because it relies on the nonstandard BSD database system.
OK, I already started my termcap library in 1986 so there was no need for 
the full effort of the complete implementation. BTW: I am using enhanced 
versions of tgoto() and tputs() because these functions are portable.

I would not be able to log into diffrent UNIX systems if I would not
use my own portable editor that uses native termcap. Terminfo is binary
and non portable. If I log in and the local vi screws up my terminal
I would be lost. Unfortunately nearly all UNIX systems screw up your 
terminal if you log in from a Sun.

I hope you see, that I am sad to see that the BSD folks writes good software
that cannot be shared without using the *BSD operating system. From my point
of view this is not the right idea of free software.

>> P.S.
>> I believe that the real problem might be that your program comes with a=
> BSD
>> license while my software comes with GPL.
>This is never a problem; BSD code can always be incorporated into a GPL =
>product without having any significant impact on the GPL.  The reverse =
>is, regrettably, not the case.

>> In any case, it seems to be a good idea to have a combination of a
>> command line interpreter which allows easy sending of arbitrary command=
>s
>> and a portable SCSI transport library.

>No kidding.  This would be a very useful tool, especially if it were =
>basically a library which could be linked with either a simple =
>line-reading frontend or an application program...

For disk formatting / analyze or repair, I would suggest my 'sformat'
program. I wrote it starting from 1986 and SunOS 3.0.
It was even the first SCSI disk formatting program that runs on SunOS
(before Sun introduced their format program) before standalone programs
have been used.

I just finished 99% of the new version 3.4. It incorporates most of the
portability know how from the actual cdrecord and it has much special 
knowledge how to handle disks.

For other applications, I find a SCSI command line interpreter very useful 
for all operating systems.

So please tell me whether you so called scsinew is the actual /sbin/scsi
I found on the FreeBSD ftp server.

Jörg

 EMail:joerg@schily.isdn.cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin
       js@cs.tu-berlin.de		(uni)  If you don't have iso-8859-1
       schilling@fokus.gmd.de		(work) chars I am J"org Schilling
 URL:  http://www.fokus.gmd.de/usr/schilling   ftp://ftp.fokus.gmd.de/pub/unix

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199806011744.TAA17106>