From owner-freebsd-standards@FreeBSD.ORG Tue Mar 2 21:41:02 2004 Return-Path: Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9A2CB16A4CE; Tue, 2 Mar 2004 21:41:02 -0800 (PST) Received: from jkh-gw.brierdr.com (adsl-64-173-3-158.dsl.sntc01.pacbell.net [64.173.3.158]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2B35043D3F; Tue, 2 Mar 2004 21:41:02 -0800 (PST) (envelope-from jkh@queasyweasel.com) Received: from [64.173.15.98] (IDENT:12194-ident-is-a-completely-pointless-protocol-that-offers-no-security-or-traceability-at-all-so-ta@adsl-64-173-15-98.dsl.sntc01.pacbell.net [64.173.15.98]) by jkh-gw.brierdr.com (8.12.10/8.12.10) with ESMTP id i235eIrF020957; Tue, 2 Mar 2004 21:40:18 -0800 (PST) (envelope-from jkh@queasyweasel.com) Mime-Version: 1.0 (Apple Message framework v612) To: wollman@freebsd.org Message-Id: <561FC4D0-6CD5-11D8-9000-000393BB9222@queasyweasel.com> Content-Type: multipart/signed; micalg=sha1; boundary=Apple-Mail-16--946477790; protocol="application/pkcs7-signature" From: "Jordan K. Hubbard" Date: Tue, 2 Mar 2004 21:40:53 -0800 X-Mailer: Apple Mail (2.612) X-Content-Filtered-By: Mailman/MimeDel 2.1.1 cc: freebsd-standards@freebsd.org Subject: What's up with /usr/src/usr.bin/alias? X-BeenThere: freebsd-standards@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Standards compliance List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Mar 2004 05:41:02 -0000 --Apple-Mail-16--946477790 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed As some people already know, the SUSv2 standards require that a number of commands which are typically implemented as shell built-ins also exist in /usr/bin (for reasons which are at best clear to The Open Group). Unfortunately, the Open Group UNIX conformance test suite also tests that these things actually *work*, which can't be said for FreeBSD's current set, as we can see by the following interaction with /bin/sh: # cat ^Z [1] + Suspended cat # /usr/bin/fg fg: No current job # /usr/bin/jobs # jobs [1] + Suspended cat # fg cat ^D # Using the fg and jobs builtins work, using the "command equivalents" do not. The same is true for things like alias. I suspect this is simply due to the implementation, which invokes the commands in a subshell and thus won't actually work in the context of a test harness which is actually verifying that they did what they said they were going to do afterwards. Naturally, implementing something like "cd" as a command vs a builtin is also pretty darn hard so I'm not saying I don't understand why somebody might have punted on these, I'm simply wondering what the justification for trying to do this at all was given the shortcomings of the chosen approach. -- Jordan K. Hubbard Engineering Manager, BSD technology group Apple Computer --Apple-Mail-16--946477790--