docs: manpages for the rpm tools
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>
Tue, 27 May 2014 07:09:36 +0000 (10:09 +0300)
committerMarkus Lehtonen <markus.lehtonen@linux.intel.com>
Thu, 5 Jun 2014 11:21:51 +0000 (14:21 +0300)
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
17 files changed:
docs/Makefile
docs/common.ent
docs/main.sgml
docs/man.gbp-buildpackage-rpm.sgml [new file with mode: 0644]
docs/man.gbp-import-orig-rpm.sgml [new file with mode: 0644]
docs/man.gbp-import-srpm.sgml [new file with mode: 0644]
docs/man.gbp-pq-rpm.sgml [new file with mode: 0644]
docs/man.gbp-rpm-ch.sgml [new file with mode: 0644]
docs/manpages/gbp-buildpackage-rpm.sgml [new file with mode: 0644]
docs/manpages/gbp-import-orig-rpm.sgml [new file with mode: 0644]
docs/manpages/gbp-import-srpm.sgml [new file with mode: 0644]
docs/manpages/gbp-pq-rpm.sgml [new file with mode: 0644]
docs/manpages/gbp-rpm-ch.sgml [new file with mode: 0644]
docs/manpages/man.seealso-rpm.sgml [new file with mode: 0644]
docs/manpages/manpages-rpm.ent [new file with mode: 0644]
docs/manual-rpm.sgml
packaging/git-buildpackage.spec

index 5cd83a0..cd65701 100644 (file)
@@ -3,6 +3,7 @@
 MAN1S = \
         gbp               \
         gbp-buildpackage  \
+        gbp-buildpackage-rpm \
         gbp-clone         \
         gbp-config        \
         gbp-create-remote-repo \
@@ -10,8 +11,12 @@ MAN1S = \
         gbp-import-dsc    \
         gbp-import-dscs   \
         gbp-import-orig   \
+        gbp-import-orig-rpm \
+        gbp-import-srpm   \
         gbp-pq            \
+        gbp-pq-rpm        \
         gbp-pull          \
+        gbp-rpm-ch        \
         $(NULL)
 
 MAN5S = gbp.conf
index 69a703f..6fc532c 100644 (file)
   <!ENTITY debuildcmd          "<command>debuild</command>">
   <!ENTITY gbp.conf            "<filename>gbp.conf</filename>">
 
+  <!ENTITY rpm-firstname    "<firstname>Markus</firstname>">
+  <!ENTITY rpm-surname      "<surname>Lehtonen</surname>">
+  <!ENTITY rpm-email        "<email>markus.lehtonen@linux.intel.com</email>">
+  <!ENTITY rpm-username     "Markus Lehtonen">
+  <!ENTITY rpm-mansection   "<manvolnum>1</manvolnum>">
   <!ENTITY gbp-buildpackage-rpm        "<command>gbp buildpackage-rpm</command>">
   <!ENTITY gbp-import-orig-rpm "<command>gbp import-orig-rpm</command>">
   <!ENTITY gbp-import-srpm     "<command>gbp import-srpm</command>">
   <!ENTITY gbp-pq-rpm          "<command>gbp pq-rpm</command>">
+  <!ENTITY gbp-rpm-ch       "<command>gbp rpm-ch</command>">
   <!ENTITY rpmbuild            "<command>rpmbuild</command>">
+  <!ENTITY wget             "<command>wget</command>">
 
   <!ENTITY debian      "<productname>Debian</productname>">
   <!ENTITY git        "<productname>Git</productname>">
index bd1d97d..7689bf7 100644 (file)
@@ -6,6 +6,8 @@
   %VERSION;
   <!ENTITY % MANPAGES SYSTEM "manpages/manpages.ent">
   %MANPAGES;
+  <!ENTITY % MANPAGES.RPM SYSTEM "manpages/manpages-rpm.ent">
+  %MANPAGES.RPM;
   <!ENTITY % CHAPTERS SYSTEM "chapters/chapters.ent">
   %CHAPTERS;
   <!ENTITY % CHAPTERS.RPM SYSTEM "chapters/chapters-rpm.ent">
