diff --git a/Formula/a/ansible-lint.rb b/Formula/a/ansible-lint.rb index ed87b69d26b55..f1f8a0a17361a 100644 --- a/Formula/a/ansible-lint.rb +++ b/Formula/a/ansible-lint.rb @@ -9,19 +9,20 @@ class AnsibleLint < Formula revision 1 bottle do - sha256 cellar: :any, arm64_tahoe: "07354a27a18eed9bf6c2595ca9f9fe60f7a4fb28b6af7e54bcbdb8f8dd13e153" - sha256 cellar: :any, arm64_sequoia: "fe33c4769e065742edc894889b55571e7b782d31618fcee087a061a5265998e0" - sha256 cellar: :any, arm64_sonoma: "f0df4bf7be3c08ea6f3289e88a38643dbf5f06233b05d22ca2b3eabd7c81e7c0" - sha256 cellar: :any, sonoma: "5e199fd09e3844a8556407212cc02edfb31cceef5060d088ee6ff34a2c4dc5dd" - sha256 cellar: :any_skip_relocation, arm64_linux: "8500da32043460560f8bed3e9e6537759fd01c363ac63367cc783b2c46de334c" - sha256 cellar: :any_skip_relocation, x86_64_linux: "868c643e5c7c555eb9688a50eeff340a922533dc1f684883f9cf2487f2316df4" + rebuild 1 + sha256 cellar: :any, arm64_tahoe: "588d745eacc428a1e9562f38ed73dd479c77e25779bafa6af917f16812caf47c" + sha256 cellar: :any, arm64_sequoia: "be944be788f49247b06db4ccb56cd0838774b0a32dccfb41e3bf6d0e4c862aea" + sha256 cellar: :any, arm64_sonoma: "7dad98c12817547cbd9bfb55d0e5f630348b9f81c0621d47e26115e8bd62c3be" + sha256 cellar: :any, sonoma: "06b2ef1cda00e25e3b7631bac74ca4b8c6e502fa9760ca85d5d5192b4c3c02c6" + sha256 cellar: :any_skip_relocation, arm64_linux: "ee283e791843ded4fbb7c187b5651500c8df1969b2cc445c276d5031da6acbf7" + sha256 cellar: :any_skip_relocation, x86_64_linux: "32c8082feffc08c8ed1cd066b0d4208ace1f78f382be640d6ea5346c1a4cb08f" end depends_on "pkgconf" => :build depends_on "ansible" => :test depends_on "cryptography" => :no_linkage depends_on "libyaml" - depends_on "python@3.13" # cannot use py3.14 due to bcrypt v5+ issue for ansible + depends_on "python@3.14" depends_on "rpds-py" => :no_linkage pypi_packages exclude_packages: ["cryptography", "rpds-py"] diff --git a/Formula/a/ansible.rb b/Formula/a/ansible.rb index 66a9232cff29c..bce6a109ab5bc 100644 --- a/Formula/a/ansible.rb +++ b/Formula/a/ansible.rb @@ -9,12 +9,13 @@ class Ansible < Formula head "https://github.com/ansible/ansible.git", branch: "devel" bottle do - sha256 cellar: :any, arm64_tahoe: "4df254059fee6ee70cfcdaf5f39711ac79cf9ed37b8a7cfef5e4973f19f38e45" - sha256 cellar: :any, arm64_sequoia: "a75f3bd37d9c75ab47d3686c838ee877814eb678ae4d26d8c9c225bbcf7778c5" - sha256 cellar: :any, arm64_sonoma: "ae55994b08b26e9214e86fcde79c11c731e19f63dce34d17705b2c4b525fc143" - sha256 cellar: :any, sonoma: "f5cabac6b32842c48596fb174b06df48fc9c41bb62d7e2c89d885415a882f30e" - sha256 cellar: :any_skip_relocation, arm64_linux: "a2115c4d65b912f0e7776be604869d15c531e16ebef37d8741a48ed31c5a597f" - sha256 cellar: :any_skip_relocation, x86_64_linux: "ca1b2779ba622a9ecbaad6aacf682404a32ffef8930a1901df06468272ed875a" + rebuild 1 + sha256 cellar: :any, arm64_tahoe: "cc16bbe89bbabb08a53bcebe2e447adc2154bd003428aa717d9e7d4b420d8865" + sha256 cellar: :any, arm64_sequoia: "4146688d02670b1bd5234902df9e8b8cbd2064790d92437e6712a1116f3398f6" + sha256 cellar: :any, arm64_sonoma: "9f681233f36458e5ef39296c0782fd72e042729e53533aefa679edcf6a66582c" + sha256 cellar: :any, sonoma: "37bbe665f86050eacf683781b29a2ad8b88f6a5c242f1524df444bd289954483" + sha256 cellar: :any_skip_relocation, arm64_linux: "752dc3be865a7326cf08193b6d72b410bd8fa9fe7d2e4cad60860a814edb8e9e" + sha256 cellar: :any_skip_relocation, x86_64_linux: "9b4e400522527c80761b1181c62dd2c8a0de30808632b1f06fd45f5088c1a5a7" end # `pkgconf` and `rust` are for bcrypt @@ -25,7 +26,7 @@ class Ansible < Formula depends_on "libsodium" # for pynacl depends_on "libssh" depends_on "libyaml" - depends_on "python@3.13" # needs bcrypt v5+ foro py3.14 + depends_on "python@3.14" depends_on "tree" # for ansible-role-init uses_from_macos "krb5" @@ -33,9 +34,8 @@ class Ansible < Formula uses_from_macos "libxslt" uses_from_macos "openldap" # for python-ldap - # passlib doesn't work with bcrypt v5+: https://github.com/ansible/ansible/issues/85919 pypi_packages exclude_packages: %w[certifi cryptography gnureadline], - extra_packages: %w[ansible-pylibssh apache-libcloud bcrypt<5 boto3 dnspython docker + extra_packages: %w[ansible-pylibssh apache-libcloud boto3 dnspython docker fqdn junos-eznc jxmlease kerberos ntc-templates openshift passlib pexpect proxmoxer pynetbox pysphere3 python-consul python-ldap python-neutronclient pytz pywinrm requests-credssp @@ -76,8 +76,8 @@ class Ansible < Formula end resource "bcrypt" do - url "https://files.pythonhosted.org/packages/bb/5d/6d7433e0f3cd46ce0b43cd65e1db465ea024dbb8216fb2404e919c2ad77b/bcrypt-4.3.0.tar.gz" - sha256 "3a3fd2204178b6d2adcf09cb4f6426ffef54762577a7c9b54c159008cb288c18" + url "https://files.pythonhosted.org/packages/d4/36/3329e2518d70ad8e2e5817d5a4cac6bba05a47767ec416c7d020a965f408/bcrypt-5.0.0.tar.gz" + sha256 "f748f7c2d6fd375cc93d3fba7ef4a9e3a092421b8dbf34d8d4dc06be9492dfdd" end resource "boto3" do @@ -323,6 +323,11 @@ class Ansible < Formula resource "passlib" do url "https://files.pythonhosted.org/packages/b6/06/9da9ee59a67fae7761aab3ccc84fa4f3f33f125b370f1ccdb915bf967c11/passlib-1.7.4.tar.gz" sha256 "defd50f72b65c5402ab2c573830a6978e5f202ad0d984793c8dde2c4152ebe04" + + # bcrypt no longer truncates long passwords: https://github.com/pyca/bcrypt/commit/d50ab05b2bece07d5c8d6a4179064fc714fd9126 + # And breaks unmaintained passlib: https://foss.heptapod.net/python-libs/passlib/-/issues/196 + # See also https://github.com/ansible/ansible/issues/85919 + patch :DATA end resource "pbr" do @@ -638,3 +643,17 @@ def install end end end + +__END__ +diff --git a/passlib/handlers/bcrypt.py b/passlib/handlers/bcrypt.py +--- a/passlib/handlers/bcrypt.py ++++ b/passlib/handlers/bcrypt.py +@@ -644,7 +644,7 @@ + config = self._get_config(ident) + if isinstance(config, str): + config = config.encode("ascii") +- hash = _bcrypt.hashpw(secret, config) ++ hash = _bcrypt.hashpw(secret[:72], config) + assert isinstance(hash, bytes) + if not hash.startswith(config) or len(hash) != len(config)+31: + raise uh.exc.CryptBackendError(self, config, hash, source="`bcrypt` package") diff --git a/Formula/m/molecule.rb b/Formula/m/molecule.rb index 11b9ff6b7a787..0b2ee8db766d4 100644 --- a/Formula/m/molecule.rb +++ b/Formula/m/molecule.rb @@ -8,19 +8,20 @@ class Molecule < Formula license "MIT" bottle do - sha256 cellar: :any, arm64_tahoe: "696240463635bc5b968243ebd2e71b42ee11c3f5aefb88d8426e4ea9e85342da" - sha256 cellar: :any, arm64_sequoia: "fc5de0e3ae7fef837b36df41c649cc13dbd00a0cb591e8041341a135451d3abd" - sha256 cellar: :any, arm64_sonoma: "8a03d5017e0e1abd95b5ea4956eddc283f030d94f9af2cfdeba310d8ad3a18a4" - sha256 cellar: :any, sonoma: "0b30eca96f81ee2514878393c1a350bff3007cc4294dd0cbd89e4e56a428d467" - sha256 cellar: :any_skip_relocation, arm64_linux: "7c2886e049eee0c98993e3142ad9838e1da0c00bcebfd5ca86c1cca202ade2a3" - sha256 cellar: :any_skip_relocation, x86_64_linux: "990a120b934393943143c80d2d55a162fac37345ab3894163d026e0cf789f681" + rebuild 1 + sha256 cellar: :any, arm64_tahoe: "3496cb6d30037033158224f1f7cf92d484650dc0f9cc0e829f3abfd7c6e28856" + sha256 cellar: :any, arm64_sequoia: "844e30ba078a1a5b262fbd303d0842320c5df77f6255586acfe176f4d13fc96d" + sha256 cellar: :any, arm64_sonoma: "1f67fa4e8ae2626bf6a56598a4ea44edb80d5f338dfe5c29efed52d7d248147c" + sha256 cellar: :any, sonoma: "c11b6605a432abde1d674d278a84180bca6beccdf27424a1a75c358d91a58e51" + sha256 cellar: :any_skip_relocation, arm64_linux: "d09508ef53bf9a23450241bd2a41353e03613d8bc38bc2d9fe6addfe1867942c" + sha256 cellar: :any_skip_relocation, x86_64_linux: "41cc0c6451573682ebf14062e6347883dadaf2fbd0523214a2be556da0a1f107" end depends_on "ansible" depends_on "certifi" => :no_linkage depends_on "cryptography" => :no_linkage depends_on "libyaml" - depends_on "python@3.13" + depends_on "python@3.14" depends_on "rpds-py" => :no_linkage uses_from_macos "libffi" @@ -77,11 +78,6 @@ class Molecule < Formula sha256 "65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360" end - resource "distro" do - url "https://files.pythonhosted.org/packages/fc/f8/98eea607f65de6527f8a2e8885fc8015d3e6f5775df186e443e0964a11c3/distro-1.9.0.tar.gz" - sha256 "2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed" - end - resource "docker" do url "https://files.pythonhosted.org/packages/91/9b/4a2ea29aeba62471211598dac5d96825bb49348fa07e906ea930394a83ce/docker-7.1.0.tar.gz" sha256 "ad8c70e6e3f8926cb8a92619b832b4ea5299e2831c14284663184e200546fa6c" @@ -257,11 +253,6 @@ class Molecule < Formula sha256 "e7bdbfdb5497da4c07dfd35530e1a902659db6ff241e39d9953cad06ebd0ae75" end - resource "selinux" do - url "https://files.pythonhosted.org/packages/25/07/51acd62e1e15e1172d46f7e32faf138725b147f8c08dbf2d512159d7a310/selinux-0.3.0.tar.gz" - sha256 "2a88b337ac46ad0f06f557b2806c3df62421972f766673dd8bf26732fb75a9ea" - end - resource "setuptools" do url "https://files.pythonhosted.org/packages/18/5d/3bf57dcd21979b887f014ea83c24ae194cfcd12b9e0fda66b957c69d1fca/setuptools-80.9.0.tar.gz" sha256 "f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c" @@ -293,7 +284,7 @@ class Molecule < Formula end def python3 - "python3.13" + "python3.14" end def install