From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6CEB1C07E95 for ; Wed, 7 Jul 2021 08:15:53 +0000 (UTC) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5F39F61C73 for ; Wed, 7 Jul 2021 08:15:52 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5F39F61C73 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=denx.de Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 7656382DEC; Wed, 7 Jul 2021 10:15:49 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=denx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denx.de; s=phobos-20191101; t=1625645750; bh=qfSjKTv/ItC/uqvr+1WmjClVtgv9kIGBFtsdqhhC8Vs=; h=To:cc:From:Subject:In-reply-to:References:Date:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From; b=lHy+8y00A5uhf6LJwzSwA8A+BO5bDn7LscCzzprWHHUMHUkLHSlgx00O2gjFXhMnm wu+dmjQCz37AfR3vE+7i0iJfKlPOpP98g2xDJk3t3Osuj8Pi7juAwbIaHZmp5qA0T5 3ExFkU1X2W59Ekhqm/HANRAcBG1CLYxrVwQIiatB1nlzqzHAcVkV2Qr1TXArS0KRL4 ujk4N2Gv9HRJrVi/TfgxVCC2/rQy83P9eTZzHskp8vJZvirWjQAGkqzk/OO0VBfzG6 eVuZiv3ck2AQtqtYFCcMoGOGlBvmnVdLGng6Y7TxAzbSdSQmodMCDCL0GFlrBRfn2N PbTmokRKjUbPg== Received: from janitor.denx.de (unknown [62.91.23.180]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: noc@denx.de) by phobos.denx.de (Postfix) with ESMTPSA id 44CA682DBF for ; Wed, 7 Jul 2021 10:15:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denx.de; s=phobos-20191101; t=1625645745; bh=qfSjKTv/ItC/uqvr+1WmjClVtgv9kIGBFtsdqhhC8Vs=; h=To:cc:From:Subject:In-reply-to:References:Date:From; b=qs6RVcIC7IlRwxmdm/1yS4+09kd4dw+Ut2eEAm5rO8a8IV4ihAmD+cZbl4duoqISJ kGSBM35Y0cLRKFaQDc0sYempgGHp1EeLtqUA7u1lWS2FQJNzzirH+deC1woKiw7sse DvSDb1f/0GFe/Rse+XMzSjVO9DwUrjgpVerjV6SwtMK46Tmpug/BS4R6VCrF9gWYe2 i4sDE8SUkRjcdsIJ1nakEt4wCmf4Acw9E+u/jJR3rh5qWqca1PC1Z0YVsQrYMYFS6X vcvwA5QqoOor5cK3GCgzs8GnoVwvtbFanPG1wK4XKNMi/ZNaqbbbMqfklqq6qhPjq0 YoVhQGx3kCAWA== Received: by janitor.denx.de (Postfix, from userid 108) id F2358A022B; Wed, 7 Jul 2021 10:15:44 +0200 (CEST) Received: from gemini.denx.de (gemini.denx.de [10.4.0.2]) by janitor.denx.de (Postfix) with ESMTPS id 17F04A020E; Wed, 7 Jul 2021 10:15:34 +0200 (CEST) Received: from gemini.denx.de (localhost [IPv6:::1]) by gemini.denx.de (Postfix) with ESMTP id 0D6771E14C2; Wed, 7 Jul 2021 10:15:34 +0200 (CEST) To: Tom Rini cc: Sean Anderson , u-boot@lists.denx.de, Marek =?iso-8859-1?Q?Beh=FAn?= , Simon Glass , Roland Gaudig , Heinrich Schuchardt , Kostas Michalopoulos From: Wolfgang Denk Subject: Re: [RFC PATCH 02/28] cli: Add LIL shell MIME-Version: 1.0 Content-type: text/plain; charset=UTF-8 Content-transfer-encoding: 8bit In-reply-to: <20210706154346.GT9516@bill-the-cat> References: <20210701061611.957918-1-seanga2@gmail.com> <20210701061611.957918-3-seanga2@gmail.com> <126700.1625223815@gemini.denx.de> <8bbdb7a1-5085-a3b7-614f-12ae9aee8e8b@gmail.com> <18831.1625340810@gemini.denx.de> <20210705191058.GB9516@bill-the-cat> <192103.1625557460@gemini.denx.de> <20210706154346.GT9516@bill-the-cat> Comments: In-reply-to Tom Rini message dated "Tue, 06 Jul 2021 11:43:46 -0400." Date: Wed, 07 Jul 2021 10:15:34 +0200 Message-ID: <49439.1625645734@gemini.denx.de> X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean Dear Tom, In message <20210706154346.GT9516@bill-the-cat> you wrote: > > I'm pretty confident that exactly zero people have written complex > U-Boot scripts and then been happy about the experience. I have seen many U-Boot scripts which were pretty complex, but working absolutely reliably. > TCL has its fans. csh has it's fans. The question isn't what's the > best desktop shell or general scripting language, but what's the most > useful in our environment an use cases. Maybe you should try and do a poll of our user base which CLI they _want_? I doubt there will be any significant percentage voting for Tcl. I know of a large number of systems which offer a shell interface on their command line, and those who don't usually use completely proprietary code. I know of very few examples where Tcl is being used. > I don't know if it's right either. But drawing on my comment just now > and above about complex boot scripts, I also don't know if "it's sh but > quirky and incomplete, WHY DOESN'T THIS WORK RIGHT" is better than "It's > TCL? I don't know that, let me hit stackoverflow and do a little > reading" as would be the common experience. Especially if we document > up-front what the quirks we have are. Point taken. But if you think this to an end, the result is: lets write some documentation and explain the limitations of a shell in U-Boot environment, and document the warts and bugs of this (or an updated) version of hush. This should make more users happy than completely new and incompatible stuff. Frankly, I believe when you run into problems with hush in U-Boot (even the current version) you should lean back and think about what you are doing. U-Boot is a boot loader, and while it is powerful enough to do complex things, this is not necessarily the most clever approach. 15 years ago, I've written complex update scripts for U-Boot. This was easy enough to do, and worked perfectly. But there are so many limitations in a boot loader environment. We don't do this any more. Instead, we use an OS suitable for such tasks (Linux with SWUpdate). And talking about problems and limitations in U-Boot... Is the CLI really our biggest concern right now? None of our users (customers) has asked for a better command interpreter - the question we hear are more like: "When will you support IPv6?", "NFS does not work with recent Linux distros, will this be fixed?", "Can I download over WiFi?", "Can I download using HTTP/HTTPS?", "How can I harden U-Boot for security-critical environments?", etc. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de Always try to do things in chronological order; it's less confusing that way.