Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1ggHFl-0008ID-RR for pgsql-hackers@arkaria.postgresql.org; Sun, 06 Jan 2019 22:50:46 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1ggHFj-0007MH-Hy for pgsql-hackers@arkaria.postgresql.org; Sun, 06 Jan 2019 22:50:43 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1ggHFj-0007ED-2i for pgsql-hackers@lists.postgresql.org; Sun, 06 Jan 2019 22:50:43 +0000 Received: from mail-yw1-xc41.google.com ([2607:f8b0:4864:20::c41]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1ggHFg-0001WU-CP for pgsql-hackers@lists.postgresql.org; Sun, 06 Jan 2019 22:50:42 +0000 Received: by mail-yw1-xc41.google.com with SMTP id i73so16544735ywg.3 for ; Sun, 06 Jan 2019 14:50:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=2ndquadrant-com.20150623.gappssmtp.com; s=20150623; h=from:subject:to:cc:references:openpgp:autocrypt:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=yReiTdndBZa7HW1wkOn2oRr7jVw3DKgh+frhDqaP7k4=; b=JhoAJ21u4774U/ouh6wc3a7MeT+l9JvxhTsD6rU3ecaP3j1cT/v/BuGA0rLuQ+2hdK 5AxlolAUfuDdBiyDroNIDYJGABYMaD1UXZWwcwX+PfEObdu06ikZNCpUO7hb04cePOXw kun0mpX8QVSrjmPl6AmRHO2A5kGvigr4KMABIRVOgzjkZBneUeCM+O5S82NFS/rVFsed 9JCVeYL2ID3qMzpidcFupaTC0FrzzwEMpLds7agcuGAWx0S+dCNSip01ZdhD9lP1p6Rc DjCPBhkiOuCHirZ/qmbJtA4KUBE7ZLJ8CMlfnyWYoq1qF1T7uiOdk1cC5IAmaynfFSXv joMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:subject:to:cc:references:openpgp:autocrypt :message-id:date:user-agent:mime-version:in-reply-to :content-transfer-encoding:content-language; bh=yReiTdndBZa7HW1wkOn2oRr7jVw3DKgh+frhDqaP7k4=; b=XYaIONfcU8Y0PMPov8mNXadtqxMLqJ4yCUYDDMaUjIAGIGK5+59NNDe4UbKQioFD4J COMRoAstV93JakDsVylRBOiSZExbWh5Giey/z6yccAMXIerSmZg6ZJsYQEwnVcmNZGre sJe2md2ptqZBDnqETdY3gi9ML13iK2zF8lHWMgr6Okmqt4n6kP8yPWgeZC1JLqud0HvG maeNPEOjVqaz4ZO8QX3ChgkteiyITbZlBDRSFgQptA+NboaO9YlhVs/tni77yn99B4+C f+Nki2Kqzumsa3iPQVdcc+IUEYkPz98WUJG826oZw6NShhH7LeZ70O7ZhI4MGrahcCPi e1Aw== X-Gm-Message-State: AA+aEWarOoTvNLt3JhaNb+kUPKWxsXyvd+iFVDur7+EPHrHwFaOUkUnq tGFoNaxl325km6bfe7OQNNv3yA/kKg== X-Google-Smtp-Source: AFSGD/XjvjFzegYuIIkXBwG822LptoG7svz/3BI9g8foM0wFgPUHlSjqWWvPa6f5rpoW9d7hPa3CSQ== X-Received: by 2002:a81:af51:: with SMTP id x17mr59366872ywj.479.1546815038021; Sun, 06 Jan 2019 14:50:38 -0800 (PST) Received: from [192.168.10.146] ([98.122.175.38]) by smtp.gmail.com with ESMTPSA id x4sm54170203ywj.80.2019.01.06.14.50.37 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 06 Jan 2019 14:50:37 -0800 (PST) From: Andrew Dunstan X-Google-Original-From: Andrew Dunstan Subject: Re: [PATCH] check for ctags utility in make_ctags To: Tom Lane , Nikolay Shaplov Cc: pgsql-hackers@lists.postgresql.org, Peter Eisentraut , Michael Paquier , =?UTF-8?B?0JLQuNGC0YPRgSDQktCw0LM=?= =?UTF-8?B?0L3QtdGA?= References: <2394207.ccz7JgCJsh@x200m> <2205856.meAnofT0VS@x200m> <364f4cb7-4f1f-516e-d27e-59578b7cf18c@2ndquadrant.com> <96675367.WEgyTzNvEp@x200m> <5709.1546794967@sss.pgh.pa.us> Openpgp: preference=signencrypt Autocrypt: addr=andrew.dunstan@2ndQuadrant.com; prefer-encrypt=mutual; keydata= xsBNBE7KWFkBCAClridxur2AIc7eW2AR7izbfp3EnNefie2HbLF0izW5Ik5UjX2HBXBx4syI gY6b0ugohXrr274+baoAlvSbq6cAoQuEVrk5IZFzt20b1Xkx65FwGSEj526yiKLocqkJceSq Xr9xcA5SGY+FZv441chh5SU92v4q6z+6LPpoHOh97ptAVXZYNTtU0LevyvD5lja0TzbvJm6C eFXitJfnm1pLEr0DGJCR/iUOl/N62Kh4855zZC7NHIjQHPOvV5Stz/l5ilDhvGVk+xkXFPys SjZoUr1rXhYLpiyi5sR0X9FHXT0KnGuz1F5ERO7ZTLSSQ6fJwPj6gOk9K+vvoKvoeql5ABEB AAHNL0FuZHJldyBEdW5zdGFuIDxhbmRyZXcuZHVuc3RhbkAybmRRdWFkcmFudC5jb20+wsCY BBMBAgBCAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAUJDyV6hBYhBOQ+WEYd/Hy/RGkV pZn6f8tZ/DuBBQJcH/EVAhkBAAoJEJn6f8tZ/DuB7BEH/iDWZEbVft2m2MT6SPjARzTupt/l xLLZ/Cl6n2US2hov5+fBbnR5xvECk/YCOfG9ICvKNlpFjceqNLRKStd8cmndnI+kDw91uNM2 hpL4aJMeW65XCHvqXlOLSwv5chBpXz9NG7FMaJ+q+59sWEWjcTNmjXgkEHn53y+1pc7nSLDe cr5ZI1aB3nGXRm1SoDY5PYZkUKMykW+YBZwgcs/Q5tRaE+siN7DKbz8E628+PerwAkmHPVXN MdJFD6gs4S0gDFA8IxcyIwZU2v4By+brzcJ9Se3FK5BYxBDHtaYZxgSrJAvOUOrLIZPQTQfL TtnVs3C3JTfrxCH1ceHtnA6dRuTOwE0ETspYWQEIANGc4zQULOxhbqO2dyD51YhqCNRmm9oK Waqf+wmW4tpDe/VVcxAnNizd4LWCHfzpb5cHAtGkOPePMfzWVf6nvdF7d3eglbtf59+zG7O7 llV0xSSoFiieQBsrGvqDInXYX/4mRRXMtyhM353/tixC9RWLs1oofyYmCPPXXY7h9R7en3B8 BoVrRFcdzlIY/NFNhFGW/9dkEiGjgna2Rk6e15kln4ZvFBWUg23p93w/pqXcxY6+k/8TEk+C 4R+M6w7o2PLGOjdZ+kPiUcw5H85zf/yZJwQXzisXaNduwWB6Vads9YC9dj6kPR1c4VGRqAaY L++LAEOqrlvm2TvqQqZRtnEAEQEAAcLAZQQYAQIADwIbDAUCXA6fpAUJDyV6xAAKCRCZ+n/L Wfw7geU4B/9vFFsVmWxerDWgNjyiK80zIPmlw/iwdUlU6FIu0JWLMg4093kvxBs7RMZV9hBq n3ekBvD4IvFsVLJrw9qzSI2FH3UeYy5WXpEs01Ppia60NOlvRDqXbryzuvfe+iYo6bVP3Ikr TPTNYL/BePUTD2DPvSI82SbGTyzuA7SJv6NRqqQDMIy1fU6KyQFLmQJp/QJyhKWzm9jWh8ee w8jVaoMY0Kbq5N7RqisEx1Lu/Iw646UphdYzQNymf+kbiU5Kf4I6DhzV8w9sie1Bo1juNj3I c5/fFJsmxljbnaDbXPcnFsur1Oo9mIHFakgWgOBMuxoWfjONiLjjLh/9+ZIqSSLX Message-ID: <249c110c-1a30-87bf-2bb8-bc84265c1eeb@2ndQuadrant.com> Date: Sun, 6 Jan 2019 17:50:36 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.3.0 MIME-Version: 1.0 In-Reply-To: <5709.1546794967@sss.pgh.pa.us> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Content-Language: en-MW List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk On 1/6/19 12:16 PM, Tom Lane wrote: > > The correct way to code this is to depend on the exit code, > not the text output: > > if command -v etags >/dev/null > then > : ok > else > echo etags not found > exit 1 > fi more succinctly, command -v etags >/dev/null || { echo etags not found; exit 1;}   > We could alternatively try to use "which" in the same way, > but I'm dubious that it's more portable than "command". > (AFAICT, "which" is *not* in POSIX.) > > Indeed. I know I have some systems where it's lacking. cheers andrew -- Andrew Dunstan https://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services