Skip to content

straighten out GTAR use in aliases/macros #68

@tomasohara

Description

@tomasohara

When GTAR=gtar there are problems with the view-tar macro:

$ cmd-trace view-tar ~/Downloads/mlflow-2.9.2.tar.gz | head
start: Mon Aug 19 11:33:38 CDT 2024
+ eval 'view-tar /home/joe/Downloads/mlflow-2.9.2.tar.gz'
++ view-tar /home/joe/Downloads/mlflow-2.9.2.tar.gz
++ gtar tvfz /home/joe/Downloads/mlflow-2.9.2.tar.gz
++ less
++ gtar
++ gtar
++ gtar
++ gtar
++ gtar

It is OK when GTAR="command gtar":

$ GTAR="command gtar" cmd-trace view-tar ~/Downloads/mlflow-2.9.2.tar.gz | head
start: Mon Aug 19 11:34:30 CDT 2024
+ eval 'view-tar /home/joe/Downloads/mlflow-2.9.2.tar.gz'
++ view-tar /home/joe/Downloads/mlflow-2.9.2.tar.gz
++ command gtar tvfz /home/joe/Downloads/mlflow-2.9.2.tar.gz
++ less
drwxr-xr-x ubuntu/ubuntu     0 2023-12-13 23:30 mlflow-2.9.2/
-rw-r--r-- ubuntu/ubuntu 11382 2023-12-13 23:26 mlflow-2.9.2/LICENSE.txt
-rw-r--r-- ubuntu/ubuntu   608 2023-12-13 23:26 mlflow-2.9.2/MANIFEST.in
-rw-r--r-- ubuntu/ubuntu 10932 2023-12-13 23:30 mlflow-2.9.2/PKG-INFO
-rw-r--r-- ubuntu/ubuntu 10160 2023-12-13 23:26 mlflow-2.9.2/README.rst

Here's the macro definitions:

GTAR="tar"
if [ "$(which gtar)" != "" ]; then
    GTAR="gtar"
fi
if [[ ! $($GTAR --version) =~ GNU ]]; then
    echo "Warning: GNU tar not available" 1>&2
fi
function gtar { $GTAR; }
...
function view-tar () { $GTAR "t${GTAR_OPTS}" "$@" 2>&1 | $PAGER; }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions