backport-dsc - backport Debian source packages
backport-dsc [
OPTIONS]
<dsc-file>
Helper to aid backporting a Debian source package to an arbitrary distribution
release.
backport-dsc aids backporting by appropriately mangling the source package
version, adjusting the maintainer of a package and compiling an informative
changelog entry. Moreover, it supports distribution specific patches (plain,
or for format 3.0 (quilt) source packages) and allow modification of
debian/control via arbitrary 'sed' expressions.
Backport relevant patches can be embedded in source packages for use with
backport-dsc. The distribution name (see
--target-distribution) serves
as an identifier to search for patches in the source package that shall be
applied for a particular distribution. For packages using format the 3.0
(quilt), backport-dsc will look for debian/patches/series-<distname> and
append it to the main patch series. Moreover, backport-dsc will also look for
patches matching /debian/patches/<distname>-dsc-patch* and apply them to
the source package. The latter patches, unlike the former quilt series, can
also be used to modify the debian/ directory itself.
-d <distname>,
--target-distribution <distname>
- Arbitrary distribution name (e.g. squeeze-backports). This
will be the target distribution used for the backport changelog entry. The
distribution name also serves as an identifier to search for backport
patches in the source package.
-h,
--help
- Print short description, usage summary and option
list.
--maint-email <email>
- Specify the backport maintainer's email address.
Alternatively, backport-dsc will use the DEBEMAIL environment
setting.
--maint-name <name>
- Specify the backport maintainer's real name. Alternatively,
backport-dsc will use the DEBFULLNAME environment setting.
--mod-control <expression>
- sed expression to modify debian/control. The option can be
given multiple times and all expressions will be passed to sed in the
order of appearance. This can be used to, e.g. change build or runtime
dependencies.
--no-backport-patches
- If set, potentially existing backport patches will not be
applied/activated.
--no-colored
- If set, backport-dsc won't colorize its status and error
messages.
--no-maintainer-update
- If set, the orginal maintainer is preserved in the
backported source package. This should only be done if original maintainer
and backporter are identical. Otherwise the porter should take
responsibility for the source package backport and identify herself as the
maintainer.
-s <string>,
--version-suffix <string>
- Version suffix that will be appended to the original source
package version, ideally indicating the backport target distribution. The
resulting package version will follow this schema:
- <originalversion><prefix><suffix>+<digit>
- e.g.: 1.2.3-4~bpo60+1 with default <prefix>=~
-p <string>,
--version-prefix <string>
- Version prefix that will be prepended to the backport
version.
- By default it
- is ~ but want to be changed (e.g. to +) for forward-porting
to next releases.
--verbose
- Enable additional status messages.
--verbose-help
- Print all available help.
--version
- Print version information and exit.
backport-dsc acknowledges the common environment variables DEBFULLNAME and
DEBEMAIL to specify the maintainer.
backport-dsc reads configuration from two files: system-wide from
/etc/backports-dsc and per user settings from $HOME/.backport-dsc (in
that order). Both files have to be valid bash scripts that will be sourced by
backport-dsc. The following variables (each shown with an example setting) can
be used to pre-configure backport-dsc:
bp_distribution="squeeze-backports"
- Backport target distribution (see
--backport-distribution)
bp_version_prefix="~"
- Version prefix (see --version-prefix)
bp_version_suffix="bpo60"
- Version suffix (see --version-suffix)
bp_maintainer_name="Unknown fellow"
- Name of the backport maintainer (see
--maint-name)
bp_maintainer_email="
[email protected]"
- Email address of backport maintainer (see
--maint-email)
bp_apply_patches=1
- Whether or not to apply backport patches found in a source
package. (see --no-backport-patches)
bp_color_output=1
- Enable or disable colored status output (see
--no-color)
bp_verbose=0
- Enable verbose status output (see --verbose)
bp_mod_control="--mod-control 's/^Depends:.*$/&, mypackage/'"
- sed expressions to modify debian/control, for example to
add dependencies (see --mod-control)
bp_update_maintainer=1
- Whether or not to replace the original maintainer in the
backported source package (see --no-maintainer-update)
backport-dsc examplepkg_1.2.3-4.dsc
- Create backport suitable for backports.org
backport-dsc -d myown-backports -v mo2010 examplepkg_1.2.3-4.dsc
- Create backport for some custom distribution with custom
version suffix.
backport-dsc -d ubuntu-lucid -v myppa --mod-control "-e
's/iceweasel/firefox/g'" examplepkg_1.2.3-4.dsc
- Create a backport for a fake Ubuntu PPA repository,
replacing all occurrences of iceweasel in debian/control with
firefox.
Written by Michael Hanke for the NeuroDebian project.
Report bugs to <
[email protected]>.
Copyright © 2010-2012 Michael Hanke <
[email protected]>
Licensed under GNU Public License version 2 or later.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.