Giter VIP home page Giter VIP logo

Comments (4)

hawflau avatar hawflau commented on May 23, 2024

Hey @Meijuh thanks for your suggestion. I'll bring it up with the Team.

That said, can you help me understand better about the installation experience in Fedora:

  1. What did DNF and PIP update before you run sudo ./sam-installation/install --update?
  2. Can you elaborate a bit more about what the compatibility and security issues?

As for the need of sudo, it's possible to specify an installation path (e.g. sudo ./sam-installation/install --install-dir $HOME/my/path). I wonder if sudo can be skipped if you install at a location where you have full access without sudo.

from aws-sam-cli.

Meijuh avatar Meijuh commented on May 23, 2024

First, I needed to upgrade SAM/Python/PIP managed packages because whenever I ran sam deploy I got: "Error: An HTTP Client raised an unhandled exception: sequence item 0: expected str instance, bytes found" (the compatibility issue). So then I had to figure out/remember how and where sam was installed. This could be via pip/dnf/tarball, and apparently also now via a custom installer. So I just removed any form of sam. Upgraded all PIP packages via pip --disable-pip-version-check list --outdated --format=json | python -c "import json, sys; print('\n'.join([x['name'] for x in json.load(sys.stdin)]))" | xargs -n1 pip install -U, because that seems to be the way according to https://www.activestate.com/resources/quick-reads/how-to-update-all-python-packages/. But that also gave errors, because of missing dependencies. So I had to run dnf install librsync-devel libvirt-devel cairo-devel gobject-introspection-devel.

Then I ran the installer as root (I did not know about --install-dir), and hoped deeply it would not run rm / -rf (the security issue).

In three months I will have to do all steps above again, because I will have forgotten you made a custom installer.

Above steps could be optimized (I'm no python expert), but my point is, I would not have to think about it if only I could run dnf install aws-sam-cli. Also try to imagine if all software vendors took your approach (needing to know I can supply --install-dir to a custom installer, etc); upgrading my system would take days.

I would love to see the possibility you allow distribution maintainers to distribute your software in a way they recommend (and potentially assist them with that). That would make it so much easier for me to use the SAM CLI, and saves you work too of having to maintain an installer.

from aws-sam-cli.

hawflau avatar hawflau commented on May 23, 2024

Thanks for sharing your feedback and experience. It seems like you hit some unexpected cases. I'll mark this issue as bug and will investigate further.

In this issue, we explained why we decided to change our support model for homebrew, and also why we intented to keep a unified installation experience through our binary installers. Like homebrew, we welcome community to contribute and support distribution of AWS SAM CLI in different package managers(such as homebrew and pacman).

from aws-sam-cli.

Meijuh avatar Meijuh commented on May 23, 2024

#5613 does not provide a single reason to drop support for homebrew? I'm honestly curious why the choice for a custom installer has been made.
You say you welcome the community to contribute, but you do not provide release tarballs aside from those automatically generated by Github.

At this point https://cloud.google.com/sdk/docs/install#red-hatfedoracentos looks like a godsend.

from aws-sam-cli.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.