diff --git a/docs/man.gbp-buildpackage-rpm.sgml b/docs/man.gbp-buildpackage-rpm.sgml
new file mode 100644 (file)
index 0000000..8752d57
--- /dev/null
@@ -0,0 +1,12 @@
+<!DOCTYPE reference PUBLIC "-//OASIS//DTD DocBook V4.1//EN"
+[
+  <!ENTITY % COMMON SYSTEM "common.ent">
+  %COMMON;
+  <!ENTITY % MANPAGES SYSTEM "manpages/manpages-rpm.ent">
+  %MANPAGES;
+]>
+
+<reference>
+<title>git-buildpackage-rpm Manual</title>
+&man.gbp.buildpackage.rpm;
+</reference>
diff --git a/docs/man.gbp-import-orig-rpm.sgml b/docs/man.gbp-import-orig-rpm.sgml
new file mode 100644 (file)
index 0000000..621b11d
--- /dev/null
@@ -0,0 +1,11 @@
+<!DOCTYPE reference PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
+  <!ENTITY % COMMON SYSTEM "common.ent">
+  %COMMON;
+  <!ENTITY % MANPAGES SYSTEM "manpages/manpages-rpm.ent">
+  %MANPAGES;
+]>
+
+<reference>
+<title>git-buildpackage-rpm Manual</title>
+&man.gbp.import.orig.rpm;
+</reference>
diff --git a/docs/man.gbp-import-srpm.sgml b/docs/man.gbp-import-srpm.sgml
new file mode 100644 (file)
index 0000000..7efd8b1
--- /dev/null
@@ -0,0 +1,11 @@
+<!DOCTYPE reference PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
+  <!ENTITY % COMMON SYSTEM "common.ent">
+  %COMMON;
+  <!ENTITY % MANPAGES SYSTEM "manpages/manpages-rpm.ent">
+  %MANPAGES;
+]>
+
+<reference>
+<title>git-buildpackage-rpm Manual</title>
+&man.gbp.import.srpm;
+</reference>
diff --git a/docs/man.gbp-pq-rpm.sgml b/docs/man.gbp-pq-rpm.sgml
new file mode 100644 (file)
index 0000000..1161508
--- /dev/null
@@ -0,0 +1,11 @@
+<!DOCTYPE reference PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
+  <!ENTITY % COMMON SYSTEM "common.ent">
+  %COMMON;
+  <!ENTITY % MANPAGES SYSTEM "manpages/manpages-rpm.ent">
+  %MANPAGES;
+]>
+
+<reference>
+<title>git-buildpackage-rpm Manual</title>
+&man.gbp.pq.rpm;
+</reference>
diff --git a/docs/man.gbp-rpm-ch.sgml b/docs/man.gbp-rpm-ch.sgml
new file mode 100644 (file)
index 0000000..63fed8d
--- /dev/null
@@ -0,0 +1,11 @@
+<!DOCTYPE reference PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
+  <!ENTITY % COMMON SYSTEM "common.ent">
+  %COMMON;
+  <!ENTITY % MANPAGES SYSTEM "manpages/manpages-rpm.ent">
+  %MANPAGES;
+]>
+
+<reference>
+<title>git-buildpackage-rpm Manual</title>
+&man.gbp.rpm.ch;
+</reference>
diff --git a/docs/manpages/gbp-buildpackage-rpm.sgml b/docs/manpages/gbp-buildpackage-rpm.sgml
new file mode 100644 (file)
index 0000000..b3c9e6c
--- /dev/null
@@ -0,0 +1,764 @@
+<refentry id="man.gbp.buildpackage.rpm">
+  <refentryinfo>
+    <address>
+      &rpm-email;
+    </address>
+    <author>
+      &rpm-firstname;
+      &rpm-surname;
+    </author>
+  </refentryinfo>
+  <refmeta><refentrytitle>gbp-buildpackage-rpm</refentrytitle>
+    &rpm-mansection;
+  </refmeta>
+  <refnamediv>
+    <refname>git-buildpackage-rpm</refname>
+    <refname>gbp-buildpackage-rpm</refname>
+    <refpurpose>Build RPM packages from a Git repository</refpurpose>
+  </refnamediv>
+  <refsynopsisdiv>
+    <cmdsynopsis>
+      &gbp-buildpackage-rpm;
+      <arg><option>--git-[no-]ignore-new</option></arg>
+      <arg><option>--git-[no-]ignore-untracked</option></arg>
+      <arg><option>--git-tag</option></arg>
+      <arg><option>--git-verbose</option></arg>
+      <arg><option>--git-color=</option><replaceable>[auto|on|off]</replaceable></arg>
+      <arg><option>--git-color-scheme=</option><replaceable>COLOR_SCHEME</replaceable></arg>
+      <arg><option>--git-notify=</option><replaceable>[auto|on|off]</replaceable></arg>
+      <arg><option>--git-tmp-dir</option>=<replaceable>DIRECTORY</replaceable></arg>
+      <arg><option>--git-vendor</option>=<replaceable>VENDOR</replaceable></arg>
+      <arg><option>--git-upstream-branch=</option><replaceable>TREEISH</replaceable></arg>
+      <arg><option>--git-packaging-branch=</option><replaceable>BRANCH_NAME</replaceable></arg>
+      <arg><option>--git-pq-branch=</option><replaceable>BRANCH_NAME</replaceable></arg>
+      <arg><option>--git-ignore-branch</option></arg>
+      <arg><option>--git-[no-]submodules</option></arg>
+      <arg><option>--git-builder=</option><replaceable>BUILD_CMD</replaceable></arg>
+      <arg><option>--git-cleaner=</option><replaceable>CLEAN_CMD</replaceable></arg>
+      <arg><option>--git-[no-]sign-tags</option></arg>
+      <arg><option>--git-keyid=</option><replaceable>GPG-KEYID</replaceable></arg>
+      <arg><option>--git-posttag=</option><replaceable>COMMAND</replaceable></arg>
+      <arg><option>--git-postbuild=</option><replaceable>COMMAND</replaceable></arg>
+      <arg><option>--git-postexport=</option><replaceable>COMMAND</replaceable></arg>
+      <arg><option>--git-prebuild=</option><replaceable>COMMAND</replaceable></arg>
+      <arg><option>--git-[no-]build</option></arg>
+      <arg><option>--git-[no-]hooks</option></arg>
+      <arg><option>--git-packaging-tag=</option><replaceable>TAG-FORMAT</replaceable></arg>
+      <arg><option>--git-upstream-tag=</option><replaceable>TAG-FORMAT</replaceable></arg>
+      <arg><option>--git-force-create</option></arg>
+      <arg><option>--git-no-create-orig</option></arg>
+      <arg><option>--git-upstream-tree=</option><replaceable>[TAG|BRANCH|TREEISH]</replaceable></arg>
+      <arg><option>--git-tarball-dir=</option><replaceable>DIRECTORY</replaceable></arg>
+      <arg><option>--git-compression-level=</option><replaceable>LEVEL</replaceable></arg>
+      <arg><option>--git-orig-prefix=</option><replaceable>PREFIX</replaceable></arg>
+      <arg><option>--git-export-dir=</option><replaceable>DIRECTORY</replaceable></arg>
+      <arg><option>--git-rpmbuild-builddir</option>=<replaceable>DIRECTORY</replaceable></arg>
+      <arg><option>--git-rpmbuild-buidrootdir</option>=<replaceable>DIRECTORY</replaceable></arg>
+      <arg><option>--git-rpmbuild-rpmdir</option>=<replaceable>DIRECTORY</replaceable></arg>
+      <arg><option>--git-rpmbuild-sourcedir</option>=<replaceable>DIRECTORY</replaceable></arg>
+      <arg><option>--git-rpmbuild-specdir</option>=<replaceable>DIRECTORY</replaceable></arg>
+      <arg><option>--git-rpmbuild-srpmdir</option>=<replaceable>DIRECTORY</replaceable></arg>
+      <arg><option>--git-export=</option><replaceable>TREEISH</replaceable></arg>
+      <arg><option>--git-export-only</option></arg>
+      <arg><option>--git-packaging-dir=</option><replaceable>DIRECTORY</replaceable></arg>
+      <arg><option>--git-spec-file=</option><replaceable>FILEPATH</replaceable></arg>
+      <arg><option>--git-[no-]pristine-tar</option></arg>
+      <arg><option>--git-[no-]pristine-tar-commit</option></arg>
+      <arg><option>--git-tag-only</option></arg>
+      <arg><option>--git-retag</option></arg>
+      <arg><option>--git-[no-]patch-export</option></arg>
+      <arg><option>--git-patch-export-rev=</option><replaceable>TREEISH</replaceable></arg>
+      <arg><option>--git-patch-export-compress=</option><replaceable>THRESHOLD</replaceable></arg>
+      <arg><option>--git-patch-export-ignore-path=</option><replaceable>REGEX</replaceable></arg>
+      <arg><option>--git-patch-export-squash-until=</option><replaceable>COMMITISH</replaceable></arg>
+      <arg><option>--git-[no-]patch-numbers</option></arg>
+      <arg><option>--git-spec-vcs-tag</option>=<replaceable>TAG_FORMAT</replaceable></arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  <refsect1>
+    <title>DESCRIPTION</title>
+    <para>
+    &gbp-buildpackage-rpm; is used to build RPM packages from a &git;
+    repository. It is an RPM counterpart for the &gbp-buildpackage; tool that
+    is designed for building Debian packages.
+    </para>
+    <para>
+    &gbp-buildpackage-rpm; will, in order:
+    </para>
+    <itemizedlist>
+      <listitem>
+        <para>
+        Verify that it is being executed from the proper location.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+        Verify that the repository doesn't contain any uncommitted source
+        changes.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+        Verify that it is being executed from the correct branch.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+        Export packaging files to a separate build area.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+        Create an orig source tarball if it doesn't exist.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+        Call <application>rpmbuild</application>(1) (or the application
+        specified via <option>--git-builder</option>), passing along all
+        command line arguments that don't start with --git-.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+        (Optionally) tag the tree after a successful build.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+        (Optionally) call a post build hook - e.g. to run
+        <productname>rpmlint</productname>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+        (Optionally) call a post tag hook - e.g. to push the results to a
+        remote repository after creating the tag.
+        </para>
+      </listitem>
+    </itemizedlist>
+  </refsect1>
+  <refsect1>
+    <title>OPTIONS</title>
+    <variablelist>
+      <varlistentry>
+        <term><option>--git-[no-]ignore-new</option>
+        </term>
+        <listitem>
+          <para>
+          Don't abort if there are uncommitted changes in the source tree or
+          the current branch doesn't match the
+          <replaceable>PACKAGING-BRANCH</replaceable>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-[no-]ignore-untracked</option>
+        </term>
+        <listitem>
+          <para>
+          Don't abort if there are untracked files in the source tree.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-tag</option>
+        </term>
+        <listitem>
+          <para>
+          Add a git tag after a successful build.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-builder=<replaceable>BUILD_CMD</replaceable></option>
+        </term>
+        <listitem>
+          <para>
+          Use <replaceable>BUILD_CMD</replaceable> instead of
+          <command>rpmbuild -ba</command>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-cleaner=<replaceable>CLEAN_CMD</replaceable></option>
+        </term>
+        <listitem>
+          <para>
+          Use <replaceable>CLEAN_CMD</replaceable>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-verbose</option>
+        </term>
+        <listitem>
+          <para>
+          Verbose execution
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-color=</option><replaceable>[auto|on|off]</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Whether to use colored output.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-color-scheme=</option><replaceable>COLOR_SCHEME</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Colors to use in output (when color is enabled). The format for
+          COLOR_SCHEME is
+          '&lt;debug&gt;:&lt;info&gt;:&lt;warning&gt;:&lt;error&gt;'.
+          Numerical values and color names are accepted, empty fields imply
+          the default color. For example --git-color-scheme='cyan:34::' would
+          show debug messages in cyan, info messages in blue and other messages
+          in default (i.e. warning and error messages in red).
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-notify=</option><replaceable>[auto|on|off]</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Whether to send a desktop notification after the build.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-tmp-dir</option>=<replaceable>DIRECTORY</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Base directory under which temporary directories are created.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-vendor</option>=<replaceable>VENDOR</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Distribution vendor name.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-upstream-branch</option>=<replaceable>BRANCH_NAME</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Branch to build the orig tarball from if
+          <option>--git-upstream-tree</option> is set to
+          <replaceable>BRANCH</replaceable>. Default is
+          <replaceable>upstream</replaceable>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-packaging-branch</option>=<replaceable>BRANCH_NAME</replaceable>
+        </term>
+        <listitem>
+          <para>
+          If you're not on this branch when invoking &gbp-buildpackage-rpm; it
+          will fail. Default is <replaceable>master</replaceable>. This is done
+          to make sure you don't accidentally release from a topic branch.  Not
+          being on this branch will be ignored when using
+          <option>--git-ignore-new</option>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-pq-branch</option>=<replaceable>BRANCH_NAME</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Name (format string) of the patch-queue/development branch. This
+          makes building easier when working with separate packaging and
+          development branches.
+          </para>
+          <para>
+          If <option>--git-patch-export</option> is enabled and
+          &gbp-buildpackage-rpm; detects that the current branch has a
+          patch-queue/development branch it exports the patches from there
+          instead of the tip of the current branch (unless
+          <option>--git-patch-export-rev</option> is defined, of course).
+          Similarly, if the current branch is a patch-queue/development branch
+          &gbp-buildpackage-rpm; will automatically enable patch-export and
+          export packaging files from the packaging branch instead of the
+          current branch (unless <option>--git-export</option>) is defined.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-ignore-branch</option>
+        </term>
+        <listitem>
+          <para>
+          Don't check if the current branch matches
+          <replaceable>PACKAGING-BRANCH</replaceable>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-[no-]submodules</option>
+        </term>
+        <listitem>
+          <para>
+          Include git submodules in the orig tarball.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-[no-]sign-tags</option>
+        </term>
+        <listitem>
+          <para>
+          GPG sign all created tags.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-keyid=</option><replaceable>GPG-KEYID</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Use this keyid for gpg signing tags.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-posttag=</option><replaceable>COMMAND</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Excecute <replaceable>COMMAND</replaceable> after tagging a new
+          version.
+          </para>
+          <para>
+          Exported environment variables are: <envar>GBP_TAG</envar> (the name
+          of the generated tag), <envar>GBP_BRANCH</envar> (the branch the
+          package was build from) and <envar>GBP_SHA1</envar> (the sha1 of the
+          commit the tag was created at).
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-postbuild=</option><replaceable>COMMAND</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Execute <replaceable>COMMAND</replaceable> after successful
+          build.
+          </para>
+          <para>
+          Exported environment variables are: <envar>GBP_CHANGES_FILE</envar>
+          (the name of the generated changes file),
+          <envar>GBP_BUILD_DIR</envar> (the build dir).
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-postexport=</option><replaceable>COMMAND</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Execute <replaceable>COMMAND</replaceable> after exporting the source
+          tree.
+          </para>
+          <para>
+          Exported environment variables are: <envar>GBP_GIT_DIR</envar> (the
+          repository the package is being built from),
+          <envar>GBP_TMP_DIR</envar> (the temporary directory where the sources
+          have been initially exported).
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-prebuild=</option><replaceable>COMMAND</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Execute <replaceable>COMMAND</replaceable> from the build directory
+          before calling <application>rpmbuild</application> or the application
+          specified via <option>--git-builder</option>.
+          </para>
+          <para>
+          Exported environment variables are: <envar>GBP_GIT_DIR</envar> (the
+          repository the package is being built from),
+          <envar>GBP_BUILD_DIR</envar> (the build dir).
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-[no-]build</option>
+        </term>
+        <listitem>
+          <para>
+          Enable builder. Note: <option>--git-no-build</option> causes the
+          postbuild hook to be disabled, too.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-[no-]hooks</option>
+        </term>
+        <listitem>
+          <para>
+          Enable running all (cleaner, postexport, prebuild, postbuild, and
+          posttag) hooks. Note: the <option>--git-builder</option> command is
+          not affected by this option.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-packaging-tag=</option><replaceable>TAG-FORMAT</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Use this tag format when tagging released versions of the package.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-upstream-tag=</option><replaceable>TAG-FORMAT</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Use this tag format when looking for tags of upstream versions,
+          default is <replaceable>upstream/%(version)s</replaceable>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-force-create</option>
+        </term>
+        <listitem>
+          <para>
+          Force creation of an orig tarball (overwriting a pre-existing one if
+          present).
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-no-create-orig</option>
+        </term>
+        <listitem>
+          <para>
+          Don't try to create any orig tarball.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-export-dir=</option><replaceable>DIRECTORY</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Export the packaging files from  the current branch head (or the
+          treeish object given via <option>--git-export</option> to
+          <replaceable>DIRECTORY</replaceable> before building.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-rpmbuild-builddir</option>=<replaceable>DIRECTORY</replaceable>
+        </term>
+        <term><option>--git-rpmbuild-buildrootdir</option>=<replaceable>DIRECTORY</replaceable>
+        </term>
+        <term><option>--git-rpmbuild-rpmdir</option>=<replaceable>DIRECTORY</replaceable>
+        </term>
+        <term><option>--git-rpmbuild-sourcedir</option>=<replaceable>DIRECTORY</replaceable>
+        </term>
+        <term><option>--git-rpmbuild-specdir</option>=<replaceable>DIRECTORY</replaceable>
+        </term>
+        <term><option>--git-rpmbuild-srpmdir</option>=<replaceable>DIRECTORY</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Build subdirectory options for rpmbuild builder. Of these
+          <option>--git-rpmbuild-sourcedir</option> and
+          <option>--git-rpmbuild-specdir</option> also affects where
+          &gbp-buildpackage-rpm; exports the packaging files under the export
+          directory.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-export=</option><replaceable>TREEISH</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Instead of exporting the current branch head, export the treeish
+          object <replaceable>TREEISH</replaceable>. The special name
+          <replaceable>INDEX</replaceable> exports the current index,
+          <replaceable>WC.TRACKED</replaceable> exports all files tracked by
+          Git in the current working copy as is,
+          <replaceable>WC.UNTRACKED</replaceable> exports all untracked files
+          too whereas <replaceable>WC</replaceable> (or
+          <replaceable>WC.IGNORED</replaceable>) exports all files in the
+          current working directory, even ignored files.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-export-only</option>
+        </term>
+        <listitem>
+          <para>
+          Only export packaging files without running builder.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-packaging-dir=</option><replaceable>DIRECTORY</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Subdirectory that contains the RPM packaging files.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-spec-file=</option><replaceable>FILEPATH</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Relative path to the spec file to use. Special value
+          <replaceable>auto</replaceable> causes &gbp-buildpackage-rpm; to
+          search and guess.  Other values cause the
+          <option>--git-packaging-dir</option> option to be ignored: the
+          directory of the spec file is used, instead.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-upstream-tree=</option><replaceable>[TAG|BRANCH|TREEISH]</replaceable>
+        </term>
+        <listitem>
+          <para>
+          How to find the upstream sources used to generate the tarball.
+          <replaceable>TAG</replaceable> looks at a tag corresponding to the
+          version in the changelog. <replaceable>BRANCH</replaceable> looks at
+          the upstream branch given via the
+          <option>--git-upstream-branch</option> option. Other values are
+          interpreted as treeishs.
+          </para>
+          <para>
+          This doesn't have any effect if <option>--git-pristine-tar</option>
+          is being used.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-tarball-dir=</option><replaceable>DIRECTORY</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Search for original tarballs in <replaceable>DIRECTORY</replaceable>
+          instead of generating them.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-compression-level=</option><replaceable>LEVEL</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Specifies the upstream tarball compression level if an upstream
+          tarball needs to be built.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-orig-prefix=</option><replaceable>PREFIX</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Prefix (directory) to be used when generating tarballs. Special value
+          <replaceable>auto</replaceable> causes &gbp-buildpackage-rpm; to
+          guess the prefix.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-tag-only</option>
+        </term>
+        <listitem>
+          <para>
+          Don't build, only tag and run post-tag hooks.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-retag</option>
+        </term>
+        <listitem>
+          <para>
+          Don't fail tag operations if a tag with the same version already
+          exists, but, overwrite the existing tag, instead.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-pristine-tar</option>
+        </term>
+        <listitem>
+          <para>
+          Use pristine-tar when generating the upstream tarball if it doesn't
+          exist.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-pristine-tar-commit</option>
+        </term>
+        <listitem>
+          <para>
+          Commit the pristine-tar delta to the pristine-tar branch if a new
+          tarball was generated and the pristine-tar data isn't already there.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-[no-]patch-export</option>
+        </term>
+        <listitem>
+          <para>
+          Create patches from the commits between the upstream version and
+          export-treeish.  That is, after exporting packaging files (from the
+          pacakging directory) &gbp-buildpackage-rpm; creates one patch per
+          commit (similar to git-format-patch) and updates the spec file in the
+          export dir. You use <option>--git-patch-export-rev</option> to
+          specify the tip commit of the patch series.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-patch-export-rev=</option><replaceable>TREEISH</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Use <replaceable>TREEISH</replaceable> as the tip commit of the patch
+          series instead of the default - i.e. treeish from which the packaging
+          files are exported (which is defined with
+          <option>--git-export</option>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-patch-export-compress=</option><replaceable>THRESHOLD</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Compress (auto-generated) patches larger than given
+          <replaceable>THRESHOLD</replaceable> bytes. Special value 0 disabled
+          patch compression.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-patch-export-ignore-path=</option><replaceable>REGEX</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Exclude changes to path(s) matching <replaceable>REGEX</replaceable>
+          in patch generation.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-patch-export-squash-until=</option><replaceable>COMMITISH</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Squash commits up to the given <replaceable>COMMITISH</replaceable>
+          into one monolitic diff. Could be used if one wants to squash commits
+          from an upstream release up to a stable update into a single diff
+          (commits on top of the stable would generate one patch per commit as
+          usual). The format is '&lt;commit_ish&gt;[:&lt;filename_base&gt;]',
+          i.e. commitish optionally followed by a colon and the desired
+          filename base for the diff (suffix '.diff' is automatically added by
+          &gbp-buildpackage-rpm;). Magic word 'HEAD' translates to the
+          patch-export-treeish when given as the squash-point. This allows one
+          to configure gbp to always squash all commits into one monolithic
+          diff.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-[no-]patch-numbers</option>
+        </term>
+        <listitem>
+          <para>
+          Whether the patch files should start with a number or not.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-spec-vcs-tag</option>=<replaceable>TAG_FORMAT</replaceable>
+        </term>
+        <listitem>
+          <para>
+          &gbp-buildpackage-rpm; always automatically sets/updates the 'VCS:'
+          tag in the spec file after exporting.  This option defines the format
+          string for the 'VCS:' tag. An empty value causes no 'VCS:' tag to be
+          inserted and possible old 'VCS:' tag to be removed. Otherwise, the
+          old 'VCS:' tag is updated or a new 'VCS:' tag is added if one does
+          not exist. In the format string '%(tagname)s' expands to the long tag
+          name (from git-describe) and '%(commit)s' expans to the sha1 of the
+          exported commit.
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1>
+    <title>EXAMPLES</title>
+    <para>
+    Only build a source RPM with &rpmbuild;
+    </para>
+    <screen>
+      &gbp-buildpackage-rpm; -bs
+    </screen>
+    <para>
+    Build an RPM package with &rpmbuild; on a custom branch with the uncommitted
+    changes included.
+    </para>
+    <screen>
+      &gbp-buildpackage-rpm; --git-ignore-branch --git-export=WC.UNTRACKED
+    </screen>
+  </refsect1>
+  <refsect1>
+      &man.gbp.config-files;
+      <para>
+      All options in the config files are specified without the 'git-' prefix.
+      </para>
+  </refsect1>
+  <refsect1>
+    <title>SEE ALSO</title>
+    <para>
+    <xref linkend="man.gbp.import.srpm">,
+    <xref linkend="man.gbp.import.orig.rpm">,
+    <xref linkend="man.gbp.rpm.ch">,
+    <xref linkend="man.gbp.pq.rpm">,
+    <citerefentry>
+      <refentrytitle>rpmbuild</refentrytitle>
+      <manvolnum>8</manvolnum>
+    </citerefentry>,
+    <xref linkend="man.gbp.conf">,
+    &man.seealso.common;
+    </para>
+  </refsect1>
+  <refsect1>
+    <title>AUTHOR</title>
+    <para>
+    &rpm-username; &rpm-email;
+    </para>
+  </refsect1>
+</refentry>
diff --git a/docs/manpages/gbp-import-orig-rpm.sgml b/docs/manpages/gbp-import-orig-rpm.sgml
new file mode 100644 (file)
index 0000000..8e2635b
--- /dev/null
@@ -0,0 +1,324 @@
+<refentry id="man.gbp.import.orig.rpm">
+  <refentryinfo>
+    <address>
+      &rpm-email;
+    </address>
+    <author>
+      &rpm-firstname;
+      &rpm-surname;
+    </author>
+  </refentryinfo>
+  <refmeta>
+    <refentrytitle>gbp-import-orig-rpm</refentrytitle>
+    &rpm-mansection;
+  </refmeta>
+  <refnamediv>
+    <refname>git-import-orig-rpm</refname>
+    <refname>gbp-import-orig-rpm</refname>
+    <refpurpose>Import an upstream source into a git repository.</refpurpose>
+  </refnamediv>
+  <refsynopsisdiv>
+    <cmdsynopsis>
+      &gbp-import-orig-rpm;
+
+      &man.common.options.synopsis;
+      <arg><option>--vendor</option>=<replaceable>VENDOR</replaceable></arg>
+      <arg><option>--upstream-version=</option><replaceable>VERSION</replaceable></arg>
+      <arg><option>--[no-]merge</option></arg>
+      <arg><option>--upstream-branch=</option><replaceable>BRANCH-NAME</replaceable></arg>
+      <arg><option>--packaging-branch=</option><replaceable>BRANCH-NAME</replaceable></arg>
+      <arg><option>--packaging-dir=</option><replaceable>DIRECTORY</replaceable></arg>
+      <arg><option>--[no-]create-missing-branches</option></arg>
+      <arg><option>--upstream-vcs-tag=</option><replaceable>TAG-NAME</replaceable></arg>
+      <arg><option>--[no-]sign-tags</option></arg>
+      <arg><option>--keyid=</option><replaceable>GPG-KEYID</replaceable></arg>
+      <arg><option>--upstream-tag=</option><replaceable>TAG-FORMAT</replaceable></arg>
+      <arg><option>--filter=</option><replaceable>PATTERN</replaceable></arg>
+      <arg><option>--[no-]pristine-tar</option></arg>
+      <arg><option>--[no-]filter-pristine-tar</option></arg>
+      <arg><option>--pristine-tarball-name=<replaceable>FILENAME</replaceable></option></arg>
+      <arg><option>--orig-prefix=<replaceable>PREFIX</replaceable></option></arg>
+      <arg><option>--postimport=<replaceable>CMD</replaceable></option></arg>
+      <arg><option>--[no-]interactive</option></arg>
+      <group choice="plain">
+        <arg choice="plain"><replaceable>UPSTREAM-SOURCE</replaceable></arg>
+      </group>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  <refsect1>
+    <title>DESCRIPTION</title>
+    <para>
+    &gbp-import-orig-rpm; is an basically identical to the &gbp-import-orig;
+    tool, with only some rpm-specific functionality added and some
+    Debian-specific functionality removed.
+    </para>
+    <para>
+    &gbp-import-orig-rpm; imports <replaceable>UPSTREAM-SOURCE</replaceable>
+    into the &git; repository. <replaceable>UPSTREAM-SOURCE</replaceable> can
+    either be a gzip, bzip2, lzma or xz compressed tar archive, a zip archive
+    or an already unpacked source tree. If it is already of the form
+    <replaceable>package-name-version.tar.gz</replaceable>, the version
+    information is read from the tarball's filename otherwise it can be given
+    on the command line via <option>--upstream-version</option>.  If the source
+    package name or version can't be determined &gbp-import-orig-rpm; will
+    prompt for it unless <option>--no-interactive</option> is given.
+    </para>
+    <para>
+    &gbp-import-orig-rpm; tries to download the archive from a remote server if
+    a remote URL is given. In addition, if no
+    <replaceable>UPSTREAM-SOURCE</replaceable> is given &gbp-import-orig-rpm;
+    takes the archive URI from the spec file - this makes it possible to import
+    a new upstream version just by bumping the version number in the spec file
+    and running &gbp-import-orig-rpm; (assuming that the spec file contains
+    a full URL for the archive and its filename automatically follows the
+    package version e.g. by using the %{version} macro, of course).
+    </para>
+    <para>
+    The sources are placed on the upstream branch (default:
+    <replaceable>upstream</replaceable>) and tagged.
+    </para>
+  </refsect1>
+  <refsect1>
+    <title>OPTIONS</title>
+    <variablelist>
+      &man.common.options.description;
+
+      <varlistentry>
+        <term><option>--vendor</option>=<replaceable>VENDOR</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Distribution vendor name.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--upstream-version</option>=<replaceable>VERSION</replaceable></term>
+        <term><option>-u</option><replaceable>VERSION</replaceable></term>
+        <listitem>
+          <para>
+          The upstream version number.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--merge</option></term>
+        <listitem>
+          <para>
+          Merge the upstream branch to the packaging branch after import.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--upstream-branch</option>=<replaceable>BRANCH-NAME</replaceable>
+        </term>
+        <listitem>
+          <para>
+          The branch in the Git repository the upstream sources are put
+          onto. Default is <replaceable>upstream</replaceable>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--packaging-branch</option>=<replaceable>BRANCH-NAME</replaceable>
+        </term>
+        <listitem>
+          <para>
+          The branch in the Git repository the package is being developed on,
+          default is <replaceable>master</replaceable>. After importing the new
+          sources on the upstream branch, &gbp-import-orig-rpm; will try to
+          merge the new version onto this branch.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--packaging-dir=</option><replaceable>DIRECTORY</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Subdirectory that contains the RPM packaging files.
+          &gbp-import-orig-rpm; uses this to try to find a spec file which, in
+          turn, is used to get the upstream source archive URI if one is not
+          specified on the command line.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--[no-]create-missing-branches</option>
+        </term>
+        <listitem>
+          <para>
+          Create missing upstream branch if it does not exist.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--upstream-vcs-tag</option>=<replaceable>TAG-NAME</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Add <replaceable>TAG-NAME</replaceable> as additional parent to the
+          commit of the upstream tarball. Useful when upstream uses git and you
+          want to link to it's revision history.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--[no-]sign-tags</option>
+        </term>
+        <listitem>
+          <para>
+          GPG sign all created tags.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--keyid=</option><replaceable>GPG-KEYID</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Use this keyid for gpg signing tags.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--upstream-tag=</option><replaceable>TAG-FORMAT</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Use this tag format when tagging upstream versions,
+          default is <replaceable>upstream/%(version)s</replaceable>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--import-msg=</option><replaceable>MSG-FORMAT</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Use this format string for the commit message when importing upstream
+          versions, default is
+          <replaceable>Imported Upstream version %(version)s</replaceable>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--filter=</option><replaceable>PATTERN</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Filter out files glob-matching pattern. Can be given multiple times.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--[no-]pristine-tar</option>
+        </term>
+        <listitem>
+          <para>
+          Generate <command>pristine-tar</command> delta file.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--[no-]filter-pristine-tar</option>
+        </term>
+        <listitem>
+          <para>
+          If using a filter also filter the files out of the tarball
+          passed to <command>pristine-tar</command>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--pristine-tarball-name=</option><replaceable>FILENAME</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Filename to record to pristine-tar. This does not alter the tarball
+          content, just the filename with which the tarball can be checked out
+          with pristine-tar.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--orig-prefix=</option><replaceable>PREFIX</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Prefix (directory) to be used when importing sources into
+          pristine-tar. Only takes effect when <option>--pristine-tar</option>
+          is used.  Special value <replaceable>auto</replaceable> causes &gbp-import-orig-rpm; to guess
+          the prefix when importing unpacked sources, or, not to change the
+          prefix when importing source archives.
+          </para>
+          <note>
+            <para>
+            Using this option will alter the source archive that is imported to
+            pristine-tar! That is, pristine-tar does not produce and identical
+            copy of the original tarball (but the mangled tarball, instead).
+            </para>
+          </note>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--postimport=<replaceable>CMD</replaceable></option></term>
+        <listitem>
+          <para>
+          Run <replaceable>CMD</replaceable> after the import.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--[no-]interactive</option></term>
+        <listitem>
+          <para>
+          Run command interactively, i.e. ask package name and version if
+          needed.
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1>
+    <title>EXAMPLES</title>
+    <para>
+    Download and import a new upstream version using the informantion from the
+    spec file
+    </para>
+    <screen>
+      &gbp-import-orig-rpm;
+    </screen>
+    <para>
+    After manually downloading an upstream import it
+    </para>
+    <screen>
+      &gbp-import-orig-rpm; ../upstream-tarball-0.1.tar.gz
+    </screen>
+    <para>
+    Import unpacked sources
+    </para>
+    <screen>
+      &gbp-import-orig-rpm; --orig-prefix=upstream-0.1 ../upstream/
+    </screen>
+  </refsect1>
+  <refsect1>
+    &man.gbp.config-files;
+  </refsect1>
+  <refsect1>
+    <title>SEE ALSO</title>
+    <para>
+      <xref linkend="man.gbp.buildpackage">,
+      <xref linkend="man.gbp.import.srpm">,
+      <xref linkend="man.gbp.rpm.ch">,
+      <xref linkend="man.gbp.conf">,
+      &man.seealso.common;
+    </para>
+  </refsect1>
+  <refsect1>
+    <title>AUTHOR</title>
+    <para>
+    &rpm-username; &rpm-email;
+    </para>
+  </refsect1>
+</refentry>
diff --git a/docs/manpages/gbp-import-srpm.sgml b/docs/manpages/gbp-import-srpm.sgml
new file mode 100644 (file)
index 0000000..91f6c0a
--- /dev/null
@@ -0,0 +1,262 @@
+<refentry id="man.gbp.import.srpm">
+  <refentryinfo>
+    <address>
+      &rpm-email;
+    </address>
+    <author>
+      &rpm-firstname;
+      &rpm-surname;
+    </author>
+  </refentryinfo>
+  <refmeta>
+    <refentrytitle>gbp-import-srpm</refentrytitle>
+    &rpm-mansection;
+  </refmeta>
+  <refnamediv>
+    <refname>git-import-srpm</refname>
+    <refname>gbp-import-srpm</refname>
+    <refpurpose>Import source RPM packages into a Git repository</refpurpose>
+  </refnamediv>
+  <refsynopsisdiv>
+    <cmdsynopsis>
+      &gbp-import-srpm;
+      &man.common.options.synopsis;
+      <arg><option>--vendor</option>=<replaceable>VENDOR</replaceable></arg>
+      <arg><option>--allow-same-versions</option></arg>
+      <arg><option>--author-is-committer</option></arg>
+      <arg><option>--packaging-branch=</option><replaceable>BRANCH-NAME</replaceable></arg>
+      <arg><option>--packaging-tag=</option><replaceable>TAG-FORMAT</replaceable></arg>
+      <arg><option>--download</option></arg>
+      <arg><option>--packaging-dir=</option><replaceable>DIRECTORY</replaceable></arg>
+      <arg><option>--[no-]patch-import</option></arg>
+      <arg><option>--filter=</option><replaceable>PATTERN</replaceable></arg>
+      <arg><option>--keyid=</option><replaceable>GPG-KEYID</replaceable></arg>
+      <arg><option>--[no-]create-missing-branches</option></arg>
+      <arg><option>--[no-]pristine-tar</option></arg>
+      <arg><option>--[no-]sign-tags</option></arg>
+      <arg><option>--upstream-branch=</option><replaceable>BRANCH-NAME</replaceable></arg>
+      <arg><option>--upstream-tag=</option><replaceable>TAG-FORMAT</replaceable></arg>
+      <arg><option>--native</option></arg>
+      <arg choice="plain"><replaceable>SRPM</replaceable></arg>
+    </cmdsynopsis>
+    <cmdsynopsis>
+      &gbp-import-srpm;
+      <arg><option>options</option></arg>
+      <arg choice="req"><option>--download</option></arg>
+      <group choice="plain">
+        <arg><replaceable>URL</replaceable></arg>
+        <arg><replaceable>SRC.RPM</replaceable></arg>
+        <arg><replaceable>DIRECTORY</replaceable></arg>
+      </group>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  <refsect1>
+    <title>DESCRIPTION</title>
+    <para>
+    &gbp-import-srpm; imports an RPM source package into a &git; repository,
+    notes the package version in the commit logs, and commits the change. All
+    information, including package name, version and upstream source is
+    automatically detected from the source package. The tool supports importing
+    both archived (src.rpm files) or unpacked (directory) source RPMs.
+    </para>
+  </refsect1>
+  <refsect1>
+    <title>OPTIONS</title>
+    <variablelist>
+      &man.common.options.description;
+
+      <varlistentry>
+        <term><option>--vendor</option>=<replaceable>VENDOR</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Distribution vendor name.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--upstream-branch</option>=<replaceable>BRANCH-NAME</replaceable>
+        </term>
+        <listitem>
+          <para>
+          The branch in the &git; repository the upstream sources are put
+          onto. Default is <replaceable>upstream</replaceable>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--packaging-branch</option>=<replaceable>BRANCH-NAME</replaceable>
+        </term>
+        <listitem>
+          <para>
+          The branch in the &git; repository the packaging files are put
+          onto. Default is <replaceable>master</replaceable>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--[no-]sign-tags</option>
+        </term>
+        <listitem>
+          <para>
+          GPG sign all created tags.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--keyid=</option><replaceable>GPG-KEYID</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Use this keyid for gpg signing tags.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--packaging-tag=</option><replaceable>TAG-FORMAT</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Use this tag format when tagging released versions,
+          default is <replaceable>%(vendor)s/%(version)s</replaceable>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--upstream-tag=</option><replaceable>TAG-FORMAT</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Use this tag format when tagging upstream versions,
+          default is <replaceable>upstream/%(version)s</replaceable>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-packaging-dir=</option><replaceable>DIRECTORY</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Subdirectory where to put the RPM packaging files.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--[no-]patch-import</option>
+        </term>
+        <listitem>
+          <para>
+          Import patches to the packaging branch. That is, apply and commit all
+          patches (that are not marked for manual maintenance) into the
+          packaging branch after importing other packaging files. The patch
+          files are automatically removed from the packaging directory and the
+          spec file if all patches are successufully applied.  This option is
+          ignored if <option>--orphan-packaging</option> is used.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--filter=</option><replaceable>PATTERN</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Filter out files glob-matching pattern. Can be given multiple times.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--pristine-tar</option>
+        </term>
+        <listitem>
+          <para>
+          Generate pristine-tar delta file.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--download</option>
+        </term>
+        <listitem>
+          <para>
+          Download the source package instead of looking for it in the local
+          file system.  The argument can either be a plain package name or an
+          URI. The former uses <command>yumdownloader</command> to download the
+          source while the later uses &wget;.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--allow-same-version</option>
+        </term>
+        <listitem>
+          <para>
+          Allow to re-import a package with an already existing version. This
+          will not re-import the upstream sources - only packaging files will
+          be re-imported.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--author-is-committer</option>
+        </term>
+        <listitem>
+          <para>
+          Use the author identity as the comitter when importing upstream
+          sources and packaging files.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--[no-]create-missing-branches</option>
+        </term>
+        <listitem>
+          <para>
+          Create missing upstream and/or packaging branch if missing.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--orphan-packaging</option>
+        </term>
+        <listitem>
+          <para>
+          Import packaging files into an orphan branch that will not be based
+          on the upstream branch. Useful if you want to maintain (non-native)
+          package using the 'orphan-packaging' model. This option have no
+          effect if <option>--native</option> is used.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--native</option>
+        </term>
+        <listitem>
+          <para>
+          Treat the package as native package. No separate upstream branch or
+          upstream tags will be created.
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1>
+    &man.gbp.config-files;
+  </refsect1>
+  <refsect1>
+    <title>SEE ALSO</title>
+
+    <para>
+      <xref linkend="man.gbp.buildpackage.rpm">,
+      <xref linkend="man.gbp.import.orig.rpm">,
+      <xref linkend="man.gbp.rpm.ch">,
+      <xref linkend="man.gbp.conf">,
+      &man.seealso.common;
+    </para>
+  </refsect1>
+  <refsect1>
+    <title>AUTHOR</title>
+    <para>
+    &rpm-username; &rpm-email;
+    </para>
+  </refsect1>
+</refentry>
diff --git a/docs/manpages/gbp-pq-rpm.sgml b/docs/manpages/gbp-pq-rpm.sgml
new file mode 100644 (file)
index 0000000..3061663
--- /dev/null
@@ -0,0 +1,399 @@
+<refentry id="man.gbp.pq.rpm">
+  <refentryinfo>
+    <address>
+      &rpm-email;
+    </address>
+    <author>
+      &rpm-firstname;
+      &rpm-surname;
+    </author>
+  </refentryinfo>
+  <refmeta>
+   <refentrytitle>gbp-pq-rpm</refentrytitle>
+    &rpm-mansection;
+  </refmeta>
+  <refnamediv>
+    <refname>gbp-pq-rpm</refname>
+    <refpurpose>Manage patches and development branches in Git</refpurpose>
+  </refnamediv>
+  <refsynopsisdiv>
+    <cmdsynopsis>
+      &gbp-pq-rpm;
+      &man.common.options.synopsis;
+      <arg><option>--vendor</option>=<replaceable>VENDOR</replaceable></arg>
+      <arg><option>--packaging-branch=</option><replaceable>BRANCH-NAME</replaceable></arg>
+      <arg><option>--pq-branch=</option><replaceable>BRANCH-NAME</replaceable></arg>
+      <arg><option>--packaging-dir=</option><replaceable>DIRECTORY</replaceable></arg>
+      <arg><option>--spec-file=</option><replaceable>FILEPATH</replaceable></arg>
+      <arg><option>--upstream-tag=</option><replaceable>TAG-FORMAT</replaceable></arg>
+      <arg><option>--force</option></arg>
+      <arg><option>--import-files=</option><replaceable>FILES</replaceable></arg>
+      <arg><option>--export-rev=</option><replaceable>TREEISH</replaceable></arg>
+      <arg><option>--patch-export-compress=</option><replaceable>THRESHOLD</replaceable></arg>
+      <arg><option>--patch-export-ignore-path=</option><replaceable>REGEX</replaceable></arg>
+      <arg><option>--patch-export-squash-until=</option><replaceable>COMMITISH</replaceable></arg>
+      <arg><option>--[no-]patch-numbers</option></arg>
+      <arg><option>--new-packaging-dir=</option><replaceable>DIRECTORY</replaceable></arg>
+      <arg><option>--retain-history</option></arg>
+      <group choice="plain">
+        <arg><option>drop</option></arg>
+        <arg><option>export</option></arg>
+        <arg><option>import</option></arg>
+        <arg><option>rebase</option></arg>
+        <arg><option>switch</option></arg>
+        <arg><option>convert</option></arg>
+      </group>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  <refsect1>
+    <title>DESCRIPTION</title>
+    <para>
+    &gbp-pq-rpm; helps in managing patches and development branch(es) for
+    packages that are maintained with &gbp;. It designed to be used for
+    packages that are maintained using the "orphan-packaging" model.
+    &gbp-pq-rpm; has multiple subcommands, or actions, for working with the
+    branches and patches.
+    </para>
+    <para>
+    &gbp-pq-rpm; makes it easy to do source code development on a separate
+    development branch (patch-queue branch in Debian git-buildpackage terms).
+    For example, if the packaging files would be stored in
+    <replaceable>master</replaceable> the associated development branch would
+    be <replaceable>development/master</replaceable>.
+    </para>
+  </refsect1>
+  <refsect1>
+    <title>ACTIONS</title>
+    <variablelist>
+      <varlistentry>
+        <term><option>import</option>
+        </term>
+        <listitem>
+          <para>
+          Create a development (patch-queue) branch by applying all patches
+          from the packaging branch on top of the upstream version. The patches
+          must apply without fuzz.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>export</option>
+        </term>
+        <listitem>
+          <para>
+          Export patches from the development branch into the packaging branch.
+          It generates patches (one-per-commit) from the development branch and
+          updates the spec file accordingly. It doesn't automatically commit
+          the changes though - they need to verified and committed manually.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>rebase</option>
+        </term>
+        <listitem>
+          <para>
+          Switch to the development branch and rebase it against the current
+          upstream version (indicated in the spec file of the associated
+          packaging branch).
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>drop</option>
+        </term>
+        <listitem>
+          <para>
+          Drop (delete) the development branch associated to the current
+          branch. For example, you're on branch <replaceable>foo</replaceable>
+          this would drop branch <replaceable>development/foo</replaceable>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>apply</option>
+        </term>
+        <listitem>
+          <para>
+          Add a single patch to the development branch - similar to using
+          <command>git-am</command>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>switch</option>
+        </term>
+        <listitem>
+          <para>
+          Switch between the development branch and the associated packaging
+          branch.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>convert</option>
+        </term>
+        <listitem>
+          <para>
+          Convert a package from the "joint-packaging" maintenance model and
+          git-layout to the "orphan-packaging" model.  It takes the content of
+          the packaging directory, auto-generates patches and puts these into a
+          new orphan packaging branch. You can use the
+          <option>--retain-history</option> to try to preserve as much of the
+          git history as possible. Converting is a one-time action - conversion
+          back to the "joint-packaging" model is not supported (yet).
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1>
+    <title>OPTIONS</title>
+    <variablelist>
+      &man.common.options.description;
+
+      <varlistentry>
+        <term><option>--vendor</option>=<replaceable>VENDOR</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Distribution vendor name.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--packaging-branch</option>=<replaceable>BRANCH-NAME</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Branch the packaging files are being maintained on. Only relevant if
+          a invariable/single development (pq-branch) is defined with
+          <option>--pq-branch</option>, in which case this is used as the
+          "base" branch.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--pq-branch</option>=<replaceable>BRANCH_NAME</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Name (format string) of the development (patch-queue) branch. The
+          following string fields are accepted: "%(branch)s" (the base branch,
+          i.e. the packaging branch that the development branch is associated
+          to), "%(upstreamversion)s" (the upstream version), "%(release)s" (the
+          rpm patchlevel, i.e. Release), "%(version)s" (full rpm package
+          version).
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--packaging-dir=</option><replaceable>DIRECTORY</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Subdirectory that contains the RPM packaging files.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--spec-file=</option><replaceable>FILEPATH</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Relative path to the spec file to use. Special value
+          <replaceable>auto</replaceable> causes &gbp; to search and guess.
+          Other values cause the <option>--packaging-dir</option> option to be
+          ignored: the directory of the spec file is used, instead.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--upstream-tag=</option><replaceable>TAG-FORMAT</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Use this tag format when looking for tags of upstream versions,
+          default is <replaceable>upstream/%(version)s</replaceable>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--force</option></term>
+        <listitem>
+          <para>
+          Import even if the development (patch-queue) branch already exists.
+          Only valid for the import action.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--import-files=</option><replaceable>FILES</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Comma-separated list of additional file(s) to import from packaging
+          branch. These will appear as one monolithic patch in the development
+          (patch-queue) branch. By default, the local gbp conf files are
+          imported in order to try to ensure that gbp sees the same settings on
+          the development (pq) branch as on the packaging branch.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--export-rev=</option><replaceable>TREEISH</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Export patches from <replaceable>TREEISH</replaceable> instead of the
+          default which is HEAD of the development (patch-queue) branch.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--patch-export-compress=</option><replaceable>THRESHOLD</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Compress patches larger than given
+          <replaceable>THRESHOLD</replaceable> bytes. Special value 0 disabled
+          patch compression.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--patch-export-ignore-path=</option><replaceable>REGEX</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Exclude changes to path(s) matching <replaceable>REGEX</replaceable>
+          in patch generation.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--patch-export-squash-until=</option><replaceable>COMMITISH</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Squash commits up to the given <replaceable>COMMITISH</replaceable>
+          into one monolitic diff. Could be used if one wants to squash commits
+          from an upstream release up to a stable update into a single diff
+          (commits on top of the stable would generate one patch per commit as
+          usual). The format is '&lt;commit_ish&gt;[:&lt;filename_base&gt;]',
+          i.e. commitish optionally followed by a colon and the desired
+          filename base for the diff (suffix '.diff' is automatically added by
+          &gbp;). Magic word 'HEAD' translates to the patch-export-treeish when
+          given as the squash-point. This allows one to configure gbp to
+          always squash all commits into one monolithic diff.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--[no-]patch-numbers</option>
+        </term>
+        <listitem>
+          <para>
+          Whether the patch files should start with a number or not.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--new-packaging-dir=</option><replaceable>DIRECTORY</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Directory where packaging files are put in the new orphan packaging
+          branch after convert. If <option>--new-packaging-dir=</option> is not
+          defined, <replaceable>packaging-dir</replaceable> is used.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--retain-history</option>
+        </term>
+        <listitem>
+          <para>
+          Try to preserve as much history as possible when converting. That is,
+          for each commit in the old branch create one corresponding commit in
+          the new orphan packaging branch. However, commits that will not
+          generate any changes are skipped (i.e. no empty commits are
+          generated) - these are caused e.g. by changes in files that are
+          ignored by patch-generation.
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1>
+    <title>META TAGS</title>
+    <para>
+    When exporting patches from a patch-queue branch &gbp-pq-rpm; will look at
+    the commit message for special tags it recognizes. All tags need to start
+    at the first column and require at least one whitespace after the colon.
+    </para>
+    <variablelist>
+      <varlistentry>
+        <term><option>Gbp-Rpm: Ignore</option>
+        </term>
+        <listitem>
+          <para>
+          Ignores the commit, no patch is generated out of it.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>Gbp-Rpm: If &lt;expression&gt;</option>
+        </term>
+        <listitem>
+          <para>
+          Conditional patch. Put patch inside "%if &lt;expression&gt;" in the
+          spec file.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>Gbp-Rpm: IfArch&lt;expression&gt;</option>
+        </term>
+        <listitem>
+          <para>
+          Conditional patch. Put patch inside "%ifarch &lt;expression&gt;" in
+          the spec file.
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+    <para>
+    For example, the following commit message:
+    </para>
+    <screen>
+      Fix around a problem in Fedora
+
+      which is not applicable elsewhere.
+
+      Gbp-Rpm: If 0%{?fedora}
+    </screen>
+    <para>
+    Will result something like this in the spec file:
+    </para>
+    <screen>
+      # 0001-Fix-around-a-problem-in-Fedora.patch
+      %if 0%{?fedora}
+      %patch0 -p1
+      %endif
+    </screen>
+  </refsect1>
+  <refsect1>
+    <title>SEE ALSO</title>
+    <para>
+      <xref linkend="man.gbp.buildpackage.rpm">,
+      <xref linkend="man.gbp.conf">
+    </para>
+  </refsect1>
+  <refsect1>
+    <title>AUTHOR</title>
+    <para>
+      &rpm-username; &rpm-email;
+    </para>
+  </refsect1>
+</refentry>
diff --git a/docs/manpages/gbp-rpm-ch.sgml b/docs/manpages/gbp-rpm-ch.sgml
new file mode 100644 (file)
index 0000000..9f6ae99
--- /dev/null
@@ -0,0 +1,406 @@
+<refentry id="man.gbp.rpm.ch">
+  <refentryinfo>
+    <address>
+      &rpm-email;
+    </address>
+    <author>
+      &rpm-firstname;
+      &rpm-surname;
+    </author>
+  </refentryinfo>
+  <refmeta>
+    <refentrytitle>gbp-rpm-ch</refentrytitle>
+    &rpm-mansection;
+  </refmeta>
+  <refnamediv>
+    <refname>git-rpm-ch;</refname>
+    <refname>gbp-rpm-ch;</refname>
+    <refpurpose>Generate the RPM changelog from git commit messages</refpurpose>
+  </refnamediv>
+  <refsynopsisdiv>
+    <cmdsynopsis>
+      &gbp-rpm-ch;
+      &man.common.options.synopsis;
+      <arg><option>--vendor</option>=<replaceable>VENDOR</replaceable></arg>
+      <arg><option>--packaging-branch=</option><replaceable>BRANCH-NAME</replaceable></arg>
+      <arg><option>--packaging-tag=</option><replaceable>TAG-FORMAT</replaceable></arg>
+      <arg><option>--ignore-branch</option></arg>
+      <arg><option>--packaging-dir=</option><replaceable>DIRECTORY</replaceable></arg>
+      <arg><option>--changelog-file=</option><replaceable>FILEPATH</replaceable></arg>
+      <arg><option>--spec-file=</option><replaceable>FILEPATH</replaceable></arg>
+      <group>
+        <arg><option>--all</option></arg>
+        <arg><option>--message=</option><replaceable>MESSAGE</replaceable></arg>
+        <arg><option>--since=</option><replaceable>COMMITISH</replaceable></arg>
+      </group>
+      <arg><option>--no-release</option></arg>
+      <arg><option>--[no-]git-author</option></arg>
+      <arg><option>--[no-]full</option></arg>
+      <arg><option>--id-length=</option><replaceable>NUMBER</replaceable></arg>
+      <arg><option>--changelog-revision=</option><replaceable>REV-FORMAT</replaceable></arg>
+      <arg><option>--git-log=</option><replaceable>GIT-LOG-OPTIONS</replaceable></arg>
+      <arg><option>--spawn-editor=<replaceable>[always|release|no]</replaceable></option></arg>
+      <arg><option>--editor-cmd=</option><replaceable>EDITOR</replaceable></arg>
+      <arg><option>--tag</option></arg>
+      <arg><option>--retag</option></arg>
+      <arg><option>--[no-]sign-tags</option></arg>
+      <arg><option>--keyid=</option><replaceable>GPG-KEYID</replaceable></arg>
+      <arg><option>--customizations=</option><replaceable>CUSTOMIZATION-FILE</replaceable></arg>
+      <arg choice="plain"><replaceable>[PATH1 PATH2]</replaceable></arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  <refsect1>
+    <title>DESCRIPTION</title>
+    <para>
+    &gbp-rpm-ch; reads git commit messages up to the current tip of the current
+    branch and updates the RPM changelog from them.
+    </para>
+    <para>
+    By default, &gbp-rpm-ch; tries to guess the last &git; commit documented in
+    the changelog. Alternatively, <option>--since</option> can be used to
+    tell &gbp-rpm-ch; at which point it should start in the &git; history, or,
+    <option>--all</option> to use all commits from the &git; history.
+    </para>
+    <para>
+    The additional path arguments can be used to restrict the repository paths
+    &gbp-rpm-ch; looks at. For even more detailed control, you can use
+    <option>--git-log</option> to restrict the generated changelog entries
+    further. E.g. by using
+    <option>--git-log=</option><replaceable>"--author=Foo Bar"</replaceable>.
+    </para>
+  </refsect1>
+  <refsect1>
+    <title>OPTIONS</title>
+    <variablelist>
+      &man.common.options.description;
+
+      <varlistentry>
+        <term><option>--vendor</option>=<replaceable>VENDOR</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Distribution vendor name.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--packaging-branch</option>=<replaceable>BRANCH-NAME</replaceable>
+        </term>
+        <listitem>
+          <para>
+          The branch in the Git repository the package is being developed on,
+          default is <replaceable>master</replaceable>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--ignore-branch</option>
+        </term>
+        <listitem>
+          <para>
+          Don't check if the current branch matches
+          <replaceable>PACKAGING-BRANCH</replaceable>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--packaging-tag=</option><replaceable>TAG-FORMAT</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Tag format used, when tagging releases,
+          default is <replaceable>%(vendor)s/%(version)s</replaceable>
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--packaging-dir=</option><replaceable>DIRECTORY</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Subdirectory that contains the RPM packaging files.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--changelog-file=</option><replaceable>FILEPATH</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Relative path to the changelog file to use. Special value
+          <replaceable>auto</replaceable> causes &gbp; to guess,
+          <replaceable>SPEC</replaceable> uses the spec file,
+          <replaceable>CHANGES</replaceable> uses a separate changelog file
+          (name derived spec file name with .spec suffix replaced by .changes).
+          Guessing logic is simple: use separate changelog file if it is found,
+          otherwise use the spec file.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--spec-file=</option><replaceable>FILEPATH</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Relative path to the spec file to use. Special value
+          <replaceable>auto</replaceable> causes &gbp; to search and guess.
+          Other values cause the <option>--packaging-dir</option> option to be
+          ignored: the directory of the spec file is used, instead.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--all</option>
+        </term>
+        <listitem>
+          <para>
+          Use all commits from the Git history, overrides
+          <option>--since</option>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--since=</option><replaceable>COMMITTISH</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Start reading commit messages at
+          <replaceable>COMMITTISH</replaceable>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--no-release</option>
+        </term>
+        <listitem>
+          <para>
+           Do not create a new changelog section, just update the last
+           changelog section.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--[no-]full</option>
+        </term>
+        <listitem>
+          <para>
+          Include the full commit message in the changelog output.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-log=</option><replaceable>GIT-LOG-OPTIONS</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Options passed on verbatim to git-log(1).
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--id-length=</option><replaceable>N</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Include <replaceable>N</replaceable> digits of the commit id in the
+          changelog entry. Default is to not include any commit ids at all.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--changelog-revision=</option><replaceable>REV-FORMAT</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Format string to use for revision field in the changelog header.  The
+          following string fields are accepted:
+          <replaceable>%(upstreamversion)s</replaceable> the upstream version;
+          <replaceable>%(release)s</replaceable> the rpm patchlevel, i.e.
+          Release; <replaceable>%(version)s</replaceable> full rpm package
+          version; <replaceable>%(tagname)s</replaceable> tag/commit, i.e.
+          basically what <command>git-describe</command> would give.
+          If empty or not defined the default from packaging policy is used.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--ignore-regex=</option><replaceable>REGEX</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Ignore commit lines matching <replaceable>REGEX</replaceable>
+          when generating the changelog.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--git-author</option>
+        </term>
+        <listitem>
+          <para>
+          Use user.name and user.email from
+          <application>git-config</application>(1) for the changelog header.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--spawn-editor=<replaceable>[always|release|no]</replaceable></option>
+        </term>
+        <listitem>
+          <para>
+          Whether to spawn an editor: always, when doing a release or never.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--editor-cmd=<replaceable>EDITOR</replaceable></option>
+        </term>
+        <listitem>
+          <para>
+          The editor to use for editing the changelog.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--message=<replaceable>MESSAGE</replaceable></option>
+        </term>
+        <listitem>
+          <para>
+          Text to use for new changelog entries. Git history and the commit
+          messages, including <option>--since</option> and
+          <option>--all</option> options are ignored in this case.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--tag</option>
+        </term>
+        <listitem>
+          <para>
+          Commit the changes and create a packaging (release) tag. All
+          changelog modifications (and importantly, all other staged changes)
+          are committed to git before creating the tag. This option makes it
+          possible to create a release and correctly document the the tag name
+          in the rpm changelog (by using %(tagname)s in the
+          <option>--changelog-revision</option> string).
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--retag</option>
+        </term>
+        <listitem>
+          <para>
+          Don't fail tag operations if a tag with the same version already
+          exists, but, overwrite the existing tag, instead.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--[no-]sign-tags</option>
+        </term>
+        <listitem>
+          <para>
+          GPG sign all created tags.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--keyid=</option><replaceable>GPG-KEYID</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Use this keyid for gpg signing tags.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--customizations=</option><replaceable>CUSTOMIZATION-FILE</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Load Python code from <replaceable>CUSTOMIZATION-FILE</replaceable>.
+          At the moment, the only useful thing the code can do is define a
+          custom ChangelogEntryFormatter class.
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1>
+    <title>META TAGS</title>
+    <para>
+    Additional to the above options the formatting of the new changelog entries
+    (one-per-commit) in the changelog can be modified by special tags (called
+    Meta Tags) given in the git commit message. The tags must start at the
+    first column of a commit message but can appear on any line.  They are of
+    the form <option>Tagname</option>: <replaceable>VALUE</replaceable>. Valid
+    Meta Tags are:
+    </para>
+    <variablelist>
+      <varlistentry>
+        <term><option>Git-Rpm-Ch</option>: <replaceable>ACTION</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Supported actions are: <replaceable>Ignore</replaceable> which will
+          ignore this commit when generating new changelog entries.
+          <replaceable>Short</replaceable> which will only use the description
+          (the first line) of the commit message when generating the changelog
+          entry (useful when <option>--full</option> is given) and
+          <replaceable>Full</replaceable> which will use the full commit
+          message when generating the changelog entry (useful when
+          <option>--full</option> is not given).
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>[Close|Closes|Fix|Fixes]</option>: <replaceable>BUGNUMBER</replaceable>
+        </term>
+        <listitem>
+          <para>
+          Indicate in the changelog that the bug was addressed by this commit.
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+    <para>
+    The following git commit message:
+    </para>
+    <screen>
+      Document meta tags
+
+      so one doesn't have to consult the manual
+
+      Git-Rpm-Ch: Short
+      Closes: #636088
+    </screen>
+    <para>
+    Results in this changelog entry:
+    </para>
+    <screen>
+      - Document meta tags (Closes: #636088)
+    </screen>
+  </refsect1>
+  <refsect1>
+    &man.gbp.config-files;
+  </refsect1>
+  <refsect1>
+    <title>SEE ALSO</title>
+    <para>
+      <xref linkend="man.gbp.buildpackage.rpm">,
+      <xref linkend="man.gbp.import.srpm">,
+      <xref linkend="man.gbp.import.orig.rpm">,
+      <xref linkend="man.gbp.conf">,
+      &man.seealso.common;
+      <ulink url="https://honk.sigxcpu.org/cl2vcs">
+      <citetitle>Cl2vcs</citetitle></ulink>,
+    </para>
+  </refsect1>
+  <refsect1>
+    <title>AUTHOR</title>
+    <para>
+    &rpm-username; &rpm-email;
+    </para>
+  </refsect1>
+</refentry>
diff --git a/docs/manpages/man.seealso-rpm.sgml b/docs/manpages/man.seealso-rpm.sgml
new file mode 100644 (file)
index 0000000..a146875
--- /dev/null
@@ -0,0 +1,12 @@
+      <citerefentry>
+        <refentrytitle>rpmbuild</refentrytitle>
+        <manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>git</refentrytitle>
+        <manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>pristine-tar</refentrytitle>
+        <manvolnum>1</manvolnum>
+      </citerefentry>,
diff --git a/docs/manpages/manpages-rpm.ent b/docs/manpages/manpages-rpm.ent
new file mode 100644 (file)
index 0000000..0839a3b
--- /dev/null
@@ -0,0 +1,10 @@
+<!ENTITY man.gbp.buildpackage.rpm SYSTEM "gbp-buildpackage-rpm.sgml">
+<!ENTITY man.gbp.import.orig.rpm SYSTEM "gbp-import-orig-rpm.sgml">
+<!ENTITY man.gbp.import.srpm SYSTEM "gbp-import-srpm.sgml">
+<!ENTITY man.gbp.pq.rpm SYSTEM "gbp-pq-rpm.sgml">
+<!ENTITY man.gbp.rpm.ch SYSTEM "gbp-rpm-ch.sgml">
+<!ENTITY man.gbp.conf SYSTEM "gbp.conf.sgml">
+<!ENTITY man.gbp.config-files SYSTEM "man.conffiles.sgml">
+<!ENTITY man.seealso.common SYSTEM "man.seealso-rpm.sgml">
+<!ENTITY % COMMON.OPTIONS SYSTEM "man.common-options.ent">
+%COMMON.OPTIONS;
index 2e58730..1de37ff 100644 (file)
   &ch.development-rpm;
   &ch.building-rpm;
 
+  <appendix id="man.rpm.reference">
+    <title>Command Reference</title>
+    &man.gbp.buildpackage.rpm;
+    &man.gbp.import.orig.rpm;
+    &man.gbp.import.srpm;
+    &man.gbp.pq.rpm;
+    &man.gbp.rpm.ch;
+  </appendix>
   <appendix id="gbp.rpm.copyleft">
     <title>Copyright</title>
     &gbp.copyright;
index e15fc0f..40f4ab8 100644 (file)
@@ -241,6 +241,13 @@ done
 %{_bindir}/*rpm*
 %{python_sitelib}/gbp/scripts/*rpm*.py*
 %{python_sitelib}/gbp/rpm/*py*
+%if %{with docs}
+%{_mandir}/man1/gbp-buildpackage-rpm.1*
+%{_mandir}/man1/gbp-import-orig-rpm.1*
+%{_mandir}/man1/gbp-import-srpm.1*
+%{_mandir}/man1/gbp-pq-rpm.1*
+%{_mandir}/man1/gbp-rpm-ch.1*
+%endif
 
 
 %if %{with docs}