gbp-pq-rpm(1)
π gbp-pq-rpm(1) β the git-buildpackage manual, but make it make sense π
okay bestie, welcome to the gbp-pq-rpm page from the git-buildpackage manual β¨ this one's a whole vibe and also genuinely useful, so grab a boba and let's go π§π¦
β¨ NAME β¨
gbp-pq-rpm β manage patches and development branches in Git π
πΈ SYNOPSIS πΈ
gbp pq-rpm [--version] [--help] [--verbose] [--color=[auto|on|off]]
[--color-scheme= COLOR_SCHEME] [--packaging-dir= DIRECTORY]
[--spec-file= FILEPATH] [--upstream-tag= TAG-FORMAT]
[--abbrev= num] [--force] [--[no-]drop]
[--[no-]patch-numbers] drop | export | import | rebase |
switch | apply
π DESCRIPTION π
gbp pq-rpm is your girl for managing patches and development branch(es) for packages that are maintained with gbp. It's designed to be used for packages that are maintained using the "orphan-packaging" model. And like, it's not ONE command, it's a whole girl group: gbp pq-rpm has multiple subcommands, or actions, for working with the branches and patches. π«Ά
The way it works: gbp pq-rpm makes it easy to do source code development on a separate development branch (a patch-queue branch in Debian git-buildpackage terms, iykyk). For example, if the packaging files would be stored in master, the associated development branch would be development/master. cute, right? π
π₯ ACTIONS π₯
importβ Create a development (patch-queue) branch by applying all patches from the packaging branch on top of the upstream version. Lowkey important: the patches must apply without fuzz. no fuzzy business allowed πexportβ 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 be verified and committed manually. yes bestie, you gotta look at it with your own eyes πrebaseβ Switch to the development branch and rebase it against the current upstream version (indicated in the spec file of the associated packaging branch). glow-up time β¨dropβ Drop (delete) the development branch associated to the current branch. For example, you're on branchfoo, this would drop branchdevelopment/foo. it's giving... release the past π¦applyβ Add a single patch to the development branch β similar to usinggit-am. one patch, one moment πswitchβ Switch between the development branch and the associated packaging branch. back and forth, like your situationship π
π OPTIONS π
--versionβ Print version of the program, i.e. version of thegit-buildpackagesuite. show me your credentials bestie π-v,--verboseβ Verbose execution. it will tell you EVERYTHING π£οΈ-h,--helpβ Print help and exit. when in doubt π«Ά--color=[auto|on|off]β Whether to use colored output. rainbow mode: toggled π--color-scheme=COLOR_SCHEMEβ Colors to use in output (when color is enabled). The format forCOLOR_SCHEMEis'<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). a whole aesthetic, curated π--packaging-dir=DIRECTORYβ Subdirectory that contains the RPM packaging files. that's where the goods live π--spec-file=FILEPATHβ Relative path to the spec file to use. Special valueautocausesgbpto search and guess. Other values cause the--packaging-diroption to be ignored: the directory of the spec file is used, instead. so it's either/or, no cap β--upstream-tag=TAG-FORMATβ Use this tag format when looking for tags of upstream versions, default isupstream/%(version)s. the default is the default, fr fr β--abbrev=NUMβ When exporting a patch queue abbreviate commit, instead of showing the full 40-byte hexadecimal object name in header lines, show only a partial prefix of lengthNUM. This is useful when existing patches were not generated bygbp pq. short and sweet, slay βοΈ--forceβ Import even if the development (patch-queue) branch already exists. Only valid for theimportaction. it's giving main character energy, do it anyway π₯--[no-]dropβ Whether to drop (delete) the patch queue branch after a successful export. bye girl π--[no-]patch-numbersβ Whether the patch files should start with a number or not. numbered or unnumbered, you decide π’
π§ META TAGS π§
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. rules are rules bestie π
Gbp-Rpm: Ignoreβ Ignores the commit, no patch is generated out of it. ghosted πGbp-Rpm: If <expression>β Conditional patch. Put patch inside"%if <expression>"in the spec file.Gbp-Rpm: IfArch<expression>β Conditional patch. Put patch inside"%ifarch <expression>"in the spec file.
For example, the following commit message:
Fix around a problem in Fedora
which is not applicable elsewhere.
Gbp-Rpm: If 0%{?fedora}
Will result something like this in the spec file:
# 0001-Fix-around-a-problem-in-Fedora.patch
%if 0%{?fedora}
%patch0 -p1
%endif
see? conditional AND cute π
π SEE ALSO π
gbp-buildpackage-rpm(1), gbp-import-srpm(1), gbp.conf(5)
go read those next, bestie, the lore goes deep π
π AUTHOR π
Markus Lehtonen <markus.lehtonen@linux.intel.com> β thank you for your service, king π«‘
and that's the whole page!! this was gbp-pq-rpm(1) from the git-buildpackage manual, dated 26 May 2026 π periodt, you're a patch-queue girlie now π¦β¨πΈ
π¦ where this page comes from
- ubuntu stonking: git-buildpackage-rpm 0.9.43 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms