Commit graph

479 commits

Author SHA1 Message Date
Paul Morgan
3be5a2d1b6 provide config for editorconfig plugins
* If a dev adds an editorconfig plugin to their editor,
  automatically configure their editor for code style.

* Specify 4-space softtabs so new code will be compatible
  with Python 3.

* Put the same settings in .gitattributes so git diff
  highlights whitespace errors.
2014-02-27 21:22:05 +00:00
Paul Morgan
47a5cda981 resolve build errors on travis-ci
* travis-ci no longer supports python 2.5

  http://blog.travis-ci.com/2013-11-18-upcoming-build-environment-updates/

  > Python 2.5 has been removed due to very low overall usage and
  > breaking changes in pip and virtualenv.

* GitPython

  pip install no longer supports pre-release versions by default
  http://www.pip-installer.org/en/latest/reference/pip_install.html#pre-release-versions

  resolves build error:

    $ pip install 'GitPython >= 0.2.0' --use-mirrors
    --use-mirrors has been deprecated and will be removed in the future.
    Explicit uses of --index-url and/or --extra-index-url is suggested.
    Downloading/unpacking GitPython>=0.2.0
      Could not find a version that satisfies the requirement
      GitPython>=0.2.0 (from versions: 0.1.7, 0.2.0-beta1, 0.3.0-beta1,
      0.3.0-beta2, 0.3.1-beta2, 0.3.2.RC1)
    Cleaning up...
    No distributions matching the version for GitPython>=0.2.0
2014-02-27 21:13:40 +00:00
Devan Goodwin
4e902ddf93 Add more missing documentation to MANIFEST.in. 2014-02-27 15:48:38 -04:00
Devan Goodwin
c90ed288ae Merge branch 'add-asciidoc-to-sdist' of https://github.com/grosskur/tito into grosskur-add-asciidoc-to-sdist 2014-02-27 15:46:29 -04:00
Devan Goodwin
8d64e56b4e Fix bug with fetch builder source replacement. 2014-02-27 15:44:42 -04:00
Devan Goodwin
faded8fe3a Fix a problem with spec file.
Newline was causing a problem somehow, not sure what this one was.
2014-02-27 15:38:34 -04:00
Devan Goodwin
952157f245 Add a missing rpm macro to fetch builder. 2014-02-27 15:06:06 -04:00
Devan Goodwin
bd5a31b716 Assume a default fetch strategy. 2014-02-27 13:27:09 -04:00
Devan Goodwin
52d1a59c58 Markdown fixes. 2014-02-27 12:34:04 -04:00
Devan Goodwin
2ad5b03cc4 Add markdown docs for FetchBuilder instead of manpage. 2014-02-27 12:26:17 -04:00
Devan Goodwin
49d7d20de9 Add some documentation for FetchBuilder. 2014-02-27 12:02:50 -04:00
Devan Goodwin
8342529dd9 Fix releasers and respect offline flag. 2014-02-27 11:46:00 -04:00
Devan Goodwin
9474b0ab95 Support release with fetch builder. 2014-02-26 15:58:58 -04:00
Devan Goodwin
a6d71534bb Add support for passing builder args through a releaser. 2014-02-26 14:52:56 -04:00
Devan Goodwin
1535850328 More testing. 2014-02-03 15:59:26 -04:00
Alan Grosskurth
71345eeec8 MANIFEST.in: include README.mkd and asciidoc files
When `python setup.py sdist` is run to generate a source tarball for
`rpmbuild`, it currently doesn't include some key files which causes
`rpmbuild` to fail. So add these to `MANIFEST.in`.
2014-01-19 15:51:10 -08:00
Devan Goodwin
922c0f2850 Rename --builder-arg to just --arg in build command. 2014-01-16 14:52:55 -04:00
Devan Goodwin
e1a0017144 Rename to FetchBuilder. 2014-01-15 16:17:02 -04:00
Devan Goodwin
8c90a4a6ae Fix issue with releaser temp dir. 2014-01-14 12:12:58 -04:00
Devan Goodwin
35c51ba7a3 Refactor to just one config object.
Instead of passing package specific and global config around separately, parse
them as one config object where package specific can override global should the
same sections and properties exist.

If you maintain custom builders/releasers, they will need to have their
constructors updated.
2014-01-14 11:50:39 -04:00
Devan Goodwin
a73c90cbf5 Make external source builder fetch strategy configurable. 2014-01-13 16:29:38 -04:00
Devan Goodwin
a52a2458c4 Merge branch 'master' into sourcefetch
Conflicts:
	test/functional/singleproject_tests.py

