Closed arizvisa closed 4 years ago
What type of install were you doing? Latest, stable, git?
What salt version were you targeting to install?
Based on the issue description, I assume you were trying to bootstrap salt on a Fedora system. Which version of Fedora?
Ideally yes, we'd remove all pycrypto references, however, some older distro versions, or older versions of salt still depend/rely on pycrypto, so, it's not that simple.
It's in a Fedora 31 container. version is v3000.3. both stable and git result in the same results.
For now I'm temporarily switching to installing from the package manager as a workaround.
You're right that some older distro versions still rely on pycrypto.
but most distros support everything else, and there's zero references to either python-cryptography, or pycryptodomex in salt-boootstrap. which crypto library is the most supported one?
So, for Sodium (v3001) Salt will stop relying on pycrypto and will use pycryptodomex
Also, for Sodium, git based boostraps will require the use of pip(not system packages) and will thus respect Salt's requirements
Cool. Yeah. Pip has always been the safest way to bootstrap different salt versions on an arbitrary platform.
I'd like to switch back to installing via salt-bootstrap sometime soon instead of my project forcing you to base your generated salt-master on a fedora container and only being able to install the latest saltstack in the distro's package manager.. The pycrypto dependency is the only thing preventing this... unless i start introducing compilers into each generated infrastsructure.
Is it safe to assume that salt-bootstrap will completely transition to pycryptodomex when it gets synchronized to salt during the sodium (v3001) release? And so I can expect to revert around that time? will you guys drop support for some of the platforms on your os matrix?
Can this be closed now that 3001 is released and depends on non-pycrypto crypto libraries?
Sure. I'll try and run salt-bootstrap this weekend and let you know if it's still trying to install pycrypto.
Awesome. With v3001 it seems to build properly without forcing you to compile pycrypto now.
Closing this issue. Feel free to reference a PR or commit for tracking though as I wasn't able to find one.
Description of Issue/Question
It seems that pycrypto is dead according to a number of issues such as saltstack/salt#51301, and a couple of others. This was done in favor of libraries such as m2crypto, pycryptodomex, cryptography, etc.
This is a great thing. However, salt-bootstrap still insists on preferring pycrypto. Since many distros have dropped the package this immediately requires building from source. It probably makes sense to synchronize salt-bootstrap to the decisions that are happening in the salt project.
Setup
Literally just grep
bootstrap-salt.sh
for crypto.Steps to Reproduce Issue
Run salt-bootstrap in a Fedora container or anything and make sure autotools is not installed. This way it'll fail due to being unable to compile pycrypto. But you can grep it out of the source anyways.
Versions and Systems
Most recent version as of today: 2020.02.24