Commit graph

458 commits

Author SHA1 Message Date
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
Devan Goodwin
5f30ab9561 Merge pull request #90 from xsuchy/pull-req-newline
add newline to sys.stderr.write
2013-07-16 04:00:28 -07:00
Miroslav Suchý
50b98db4fb add newline to sys.stderr.write
sys.stderr.write does not add automatically \n as print does.

Addressing:
Warning: remote.origin do not exist. Assuming --offline, for remote tag checking.Building package [osc-0.132.4-4]

And I checked all sys.stderr.write() occurence in code as well.
2013-07-16 10:56:03 +02:00
Devan Goodwin
82ce9ef577 Automatic commit of package [tito] release [0.4.16-1]. 2013-07-09 10:44:13 -03:00
Devan Goodwin
cf3258932f Fix KojiGitReleaser method arguments. 2013-07-09 10:22:24 -03:00
Devan Goodwin
bb9d9eaf53 Automatic commit of package [tito] release [0.4.15-1]. 2013-07-08 14:32:15 -03:00
Devan Goodwin
5ed86b1fe3 Merge pull request #87 from maxamillion/docs
docs clean up and additions for build_targets
2013-07-08 10:31:54 -07:00
Devan Goodwin
408b5cf051 Automatic commit of package [tito] release [0.4.14-1]. 2013-07-08 14:30:54 -03:00
Devan Goodwin
81974cf5e9 Update releasers.conf. 2013-07-08 14:30:37 -03:00
Devan Goodwin
69bc194d3f Merge pull request #89 from jumanjiman/support_rhel6
resolve tito build failure on git 1.7.3.5 or older
2013-07-08 10:21:07 -07:00
Paul Morgan
f7f86ba139 resolve tito build failure on git 1.7.3.5 or older
Addresses https://github.com/dgoodwin/tito/issues/88

Before this commit: tito fails to build single project when using
git version 1.7.1 (RHEL 6), and `./runtests.py` fails with...

    ERROR: test_latest_rpm (functional.singleproject_tests.SingleProjectTests)
    ERROR: test_latest_srpm (functional.singleproject_tests.SingleProjectTests)
    ERROR: test_latest_tgz (functional.singleproject_tests.SingleProjectTests)
    ERROR: test_tag_rpm (functional.singleproject_tests.SingleProjectTests)
    ERROR: test_tag_srpm (functional.singleproject_tests.SingleProjectTests)
    ERROR: test_tag_tgz (functional.singleproject_tests.SingleProjectTests)

After this commit: tito can build single and multi projects when using
git version 1.7.1 (RHEL 6), and all tests pass.

More info: Git changed the way it interprets tree IDs
between v1.7.3.5 and v1.7.4-rc0.

On git version 1.7.3.5:

    $ id="d1fafbe48d24cbb90919b4e886f71c1dc4576c64:./"
    $ git archive --format=tar --prefix=tito-0.4.13/ $id | wc -l
    fatal: Not a valid object name
    0

On git version 1.7.4.rc0:

    $ id="d1fafbe48d24cbb90919b4e886f71c1dc4576c64:./"
    $ git archive --format=tar --prefix=tito-0.4.13/ $id | wc -l
    7837
2013-07-04 19:42:24 -04:00
Paul Morgan
cd442c90ff Add more debugging facilities
The `debug` method now takes an optional 2nd argument, which
is a command to run via `run_command` method.

The `run_command` method now takes an optional 2nd argument, which
is used to always print output of command.

If --debug is passed on the CLI, run `git archive` separately
to make problems visible.
2013-07-04 19:42:11 -04:00
Adam Miller
90ecad1b2e docs clean up and additions for build_targets 2013-06-19 13:19:12 -05:00
Devan Goodwin
d1fafbe48d Automatic commit of package [tito] release [0.4.13-1]. 2013-06-13 10:17:41 -03:00
Devan Goodwin
86de655325 Merge pull request #85 from xsuchy/pull-req-changelog
warn when no %changelog section is present
2013-06-13 06:04:25 -07:00
Devan Goodwin
83e18b2e8a Merge pull request #86 from lzap/white-black-list
allow multiline blacklist/whitelist
2013-06-13 06:04:09 -07:00
Lukas Zapletal
a98ab2c8ef allow multiline blacklist/whitelist 2013-06-13 14:56:04 +02:00
Miroslav Suchý
7da41d699b warn when no %changelog section is present 2013-06-06 14:46:55 +02:00
Devan Goodwin
67b6a0044f Merge pull request #84 from iNecas/fix-gembuilder-sources
Fix DistributionReleaser with GemBuilder
2013-05-30 07:48:14 -07:00
Ivan Necas
af2c2676fa Fix DistributionReleaser with GemBuilder
Due to error in GemBuilder.tgz method generating the list of sources
there was problem with adding the sources into lookaside (the list of
sources contained all the files in the directory, even directories).

Thanks to 9feb9cf48d the tgz method in
NoTgzBuilder is generic enough to be able to extract the source files
even for GemBuilder.
2013-05-30 16:20:32 +02:00
Devan Goodwin
809c59ebae Merge pull request #83 from iNecas/fix-gem-builder
Fix gem builder
2013-05-30 05:18:43 -07:00
Ivan Necas
d2cbf4d24d Fix gem builder
Addresses: TypeError: find_spec_file() takes at most 1 argument (2 given)
2013-05-29 15:17:22 +02:00