Age | Commit message (Collapse) | Author |
|
Since upstream cloud-init has dropped python2 support,
adapt remaining package build scripts and tools to python3 only
Changes:
* Do not template debian/rules as python3 is the only supported version
* Drop six from requirements.txt
* Makefile: drop everything related to Python 2
* run-container: install the CI deps only on ubuntu|debian
* read-version: update the shebang to use Python 3
* brpm: read_dependencies(): drop unused argument
* read-dependencies: switch to Py3 and drop the --python-version option
* pkg-deps.json: drop the Python version field and update the redhat deps
* pkg-deps.json: drop the unittest2 and contextlib2 renames
* Update RPM the spec file to use Python 3 when building the RPM
* bddeb: drop support for Python 2
|
|
Ubuntu minimal images do not have iproute2, so correctly identify
our dependency on it.
LP: #1766711
|
|
This just correctly adds the missing dependency on isc-dhcp-client.
That package is used via 'dhclient' from cloudinit/net/dhcp.py.
LP: #1759307
|
|
This change adds a couple of makefile targets for ci environments to
install all necessary dependencies for package builds and test runs.
It adds a number of arguments to ./tools/read-dependencies to facilitate
reading pip dependencies, translating pip deps to system package names and
optionally installing needed system-package dependencies on the local
system. This relocates all package dependency and translation logic into
./tools/read-dependencies instead of duplication found in packages/brpm
and packages/bddeb.
In this branch, we also define buildrequires as including all runtime
requires when rendering cloud-init.spec.in and debian/control files
because our package build infrastructure will also be running all unit
test during the package build process so we need runtime deps at build
time.
Additionally, this branch converts
packages/(redhat|suse)/cloud-init.spec.in from cheetah templates to jinja
to allow building python3 envs.
|
|
When the style/checking dependencies were updated in
test-requirements.txt, the debian package build dependencies created
by ./packages/bddeb were also updated. Pycodestyle was added to the list
in order to pin its version. That broke the package build for 16.04. The
reason for this is simply that python3-pycodestyle is not available in
16.04.
The change here is to remove style dependencies from test-requirements,
and add them to the tox environments directly. We had previously changed
the package build process to not run pep8 or flake8 simply to avoid having
to code to N different versions of style checkers (3bcb72c593f).
The link between package build and test-requirements still exists, though.
So future breakage can occur if any package is added to
test-requirements.txt (or requirements.txt) if the target distro release
does not have a python3-<packagename> in its archive.
There is also a bit of a tox.ini cleanup here, in that we do not have to
explictly list '-rrequirements.txt' as the setup.py pulls those in. And
lastly, we drop the -rtest-requirements.txt from the base 'testenv', and
add these test requirements only to environments that need to run test.
Finally, a change to packages/debian/control.in to drop the build
dependencies that were listed for style checking and also a dependency
on iproute2 which was a bad unit test that has been previously fixed.
|
|
python3 support was moved out of pyflakes into python3-pyflakes.
Adjust the package to build on trusty where python3-pyflakes was
not present and also on xenial where it is.
Note, this does mean that sbuild now requires '--resolve-alternatives'.
That is how it is used on launchpad but is not the default in sbuild.
|
|
Update make check target to run pep8 and run pyflakes or pyflakes3
depending on the value of 'PYVER'. This way the python3 build
environment does not need python2 and vice versa.
Also have make check run the 'yaml' test.
tox: have tox run pep8 in the pyflakes
|
|
The big difference is using:
${python3:Depends} or ${python:Depends}
rather than explicitly listing the dependencies (via template ${requires}).
which means we get paths of
/usr/lib/python3/dist-packages/..
rather than
/usr/lib/python3.5/dist-packages/..
when built on xenial.
Additionally it seems we no longer need this strange line.
# Because setup tools didn't copy data...
|
|
tests (specifically DataSourceOpenNebula) runs 'ip' which comes from
iproute2.
|
|
some of the partitioning code in 'disk_setup' module needs sgdisk.
In the future that could move to using sfdisk also but for now we
do need sgdisk for this.
|
|
|
|
painful, and not perfect, but at this point the output builds
on a vivid system python2 (bddeb --python2) or python3.
* remove use of cheetah by bddeb in favor of builtin renderer
* add '--python2' flag to bddeb and knowledge of python 2 and python3
package names.
* read-dependencies can now read test-requirements also.
* differenciate from build-requirements and runtime requirements.
|
|
This just removes comments '# pylint:' things and other code
remnents of pylint.
|
|
Also, in debian packaging depend on it (so it wont skip there).
|
|
|
|
smoser pastebins).
|
|
|
|
|
|
remove python:Depends macro from the control.in file. This seemed to be
overriding my 'python-json-patch | python-jsonpatch' with whichever
one was installed.
So, we're not getting automatic dependencies on trunk, which is honestly fine.
We'll manage them this way.
|
|
-d pass through '-d' to debuild
--no-cloud-utils don't depend on cloud-utils package (default: False)
These are essential for building on Debian 6, because there are
no python-mocker (build dependency) and cloud-utils (install dependency)
in squeeze and squeeze-backports.
|
|
|
|
newer versions of boto lazily load the metadata from the ec2
metadata service. Here, we:
1. Add a ec2_utils module that checks which version of boto is being used and
under the right versions the metadata dictionary will be expanded.
2. Use this new ec2_utils module in the cloudstack and ec2
datasources as there entrypoints into boto.
3. Add a dependency on python-pkg-resources (from pkg_resources import
parse_version) to determine the boto version.
LP: #1068801
|
|
use python-software-properties or software-properties-common to fullfill
the need for 'apt-add-repository'.
|
|
In cherry picking the cheetah commit, I missed the rename of these files.
packages/debian/changelog => packages/debian/changelog.in
packages/debian/control => packages/debian/control.in
packages/redhat/cloud-init.spec => packages/redhat/cloud-init.spec.in
|