by shigemk2

当面は技術的なことしか書かない

homebrew ansible 2.7.8

homebrew ansible 2.7.8

以下のようにbump-formula-prではダメ。依存パッケージ(テストだけに使うやつも含まれる)がやたら多くて、そいつらのアップデートも必要だから。

$ brew bump-formula-pr --url=https://releases.ansible.com/ansible/ansible-2.7.7.tar.gz --sha256=040cc936f959b947800ffaa5f940d2508aaa41f899efe56b47a7442c89689150 ansible

PyPIのサイトから手動で書き換えてもいいんだけど、それをやると果てしなく時間がかかる。なので、homebrew-pypi-poetを駆使して、依存パッケージのアップデートをやる。それでもちょっとした手作業は発生するけど、工数は9割がた削減できると思う。

# 依存パッケージのうち、アップデートしたパッケージを書き換える作業は手のコピペ。
$ poet ansible -a Babel -a Jinja2 -a MarkupSafe -a PrettyTable -a PyNaCl -a PyYAML -a apache-libcloud -a appdirs -a asn1crypto -a backports.ssl_match_hostname -a bcrypt -a boto -a boto3 -a botocore -a certifi -a cffi -a chardet -a cliff -a cmd2 -a contextlib2 -a debtcollector -a decorator -a deprecation -a dnspython -a docker-py -a docker-pycreds -a docutils -a dogpile.cache -a funcsigs -a ipaddress -a iso8601 -a jmespath -a jsonpatch -a jsonpointer -a junos-eznc -a jxmlease -a kerberos -a keystoneauth1 -a lxml -a monotonic -a msgpack -a munch -a ncclient -a netaddr -a netifaces -a ntlm-auth -a openstacksdk -a os-client-config -a os-service-types -a osc-lib -a oslo.config -a oslo.context -a oslo.i18n -a oslo.log -a oslo.serialization -a oslo.utils -a packaging -a paramiko -a passlib -a pyasn1 -a pycparser -a pycrypto -a pyparsing -a pyperclip -a pyserial -a pysphere -a python-consul -a python-dateutil -a python-keyczar -a python-keystoneclient -a python-neutronclient -a pywinrm -a requests -a requests_ntlm -a requestsexceptions -a rfc3986 -a s3transfer -a scp -a shade -a simplejson -a six -a stevedore -a subprocess32 -a unicodecsv -a urllib3 -a wcwidth -a websocket-client -a wrapt -a xmltodict -a zabbix-api > test.rb
# ソートしろって書かれてるからソートする。
$ poet_lint test.rb

なお、ansible-lintもおなじ。