git clone --recursive https://github.com/lambdastackio/s3lsio.git
Do the above command instead of the normal git clone ... since there is a submodule for the OSX package manager Homebrew. However, if you don't care about that then you can simply leave --recursive off and git clone as normal.
If you have Rust installed then you can simply do the following and it will compile for your environment. Install: cargo install s3lsio
At present, there is not a binary version for each environment so Rust is required. After general release there will be packages for each platform supported.
To install Rust (if needed): (Linux and Mac) curl -sSf https://static.rust-lang.org/rustup.sh | sh (Windows) Here is the link to the official Rust downloads page: https://www.rust-lang.org/en-US/downloads.html
AWS S3 command line utility written in rust. Works with both V2 and V4 signatures. This is important when working with third party systems that implement an S3 interface like Ceph. Ceph Hammer and below use V2 while Jewel and higher use V4.
Simple as possible but flexible enough to be used in cron jobs, every day utility use, scripts etc.
Deb/RPM - EVR (Epoch.Version.Release) - Follow semantic versioning which is now standard. Currently, you have to maintain the versioning information on packages, Cargo.toml and CLI which is a pain because you will often forget to properly update each of those. The CLI is now reading from the toml file but the others are not. So, an effort will soon be underway in a build.rs process to dynamically update those to match the Cargo.toml file before building begins to keep everything in sync.
OSX: A git submodule exists to the homebrew-tap repo in lambdastackio. This will create an updated tarball that Homebrew uses to install and update packages.
Linux (RHEL/CentOS/Fedora): A Vagrantfile exists to dynamically pull down a VirtualBox instance and spin up the correct OS to pull down the github code, install Rust, build the code, build the rpms and push them to S3.
Linux Ubuntu: A Vagrantfile exists to dynamically pull down a VirtualBox instance and spin up the correct OS to pull down the github code, install Rust, build the code, build the debs and push them to S3.
The above process will most likely move to Docker soon.
NB. Once this process is fully baked it will be rolled out as a template process for all binary crates moving forward. It's possible that I may auto codegen a Pacman package file to be used in Windows MinGW-64bit.
There are a lot of changes happening at a rapid rate. What may not be there today may very well be there tomorrow.