summaryrefslogtreecommitdiff
path: root/tools/read-version
AgeCommit message (Collapse)Author
2020-03-24tools: use python3 (#274)Ryan Harper
* tools: use python3 Switch tools/ to use python3 instead of python. At minimum this fixes building deb on python3 only releases like Focal. Applied via shell commands: $ grep 'usr/bin/.*python' tools/* 2>/dev/null | \ grep -v python3 | awk -F':' '{print $1}' | \ xargs -i sed -i -e '0,/python/s/python/python3/' {} * Use /usr/bin/env python3 to be virtualenv friendly
2020-02-20Update tooling for GitHub-based new releases (#223)Daniel Watkins
* tools/read-version: don't enforce version parity in release branch CI We have a bootstrapping problem with new releases, currently. To take the example of 20.1: the branch that bumps the version fails CI because there is no 20.1 tag for it to use in read-version. Previously, this was solved by creating a tag and pushing it to the cloud-init repo before the commit landed. However, we have GitHub branch protection enabled, so the commit that needs to be tagged is not created until the pull request lands in master. This works around this problem by introducing a very specific check: if we are performing CI for an upstream release branch, we skip the read-version checking that we know will fail. * tools/make-tarball: add --version parameter When using make-tarball as part of a CI build of a new upstream release, the version it determines is inconsistent with the version that other tools determine. Instead of encoding the logic here (as well as in Python elsewhere), we add a parameter to allow us to set it from outside the script. * packages/bddeb: handle missing version_long in new version CI If we're running in CI for a new upstream release, we have to use `version` instead of `version_long` (because we don't yet have the tag required to generate `version_long`).
2019-04-23tools/read-version: handle errorsChad Miller
When the cloned branch was not the canonical upstream and tags were not available, tox would fail because tools/read-version would fail, and tragically never print the advice that is in tools/read-version about how to fix it. This changes tools/read-version to catch the exception that is elsewhere explicitly thrown and treat that too as an error it can handle.
2018-08-31read-version: enhance error messageJoshua Powers
The error message when read-vesion is not very useful and does not help the end-user know how to overcome the issue. This adds a short message explaining that the user does not have the latest upstream tags and how to get those tags.
2018-01-24tools/read-version: Fix read-version when in a git worktree.Scott Moser
read-version --json would report bad data when working in a worktree. This is just because in a worktree, .git is not a directory, but rather a metadata file that points to the another path. $ git worktree ../mytree $ cat ../mytree/.git gitdir: /path/to/cloud-init/.git/worktrees/mytree $ rm -Rf ../mytree; git worktree prune
2017-10-05tools: Give specific --abbrev=8 to "git describe"Scott Moser
The tools that use "git describe" were just assuming a consisent number of characters in the hash. It seems ubuntu 16.04 would use 7 and later versions use 8. To avoid that discrepency in developer environments, set it to 8.
2017-01-23build: fix running Make on a branch with tags other than masterScott Moser
running 'make' on a git branch other than master would fail with complaint that the tools/read-version reported a different version than the code. Change to only consider tags starting with 0-9 in read-version.
2016-12-22LICENSE: Allow dual licensing GPL-3 or Apache 2.0Jon Grimm
This has been a recurring ask and we had initially just made the change to the cloud-init 2.0 codebase. As the current thinking is we'll just continue to enhance the current codebase, its desirable to relicense to match what we'd intended as part of the 2.0 plan here. - put a brief description of license in LICENSE file - put full license versions in LICENSE-GPLv3 and LICENSE-Apache2.0 - simplify the per-file header to reference LICENSE - tox: ignore H102 (Apache License Header check) Add license header to files that ship. Reformat headers, make sure everything has vi: at end of file. Non-shipping files do not need the copyright header, but at the moment tests/ have it.
2016-08-10tools/read-version: update to address change in versionScott Moser
commit 48ec60ae changed over several tools to use X.Y.Z-XXX-gHASH but missed tools/read-version. The end result was that check_version failed.
2016-08-09read-version: do not attempt git-describe if no git.Scott Moser
Even if there is a .git directory, we can't use git if there is no git executable in the path. In that case just fall back to the cloud-init version.
2016-08-08For upstream snapshot versions do not modify git-describe output.Scott Moser
For upstream version directly use the output of git-describe (X.Y.Z-number.gHASH) rather than rather than changing it to (X.Y.Z+number.gHASH). The rpm version does not allow '-' in Version, so we create and use rpm_upstream_version in the rpm spec file. That is of format: X.Y.Z+number.gHASH
2016-08-05drop modification of version during make-tarball, tools changes.Scott Moser
Modification of the tarball became problematic, as it meant that any tool extracting source would find the orig source tarball different. I found this unusable when trying to use 'gbp buildpackage'. Other changes here are to better support using python3 or python2 for the build. Makefile will try to call the right python version and can be told which python to use. read-version: by adding 'tiny_p' and avoiding the import of cloudinit.util, we need less dependencies to run this.
2016-08-05adjust tools and version information.Scott Moser
upstream snapshots are versioned in the format 'X.Y.Z+<distance>.g<commit>' where X.Y.Z are major, minor, and micro. Distance is number of commits since last annotated tag, and commit is the git commit. bddeb and brpm will now create and use the "upstream version" like above. Things changed here: - tools/make-tarball update cloudinit/version.py to contain the full version support --output support '--long' to always create the long format version string. - bddeb: - use quilt debian source format - use read-version and long version in changelog. - brpm: - change to use read-version and upstream long version in the spec. - flake8 changes - tools/read-version - read version from git or from cloudinit/version. - provide --json output with more nicely formed data.
2014-01-22tools/read-dependencies tools/read-version: rewrite in pythonScott Moser
This just does python rewrites of these tools that were shell or sed or grep. Clearly the user of cloud-init has python, but it turns out that getting sane versions of sed or grep on different unixes is less than simple.
2013-09-11fix read-versionScott Moser
2013-09-11better checking and portability in read-dependencies and read-versionScott Moser
2013-09-08tools/read-dependencies, read-version: cleanups, and use sed not grepScott Moser
There are just some cleanups here, and use of simply 'sed' rather than grep and cut. The motivation is to support running with non gnu 'grep' that doesn't have -P.
2013-04-09tools: fix [some] shell quoting problemsScott Moser
There were problems with these tools if the path had a space. This should make these tools safe. There are others that still have problems.
2012-07-09rework packaging tools to find the right cloud-init topdirJoshua Harlow
This also fixes 'brpm' to address --init-system change that smoser made to setup.py before the large 'rework' merge.
2012-07-06Reworking these to look attempt to find the right parent directory, as well Joshua Harlow
as adjustments due to sysvinit rename.
2012-06-26Add check that the changelog version is the same as the code versionharlowja
2012-06-25This tool knows how to extract the current version from the 'changelog' file.Joshua Harlow