fedpkg man page
fedpkg — RPM Packaging utility
Synopsis
fedpkg [ global_options ] command [ command_options ] [ command_arguments ]
fedpkg help
fedpkg command --help
Description
fedpkg is a script to interact with the RPM Packaging system.
Global Options
--config CONFIG, -C CONFIG
Specify a config file to use
--release RELEASE Override the discovered release, e.g. f25, which has
to match the remote branch name created in package
repository. Particularly, use master to build RPMs for
rawhide.
--dist DIST Deprecated. Use --release instead. You can use --dist
for a while for backward-compatibility. It will be
disabled in future version.
--module-name MODULE_NAME
Override the module name. Otherwise it is discovered
from: Git push URL or Git URL (last part of path with
.git extension removed) or from name macro in spec
file. In that order.
--user USER Override the discovered user name
--password PASSWORD Password for Koji login
--runas RUNAS Run Koji commands as a different user
--path PATH Define the directory to work in (defaults to cwd)
--verbose, -v Run with verbose debug output
--debug, -d Run with debug output
-q Run quietly only displaying errors
Command Overview
- fedpkg build [-h] [--arches [ARCHES [ARCHES ...]]] [--md5] [--nowait] [--target TARGET] [--background] [--skip-nvr-check] [--skip-tag] [--scratch] [--srpm [SRPM]]
Request build
- fedpkg chain-build [-h] [--arches [ARCHES [ARCHES ...]]] [--md5] [--nowait] [--target TARGET] [--background] package [package ...]
Build current package in order with other packages
- fedpkg ci [-h] [-m MESSAGE] [--with-changelog] [-c] [--raw] [-t] [-F FILE] [-p] [-s] [files [files ...]]
Alias for commit
- fedpkg clean [-h] [--dry-run] [-x]
Remove untracked files
- fedpkg clog [-h] [--raw]
Make a clog file containing top changelog entry
- fedpkg clone [-h] [--branches] [--branch BRANCH] [--anonymous] module [clone_target]
Clone and checkout a module
- fedpkg co [-h] [--branches] [--branch BRANCH] [--anonymous] module [clone_target]
Alias for clone
- fedpkg commit [-h] [-m MESSAGE] [--with-changelog] [-c] [--raw] [-t] [-F FILE] [-p] [-s] [files [files ...]]
Commit changes
- fedpkg compile [-h] [--builddir BUILDDIR] [--arch ARCH] [--short-circuit] [--nocheck]
Local test rpmbuild compile
- fedpkg container-build [-h] [--repo-url [URL [URL ...]]] [--target TARGET] [--nowait] [--scratch] [--arches [ARCHES [ARCHES ...]]]
Build a container
- fedpkg container-build-setup [-h] (--get-autorebuild | --set-autorebuild {true,false})
set options for container-build
- fedpkg copr-build [-h] [--config CONFIG] [--nowait] project
Build package in Copr
- fedpkg diff [-h] [--cached] [files [files ...]]
Show changes between commits, commit and working tree, etc
- fedpkg gimmespec [-h]
Print the spec file name
- fedpkg gitbuildhash [-h] build
Print the git hash used to build the provided n-v-r
- fedpkg giturl [-h]
Print the git url for building
- fedpkg help [-h]
Show usage
- fedpkg import [-h] [--skip-diffs] srpm
Import srpm content into a module
- fedpkg install [-h] [--builddir BUILDDIR] [--arch ARCH] [--short-circuit] [--nocheck]
Local test rpmbuild install
- fedpkg lint [-h] [--info] [--rpmlintconf RPMLINTCONF]
Run rpmlint against local spec and build output if present.
- fedpkg local [-h] [--builddir BUILDDIR] [--arch ARCH] [--md5]
Local test rpmbuild binary
- fedpkg mock-config [-h] [--target TARGET] [--arch ARCH]
Generate a mock config
- fedpkg mockbuild [-h] [--root CONFIG] [--md5] [--no-clean] [--no-cleanup-after] [--no-clean-all] [--with BCOND_WITH] [--without BCOND_WITHOUT]
Local test build using mock
- fedpkg module-build [-h] [--watch] [--optional KEY=VALUE] [scm_url] [branch]
Build a module using MBS
- fedpkg module-build-cancel [-h] build_id
Cancel an MBS module build
- fedpkg module-build-info [-h] build_id
Show information of an MBS module build
- fedpkg module-build-local [-h] [--skip-tests] [--add-local-build BUILD_ID] [scm_url] [branch]
Build a module locally using the mbs-manager command
- fedpkg module-build-watch [-h] build_id
Watch an MBS build
- fedpkg module-overview [-h] [--unfinished] [--limit LIMIT]
Shows an overview of MBS builds
- fedpkg new [-h]
Diff against last tag
- fedpkg new-sources [-h] files [files ...]
Upload source files
- fedpkg patch [-h] [--rediff] suffix
Create and add a gendiff patch file
- fedpkg prep [-h] [--builddir BUILDDIR] [--arch ARCH]
Local test rpmbuild prep
- fedpkg pull [-h] [--rebase] [--no-rebase]
Pull changes from the remote repository and update the working copy.
- fedpkg push [-h] [--force]
Push changes to remote repository
- fedpkg retire [-h] reason
Retire a package
- fedpkg scratch-build [-h] [--arches [ARCHES [ARCHES ...]]] [--md5] [--nowait] [--target TARGET] [--background] [--srpm [SRPM]]
Request scratch build
- fedpkg sources [-h] [--outdir OUTDIR]
Download source files
- fedpkg srpm [-h] [--md5]
Create a source rpm
- fedpkg switch-branch [-h] [-l] [--fetch] [branch]
Work with branches
- fedpkg tag [-h] [-f] [-m MESSAGE] [-c] [--raw] [-F FILE] [-l] [-d] [tag]
Management of git tags
- fedpkg unused-patches [-h]
Print list of patches not referenced by name in the specfile
- fedpkg update [-h]
Submit last build as update
- fedpkg upload [-h] files [files ...]
Upload source files
- fedpkg verify-files [-h] [--builddir BUILDDIR] [--arch ARCH]
Locally verify %%files section
- fedpkg verrel [-h]
Print the name-version-release
Command Reference
fedpkg build
usage: fedpkg build [-h] [--arches [ARCHES [ARCHES ...]]] [--md5] [--nowait]
[--target TARGET] [--background] [--skip-nvr-check]
[--skip-tag] [--scratch] [--srpm [SRPM]]
This command requests a build of the package in the build system. By default
it discovers the target to build for based on branch data, and uses the latest
commit as the build source.
optional arguments:
-h, --help show this help message and exit
--arches [ARCHES [ARCHES ...]]
Build for specific arches
--md5 Use md5 checksums (for older rpm hosts)
--nowait Don't wait on build
--target TARGET Define build target to build into
--background Run the build at a low priority
--skip-nvr-check Submit build to buildsystem without check if NVR was
already built. NVR is constructed locally and may be
different from NVR constructed during build on
builder.
--skip-tag Do not attempt to tag package
--scratch Perform a scratch build
--srpm [SRPM] Build from an srpm. If no srpm is provided with this
option an srpm will be generated from current module
content.
fedpkg chain-build
usage: fedpkg chain-build [-h] [--arches [ARCHES [ARCHES ...]]] [--md5]
[--nowait] [--target TARGET] [--background]
package [package ...]
Build current package in order with other packages.
example: fedpkg chain-build libwidget libgizmo
The current package is added to the end of the CHAIN list.
Colons (:) can be used in the CHAIN parameter to define groups of
packages. Packages in any single group will be built in parallel
and all packages in a group must build successfully and populate
the repository before the next group will begin building.
For example:
fedpkg chain-build libwidget libaselib : libgizmo :
will cause libwidget and libaselib to be built in parallel, followed
by libgizmo and then the current directory package. If no groups are
defined, packages will be built sequentially.
positional arguments:
package List the packages and order you want to build in
optional arguments:
-h, --help show this help message and exit
--arches [ARCHES [ARCHES ...]]
Build for specific arches
--md5 Use md5 checksums (for older rpm hosts)
--nowait Don't wait on build
--target TARGET Define build target to build into
--background Run the build at a low priority
fedpkg ci
usage: fedpkg ci [-h] [-m MESSAGE] [--with-changelog] [-c] [--raw] [-t]
[-F FILE] [-p] [-s]
[files [files ...]]
Alias for commit.
positional arguments:
files Optional list of specific files to commit
optional arguments:
-h, --help show this help message and exit
-m MESSAGE, --message MESSAGE
Use the given <msg> as the commit message summary
--with-changelog Get the last changelog from SPEC as commit message
content. This option must be used with -m together.
-c, --clog Generate the commit message from the Changelog section
--raw Make the clog raw
-t, --tag Create a tag for this commit
-F FILE, --file FILE Take the commit message from the given file
-p, --push Commit and push as one action
-s, --signoff Include a signed-off-by
fedpkg clean
usage: fedpkg clean [-h] [--dry-run] [-x]
This command can be used to clean up your working directory. By default it
will follow .gitignore rules.
optional arguments:
-h, --help show this help message and exit
--dry-run, -n Perform a dry-run
-x Do not follow .gitignore rules
fedpkg clog
usage: fedpkg clog [-h] [--raw]
This will create a file named "clog" that contains the latest rpm changelog
entry. The leading "- " text will be stripped.
optional arguments:
-h, --help show this help message and exit
--raw Generate a more "raw" clog without twiddling the contents
fedpkg clone
usage: fedpkg clone [-h] [--branches] [--branch BRANCH] [--anonymous]
module [clone_target]
This command will clone the named module from the configured repository base
URL. By default it will also checkout the master branch for your working copy.
positional arguments:
module Name of the module to clone
clone_target Directory in which to clone the module
optional arguments:
-h, --help show this help message and exit
--branches, -B Do an old style checkout with subdirs for branches
--branch BRANCH, -b BRANCH
Check out a specific branch
--anonymous, -a Check out a module anonymously
fedpkg co
usage: fedpkg co [-h] [--branches] [--branch BRANCH] [--anonymous]
module [clone_target]
Alias for clone.
positional arguments:
module Name of the module to clone
clone_target Directory in which to clone the module
optional arguments:
-h, --help show this help message and exit
--branches, -B Do an old style checkout with subdirs for branches
--branch BRANCH, -b BRANCH
Check out a specific branch
--anonymous, -a Check out a module anonymously
fedpkg commit
usage: fedpkg commit [-h] [-m MESSAGE] [--with-changelog] [-c] [--raw] [-t]
[-F FILE] [-p] [-s]
[files [files ...]]
This invokes a git commit. All tracked files with changes will be committed
unless a specific file list is provided. $EDITOR will be used to generate a
changelog message unless one is given to the command. A push can be done at
the same time.
positional arguments:
files Optional list of specific files to commit
optional arguments:
-h, --help show this help message and exit
-m MESSAGE, --message MESSAGE
Use the given <msg> as the commit message summary
--with-changelog Get the last changelog from SPEC as commit message
content. This option must be used with -m together.
-c, --clog Generate the commit message from the Changelog section
--raw Make the clog raw
-t, --tag Create a tag for this commit
-F FILE, --file FILE Take the commit message from the given file
-p, --push Commit and push as one action
-s, --signoff Include a signed-off-by
fedpkg compile
usage: fedpkg compile [-h] [--builddir BUILDDIR] [--arch ARCH]
[--short-circuit] [--nocheck]
This command calls rpmbuild to compile the source. By default the prep and
configure stages will be done as well, unless the short-circuit option is
used.
optional arguments:
-h, --help show this help message and exit
--builddir BUILDDIR Define an alternate builddir
--arch ARCH Prep for a specific arch
--short-circuit short-circuit compile
--nocheck nocheck compile
fedpkg container-build
usage: fedpkg container-build [-h] [--repo-url [URL [URL ...]]]
[--target TARGET] [--nowait] [--scratch]
[--arches [ARCHES [ARCHES ...]]]
Build a container
optional arguments:
-h, --help show this help message and exit
--repo-url [URL [URL ...]]
URL of yum repo file
--target TARGET Override the default target
--nowait Don't wait on build
--scratch Scratch build
--arches [ARCHES [ARCHES ...]]
Limit a scratch build to an arch. May have multiple
arches.
fedpkg container-build-setup
usage: fedpkg container-build-setup [-h]
(--get-autorebuild | --set-autorebuild {true,false})
set options for container-build.
optional arguments:
-h, --help show this help message and exit
--get-autorebuild Get autorebuild value
--set-autorebuild {true,false}
Turn autorebuilds on/off
fedpkg copr-build
usage: fedpkg copr-build [-h] [--config CONFIG] [--nowait] project
Build package in Copr.
Note: you need to have set up correct api key. For more information
see API KEY section of copr-cli(1) man page.
positional arguments:
project Name of the project in format USER/PROJECT
optional arguments:
-h, --help show this help message and exit
--config CONFIG Path to an alternative Copr configuration file
--nowait Don't wait on build
fedpkg diff
usage: fedpkg diff [-h] [--cached] [files [files ...]]
Use git diff to show changes that have been made to tracked files. By default
cached changes (changes that have been git added) will not be shown.
positional arguments:
files Optionally diff specific files
optional arguments:
-h, --help show this help message and exit
--cached View staged changes
fedpkg gimmespec
usage: fedpkg gimmespec [-h]
Print the spec file name.
optional arguments:
-h, --help show this help message and exit
fedpkg gitbuildhash
usage: fedpkg gitbuildhash [-h] build
This will show you the commit hash string used to build the provided build
n-v-r
positional arguments:
build name-version-release of the build to query.
optional arguments:
-h, --help show this help message and exit
fedpkg giturl
usage: fedpkg giturl [-h]
This will show you which git URL would be used in a build command. It uses the
git hashsum of the HEAD of the current branch (which may not be pushed).
optional arguments:
-h, --help show this help message and exit
fedpkg help
usage: fedpkg help [-h]
Show usage.
optional arguments:
-h, --help show this help message and exit
fedpkg import
usage: fedpkg import [-h] [--skip-diffs] srpm
This will extract sources, patches, and the spec file from an srpm and update
the current module accordingly. It will import to the current branch by
default.
positional arguments:
srpm Source rpm to import
optional arguments:
-h, --help show this help message and exit
--skip-diffs Don't show diffs when import srpms
fedpkg install
usage: fedpkg install [-h] [--builddir BUILDDIR] [--arch ARCH]
[--short-circuit] [--nocheck]
This will call rpmbuild to run the install section. All leading sections will
be processed as well, unless the short-circuit option is used.
optional arguments:
-h, --help show this help message and exit
--builddir BUILDDIR Define an alternate builddir
--arch ARCH Prep for a specific arch
--short-circuit short-circuit install
--nocheck nocheck install
fedpkg lint
usage: fedpkg lint [-h] [--info] [--rpmlintconf RPMLINTCONF]
Rpmlint can be configured using the --rpmlintconf/-r option or by setting a
.rpmlint file in the working directory
optional arguments:
-h, --help show this help message and exit
--info, -i Display explanations for reported messages
--rpmlintconf RPMLINTCONF, -r RPMLINTCONF
Use a specific configuration file for rpmlint
fedpkg local
usage: fedpkg local [-h] [--builddir BUILDDIR] [--arch ARCH] [--md5]
Locally test run of rpmbuild producing binary RPMs. The rpmbuild output will
be logged into a file named .build-%{version}-%{release}.log
optional arguments:
-h, --help show this help message and exit
--builddir BUILDDIR Define an alternate builddir
--arch ARCH Prep for a specific arch
--md5 Use md5 checksums (for older rpm hosts)
fedpkg mock-config
usage: fedpkg mock-config [-h] [--target TARGET] [--arch ARCH]
This will generate a mock config based on the buildsystem target
optional arguments:
-h, --help show this help message and exit
--target TARGET Override target used for config
--arch ARCH Override local arch
fedpkg mockbuild
usage: fedpkg mockbuild [-h] [--root CONFIG] [--md5] [--no-clean]
[--no-cleanup-after] [--no-clean-all]
[--with BCOND_WITH] [--without BCOND_WITHOUT]
This will use the mock utility to build the package for the distribution
detected from branch information. This can be overridden using the global
--release option. Your user must be in the local "mock" group.
optional arguments:
-h, --help show this help message and exit
--root CONFIG, --mock-config CONFIG
Override mock configuration (like mock -r)
--md5 Use md5 checksums (for older rpm hosts)
--no-clean, -n Do not clean chroot before building package
--no-cleanup-after Do not clean chroot after building (if automatic
cleanup is enabled
--no-clean-all, -N Alias for both --no-clean and --no-cleanup-after
--with BCOND_WITH Enable configure option (bcond) for the build
--without BCOND_WITHOUT
Disable configure option (bcond) for the build
If config file for mock isn't found in the /etc/mock directory, a temporary
config directory for mock is created and populated with a config file created
with mock-config.
fedpkg module-build
usage: fedpkg module-build [-h] [--watch] [--optional KEY=VALUE]
[scm_url] [branch]
Build a module using MBS
positional arguments:
scm_url The module's SCM URL. This defaults to the current
repo.
branch The module's SCM branch. This defaults to the current
checked-out branch.
optional arguments:
-h, --help show this help message and exit
--watch, -w Watch the module build
--optional KEY=VALUE MBS optional arguments in the form of "key=value"
fedpkg module-build-cancel
usage: fedpkg module-build-cancel [-h] build_id
Cancel an MBS module build
positional arguments:
build_id The ID of the module build to cancel
optional arguments:
-h, --help show this help message and exit
fedpkg module-build-info
usage: fedpkg module-build-info [-h] build_id
Show information of an MBS module build
positional arguments:
build_id The ID of the module build
optional arguments:
-h, --help show this help message and exit
fedpkg module-build-local
usage: fedpkg module-build-local [-h] [--skip-tests]
[--add-local-build BUILD_ID]
[scm_url] [branch]
Build a module locally using the mbs-manager command
positional arguments:
scm_url The module's SCM URL. This defaults to the current
repo.
branch The module's SCM branch. This defaults to the current
checked-out branch.
optional arguments:
-h, --help show this help message and exit
--skip-tests Adds a macro for skipping the check section
--add-local-build BUILD_ID
Import previously finished local module builds into
MBS
fedpkg module-build-watch
usage: fedpkg module-build-watch [-h] build_id
Watch an MBS build
positional arguments:
build_id The ID of the module build to watch
optional arguments:
-h, --help show this help message and exit
fedpkg module-overview
usage: fedpkg module-overview [-h] [--unfinished] [--limit LIMIT]
Shows an overview of MBS builds
optional arguments:
-h, --help show this help message and exit
--unfinished Show unfinished module builds
--limit LIMIT The number of most recent module builds to display
fedpkg new
usage: fedpkg new [-h]
This will use git to show a diff of all the changes (even uncommitted changes)
since the last git tag was applied.
optional arguments:
-h, --help show this help message and exit
fedpkg new-sources
usage: fedpkg new-sources [-h] files [files ...]
This will upload new source file(s) to lookaside cache, and all file names
listed in sources file will be replaced. .gitignore will be also updated with
new uploaded file(s). Please remember to commit them.
positional arguments:
files
optional arguments:
-h, --help show this help message and exit
fedpkg patch
usage: fedpkg patch [-h] [--rediff] suffix
Create and add a gendiff patch file.
positional arguments:
suffix Look for files with this suffix to diff
optional arguments:
-h, --help show this help message and exit
--rediff Recreate gendiff file retaining comments Saves old patch file
with a suffix of ~
Patch file will be named: package-version-suffix.patch and the file will be
added to the repo index
fedpkg prep
usage: fedpkg prep [-h] [--builddir BUILDDIR] [--arch ARCH]
Use rpmbuild to "prep" the sources (unpack the source archive(s) and apply any
patches.)
optional arguments:
-h, --help show this help message and exit
--builddir BUILDDIR Define an alternate builddir
--arch ARCH Prep for a specific arch
fedpkg pull
usage: fedpkg pull [-h] [--rebase] [--no-rebase]
This command uses git to fetch remote changes and apply them to the current
working copy. A rebase option is available which can be used to avoid merges.
optional arguments:
-h, --help show this help message and exit
--rebase Rebase the locally committed changes on top of the remote
changes after fetching. This can avoid a merge commit, but does
rewrite local history.
--no-rebase Do not rebase, overriding .git settings to the contrary
See git pull --help for more details
fedpkg push
usage: fedpkg push [-h] [--force]
Push changes to remote repository.
optional arguments:
-h, --help show this help message and exit
--force, -f Force push
fedpkg retire
usage: fedpkg retire [-h] reason
This command will remove all files from the repo, leave a dead.package file,
and push the changes.
positional arguments:
reason Reason for retiring the package
optional arguments:
-h, --help show this help message and exit
fedpkg scratch-build
usage: fedpkg scratch-build [-h] [--arches [ARCHES [ARCHES ...]]] [--md5]
[--nowait] [--target TARGET] [--background]
[--srpm [SRPM]]
This command will request a scratch build of the package. Without providing an
srpm, it will attempt to build the latest commit, which must have been pushed.
By default all appropriate arches will be built.
optional arguments:
-h, --help show this help message and exit
--arches [ARCHES [ARCHES ...]]
Build for specific arches
--md5 Use md5 checksums (for older rpm hosts)
--nowait Don't wait on build
--target TARGET Define build target to build into
--background Run the build at a low priority
--srpm [SRPM] Build from an srpm. If no srpm is provided with this
option an srpm will be generated from the current
module content.
fedpkg sources
usage: fedpkg sources [-h] [--outdir OUTDIR]
Download source files
optional arguments:
-h, --help show this help message and exit
--outdir OUTDIR Directory to download files into (defaults to pwd)
fedpkg srpm
usage: fedpkg srpm [-h] [--md5]
Create a source rpm
optional arguments:
-h, --help show this help message and exit
--md5 Use md5 checksums (for older rpm hosts)
fedpkg switch-branch
usage: fedpkg switch-branch [-h] [-l] [--fetch] [branch]
This command can switch to a local git branch. If provided with a remote
branch name that does not have a local match it will create one. It can also
be used to list the existing local and remote branches.
positional arguments:
branch Branch name to switch to
optional arguments:
-h, --help show this help message and exit
-l, --list List both remote-tracking branches and local branches
--fetch Fetch new data from remote before switch
fedpkg tag
usage: fedpkg tag [-h] [-f] [-m MESSAGE] [-c] [--raw] [-F FILE] [-l] [-d]
[tag]
This command uses git to create, list, or delete tags.
positional arguments:
tag Name of the tag
optional arguments:
-h, --help show this help message and exit
-f, --force Force the creation of the tag
-m MESSAGE, --message MESSAGE
Use the given <msg> as the tag message
-c, --clog Generate the tag message from the spec changelog
section
--raw Make the clog raw
-F FILE, --file FILE Take the tag message from the given file
-l, --list List all tags with a given pattern, or all if not
pattern is given
-d, --delete Delete a tag
fedpkg unused-patches
usage: fedpkg unused-patches [-h]
Print list of patches not referenced by name in the specfile.
optional arguments:
-h, --help show this help message and exit
fedpkg update
usage: fedpkg update [-h]
This will create a bodhi update request for the current package n-v-r.
optional arguments:
-h, --help show this help message and exit
fedpkg upload
usage: fedpkg upload [-h] files [files ...]
This command will upload new source file(s) to lookaside cache. Source file
names are appended to sources file, and .gitignore will be also updated with
new uploaded file(s). Please remember to commit them.
positional arguments:
files
optional arguments:
-h, --help show this help message and exit
fedpkg verify-files
usage: fedpkg verify-files [-h] [--builddir BUILDDIR] [--arch ARCH]
Locally run 'rpmbuild -bl' to verify the spec file's %files sections. This
requires a successful run of 'fedpkg install' in advance.
optional arguments:
-h, --help show this help message and exit
--builddir BUILDDIR Define an alternate builddir
--arch ARCH Prep for a specific arch
fedpkg verrel
usage: fedpkg verrel [-h]
Print the name-version-release.
optional arguments:
-h, --help show this help message and exit