Technically not a merge, did a bunch of work only to discover I was mid-merge when I did it.
2014-01-13 14:40:28 -04:00
Devan Goodwin
8fe640e0ed Fix buildroot using ~/rpmbuild/BUILDROOT.
This may have been a recent change in rpmbuild that caused this as the
_buildroot macro appears to be somewhat new. However it seems using topdir
accomplishes the same thing more thoroughly.
2014-01-10 16:12:16 -04:00
Devan Goodwin
2094b30763 Remove some dead code. 2014-01-09 16:15:30 -04:00
Devan Goodwin
4715293df2 Refactor builders to allow separate modules.
You can still reference as tito.builder.Class, but the actual class can be in a
separate module if desired. See __init__.py for the imports that make this
happen.
2014-01-09 16:07:21 -04:00
Devan Goodwin
6097b7da59 Restore building of specific tags. 2014-01-09 15:52:17 -04:00
Devan Goodwin
05e3b80205 Extract version/release in external source builder. 2014-01-09 15:20:04 -04:00
Devan Goodwin
381debd36b Replace external sources in spec file copy during build. 2014-01-03 14:28:26 -04:00
Devan Goodwin
199f332d4d Start building with external sources and no tag.
Currently uses the files in the directory where tito was initially run, hoping to make this smarter and more useful soon.
2014-01-02 15:20:52 -04:00
Devan Goodwin
76b32635e0 Allow possibility of building without a pre-existing tag.
New builder will not require a tag to function, so we need to remove
assumptions in the CLI about looking it up beforehand and let the
builder itself handle this.
2013-12-17 16:30:01 -04:00
Devan Goodwin
b1ca749682 Print koji/brew task ID and URL during release. 2013-12-16 11:20:45 -04:00
Devan Goodwin
e834c0e2fa Add Fedora 20 release branch. 2013-11-27 09:05:19 -04:00
Devan Goodwin
135f2d36f0 Automatic commit of package [tito] release [0.4.18-1]. 2013-11-14 09:08:54 -04:00
Devan Goodwin
3790f183f4 Merge pull request #97 from xsuchy/pull-req-copr-releaser2
add Copr Releaser
2013-11-12 10:49:30 -08:00
Devan Goodwin
a3363cb93f Merge the FiledVersionTagger into the base VersionTagger.
This allows the behaviour to be used in just about any tagger sub-class.

Behaviour will be triggered on the presence of the 'version_template'
section in tito.props.

Renamed config:
  version -> version_template (section)
  file -> destination_file

Separated the replacement of version and release, as caller may just
want one or the other. (it works fine if only one of the variables is
present in your template file) Release is more of an rpm concept so may
not always be wanted in this context.

Removed the notion of default template files, if you want to use this
you need to specify the configuration for it.

Added a functional test to make sure I keep it working.
2013-11-12 13:28:32 -04:00
Miroslav Suchý
f920207303 section for project in tito.props is not mandatory for CoprReleaser
so if it does not exist, create it. This is in-memory operation
and does not affect real file.
Also make disttag optional. If not defined use empty string.

addressing:
Building release in Copr...
Traceback (most recent call last):
  File "/usr/bin/tito", line 23, in <module>
    CLI().main(sys.argv[1:])
  File "/usr/lib/python2.7/site-packages/tito/cli.py", line 94, in main
    return module.main(argv)
  File "/usr/lib/python2.7/site-packages/tito/cli.py", line 639, in main
    scratch=self.options.scratch)
  File "/usr/lib/python2.7/site-packages/tito/release.py", line 998, in release
    self._koji_release()
  File "/usr/lib/python2.7/site-packages/tito/copr.py", line 45, in _koji_release
    KojiReleaser._koji_release(self)
  File "/usr/lib/python2.7/site-packages/tito/release.py", line 1029, in _koji_release
    disttag = self.builder.config.get(koji_tag, "disttag")
  File "/usr/lib64/python2.7/ConfigParser.py", line 607, in get
    raise NoSectionError(section)
ConfigParser.NoSectionError: No section: 'copr'
2013-11-04 16:03:00 +01:00
Miroslav Suchý
b8f8372572 add Copr releaser
based on KojiReleaser, with few minor changes in KojiReleaser to prevent
duplication of code.
To learn more about Copr see:
https://fedorahosted.org/copr/
2013-11-04 16:03:00 +01:00
Devan Goodwin
f695047a5c Merge pull request #95 from vbatts/filedversiontagger
FiledVersionTagger class to allow code to be aware of tito tagged version
2013-10-21 11:51:32 -07:00
Devan Goodwin
ecb85783f2 Fix broken asciidoc. 2013-10-21 15:34:59 -03:00
Devan Goodwin
9e1839ac12 Fix old versions in yum repodata.
Stop generating repodata, *then* pruning old packages.
2013-10-21 15:29:33 -03:00
Vincent Batts
f42ecb5e43 adding the FiledVersionTagger class that we are using internally 2013-10-18 16:59:26 -04:00
Devan Goodwin
5479011c3e Releasers update. 2013-09-24 14:27:58 -03:00
Devan Goodwin
dde7d354b4 Merge pull request #93 from maxamillion/maxamillion/docs
tito report man page missing options
2013-08-28 10:27:33 -07:00
Adam Miller
b894757726 tito report man page missing options 2013-08-28 12:19:02 -05:00
Devan Goodwin
ddca7441ac Merge pull request #91 from xsuchy/pull-req-obs
Implement OBS releaser
2013-08-14 09:53:13 -07:00
Devan Goodwin
957af760d7 Automatic commit of package [tito] release [0.4.17-1]. 2013-08-02 11:40:30 -03:00
Devan Goodwin
b76fdd0579 Fix F19 releaser. 2013-08-02 11:40:20 -03:00
Devan Goodwin
19199e7b27 Fix permissions after a Fedora/Brew build. 2013-08-02 11:28:50 -03:00
Devan Goodwin
11842c318c Comment out old nightly releaser.
Leaving it around as an example.
2013-08-02 11:28:50 -03:00
Miroslav Suchý
4338af875f Implement OBS releaser 2013-07-18 10:16:31 +02:00