From 7cc7cdae661baf20f09a487676f6f0067f94ce94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Wed, 24 Apr 2013 21:15:50 +0200 Subject: [PATCH 1/4] document environment variable EDITOR for tagger --- tito.8.asciidoc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tito.8.asciidoc b/tito.8.asciidoc index 9ee2cd2..be22dfc 100644 --- a/tito.8.asciidoc +++ b/tito.8.asciidoc @@ -101,6 +101,10 @@ packages -u, --undo:: Undo the most recent (un-pushed) tag. +NOTE: Tito will create automatic changelog from git commits. +Unless you specify one of auto options, tito will open text editor and allow +you to edit the text. Editor is by default. This can be changes by +environment variable EDITOR. `tito build [options]` ~~~~~~~~~~~~~~~~~~~~~~ From 9bcee4f80c8ece95effb1abec28bf7eca38fee35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Wed, 24 Apr 2013 21:19:16 +0200 Subject: [PATCH 2/4] document DEBUG environment variable --- tito.8.asciidoc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tito.8.asciidoc b/tito.8.asciidoc index be22dfc..2f0a2c2 100644 --- a/tito.8.asciidoc +++ b/tito.8.asciidoc @@ -69,7 +69,7 @@ package specific `tito.props`. show this help message and exit --debug:: -print debug messages +print debug messages (can be also set using DEBUG environment variable) --offline:: do not attempt any remote communication (avoid using @@ -113,7 +113,7 @@ environment variable EDITOR. show this help message and exit --debug:: -print debug messages +print debug messages (can be also set using DEBUG environment variable) --offline:: do not attempt any remote communication (avoid using @@ -183,7 +183,7 @@ Runs the release targets defined in rel-eng/releasers.conf. show this help message and exit --debug:: -print debug messages +print debug messages (can be also set using DEBUG environment variable) --offline:: do not attempt any remote communication (avoid using From 23faae8487af277cde5532e72e6f0e794806fb50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Wed, 24 Apr 2013 22:03:18 +0200 Subject: [PATCH 3/4] document KojiReleaser and do not mark it as experimental any more --- releasers.conf.5.asciidoc | 17 +++++++++++++++-- tito.props.5.asciidoc | 16 +++++++--------- titorc.5.asciidoc | 3 ++- 3 files changed, 24 insertions(+), 12 deletions(-) diff --git a/releasers.conf.5.asciidoc b/releasers.conf.5.asciidoc index e414e30..010a469 100644 --- a/releasers.conf.5.asciidoc +++ b/releasers.conf.5.asciidoc @@ -55,8 +55,21 @@ Releaser which will submit builds through CVS build systems. (no longer useful f branches = BRANCH1 BRANCH2 tito.release.KojiReleaser:: -Highly experimental, ignore for now. - +Releaser which create src.rpm and submit them into Koji. Can submit more then one build at once. ++ +NOTE: This is targeted for private instances of Koji. You can not submit regular build into Fedora Koji using this releaser, because Fedora Koji do not allow builds from src.rpm - for building into Fedora see FedoraGitReleaser above. ++ + [koji] + releaser = tito.release.KojiReleaser + autobuild_tags = my-koji-tag-rhel6 my-koji-tag-fedora18 ++ +In this example, releaser will create src.rpm according the definition of [my-koji-tag-rhel6] in tito.props. You usually want to set up there at least disttag. See KOJI section in tito.props(5). ++ +If --scratch option or SCRATCH environment variable is set, package is build as scratch in Koji. ++ +You can specify KOJI_OPTIONS in titorc(5) and it is passed to koji command as option. Usually you want to specify at least --config option. ++ +Variable autobuild_tags is required for KojiReleaser. EXAMPLE diff --git a/tito.props.5.asciidoc b/tito.props.5.asciidoc index 5989568..909194d 100644 --- a/tito.props.5.asciidoc +++ b/tito.props.5.asciidoc @@ -74,21 +74,19 @@ An optional specification of a suffix to append to all tags created by tito for KOJI ---- -WARNING: very experimental, and not tested against Fedora's Koji. - -autobuild_tags:: -If you use --koji-relase it will try to build src.rpm package in specified tags -in koji. -Also see KOJI_OPTIONS in titorc(5). -You can specify section which is named as the tag and put there following -options: - disttag:: Dist tag variable, which is passed to rpmbuild for packages build in this tag. blacklist:: Space separated list of packages, which should not be built in this tag. +whitelist:: +If whitelist is present, only packages listed here can be built in this tag. +This also override blacklist. + +scl:: +Specify name of Software Collection into which package should be build. + CVS --- cvsroot:: diff --git a/titorc.5.asciidoc b/titorc.5.asciidoc index 1f91db8..d79da2e 100644 --- a/titorc.5.asciidoc +++ b/titorc.5.asciidoc @@ -24,8 +24,9 @@ OPTIONS ------- KOJI_OPTIONS:: Specify strings of options, which is passed to koji on commandline when you -execute --koji-release. For example: +use KojiReleaser. For example: + KOJI_OPTIONS=-c ~/.koji/katello-config --nowait NO_AUTO_INSTALL:: Specify list of packages (separated by space), which should NOT be installed, From 25d8e443395fc246195a1f5630206a7e726f9f44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Wed, 24 Apr 2013 22:57:10 +0200 Subject: [PATCH 4/4] various enhancement to man pages --- AUTHORS | 4 ++++ releasers.conf.5.asciidoc | 28 +++++++++++++++++++++++----- tito.props.5.asciidoc | 22 ++++++++++++---------- titorc.5.asciidoc | 2 +- 4 files changed, 40 insertions(+), 16 deletions(-) diff --git a/AUTHORS b/AUTHORS index b5cc258..51da6a1 100644 --- a/AUTHORS +++ b/AUTHORS @@ -9,3 +9,7 @@ Jesus M Rodriguez Pall Sigurdsson Miroslav Suchý + +and: Adam Miller, Alex Wood, Aron Parsons, Brenton Leanhardt, Ivan Nečas, John Eckersberg, +Kenny MacDermid, Lukáš Zapletal, Luke Meyer, Marian Csontos, Martin Bačovský, Michael Stead, +Mike McCune, mscherer, Paul Morgan, Sean P. Kane, Steve 'Ashcrow' Milner diff --git a/releasers.conf.5.asciidoc b/releasers.conf.5.asciidoc index 010a469..fa97d44 100644 --- a/releasers.conf.5.asciidoc +++ b/releasers.conf.5.asciidoc @@ -6,10 +6,10 @@ NAME ---- releasers.conf - Config file defining release targets where builds can be published. - SYNOPSIS -------- None +// older asciidoc versions (such as the version for .el5) require a synopsis section DESCRIPTION @@ -26,29 +26,39 @@ Specify "builder.test = 1" in your releasers.conf target to enable --test builds tito.release.YumRepoReleaser:: Releaser which will build your packages, rsync down an existing yum repository, place your packages in it, regenerate the yum repodata, and rsync the yum repository back up. ++ Specify "filetypes = srpm" if you want to build a source rpm instead of a regular rpm. ++ Specify "createrepo_command = createrepo -s sha1" if you are building on a recent distro and are working with yum repositories for rhel5. ++ You can use environment variable RSYNC_USERNAME to override rsync username. tito.release.RsyncReleaser:: Releaser which will build your packages, and rsync up to a remote repository. ++ Specify "filetypes = rpm srpm tgz" to choose what type of packages will be uploaded. ++ You can use environment variable RSYNC_USERNAME to override rsync username. ++ Specify "scl = COLLECTION" to build into Software Collection. ++ +Variable "rsync_args" can specify addiontal argument passed to rsync. Default is "-rlvz". tito.release.FedoraGitReleaser:: - Releaser which will checkout your project in Fedora git using fedpkg. Sources are then synced to the first branch your releaser lists. After this tito will git merge the first branch into all other listed branches, triggering builds in each. - ++ WARNING: Highly experimental, very prone to failure if merging master into your branches is likely to cause a conflict. You will need to cleanup manually if this occurs. - ++ [fedora-git] releaser = tito.release.FedoraGitReleaser branches = master el5 el6 f14 f15 f16 +tito.release.DistGitReleaser:: +Same as FedoraGitReleaser, but use rhpkg instead of fedpkg. + tito.release.CvsReleaser:: Releaser which will submit builds through CVS build systems. (no longer useful for Fedora) The CVS module is checked out, sources, spec file, and patches are synced and committed, the release is tagged (make tag), and then submitted to the build system. (make build) - ++ [cvs] releaser = tito.release.CvsReleaser cvsroot = :ext:myuser@cvs.fedoraproject.org:/cvs/extra @@ -71,6 +81,14 @@ You can specify KOJI_OPTIONS in titorc(5) and it is passed to koji command as op + Variable autobuild_tags is required for KojiReleaser. +tito.release.KojiGitReleaser:: +Build into Koji through dist-git. It behaves as KojiReleaser. Only difference is that src.rpm is not passed to Koji. Instead is sent to koji git hash from which Koji should build package. ++ +Note: This feature is not in upstream Koji (although is submited for long time). ++ +Please do not confuse with FedoraGitReleaser. KojiGitReleaser is intended for private instances of Koji. ++ +You need to specify git_url, which specify url of git repository. This url needs to be reachable from Koji. EXAMPLE ------- diff --git a/tito.props.5.asciidoc b/tito.props.5.asciidoc index 909194d..375223e 100644 --- a/tito.props.5.asciidoc +++ b/tito.props.5.asciidoc @@ -4,8 +4,7 @@ include::man.asciidoc[] NAME ---- -tito.props - Settings file for whole git repository with multiple packages. -build.py.props - Setting file in package directory, which override values in tito.props +tito.props - directives for tito(5) how to build package. SYNOPSIS @@ -37,21 +36,15 @@ default builder and tagger for you project. You can use following variables: default_builder:: The fully qualified Builder class implementation to use. -You can either specify builders shipped with Tito (see BUILDERS section below), or a custom builder located within the directory your `lib_dir` option points to. +You can either specify builders shipped with tito(5) (see BUILDERS section below), or a custom builder located within the directory your `lib_dir` option points to. default_tagger:: The fully qualified Tagger class implementation to use. -You can either specify builders shipped with Tito (see TAGGERS section below), or a custom builder located within the directory your `lib_dir` option points to. +You can either specify builders shipped with tito(5) (see TAGGERS section below), or a custom builder located within the directory your `lib_dir` option points to. lib_dir:: Optional property defining a directory to be added to the Python path when executing tito. Allows you to store custom implementations of Builder, Tagger, and Releaser. -builder:: -This option is used in project specific tito.props only, and allows that project to override the default_builder defined in rel-eng/tito.props. - -tagger:: -This option is used in project specific tito.props only, and allows that project to override the default_tagger defined in rel-eng/tito.props. - changelog_format:: This option is used to control the formatting of entries when generating changelog entries. The default value is "%s (%ae)". See @@ -106,6 +99,15 @@ REQUIREMENTS tito:: If tito is older then specified version, it will refuse to continue. +BUILDCONFIG +----------- +builder:: +This option is used in package specific tito.props only, and allows that project to override the default_builder defined in rel-eng/tito.props. + +tagger:: +This option is used in package specific tito.props only, and allows that project to override the default_tagger defined in rel-eng/tito.props. + + TAGCONFIG --------- require_package:: diff --git a/titorc.5.asciidoc b/titorc.5.asciidoc index d79da2e..91b461a 100644 --- a/titorc.5.asciidoc +++ b/titorc.5.asciidoc @@ -26,7 +26,7 @@ KOJI_OPTIONS:: Specify strings of options, which is passed to koji on commandline when you use KojiReleaser. For example: - KOJI_OPTIONS=-c ~/.koji/katello-config --nowait + KOJI_OPTIONS=-c ~/.koji/katello-config build --nowait NO_AUTO_INSTALL:: Specify list of packages (separated by space), which should NOT be installed,