Coder Social home page Coder Social logo

Comments (7)

hawflau avatar hawflau commented on May 27, 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 27, 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 27, 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 27, 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.

jysheng123 avatar jysheng123 commented on May 27, 2024

Hi Meijuh! We dropped homebrew for multiple reasons, mainly due to our decision of having a unified distribution, with homebrew having a different installation workflow than our own installers, since we are able to solely maintain and be responsible for our installers. unlike homebrew. Here is another ticket for more context.

That being said, thank you for taking the time to provide this feedback. I would like to better understand your use case. I tried replicating the installation/upgrade process using an EC2 Instance with AL 2023 and found my experience normal to the docs when installing/updating our package. I see that there are some issues with using DNF/pip/third part distros but that is to be expected with out current official installation method using our own distribution. Our team had a discussion and we believe it is best practice to use our own distribution in our case. Do you have a specific use case for special tarballs outside of the ones generated in our Github?

from aws-sam-cli.

mildaniel avatar mildaniel commented on May 27, 2024

Closing due to inactivity.

from aws-sam-cli.

github-actions avatar github-actions commented on May 27, 2024

⚠️COMMENT VISIBILITY WARNING⚠️

Comments on closed issues are hard for our team to see.
If you need more assistance, please either tag a team member or open a new issue that references this one.
If you wish to keep having a conversation with other community members under this issue feel free to do so.

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.