diff options
-rw-r--r-- | docs/Makefile | 5 | ||||
-rw-r--r-- | docs/common.ent | 7 | ||||
-rw-r--r-- | docs/main.sgml | 2 | ||||
-rw-r--r-- | docs/man.gbp-buildpackage-rpm.sgml | 12 | ||||
-rw-r--r-- | docs/man.gbp-import-orig-rpm.sgml | 11 | ||||
-rw-r--r-- | docs/man.gbp-import-srpm.sgml | 11 | ||||
-rw-r--r-- | docs/man.gbp-pq-rpm.sgml | 11 | ||||
-rw-r--r-- | docs/man.gbp-rpm-ch.sgml | 11 | ||||
-rw-r--r-- | docs/manpages/gbp-buildpackage-rpm.sgml | 764 | ||||
-rw-r--r-- | docs/manpages/gbp-import-orig-rpm.sgml | 324 | ||||
-rw-r--r-- | docs/manpages/gbp-import-srpm.sgml | 262 | ||||
-rw-r--r-- | docs/manpages/gbp-pq-rpm.sgml | 399 | ||||
-rw-r--r-- | docs/manpages/gbp-rpm-ch.sgml | 406 | ||||
-rw-r--r-- | docs/manpages/man.seealso-rpm.sgml | 12 | ||||
-rw-r--r-- | docs/manpages/manpages-rpm.ent | 10 | ||||
-rw-r--r-- | docs/manual-rpm.sgml | 8 | ||||
-rw-r--r-- | packaging/git-buildpackage.spec | 7 |
17 files changed, 2262 insertions, 0 deletions
diff --git a/docs/Makefile b/docs/Makefile index 5cd83a05..cd657017 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -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 diff --git a/docs/common.ent b/docs/common.ent index 69a703f6..6fc532c4 100644 --- a/docs/common.ent +++ b/docs/common.ent @@ -24,11 +24,18 @@ <!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>"> diff --git a/docs/main.sgml b/docs/main.sgml index bd1d97d7..7689bf7e 100644 --- a/docs/main.sgml +++ b/docs/main.sgml @@ -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 index 00000000..8752d576 --- /dev/null +++ b/docs/man.gbp-buildpackage-rpm.sgml @@ -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 index 00000000..621b11da --- /dev/null +++ b/docs/man.gbp-import-orig-rpm.sgml @@ -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 index 00000000..7efd8b10 --- /dev/null +++ b/docs/man.gbp-import-srpm.sgml @@ -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 index 00000000..11615085 --- /dev/null +++ b/docs/man.gbp-pq-rpm.sgml @@ -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 index 00000000..63fed8d0 --- /dev/null +++ b/docs/man.gbp-rpm-ch.sgml @@ -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 index 00000000..b3c9e6c1 --- /dev/null +++ b/docs/manpages/gbp-buildpackage-rpm.sgml @@ -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 + '<debug>:<info>:<warning>:<error>'. + 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 '<commit_ish>[:<filename_base>]', + 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 index 00000000..8e2635be --- /dev/null +++ b/docs/manpages/gbp-import-orig-rpm.sgml @@ -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 index 00000000..91f6c0a5 --- /dev/null +++ b/docs/manpages/gbp-import-srpm.sgml @@ -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 index 00000000..30616635 --- /dev/null +++ b/docs/manpages/gbp-pq-rpm.sgml @@ -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 '<commit_ish>[:<filename_base>]', + 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 <expression></option> + </term> + <listitem> + <para> + Conditional patch. Put patch inside "%if <expression>" in the + spec file. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><option>Gbp-Rpm: IfArch<expression></option> + </term> + <listitem> + <para> + Conditional patch. Put patch inside "%ifarch <expression>" 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 index 00000000..9f6ae999 --- /dev/null +++ b/docs/manpages/gbp-rpm-ch.sgml @@ -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 index 00000000..a146875d --- /dev/null +++ b/docs/manpages/man.seealso-rpm.sgml @@ -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 index 00000000..0839a3bf --- /dev/null +++ b/docs/manpages/manpages-rpm.ent @@ -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; diff --git a/docs/manual-rpm.sgml b/docs/manual-rpm.sgml index 2e587306..1de37ffd 100644 --- a/docs/manual-rpm.sgml +++ b/docs/manual-rpm.sgml @@ -10,6 +10,14 @@ &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; diff --git a/packaging/git-buildpackage.spec b/packaging/git-buildpackage.spec index 98068e78..3100b6aa 100644 --- a/packaging/git-buildpackage.spec +++ b/packaging/git-buildpackage.spec @@ -250,6 +250,13 @@ done %dir %{python_sitelib}/gbp/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} |