[pacman-dev] [PATCH] makepkg: use basename instead of a sed command

Allan McRae allan at archlinux.org
Sun Oct 18 01:24:09 EDT 2009


Cedric Staniewski wrote:
> Xavier wrote:
>   
>> On Sat, Oct 17, 2009 at 7:41 PM, Cedric Staniewski <cedric at gmx.ca> wrote:
>>     
>>> The basename command is easier to understand than a sed command and it
>>> is even slightly faster than sed.
>>>
>>> Signed-off-by: Cedric Staniewski <cedric at gmx.ca>
>>> ---
>>> or if you prefer bashisms, see next patch
>>>
>>>       
>> I actually saw that code recently and thought exactly the same.
>> I prefer the bash way for code that is executed many times (for
>> performance reason), but it's not really the case here, so basename
>> should be fine.
>> Is basename available on all the os we support ?
>>     
>
> I do not know if it is available on all the required os, but it was already used before in makepkg and makepkg's header states:
>
>   
>> # makepkg uses quite a few external programs during its execution. You
>> # need to have at least the following installed for makepkg to function:
>> #   awk, bsdtar (libarchive), bzip2, coreutils, fakeroot, find (findutils),
>> #   getopt (util-linux), gettext, grep, gzip, openssl, sed
>>     
>
> with basename being part of coreutils.
>   

I'd prefer the bash substituion for

1) it is a bash internal so does not require starting another process
2) the only use of basename so far in makepkg is in an error message 
which I doubt many people ever hit.  So there is no real guarantee this 
is portable across platforms (though it should be...)

Allan




More information about the pacman-dev mailing list