Skip to content

Package usual tarball and binary name #834

@den-is

Description

@den-is

Hi,

This is very minor request. Feel free to ignore if it is not doable or does not match your philosophy.

I'm developing an Ansible collection to automate deployments of uncommon binaries on *nix systems.
The list of supported apps is big enough, which helps other people and me to deploy fresh packages that are outdated in the native OSs repos or not available at all. (e.g. Taplo is not available in Fedora repos)

Unfortunately Taplo release artifacts do not follow """standard""" formats.
Specifically, I have to use a raw command with gunzip to extract binary from release archive.

- name: Gunzip file in-place
  ansible.builtin.command: gunzip {{ _taplo_release_archive_name }}
  args:
    chdir: '{{ taplo_extraction_path }}'

Error

fatal: [legion]: FAILED! => 
    changed: false
    msg: |-
        Failed to find handler for "/tmp/taplo-linux-x86_64.gz". Make sure the required command to extract the file is installed.
        Command "/usr/sbin/gtar" could not handle archive: Unable to list files in the archive: bzip2: (stdin) is not a bzip2 file.
        /usr/sbin/gtar: Child returned status 2
        /usr/sbin/gtar: Error is not recoverable: exiting now

        Command "/usr/sbin/gtar" could not handle archive: Unable to list files in the archive: /usr/sbin/gtar: This does not look like a tar archive
        /usr/sbin/gtar: Skipping to next header
        /usr/sbin/gtar: Exiting with failure status due to previous errors

        Command "/usr/sbin/unzip" could not handle archive:   End-of-central-directory signature not found.  Either this file is not
          a zipfile, or it constitutes one disk of a multi-part archive.  In the
          latter case the central directory and zipfile comment will be found on
          the last disk(s) of this archive.
        unzip:  cannot find zipfile directory in one of /tmp/taplo-linux-x86_64.gz or
                /tmp/taplo-linux-x86_64.gz.zip, and cannot find /tmp/taplo-linux-x86_64.gz.ZIP, period.

Ansible builtin ansible.builtin.unarchive does not support gunzip.

Binary name within archive is not just simple taplo, but taplo-[system]-[arch]

I would make release artifacts much easier to manage if they are packaged in the usual .tar.gz tarballs, and binary is named just taplo, and that would match thousands of other projects' releases artifacts.

Thanks for your time and great project!

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