Compare commits

..

No commits in common. "main" and "0.104" have entirely different histories.
main ... 0.104

191 changed files with 8690 additions and 18132 deletions

View File

@ -0,0 +1,2 @@
[BUILDDEB]
native = True

8
.bzrignore Normal file
View File

@ -0,0 +1,8 @@
/.shelf/
/build/
/python-build-stamp-*
/debian/files
/debian/ubuntu-dev-tools/
/debian/ubuntu-dev-tools.debhelper.log
/debian/ubuntu-dev-tools.*.debhelper
/debian/ubuntu-dev-tools.substvars

2
.gitignore vendored
View File

@ -1,2 +0,0 @@
__pycache__
*.egg-info

View File

@ -1,65 +0,0 @@
[MASTER]
# A comma-separated list of package or module names from where C extensions may
# be loaded. Extensions are loading into the active Python interpreter and may
# run arbitrary code.
extension-pkg-allow-list=apt_pkg
# Pickle collected data for later comparisons.
persistent=no
# Use all cpus, to speed up testing
jobs=0
[MESSAGES CONTROL]
# Disable the message, report, category or checker with the given id(s). You
# can either give multiple identifiers separated by comma (,) or put this
# option multiple times (only on the command line, not in the configuration
# file where it should appear only once).You can also use "--disable=all" to
# disable everything first and then reenable specific checks. For example, if
# you want to run only the similarities checker, you can use "--disable=all
# --enable=similarities". If you want to run only the classes checker, but have
# no Warning level messages displayed, use"--disable=all --enable=classes
# --disable=W"
disable=fixme,locally-disabled,missing-docstring,useless-option-value,
# TODO: Fix all following disabled checks!
invalid-name,
consider-using-with,
too-many-arguments,
too-many-branches,
too-many-statements,
too-many-locals,
duplicate-code,
too-many-instance-attributes,
too-many-nested-blocks,
too-many-lines,
[REPORTS]
# Tells whether to display a full report or only the messages
reports=no
[FORMAT]
# Maximum number of characters on a single line.
max-line-length=99
# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
# tab).
indent-string=' '
[BASIC]
# Allow variables called e, f, lp
good-names=i,j,k,ex,Run,_,e,f,lp,me,to
[IMPORTS]
# Force import order to recognize a module as part of a third party library.
known-third-party=debian

161
404main Executable file
View File

@ -0,0 +1,161 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Copyright 2006-2007 (C) Pete Savage <petesavage@ubuntu.com>
# Copyright 2007 (C) Siegfried-A. Gevatter <rainct@ubuntu.com>
# Copyright 2009 (C) Canonical Ltd. (by Colin Watson <cjwatson@ubuntu.com>)
#
# ##################################################################
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# See file /usr/share/common-licenses/GPL for more details.
#
# ##################################################################
#
# This script is used to check if a package and all its build
# dependencies are in main or not.
import subprocess
import sys
import apt_pkg
import apt
def process_deps(cache, deps):
"""Takes a list of (build) dependencies and processes it."""
for basedep in [d.or_dependencies[0] for d in deps]:
if not packages.has_key(basedep.name) and basedep.name != '':
# Check the (build) dependencies recursively
find_main(cache, basedep.name)
def get_package_version(cache, distro, pack):
if pack not in cache:
return None
for version in (cache[pack].candidate, cache[pack].installed):
if not version:
continue
for origin in version.origins:
if origin.archive == distro:
return version
return None
# Cache::CompTypeDeb isn't exposed via python-apt
def comp_type_deb(op):
ops = ("", "<=", ">=", "<<", ">>", "=", "!=")
if (op & 15) < 7:
return ops[op & 15]
return ""
def find_main(cache, pack):
"""Searches the dependencies and build dependencies of a package recursively
to determine if they are all in the 'main' component or not."""
global packages
if pack in packages:
return
# Retrieve information about the package
version = get_package_version(cache, distro, pack)
if not version:
packages[pack] = False
return
elif [origin for origin in version.origins if origin.component == 'main']:
packages[pack] = True
return
else:
if not packages.has_key(pack):
packages[pack] = False
# Retrieve package dependencies
process_deps(cache, version.dependencies)
# Retrieve package build dependencies. There's no handy
# attribute on version for this, so unfortunately we have to
# do a lot of messing about with apt.
deps = []
src_records = apt_pkg.SourceRecords()
got_src = False
while src_records.lookup(version.source_name):
if pack in src_records.binaries:
got_src = True
break
if got_src:
for deptype, all_deps in src_records.build_depends.iteritems():
for or_deps in all_deps:
base_deps = []
for (name, ver, op) in or_deps:
base_deps.append(apt.package.BaseDependency(name, op, ver, False))
deps.append(apt.package.Dependency(base_deps))
process_deps(cache, deps)
def main():
global packages, distro
# Check if the amount of arguments is correct
if len(sys.argv) < 2 or len(sys.argv) > 3 or sys.argv[1] in ('help', '-h', '--help'):
print 'Usage: %s <package name> [<distribution>]' % sys.argv[0]
sys.exit(1)
cache = apt.cache.Cache()
if len(sys.argv) == 3 and sys.argv[2]:
distro = sys.argv[2]
if not get_package_version(cache, distro, 'bash'):
print '«%s» is not a valid distribution.' % distro
print 'Remember that for 404main to work with a certain distribution it must be in your /etc/apt/sources.list file.'
sys.exit(1)
else:
distro = subprocess.Popen(['lsb_release', '-cs'], stdout=subprocess.PIPE).stdout.read().strip('\n')
if not get_package_version(cache, distro, sys.argv[1]):
print 'Can\'t find package «%s» in distribution «%s».' % (sys.argv[1], distro)
sys.exit(1)
print 'Checking package «%s» in distribution «%s»...' % (sys.argv[1], distro)
find_main(cache, sys.argv[1])
# True if everything checked until the point is in main
all_in_main = True
for package in packages:
if not packages[package]:
if all_in_main:
print 'The following packages aren\'t in main:'
all_in_main = False
print ' ', package
if all_in_main:
print 'Package «%s» and all its dependencies and build dependencies are in main.' % sys.argv[1]
if __name__ == '__main__':
# Global variable to hold the status of all packages
packages = {}
# Global variable to hold the target distribution
distro = ''
try:
main()
except KeyboardInterrupt:
print 'Aborted.'
sys.exit(1)

4
GPL-3
View File

@ -77,7 +77,7 @@ modification follow.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
@ -510,7 +510,7 @@ actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties

View File

@ -1,54 +1,50 @@
Updating the ubuntu-dev-tools package
-------------------------------------
Updating the ubuntu-dev-tools package in Ubuntu
-----------------------------------------------
Here are the 10 steps that are recommended to take when updating the
Here are the steps that are recommended to take when updating the
ubuntu-dev-tools package in Ubuntu.
1) Make sure there are no new commits to the package's master branch in git:
1) Make sure that there are no new revisions to the package's trunk in Bazaar:
git pull
bzr pull lp:ubuntu-dev-tools
2) Check to make sure that all approved merges have been merged:
2) Check to make sure that all approved merges have been merged:
https://code.launchpad.net/ubuntu-dev-tools/+activereviews
3) Make sure that there is no low lying fruit that can be fixed at:
3) Make sure that there is no low lying fruit that can be fixed at:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-dev-tools
https://bugs.debian.org/src:ubuntu-dev-tools
4) Check that the test suite passes
4) Before uploading the package change the UNRELEASED field in the
debian/changelog file to the current development release.
setup.py test
If there is no UNRELEASED entry, make sure that the version for the current
one has not been uploaded by someone else already:
5) Before uploading the package change the UNRELEASED field in the
debian/changelog file to unstable. (ubuntu-dev-tools is maintained in Debian
and synced to Ubuntu)
If there is no UNRELEASED entry, make sure that the version for the current
one has not been uploaded by someone else already:
https://tracker.debian.org/pkg/ubuntu-dev-tools
https://launchpad.net/ubuntu/+source/ubuntu-dev-tools/+publishinghistory
6) Once the target release has been changed, commit it to git (where X.YY is
the new package version):
Using: dch -r UNRELEASED - will also set the release to the development
version.
git commit -a -m "Uploaded X.YY to RELEASE."
5) Once the target release has been changed, commit it to Bazaar (where X.YY is
the new package version):
7) Create the new source package and tag the new release in git:
bzr commit -m "Uploaded X.YY to RELEASE."
gbp buildpackage -S --git-tag
6) Tag the new release in Bazaar:
For a full list of tags, please see: 'git tag -l'. This is so we can track
which git commit is in which release and makes bug triaging easier.
bzr tag X.YY
8) Upload the package to Debian with dput as normal:
For a full list of tags, please see: 'bzr tags'. This is so we can track
which Bazaar revision is in which release and makes bug triaging easier.
dput ftp-master ubuntu-dev-tools_X.YY_$arch.changes
7) Create the new source package:
9) Create a new blank entry with dch -i and mark it as UNRELEASED.
bzr bd -S
10) After it's been dinstalled in Debian, sync to Ubuntu:
8) Upload the package to Ubuntu with dput as normal:
syncpackage ubuntu-dev-tools
dput ubuntu ubuntu-dev-tools_X.YY_source.changes
9) Create a new blank entry with dch -i and mark it as UNRELEASED.

339
ack-sync Executable file
View File

@ -0,0 +1,339 @@
#!/usr/bin/python
#
# Copyright (C) 2007, Canonical Ltd.
# Copyright (C) 2010, Benjamin Drung <bdrung@ubuntu.com>
#
# It was initial written by Daniel Holbach.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# See file /usr/share/common-licenses/GPL-3 for more details.
import csv
import getopt
import lazr.restfulclient
import os
import re
import subprocess
import sys
import logging
import glob
import fnmatch
from ubuntutools.lp.libsupport import get_launchpad
COMMAND_LINE_SYNTAX_ERROR = 1
VERSION_DETECTION_FAILED = 2
PRIVATE_USER_EMAIL = 3
def get_version(title):
m = re.search("[() ][0-9][0-9a-zA-Z.:+-~]*", title)
if m is None:
print >> sys.stderr, "Version could not be detected. Please specify it with -V."
sys.exit(VERSION_DETECTION_FAILED)
return m.group(0).strip("() ")
def strip_epoch(version):
parts = version.split(':')
if len(parts) > 1:
del parts[0]
version = ':'.join(parts)
return version
def LogCall(command):
command = map(str, command)
logging.info("Running %s", " ".join(command))
return command
def get_source(package, version, section, dist, uploader_name, uploader_email, bug, key):
if os.path.isdir("/tmpfs"):
workdir = "/tmpfs/ack-sync"
else:
workdir = "/tmp/ack-sync"
if not os.path.isdir(workdir):
os.makedirs(workdir)
os.chdir(workdir)
cmd = ["syncpackage", package, "-r", dist, "-V", version, "-b", str(bug)]
if section is not None:
cmd += ["-c", section]
if uploader_email is not None:
cmd += ["-e", uploader_email]
if uploader_name is not None:
cmd += ["-n", uploader_name]
if key is not None:
cmd += ["-k", key]
subprocess.check_call(cmd)
dsc_file = package + "_" + strip_epoch(version) + "fakesync1.dsc"
if not os.path.exists(os.path.join(workdir, dsc_file)):
dsc_file = package + "_" + strip_epoch(version) + ".dsc"
if not os.path.exists(os.path.join(workdir, dsc_file)):
print >> sys.stderr, "E: Failed to find .dsc file created by syncpackage."
sys.exit(1)
return dsc_file
def build_source(dist, dsc_file):
try:
if sbuild:
subprocess.check_call(LogCall(["sbuild", "-d", dist,"-A", dsc_file]))
else:
if not os.path.isdir("buildresult"):
os.makedirs("buildresult")
cmd = ["sudo", "-E", "DIST=" + dist, pbuilder, "--build",
"--buildresult", "buildresult", dsc_file]
subprocess.check_call(LogCall(cmd))
except subprocess.CalledProcessError:
print >> sys.stderr, "E: %s failed to build." % (dsc_file)
sys.exit(1)
def test_install(dist, dsc_file):
changes_files=glob.glob(os.path.splitext(dsc_file)[0]+"_*.changes")
changes_file = ""
for temp_file in changes_files:
if not fnmatch.fnmatch(temp_file, '*_source.changes'):
changes_file = temp_file
if not (os.path.isfile(changes_file)): # if no file exists at all => exit
print >> sys.stderr, "E: No .changes file has been generated."
sys.exit(1)
try:
cmd = ["sudo", "piuparts", "-N", "-W", "--single-changes-list",
"--log-level=info", "--ignore=/var/log/apt/history.log",
"--mirror=http://archive.ubuntu.com/ubuntu main universe restricted multiverse",
changes_file]
if sbuild:
subprocess.check_call(LogCall(cmd + ["--lvm-volume="+lvm+"/"+dist+"_chroot"]))
else:
subprocess.check_call(LogCall(cmd + ["--pbuilder"]))
except subprocess.CalledProcessError:
print >> sys.stderr, "E: %s failed to install. Please check log" % (changes_file)
def get_email_from_file(name):
filename = os.path.expanduser("~/.ack-sync-email.list")
if os.path.isfile(filename):
csvfile = open(filename)
csv_reader = csv.reader(csvfile)
for row in csv_reader:
if row[0] == name:
return row[1]
return None
def unsubscribe_sponsors(launchpad, bug):
succeeded_unsubscribe = True
ums = launchpad.people['ubuntu-main-sponsors']
uus = launchpad.people['ubuntu-universe-sponsors']
try:
bug.unsubscribe(person=ums)
except lazr.restfulclient.errors.HTTPError, http_error:
print "failed to unsubscribe ubuntu-main-sponsors: " + http_error.content
succeeded_unsubscribe = False
try:
bug.unsubscribe(person=uus)
except lazr.restfulclient.errors.HTTPError, http_error:
print "failed to unsubscribe ubuntu-universe-sponsors: " + http_error.content
succeeded_unsubscribe = False
if succeeded_unsubscribe:
print "ubuntu-{main,universe}-sponsors unsubscribed (for backward compatibility)"
us = launchpad.people['ubuntu-sponsors']
bug.unsubscribe(person=us)
print "ubuntu-sponsors unsubscribed"
def main(bug_numbers, all_package, all_version, all_section, update,
all_uploader_email, key, verbose=False, silent=False):
launchpad = get_launchpad("ubuntu-dev-tools")
# TODO: use release-info (once available)
dist = launchpad.distributions["ubuntu"].current_series.name
# update pbuilder
if update:
if sbuild:
subprocess.call(LogCall(["sbuild-update", dist]))
else:
cmd = ["sudo", "env", "DIST=" + dist, pbuilder, "--update"]
subprocess.call(LogCall(cmd))
for bug_number in bug_numbers:
bug = launchpad.bugs[bug_number]
uploader = bug.owner
uploader_name = uploader.display_name
if all_uploader_email is not None:
uploader_email = all_uploader_email
elif launchpad.people['ubuntumembers'] in uploader.super_teams:
uploader_email = uploader.name + '@ubuntu.com'
else:
try:
uploader_email = uploader.preferred_email_address.email
except ValueError:
uploader_email = get_email_from_file(uploader_name)
if uploader_email is None:
if not silent:
print >> sys.stderr, "E: Bug owner '%s' does not have a public email address. Specify uploader with '-e'." % (uploader_name)
sys.exit(PRIVATE_USER_EMAIL)
elif not silent:
print "Taking email address from local file: " + uploader_email
task = list(bug.bug_tasks)[0]
if task.assignee == None:
task.assignee = launchpad.me
print "assigned me"
task.lp_save()
if task.assignee != launchpad.me:
print >> sys.stderr, "E: %s is already assigned to https://launchpad.net/bugs/%i" % \
(task.assignee.display_name, bug.id)
sys.exit(1)
old_status = task.status
task.status = 'In Progress'
unsubscribe_sponsors(launchpad, bug)
if task.importance == "Undecided":
task.importance = "Wishlist"
print "importance set to Wishlist"
task.lp_save()
if all_package is not None:
package = all_package
else:
package = task.bug_target_name.split(" ")[0]
if package == "ubuntu":
words = bug.title.split(" ")
# no source package was defined. Guessing that the second or
# third word in the title is the package name, because most
# titles start with "Please sync <package>" or "Sync <package>"
if words[0].lower() == "please":
package = words[2]
else:
package = words[1]
if all_version is not None:
version = all_version
else:
version = get_version(bug.title)
print "package:", package
print "version:", version
dsc_file = get_source(package, version, all_section, dist,
uploader_name, uploader_email, bug_number, key)
# extract source
subprocess.check_call(["dpkg-source", "-x", dsc_file])
build_source(dist, dsc_file)
if piuparts:
test_install(dist, dsc_file)
print bug.title
print '%s (was %s)' % (task.status, old_status)
print "Uploader:", uploader_name + " <" + uploader_email + ">"
try:
raw_input('Press [Enter] to continue or [Ctrl-C] to abort.')
except KeyboardInterrupt:
continue
task.status = 'Fix Committed'
task.assignee = None
print "unassigned me"
task.lp_save()
bug.subscribe(person=launchpad.me)
print "subscribed me"
changes_file = dsc_file[:-4] + "_source.changes"
subprocess.check_call(["dput", "ubuntu", changes_file])
def usage():
print """ack-sync <bug numbers>
-e, specify uploader email address
-h, --help displays this help
-k, --key key used to sign the package (in case of sponsoring)
-l, --lvm lvm root dev directory, used for sbuild and piuparts
default is /dev/vg
-p, --package=<package> set the package
-P, --with-piuparts use piuparts to check the instalability
--section=<section> Debian section (one of main, contrib, non-free)
-s, --silent be more silent
-S, --with-sbuild use sbuild instead of pbuilder
-C, --pbuilder=<command> use <command> as pbuilder
-u, --update updates pbuilder before building
-v, --verbose be more verbosive
-V, --version=<version> set the version"""
if __name__ == '__main__':
try:
long_opts = ["help", "key=", "lvm=", "package=", "section=", "silent", "update",
"verbose", "version=", "with-sbuild", 'pbuilder=', "with-piuparts"]
opts, args = getopt.gnu_getopt(sys.argv[1:], "e:hk:p:PsSC:uvV:", long_opts)
except getopt.GetoptError, e:
# will print something like "option -a not recognized"
print >> sys.stderr, str(e)
sys.exit(COMMAND_LINE_SYNTAX_ERROR)
package = None
sbuild = False
section = None
silent = False
update = False
uploader_email = None
verbose = False
version = None
piuparts = False
pbuilder = 'pbuilder'
lvm = "/dev/vg"
key = None
for o, a in opts:
if o in ("-h", "--help"):
usage()
sys.exit()
elif o in ("-e"):
uploader_email = a
elif o in ("-k", "--key"):
key = a
elif o in ("-l", "--lvm"):
lvm = a
elif o in ("-p", "--package"):
package = a
elif o in ("-P", "--with-piuparts"):
piuparts = True
elif o in ("--section"):
section = a
elif o in ("-s", "--silent"):
silent = True
elif o in ("-S", "--with-sbuild"):
sbuild = True
elif o in ("-C", "--pbuilder"):
pbuilder=a
elif o in ("-u", "--update"):
update = True
elif o in ("-v", "--verbose"):
verbose = True
elif o in ("-V", "--version"):
version = a
else:
assert False, "unhandled option"
if len(args) == 0:
if not silent:
print >> sys.stderr, "E: You must specify at least one bug number."
sys.exit(COMMAND_LINE_SYNTAX_ERROR)
bug_numbers = []
for arg in args:
try:
number = int(arg)
except:
if not silent:
print >> sys.stderr, "E: '%s' is not a valid bug number." % arg
sys.exit(COMMAND_LINE_SYNTAX_ERROR)
bug_numbers.append(number)
main(bug_numbers, package, version, section, update, uploader_email, key, verbose, silent)

View File

@ -1,495 +0,0 @@
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# ##################################################################
#
# Copyright (C) 2010-2011, Evan Broder <evan@ebroder.net>
# Copyright (C) 2010, Benjamin Drung <bdrung@ubuntu.com>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 2.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# See file /usr/share/common-licenses/GPL-2 for more details.
#
# ##################################################################
import argparse
import glob
import os
import shutil
import subprocess
import sys
import tempfile
from urllib.parse import quote
try:
import lsb_release
except ImportError:
lsb_release = None
from distro_info import DebianDistroInfo, UbuntuDistroInfo
from httplib2 import Http, HttpLib2Error
from ubuntutools import getLogger
from ubuntutools.archive import DebianSourcePackage, DownloadError, UbuntuSourcePackage
from ubuntutools.builder import get_builder
from ubuntutools.config import UDTConfig, ubu_email
from ubuntutools.lp.lpapicache import (
Distribution,
Launchpad,
PackageNotFoundException,
SeriesNotFoundException,
)
from ubuntutools.misc import codename_to_distribution, system_distribution, vendor_to_distroinfo
from ubuntutools.question import YesNoQuestion
Logger = getLogger()
def error(msg, *args):
Logger.error(msg, *args)
sys.exit(1)
def check_call(cmd, *args, **kwargs):
Logger.debug(" ".join(cmd))
ret = subprocess.call(cmd, *args, **kwargs)
if ret != 0:
error("%s returned %d.", cmd[0], ret)
def parse(argv):
usage = "%(prog)s [options] <source package name or .dsc URL/file>"
parser = argparse.ArgumentParser(usage=usage)
parser.add_argument(
"-d",
"--destination",
metavar="DEST",
dest="dest_releases",
default=[],
action="append",
help="Backport to DEST release (default: current release)",
)
parser.add_argument(
"-s",
"--source",
metavar="SOURCE",
dest="source_release",
help="Backport from SOURCE release (default: devel release)",
)
parser.add_argument(
"-S",
"--suffix",
metavar="SUFFIX",
help="Suffix to append to version number (default: ~ppa1 when uploading to a PPA)",
)
parser.add_argument(
"-e",
"--message",
metavar="MESSAGE",
default="No-change",
help='Changelog message to use instead of "No-change" '
"(default: No-change backport to DEST.)",
)
parser.add_argument(
"-b",
"--build",
default=False,
action="store_true",
help="Build the package before uploading (default: %(default)s)",
)
parser.add_argument(
"-B",
"--builder",
metavar="BUILDER",
help="Specify the package builder (default: pbuilder)",
)
parser.add_argument(
"-U",
"--update",
default=False,
action="store_true",
help="Update the build environment before attempting to build",
)
parser.add_argument("-u", "--upload", metavar="UPLOAD", help="Specify an upload destination")
parser.add_argument(
"-k", "--key", dest="keyid", help="Specify the key ID to be used for signing."
)
parser.add_argument(
"--dont-sign", dest="keyid", action="store_false", help="Do not sign the upload."
)
parser.add_argument(
"-y",
"--yes",
dest="prompt",
default=True,
action="store_false",
help="Do not prompt before uploading to a PPA",
)
parser.add_argument(
"-v", "--version", metavar="VERSION", help="Package version to backport (or verify)"
)
parser.add_argument(
"-w",
"--workdir",
metavar="WORKDIR",
help="Specify a working directory (default: temporary dir)",
)
parser.add_argument(
"-r",
"--release-pocket",
default=False,
action="store_true",
help="Target the release pocket in the .changes file. "
"Necessary (and default) for uploads to PPAs",
)
parser.add_argument(
"-c", "--close", metavar="BUG", help="Bug to close in the changelog entry."
)
parser.add_argument(
"-m", "--mirror", metavar="URL", help="Preferred mirror (default: Launchpad)"
)
parser.add_argument(
"-l",
"--lpinstance",
metavar="INSTANCE",
help="Launchpad instance to connect to (default: production)",
)
parser.add_argument(
"--no-conf",
default=False,
action="store_true",
help="Don't read config files or environment variables",
)
parser.add_argument("package_or_dsc", help=argparse.SUPPRESS)
args = parser.parse_args(argv)
config = UDTConfig(args.no_conf)
if args.builder is None:
args.builder = config.get_value("BUILDER")
if not args.update:
args.update = config.get_value("UPDATE_BUILDER", boolean=True)
if args.workdir is None:
args.workdir = config.get_value("WORKDIR")
if args.lpinstance is None:
args.lpinstance = config.get_value("LPINSTANCE")
if args.upload is None:
args.upload = config.get_value("UPLOAD")
if args.keyid is None:
args.keyid = config.get_value("KEYID")
if not args.upload and not args.workdir:
parser.error("Please specify either a working dir or an upload target!")
if args.upload and args.upload.startswith("ppa:"):
args.release_pocket = True
return args, config
def find_release_package(mirror, workdir, package, version, source_release, config):
srcpkg = None
if source_release:
distribution = codename_to_distribution(source_release)
if not distribution:
error("Unknown release codename %s", source_release)
info = vendor_to_distroinfo(distribution)()
source_release = info.codename(source_release, default=source_release)
else:
distribution = system_distribution()
mirrors = [mirror] if mirror else []
mirrors.append(config.get_value(f"{distribution.upper()}_MIRROR"))
if not version:
archive = Distribution(distribution.lower()).getArchive()
try:
spph = archive.getSourcePackage(package, source_release)
except (SeriesNotFoundException, PackageNotFoundException) as e:
error("%s", str(e))
version = spph.getVersion()
if distribution == "Debian":
srcpkg = DebianSourcePackage(package, version, workdir=workdir, mirrors=mirrors)
elif distribution == "Ubuntu":
srcpkg = UbuntuSourcePackage(package, version, workdir=workdir, mirrors=mirrors)
return srcpkg
def find_package(mirror, workdir, package, version, source_release, config):
"Returns the SourcePackage"
if package.endswith(".dsc"):
# Here we are using UbuntuSourcePackage just because we don't have any
# "general" class that is safely instantiable (as SourcePackage is an
# abstract class). None of the distribution-specific details within
# UbuntuSourcePackage is relevant for this use case.
return UbuntuSourcePackage(
version=version, dscfile=package, workdir=workdir, mirrors=(mirror,)
)
if not source_release and not version:
info = vendor_to_distroinfo(system_distribution())
source_release = info().devel()
srcpkg = find_release_package(mirror, workdir, package, version, source_release, config)
if version and srcpkg.version != version:
error(
"Requested backport of version %s but version of %s in %s is %s",
version,
package,
source_release,
srcpkg.version,
)
return srcpkg
def get_backport_version(version, suffix, upload, release):
distribution = codename_to_distribution(release)
if not distribution:
error("Unknown release codename %s", release)
if distribution == "Debian":
debian_distro_info = DebianDistroInfo()
debian_codenames = debian_distro_info.supported()
if release in debian_codenames:
release_version = debian_distro_info.version(release)
if not release_version:
error("Can't find the release version for %s", release)
backport_version = f"{version}~bpo{release_version}+1"
else:
error("%s is not a supported release (%s)", release, debian_codenames)
elif distribution == "Ubuntu":
series = Distribution(distribution.lower()).getSeries(name_or_version=release)
backport_version = f"{version}~bpo{series.version}.1"
else:
error("Unknown distribution «%s» for release «%s»", distribution, release)
if suffix is not None:
backport_version += suffix
elif upload and upload.startswith("ppa:"):
backport_version += "~ppa1"
return backport_version
def get_old_version(source, release):
try:
distribution = codename_to_distribution(release)
archive = Distribution(distribution.lower()).getArchive()
pkg = archive.getSourcePackage(
source, release, ("Release", "Security", "Updates", "Proposed", "Backports")
)
return pkg.getVersion()
except (SeriesNotFoundException, PackageNotFoundException):
pass
return None
def get_backport_dist(release, release_pocket):
if release_pocket:
return release
return f"{release}-backports"
def do_build(workdir, dsc, release, builder, update):
builder = get_builder(builder)
if not builder:
return None
if update:
if 0 != builder.update(release):
sys.exit(1)
# builder.build is going to chdir to buildresult:
workdir = os.path.realpath(workdir)
return builder.build(os.path.join(workdir, dsc), release, os.path.join(workdir, "buildresult"))
def do_upload(workdir, package, bp_version, changes, upload, prompt):
print(f"Please check {package} {bp_version} in file://{workdir} carefully!")
if prompt or upload == "ubuntu":
question = f"Do you want to upload the package to {upload}"
answer = YesNoQuestion().ask(question, "yes")
if answer == "no":
return
check_call(["dput", upload, changes], cwd=workdir)
def orig_needed(upload, workdir, pkg):
"""Avoid a -sa if possible"""
if not upload or not upload.startswith("ppa:"):
return True
ppa = upload.split(":", 1)[1]
user, ppa = ppa.split("/", 1)
version = pkg.version.upstream_version
http = Http()
for filename in glob.glob(os.path.join(workdir, f"{pkg.source}_{version}.orig*")):
url = (
f"https://launchpad.net/~{quote(user)}/+archive/{quote(ppa)}/+sourcefiles"
f"/{quote(pkg.source)}/{quote(pkg.version.full_version)}"
f"/{quote(os.path.basename(filename))}"
)
try:
headers = http.request(url, "HEAD")[0]
if headers.status != 200 or not headers["content-location"].startswith(
"https://launchpadlibrarian.net"
):
return True
except HttpLib2Error as e:
Logger.debug(e)
return True
return False
def do_backport(
workdir,
pkg,
suffix,
message,
close,
release,
release_pocket,
build,
builder,
update,
upload,
keyid,
prompt,
):
dirname = f"{pkg.source}-{release}"
srcdir = os.path.join(workdir, dirname)
if os.path.exists(srcdir):
question = f"Working directory {srcdir} already exists. Delete it?"
if YesNoQuestion().ask(question, "no") == "no":
sys.exit(1)
shutil.rmtree(srcdir)
pkg.unpack(dirname)
bp_version = get_backport_version(pkg.version.full_version, suffix, upload, release)
old_version = get_old_version(pkg.source, release)
bp_dist = get_backport_dist(release, release_pocket)
changelog = f"{message} backport to {release}."
if close:
changelog += f" (LP: #{close})"
check_call(
[
"dch",
"--force-bad-version",
"--force-distribution",
"--preserve",
"--newversion",
bp_version,
"--distribution",
bp_dist,
changelog,
],
cwd=srcdir,
)
cmd = ["debuild", "--no-lintian", "-S", "-nc", "-uc", "-us"]
if orig_needed(upload, workdir, pkg):
cmd.append("-sa")
else:
cmd.append("-sd")
if old_version:
cmd.append(f"-v{old_version}")
env = os.environ.copy()
# An ubuntu.com e-mail address would make dpkg-buildpackage fail if there
# wasn't an Ubuntu maintainer for an ubuntu-versioned package. LP: #1007042
env.pop("DEBEMAIL", None)
check_call(cmd, cwd=srcdir, env=env)
fn_base = pkg.source + "_" + bp_version.split(":", 1)[-1]
changes = fn_base + "_source.changes"
if build:
if 0 != do_build(workdir, fn_base + ".dsc", release, builder, update):
sys.exit(1)
# None: sign with the default signature. False: don't sign
if keyid is not False:
cmd = ["debsign"]
if keyid:
cmd.append("-k" + keyid)
cmd.append(changes)
check_call(cmd, cwd=workdir)
if upload:
do_upload(workdir, pkg.source, bp_version, changes, upload, prompt)
shutil.rmtree(srcdir)
def main(argv):
ubu_email()
args, config = parse(argv[1:])
Launchpad.login_anonymously(service=args.lpinstance)
if not args.dest_releases:
if lsb_release:
distinfo = lsb_release.get_distro_information()
try:
current_distro = distinfo["ID"]
except KeyError:
error("No destination release specified and unable to guess yours.")
else:
err, current_distro = subprocess.getstatusoutput("lsb_release --id --short")
if err:
error("Could not run lsb_release to retrieve distribution")
if current_distro == "Ubuntu":
args.dest_releases = [UbuntuDistroInfo().lts()]
elif current_distro == "Debian":
args.dest_releases = [DebianDistroInfo().stable()]
else:
error("Unknown distribution %s, can't guess target release", current_distro)
if args.workdir:
workdir = os.path.expanduser(args.workdir)
else:
workdir = tempfile.mkdtemp(prefix="backportpackage-")
if not os.path.exists(workdir):
os.makedirs(workdir)
try:
pkg = find_package(
args.mirror, workdir, args.package_or_dsc, args.version, args.source_release, config
)
pkg.pull()
for release in args.dest_releases:
do_backport(
workdir,
pkg,
args.suffix,
args.message,
args.close,
release,
args.release_pocket,
args.build,
args.builder,
args.update,
args.upload,
args.keyid,
args.prompt,
)
except DownloadError as e:
error("%s", str(e))
finally:
if not args.workdir:
shutil.rmtree(workdir)
if __name__ == "__main__":
sys.exit(main(sys.argv))

View File

@ -21,7 +21,7 @@ _pbuilder-dist()
case $prev in
build)
_filedir "dsc"
COMPREPLY=( $( compgen -o filenames -G "$cur*.dsc" ) )
;;
*)
COMPREPLY=( $( compgen -W "$options" | grep "^$cur" ) )
@ -30,17 +30,6 @@ _pbuilder-dist()
return 0
}
[ "$have" ] && _pbuilder-aliases()
{
local distro builder arch
for distro in $(ubuntu-distro-info --all; debian-distro-info --all) stable testing unstable; do
for builder in pbuilder cowbuilder; do
echo "$builder-$distro"
for arch in i386 amd64 armhf; do
echo "$builder-$distro-$arch"
done
done
done
return 0
}
[ "$have" ] && complete -F _pbuilder-dist -o filenames pbuilder-dist cowbuilder-dist $(_pbuilder-aliases)
[ "$have" ] && complete -F _pbuilder-dist -o filenames \
{pbuilder,cowbuilder}-{dist,dapper,hardy,jaunty,karmic,lucid,maverick,natty,sarge,etch,lenny,squeeze,sid,experimental}
# Make it pbuilder-* if you know how to do it

203
check-mir
View File

@ -1,203 +0,0 @@
#!/usr/bin/python3
#
# Check components of build dependencies and warn about universe/multiverse
# ones, for a package destined for main/restricted
#
# Copyright (C) 2011 Canonical
#
# Authors:
# Martin Pitt
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
# Foundation; version 3.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
# pylint: disable=invalid-name
# pylint: enable=invalid-name
"""Check if any of a package's build or binary dependencies are in universe or multiverse.
Run this inside an unpacked source package
"""
import argparse
import os.path
import sys
import apt
def check_support(apt_cache, pkgname, alt=False):
"""Check if pkgname is in main or restricted.
This prints messages if a package is not in main/restricted, or only
partially (i. e. source in main, but binary in universe).
"""
if alt:
prefix = " ... alternative " + pkgname
else:
prefix = " * " + pkgname
prov_packages = apt_cache.get_providing_packages(pkgname)
if pkgname in apt_cache:
pkg = apt_cache[pkgname]
# If this is a virtual package, iterate through the binary packages that
# provide this, and ensure they are all in Main. Source packages in and of
# themselves cannot provide virtual packages, only binary packages can.
elif len(prov_packages) > 0:
supported, unsupported = [], []
for pkg in prov_packages:
candidate = pkg.candidate
if candidate:
section = candidate.section
if section.startswith("universe") or section.startswith("multiverse"):
unsupported.append(pkg.name)
else:
supported.append(pkg.name)
if len(supported) > 0:
msg = "is a virtual package, which is provided by the following "
msg += "candidates in Main: " + " ".join(supported)
print(prefix, msg)
elif len(unsupported) > 0:
msg = "is a virtual package, but is only provided by the "
msg += "following non-Main candidates: " + " ".join(unsupported)
print(prefix, msg, file=sys.stderr)
return False
else:
msg = "is a virtual package that exists but is not provided by "
msg += "package currently in the archive. Proceed with caution."
print(prefix, msg, file=sys.stderr)
return False
else:
print(prefix, "does not exist", file=sys.stderr)
return False
section = pkg.candidate.section
if section.startswith("universe") or section.startswith("multiverse"):
# check if the source package is in main and thus will only need binary
# promotion
source_records = apt.apt_pkg.SourceRecords()
if not source_records.lookup(pkg.candidate.source_name):
print("ERROR: Cannot lookup source package for", pkg.name, file=sys.stderr)
print(prefix, "package is in", section.split("/")[0])
return False
src = apt.apt_pkg.TagSection(source_records.record)
if src["Section"].startswith("universe") or src["Section"].startswith("multiverse"):
print(prefix, "binary and source package is in", section.split("/")[0])
return False
print(
prefix,
"is in",
section.split("/")[0] + ", but its source",
pkg.candidate.source_name,
"is already in main; file an ubuntu-archive bug for "
"promoting the current preferred alternative",
)
return True
if alt:
print(prefix, "is already in main; consider preferring it")
return True
def check_build_dependencies(apt_cache, control):
print("Checking support status of build dependencies...")
any_unsupported = False
for field in ("Build-Depends", "Build-Depends-Indep"):
if field not in control.section:
continue
for or_group in apt.apt_pkg.parse_src_depends(control.section[field]):
pkgname = or_group[0][0]
# debhelper-compat is expected to be a build dependency of every
# package, so it is a red herring to display it in this report.
# (src:debhelper is in Ubuntu Main anyway)
if pkgname == "debhelper-compat":
continue
if not check_support(apt_cache, pkgname):
# check non-preferred alternatives
for altpkg in or_group[1:]:
if check_support(apt_cache, altpkg[0], alt=True):
break
else:
any_unsupported = True
return any_unsupported
def check_binary_dependencies(apt_cache, control):
any_unsupported = False
print("\nChecking support status of binary dependencies...")
while True:
try:
next(control)
except StopIteration:
break
for field in ("Depends", "Pre-Depends", "Recommends"):
if field not in control.section:
continue
for or_group in apt.apt_pkg.parse_src_depends(control.section[field]):
pkgname = or_group[0][0]
if pkgname.startswith("$"):
continue
if not check_support(apt_cache, pkgname):
# check non-preferred alternatives
for altpkg in or_group[1:]:
if check_support(apt_cache, altpkg[0], alt=True):
break
else:
any_unsupported = True
return any_unsupported
def main():
parser = argparse.ArgumentParser(description=__doc__)
parser.parse_args()
apt_cache = apt.Cache()
if not os.path.exists("debian/control"):
print(
"debian/control not found. You need to run this tool in a source package directory",
file=sys.stderr,
)
sys.exit(1)
# get build dependencies from debian/control
control = apt.apt_pkg.TagFile(open("debian/control", encoding="utf-8"))
next(control)
unsupported_build_deps = check_build_dependencies(apt_cache, control)
unsupported_binary_deps = check_binary_dependencies(apt_cache, control)
if unsupported_build_deps or unsupported_binary_deps:
print(
"\nPlease check https://wiki.ubuntu.com/MainInclusionProcess if "
"this source package needs to get into in main/restricted, or "
"reconsider if the package really needs above dependencies."
)
else:
print("All dependencies are supported in main or restricted.")
if __name__ == "__main__":
main()

View File

@ -8,7 +8,7 @@
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 2.
#
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
@ -21,63 +21,22 @@
# This script is used to get a diff of the exported symbols of all .so files in
# every binary package of package $1.
# Required tools (besides awk, coreutils, grep and sed):
# * apt-cache and apt-get (from apt)
# * diff (from diffutils)
# * dpkg
# * lsb_release (from lsb-release)
# * nm (from binutils)
DISTRO=$(lsb_release -c -s)
VERSION=$(apt-cache madison "$1" | grep -- "$DISTRO"'/.*Sources$' | awk '{print $3}')
PACKAGES=$(apt-cache showsrc "$1" | grep-dctrl -s Binary -F Version "$VERSION" | sed 's/Binary\:\ //g;s/\,//g' | sort -u)
DEBLINE=""
DEBUG=False
usage() {
prog=$(basename $0)
cat <<EOF
Usage: $prog [options] source-package [DEBDIR]
Get a diff of the exported symbols of all .so files in every binary package of
package the source package. The source package will be found in DEBDIR, defaulting to /var/cache/pbuilder/result.
Options:
-h, --help show this help message and exit
EOF
exit $1
}
PACKAGE=""
DEBDIR="/var/cache/pbuilder/result"
POSITION=0
while [ $# -gt 0 ]; do
case "$1" in
-h|--help)
usage 0
;;
-*)
usage 1
;;
*)
if [ $POSITION -eq 0 ]; then
PACKAGE="$1"
elif [ $POSITION -eq 1 ]; then
DEBDIR="$1"
else
echo "Too many arguments." >&2
usage 1
fi
POSITION=$(($POSITION+1))
esac
shift
done
if [ $POSITION -eq 0 ]; then
echo "Missing argument: source package name." >&2
usage 1
if [[ -z $1 ]]; then
echo "Missing argument: source package name."
exit 1
fi
VERSION=$(apt-cache madison "$PACKAGE" | grep -- "$DISTRO"'/.*Sources$' | awk '{print $3}')
PACKAGES=$(apt-cache showsrc "$PACKAGE" | grep-dctrl -s Binary -F Version "$VERSION" | sed 's/Binary\:\ //g;s/\,//g' | sort -u)
if [[ -z $2 ]]; then
DEBDIR="/var/cache/pbuilder/result"
else
DEBDIR="$2"
fi
if [ `id -u` != "0" ]
then
@ -101,7 +60,7 @@ do
done
if [[ -z $DEBLINE ]]; then
echo "Package doesn't exist: $PACKAGE."
echo "Package doesn't exist: $1."
exit 1
fi
@ -131,4 +90,4 @@ do
diff -u /tmp/$LIBNAME.{old,new}
rm /tmp/$LIBNAME.{old,new}
done;
done
done

View File

@ -1,7 +1,6 @@
#!/usr/bin/perl
#
# Copyright (C) 2007-2008 Canonical, Ltd.,
# 2011, Stefano Rivera <stefanor@ubuntu.com>
# Copyright (C) 2007-2008 Canonical, Ltd.
# Author: Kees Cook <kees@ubuntu.com>
#
# ##################################################################
@ -10,7 +9,7 @@
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version.
#
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
@ -48,11 +47,11 @@ EOM
exit(0);
}
my @releases = undef;
our $devel_release = undef;
my @releases = ('dapper', 'hardy', 'jaunty', 'karmic', 'lucid', 'maverick', 'natty');
#Getopt::Long::Configure("bundling", "no_ignore_case");
our $opt_build_tree = "/scratch/ubuntu/build";
our $opt_devel_release = $releases[$#releases];
our $opt_pocket = undef;
our $opt_package = undef;
our $opt_source_release = undef;
@ -71,10 +70,6 @@ Usage() unless (GetOptions(
));
Usage() if ($opt_help);
@releases = split(/\s+/, `ubuntu-distro-info --supported`);
$devel_release = `ubuntu-distro-info --devel`;
chomp($devel_release);
sub get_changelog($)
{
my ($path) = @_;
@ -140,9 +135,9 @@ warn "package: '$opt_package\n" if ($opt_verbose);
# By default, take changelog from newer release
if (!defined($opt_source_release)) {
if ($opt_target_release eq $devel_release) {
die "No more recent release than '$devel_release' to take changelog from\n";
}
if ($opt_target_release eq $opt_devel_release) {
die "No more recent release than '$opt_devel_release' to take changelog from\n";
}
foreach my $i (0 .. $#releases) {
if ($releases[$i] eq $opt_target_release) {
$opt_source_release = $releases[$i+1];
@ -153,11 +148,11 @@ if (!defined($opt_source_release)) {
}
}
warn "source-release: '$opt_source_release\n" if ($opt_verbose);
warn "devel-release: '$devel_release\n" if ($opt_verbose);
warn "devel-release: '$opt_devel_release\n" if ($opt_verbose);
# By default, use "security" pocket for non-devel releases
if (!defined($opt_pocket)) {
if ($opt_target_release eq $devel_release) {
if ($opt_target_release eq $opt_devel_release) {
$opt_pocket = "";
}
else {

1
debian/.gitignore vendored
View File

@ -1 +0,0 @@
files

49
debian/NEWS vendored
View File

@ -1,49 +0,0 @@
ubuntu-dev-tools (0.135) unstable; urgency=low
reverse-build-depends was removed from ubuntu-dev-tools. reverse-depends -b
is equivalent.
-- Stefano Rivera <stefanor@debian.org> Sat, 12 Nov 2011 13:11:21 +0200
ubuntu-dev-tools (0.131) unstable; urgency=low
get-build-deps was removed from ubuntu-dev-tools. The newer mk-build-deps in
devscripts is equivalent (with the -ir options).
-- Stefano Rivera <stefanor@debian.org> Sat, 10 Sep 2011 00:13:18 +0200
ubuntu-dev-tools (0.129) unstable; urgency=low
Several tools that worked against Launchpad but were not specific to Ubuntu
have been migrated to the "lptools" project.
The following tools have moved:
- get-branches (renamed to lp-get-branches)
- grab-attachments (renamed to lp-grab-attachments)
- lp-project-upload
- lp-list-bugs
- lp-set-dup
- lp-shell
They can now be found in the lptools package (version 0.0.1~bzr28-1 or
later).
-- Jelmer Vernooij <jelmer@debian.org> Fri, 02 Sep 2011 13:43:34 +0200
ubuntu-dev-tools (0.119) unstable; urgency=low
launchpadlib 1.9 will cause some issues, as it uses the GNOME Keyring / KDE
wallet to store credentials.
https://help.launchpad.net/API/ThirdPartyIntegration
Known issues and workarounds:
Seeing keyring.backend.PasswordSetError or gnomekeyring.IOError when
using ubuntu-dev-tools on a remote machine?
Try ssh -X and run export `dbus-launch` in the ssh session.
Otherwise, uninstalling python-gnomekeyring will force the credentials to be
stored in ~/keyring_pass.cfg instead of a keyring, and bypass all these
issues.
-- Stefano Rivera <stefanor@debian.org> Tue, 01 Mar 2011 15:01:01 +0200

26
debian/README.source vendored
View File

@ -1,26 +0,0 @@
Changelog generation and releasing
----------------------------------
The changelog is generated by the uploader using `gbp dch' from
`git-buildpackage'. To invoke, just run
$ gbp dch
and then edit the changelog as appropriate - wrap lines, remove Signed-Off-By,
and so on. Then finalise the changelog, e.g.
$ dch -D unstable --release ""
commit it
$ git commit debian/changelog -m "Releasing 0.foo"
and tag/sign this commit
$ gbp buildpackage --git-tag-only
then build using (for example)
$ gbp buildpackage -S
and test/upload as normal.

2130
debian/changelog vendored

File diff suppressed because it is too large Load Diff

1
debian/clean vendored
View File

@ -1 +0,0 @@
*.egg-info/

1
debian/compat vendored Normal file
View File

@ -0,0 +1 @@
7

183
debian/control vendored
View File

@ -1,102 +1,73 @@
Source: ubuntu-dev-tools
Section: devel
Priority: optional
Maintainer: Ubuntu Developers <ubuntu-dev-tools@packages.debian.org>
Uploaders:
Benjamin Drung <bdrung@debian.org>,
Stefano Rivera <stefanor@debian.org>,
Mattia Rizzolo <mattia@debian.org>,
Simon Quigley <tsimonq2@debian.org>,
Build-Depends:
black <!nocheck>,
dctrl-tools,
debhelper-compat (= 13),
devscripts (>= 2.11.0~),
dh-make,
dh-python,
distro-info (>= 0.2~),
flake8,
isort <!nocheck>,
lsb-release,
pylint <!nocheck>,
python3-all,
python3-apt,
python3-dateutil,
python3-debian,
python3-debianbts,
python3-distro-info,
python3-httplib2,
python3-launchpadlib-desktop,
python3-pytest,
python3-requests <!nocheck>,
python3-setuptools,
python3-yaml <!nocheck>,
Standards-Version: 4.7.2
Rules-Requires-Root: no
Vcs-Git: https://git.launchpad.net/ubuntu-dev-tools
Vcs-Browser: https://git.launchpad.net/ubuntu-dev-tools
Homepage: https://launchpad.net/ubuntu-dev-tools
Maintainer: Ubuntu Developers <ubuntu-dev-team@lists.alioth.debian.org>
Uploaders: Luca Falavigna <dktrkranz@debian.org>,
Benjamin Drung <bdrung@ubuntu.com>
Vcs-Bzr: http://bazaar.launchpad.net/~ubuntu-dev/ubuntu-dev-tools/trunk
Vcs-Browser: http://codebrowse.launchpad.net/~ubuntu-dev/ubuntu-dev-tools/trunk/changes
Build-Depends: debhelper (>= 7), python (>= 2.5)
Build-Depends-Indep: python-support (>= 0.5.3)
DM-Upload-Allowed: yes
XS-Python-Version: >= 2.5
Homepage: https://launchpad.net/ubuntu-dev-tools/
Standards-Version: 3.9.1
Package: ubuntu-dev-tools
Architecture: all
Depends:
binutils,
dctrl-tools,
devscripts (>= 2.11.0~),
diffstat,
distro-info (>= 0.2~),
dpkg-dev,
dput,
lsb-release,
python3,
python3-apt,
python3-debian,
python3-debianbts,
python3-distro-info,
python3-httplib2,
python3-launchpadlib-desktop,
python3-lazr.restfulclient,
python3-ubuntutools (= ${binary:Version}),
python3-yaml,
sensible-utils,
sudo,
tzdata,
${misc:Depends},
${perl:Depends},
Recommends:
arch-test,
ca-certificates,
debian-archive-keyring,
debian-keyring,
debootstrap,
genisoimage,
lintian,
patch,
sbuild | pbuilder | cowbuilder,
python3-dns,
quilt,
reportbug (>= 3.39ubuntu1),
ubuntu-keyring | ubuntu-archive-keyring,
Suggests:
bzr | brz,
bzr-builddeb | brz-debian,
qemu-user-static,
Depends: binutils,
dctrl-tools,
devscripts,
diffstat,
dpkg-dev,
lsb-release,
python-apt (>= 0.7.93~),
python-debian (>= 0.1.15),
python-launchpadlib (>= 1.5.7),
python-lazr.restfulclient,
sudo,
${misc:Depends},
${perl:Depends},
${python:Depends}
Recommends: bzr,
ca-certificates,
debootstrap,
genisoimage,
libapt-pkg-perl,
libwww-perl,
pbuilder | cowdancer | sbuild,
perl-modules,
python-magic,
python-soappy,
reportbug (>= 3.39ubuntu1)
Suggests: qemu-kvm-extras-static
Description: useful tools for Ubuntu developers
This is a collection of useful tools that Ubuntu developers use to make their
packaging work a lot easier.
.
Such tools include:
.
- backportpackage - helper to test package backports
- bitesize - add the 'bitesize' tag to a bug and comment that you are
willing to help fix it.
- check-mir - check support status of build/binary dependencies
- 404main - used to check what components a package's deps are in, for
doing a main inclusion report for example.
- check-symbols - will compare and give you a diff of the exported symbols of
all .so files in a binary package.
- dch-repeat - used to repeat a change log into an older release.
- dgetlp - download a source package from the Launchpad library.
- errno - search POSIX error codes by error number, name, or description
- get-branches - used to branch/checkout all the bzr branches in a Launchpad
team.
- get-build-deps - install the build dependencies needed for a package
reading debian/control.
- grab-attachments - download all bug attachments from a Launchpad bug
report.
- grab-merge - grabs a merge from merges.ubuntu.com easily.
- grep-merges - search for pending merges from Debian.
- hugdaylist - compile HugDay lists from bug list URLs.
- import-bug-from-debian - copy a bug from the Debian BTS to Launchpad
- lp-list-bugs - briefly list status of Launchpad bugs.
- lp-project-upload - upload a release tarball to a Launchpad project
- lp-set-dup - sets the "duplicate of" bug of a bug and its dups.
- manage-credentials - manage Launchpad token credentials.
- massfile - fill multiple bugs using a template.
- merge-changelog - manually merges two Debian changelogs with the same base
version.
- mk-sbuild - script to create LVM snapshot chroots via schroot and
@ -105,51 +76,25 @@ Description: useful tools for Ubuntu developers
chroots (for different Ubuntu and Debian releases) on the same system.
- pull-debian-debdiff - attempts to find and download a specific version of
a Debian package and its immediate parent to generate a debdiff.
- pull-debian-source - downloads the latest source package available in
- pull-debian-source - downloads the lastest source package available in
Debian of a package.
- pull-lp-source - downloads source package from Launchpad.
- pull-lp-debs - downloads debs package(s) from Launchpad.
- pull-lp-ddebs - downloads dbgsym/ddebs package(s) from Launchpad.
- pull-lp-udebs - downloads udebs package(s) from Launchpad.
- pull-debian-* - same as pull-lp-* but for Debian packages.
- pull-uca-* - same as pull-lp-* but for Ubuntu Cloud Archive packages.
- pull-pkg - common script that provides above pull-* functionality.
- requestbackport - file a backporting request.
- requestsync - files a sync request with Debian changelog and rationale.
- reverse-depends - find the reverse dependencies (or build dependencies) of
a package.
- running-autopkgtests - lists the currently running and/or queued
autopkgtests on the Ubuntu autopkgtest infrastructure
- seeded-in-ubuntu - query if a package is safe to upload during a freeze.
- pull-lp-source - downloads lastest source package from Launchpad.
- pull-revu-source - downloads the latest source package from REVU
- requestsync - files a sync request with Debian changelog and ratione.
- reverse-build-depends - find the reverse build dependencies that a package
has.
- setup-packaging-environment - assistant to get an Ubuntu installation
ready for packaging work.
- sponsor-patch - Downloads a patch from a Launchpad bug, patches the source
package, and uploads it (to Ubuntu or a PPA)
- submittodebian - automatically send your changes to Debian as a bug report.
- suspicious-source - outputs a list of files which are not common source
files.
- syncpackage - helper to prepare .changes file to upload synced packages
- ubuntu-build - give commands to the Launchpad build daemons from the
command line.
- ubuntu-iso - output information of an Ubuntu ISO image.
- ubuntu-upload-permission - query / list the upload permissions for a
package.
- update-maintainer - script to update maintainer field in ubuntu packages.
Package: python3-ubuntutools
Architecture: all
Section: python
Depends:
python3-dateutil,
python3-debian,
python3-distro-info,
python3-httplib2,
python3-launchpadlib-desktop,
python3-lazr.restfulclient,
python3-requests,
sensible-utils,
${misc:Depends},
${python3:Depends},
Description: useful APIs for Ubuntu developer tools — Python 3 library
This package ships a collection of APIs, helpers and wrappers used to
develop useful utilities for Ubuntu developers.
.
This package installs the library for Python 3.
- what-patch - determines what patch system, if any, a source package is
using.
- wrap-and-sort - wrap long lines and sort items in packaging files.

302
debian/copyright vendored
View File

@ -1,204 +1,108 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: Ubuntu Developer Tools
Upstream-Contact: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Source: https://launchpad.net/ubuntu-dev-tools
This package was re-debianized by Daniel Holbach <daniel.holbach@ubuntu.com> on
Fri, 01 Jun 2007 11:30:08 +0200.
Files: backportpackage
bash_completion/pbuilder-dist
check-symbols
debian/*
doc/backportpackage.1
doc/check-symbols.1
doc/requestsync.1
doc/ubuntu-iso.1
doc/running-autopkgtests.1
GPL-2
README.updates
requestsync
setup.py
TODO
ubuntu-iso
ubuntutools/requestsync/*.py
Copyright: 2007, Albert Damen <albrt@gmx.net>
2010-2024, Benjamin Drung <bdrung@ubuntu.com>
2007-2023, Canonical Ltd.
2006-2007, Daniel Holbach <daniel.holbach@ubuntu.com>
2010, Evan Broder <evan@ebroder.net>
2006-2007, Luke Yelavich <themuso@ubuntu.com>
2009-2010, Michael Bienia <geser@ubuntu.com>
2024-2025, Simon Quigley <tsimonq2@debian.org>
2010-2011, Stefano Rivera <stefanor@ubuntu.com>
2008, Stephan Hermann <sh@sourcecode.de>
2007, Steve Kowalik <stevenk@ubuntu.com>
License: GPL-2
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, version 2 of the License.
.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
.
On Debian systems, the complete text of the GNU General Public License
version 2 can be found in the /usr/share/common-licenses/GPL-2 file.
Upstream Authors:
Files: doc/import-bug-from-debian.1
doc/pbuilder-dist-simple.1
doc/pbuilder-dist.1
doc/submittodebian.1
import-bug-from-debian
pbuilder-dist
pbuilder-dist-simple
submittodebian
Copyright: 2007-2010, Canonical Ltd.
2009, James Westby <james.westby@ubuntu.com>
2008, Jamin W. Collins <jcollins@asgardsrealm.net>
2008, Jordan Mantha <mantha@ubuntu.com>
2006-2007, Pete Savage <petesavage@ubuntu.com>
2009, Ryan Kavanagh <ryanakca@kubuntu.org>
2007, Siegfried-Angel Gevatter Pujals <rainct@ubuntu.com>
2010-2011, Stefano Rivera <stefanor@ubuntu.com>
2008, Terence Simpson <tsimpson@ubuntu.com>
License: GPL-2+
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
.
On Debian systems, the complete text of the GNU General Public License
version 2 can be found in the /usr/share/common-licenses/GPL-2 file.
Albert Damen <albrt@gmx.net>
Albin Tonnerre <lut1n.tne@gmail.com>
Benjamin Drung <bdrung@ubuntu.com>
Bryce Harrington <bryce@ubuntu.com>
Colin Watson <cjwatson@ubuntu.com>
Daniel Hahler <ubuntu@thequod.de>
Daniel Holbach <daniel.holbach@ubuntu.com>
Dustin Kirkland <kirkland@ubuntu.com>
Emmet Hikory <persia@ubuntu.com>
Iain Lane <iain@orangesquash.org.uk>
James Westby <james.westby@ubuntu.com>
Jamin W. Collins <jcollins@asgardsrealm.net>
Jonathan Davies <jpds@ubuntu.com>
Jordan Mantha <mantha@ubuntu.com>
Kees Cook <kees@ubuntu.com>
Luke Yelavich <themuso@ubuntu.com>
Markus Korn <thekorn@gmx.de>
Martin Pitt <martin.pitt@ubuntu.com>
Matt Zimmerman <mdz@ubuntu.com>
Michael Bienia <geser@ubuntu.com>
Pete Savage <petesavage@ubuntu.com>
Scott Moser <smoser@ubuntu.com>
Scott James Remnant <scott@ubuntu.com>
Siegfried-A. Gevatter <rainct@ubuntu.com>
Soren Hansen <soren@ubuntu.com>
Stefano Rivera <stefanor@ubuntu.com>
Steve Kowalik <stevenk@ubuntu.com>
Terence Simpson <stdin@stdin.me.uk>
Nathan Handler <nhandler@ubuntu.com>
Files: doc/lp-bitesize.1
doc/check-mir.1
doc/grab-merge.1
doc/merge-changelog.1
doc/pm-helper.1
doc/setup-packaging-environment.1
doc/syncpackage.1
lp-bitesize
check-mir
GPL-3
grab-merge
merge-changelog
pm-helper
pyproject.toml
run-linters
running-autopkgtests
setup-packaging-environment
syncpackage
ubuntutools/running_autopkgtests.py
ubuntutools/utils.py
Copyright: 2010-2024, Benjamin Drung <bdrung@ubuntu.com>
2007-2024, Canonical Ltd.
2008, Jonathan Patrick Davies <jpds@ubuntu.com>
2008-2010, Martin Pitt <martin.pitt@canonical.com>
2009, Siegfried-Angel Gevatter Pujals <rainct@ubuntu.com>
2010-2011, Stefano Rivera <stefanor@ubuntu.com>
License: GPL-3
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, version 3 of the License.
.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
.
On Debian systems, the complete text of the GNU General Public License
version 3 can be found in the /usr/share/common-licenses/GPL-3 file.
Copyright:
Files: dch-repeat
doc/dch-repeat.1
doc/grep-merges.1
doc/mk-sbuild.1
doc/pull-pkg.1
doc/ubuntu-build.1
grep-merges
mk-sbuild
pull-pkg
pull-*debs
pull-*-source
requirements.txt
test-requirements.txt
tox.ini
ubuntu-build
ubuntutools/__init__.py
ubuntutools/lp/__init__.py
ubuntutools/lp/lpapicache.py
ubuntutools/lp/udtexceptions.py
ubuntutools/misc.py
ubuntutools/pullpkg.py
Copyright: 2007-2010, Canonical Ltd.
2008-2009, Iain Lane <iain@orangesquash.org.uk>
2006, John Dong <jdong@ubuntu.com>
2009, Jonathan Davies <jpds@ubuntu.com>
2009, Markus Korn <thekorn@gmx.de>
2009-2010, Michael Bienia <geser@ubuntu.com>
2009, Nathan Handler <nhandler@ubuntu.com>
2007-2008, Siegfried-Angel Gevatter Pujals <rainct@ubuntu.com>
2010-2012, Stefano Rivera <stefanor@ubuntu.com>
2012, Steve Langasek <steve.langasek@ubuntu.com>
License: GPL-3+
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
.
On Debian systems, the complete text of the GNU General Public License
version 3 can be found in the /usr/share/common-licenses/GPL-3 file.
© 2006-2010, Canonical Ltd.
© 2007, Albert Damen <albrt@gmx.net>
© 2006-2007, Albin Tonnerre <lut1n.tne@gmail.com>
© 2010, Benjamin Drung <bdrung@ubuntu.com>
© 2006-2007, Daniel Holbach <daniel.holbach@ubuntu.com>
© 2010, Dustin Kirkland <kirkland@ubuntu.com>
© 2008, Iain Lane <iain@orangesquash.org.uk>
© 2009, James Westby <james.westby@ubuntu.com>
© Jamin W. Collins <jcollins@asgardsrealm.net>
© 2008-2009, Jonathan Davies <jpds@ubuntu.com>
© Jordan Mantha <mantha@ubuntu.com>
© 2006-2008, Kees Cook <kees@ubuntu.com>
© 2006-2007, Luke Yelavich <themuso@ubuntu.com>
© 2009, Markus Korn <thekorn@gmx.de>
© 2007, Martin Pitt <martin.pitt@ubuntu.com>
© 2006-2007, Michael Bienia <geser@ubuntu.com>
© 2008, 2009, Nathan Handler <nhandler@ubuntu.com>
© Patrick Schoenfeld <schoenfeld@debian.org>
© 2006-2007, Pete Savage <petesavage@ubuntu.com>
© 2009-2010 Ryan Kavanagh <ryanakca@kubuntu.org>
© 2007-2010, Siegfried-A. Gevatter <rainct@ubuntu.com>
© 2010, Stefano Rivera <stefanor@ubuntu.com>
© 2008, Stephan Hermann <sh@sourcecode.de>
© 2007 Steve Kowalik <stevenk@ubuntu.com>
© 2007-2008, Terence Simpson <stdin@stdin.me.uk>
Files: doc/pull-debian-debdiff.1
doc/requestbackport.1
doc/reverse-depends.1
doc/seeded-in-ubuntu.1
doc/sponsor-patch.1
doc/ubuntu-dev-tools.5
doc/ubuntu-upload-permission.1
doc/update-maintainer.1
enforced-editing-wrapper
pull-debian-debdiff
requestbackport
reverse-depends
seeded-in-ubuntu
sponsor-patch
ubuntu-upload-permission
ubuntutools/archive.py
ubuntutools/builder.py
ubuntutools/config.py
ubuntutools/question.py
ubuntutools/rdepends.py
ubuntutools/sponsor_patch/*
ubuntutools/test/*
ubuntutools/update_maintainer.py
ubuntutools/version.py
update-maintainer
.pylintrc
Copyright: 2009-2024, Benjamin Drung <bdrung@ubuntu.com>
2010, Evan Broder <evan@ebroder.net>
2008, Siegfried-Angel Gevatter Pujals <rainct@ubuntu.com>
2010-2011, Stefano Rivera <stefanor@ubuntu.com>
2017-2021, Dan Streetman <ddstreet@canonical.com>
2024, Canonical Ltd.
License: ISC
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
Licenses:
404main, check-symbols, dgetlp, import-bug-from-debian, lp-project-upload,
lp-set-dup, pbuilder-dist, pbuilder-dist-simple, requestsync,
reverse-build-depends, submittodebian, ubuntuiso, and update-maintainer are
licensed under the GNU General Public License, version 2:
This package is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, at version 2.
This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
On Debian and Ubuntu systems, the complete text of the GNU General Public
License v2 can be found in `/usr/share/common-licenses/GPL-2'.
dch-repeat, errno, get-branches, get-build-deps, grab-attachments, grab-merge,
hugdaylist, lp-list-bugs, manage-credentials, massfile, merge-changelog,
mk-sbuild, pbuilder-dist-simple, pull-debian-debdiff, pull-debian-source,
pull-lp-source, pull-revu-source, setup-packaging-environment,
suspicious-source, ubuntu-build and what-patch are licensed under the GNU
General Public License, version 3:
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, at version 3.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
On Debian and Ubuntu systems, the complete text of the GNU General Public
License v3 can be found in `/usr/share/common-licenses/GPL-3'.
The following scripts can be used, at your option, regarding any later
version of the previously specified license: 404main, dch-repeat, dgetlp,
get-build-deps, import-bug-from-debian, lp-list-bugs, lp-project-upload,
lp-set-dup, manage-credentials, mk-sbuild-lv, pbuilder-dist,
pull-debian-debdiff, pull-debian-source, pull-lp-source, pull-revu-source,
reverse-build-depends, setup-packaging-environment, submittodebian,
suspicious-source, syncpackage, ubuntu-build, what-patch.

9
debian/gbp.conf vendored
View File

@ -1,9 +0,0 @@
[DEFAULT]
debian-tag = %(version)s
debian-branch = master
sign-tags = True
[dch]
meta = True
auto = True
full = True

1
debian/pycompat vendored Normal file
View File

@ -0,0 +1 @@
2

View File

@ -1 +0,0 @@
/usr/lib/python3.*

12
debian/rules vendored
View File

@ -1,14 +1,4 @@
#!/usr/bin/make -f
override_dh_auto_clean:
dh_auto_clean
rm -f .coverage
rm -rf .tox
override_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
python3 -m pytest -v ubuntutools
endif
%:
dh $@ --with python3 --buildsystem=pybuild
dh $@

View File

@ -1,3 +0,0 @@
# pyc files are machine-generated; they're expected to have long lines and have unstated copyright
source: file-without-copyright-information *.pyc [debian/copyright]
source: very-long-line-length-in-source-file * > 512 [*.pyc:*]

View File

@ -1,7 +0,0 @@
Test-Command: python3 -m pytest -v ubuntutools
Depends:
dh-make,
python3-pytest,
python3-setuptools,
@,
Restrictions: allow-stderr

1
debian/ubuntu-dev-tools.examples vendored Normal file
View File

@ -0,0 +1 @@
examples/*

View File

@ -1,2 +1 @@
/usr/bin
/usr/share
bash_completion/* etc/bash_completion.d/

20
debian/ubuntu-dev-tools.preinst vendored Normal file
View File

@ -0,0 +1,20 @@
#!/bin/sh
set -e
if [ -e /etc/bash_completion.d/pbuilder-dist/pbuilder-dist ]; then
tmp_file="$(mktemp /etc/bash_completion.d/pbuilder-dist.XXXXXX)"
mv -fv /etc/bash_completion.d/pbuilder-dist/pbuilder-dist \
"$tmp_file"
rmdir --ignore-fail-on-non-empty /etc/bash_completion.d/pbuilder-dist
# dir non-empty
if [ -d /etc/bash_completion.d/pbuilder-dist ]; then
echo "W: /etc/bash_completion.d/pbuilder-dist not empty; moving /etc/bash_completion.d/pbuilder-dist out of the way"
mv -fv /etc/bash_completion.d/pbuilder-dist /etc/bash_completion.d/pbuilder-dist.dpkg-disabled
fi
mv -fv "$tmp_file" /etc/bash_completion.d/pbuilder-dist
fi
#DEBHELPER#

320
dgetlp Executable file
View File

@ -0,0 +1,320 @@
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# Copyright (C) 2008 Terence Simpson <tsimpson@ubuntu.com>
# License:
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# This script simulates «dget»'s behaviour for files hosted at
# launchpadlibrarian.net.
#
# Detailed description:
# This script attempts to download the source package in the same
# way as dget does, but from launchpadlibrarian.net, which doesn't
# store all the files in the same directory. It (the script) assumes
# that the files are stored in sequential directories on Launchpad
# Librarian and attempts to download and then unpack them.
# This is a Python rewrite of the original bash script
import sys, os
from optparse import OptionParser
import urllib2
import hashlib
import subprocess
import GnuPGInterface
from cStringIO import StringIO
from email import FeedParser
Usage = u"""Usage: %prog [-d|(-v|-q)] <Launchpad URL>
This scripts simulates «dget»'s behaviour for files hosted at
launchpadlibrarian.net.
If you specify the -d option then it won't do anything, except download the
.dsc file, but just print the commands it would run otherwise.
Example:
%prog http://launchpadlibrarian.net/10348157/coreutils_5.97-5.4ubuntu1.dsc
"""
unpack_cmd = "dpkg-source -x "
base_url = "http://launchpadlibrarian.net/"
Debug = Verbose = Quiet = False
def Unsign(data):
if data.splitlines()[0] != "-----BEGIN PGP SIGNED MESSAGE-----":
return data
oldstdout = sys.stdout
oldstderr = sys.stderr
sys.stdout = sys.__stdout__
sys.stderr = sys.__stderr__
gpg = GnuPGInterface.GnuPG()
proc = gpg.run(["--decrypt"], create_fhs=['stdin', 'stdout'])
proc.handles['stdin'].write(data)
proc.handles['stdin'].close()
plain = proc.handles['stdout'].read()
proc.handles['stdout'].close()
try:
proc.wait()
except:
pass
sys.stdout = oldstdout
sys.stderr = oldstderr
return plain
def getEntries(data):
parser = FeedParser.FeedParser()
parser.feed(data)
return parser.close()
class DscParse(object):
"""Attempt to get the file list from the .dsc file"""
def __init__(self, data):
"""
__init__(data)
Given the contents of a .dsc, parse it and extract it's content
"""
self.entries = getEntries(Unsign(data))
self.files = [x.strip().split() for x in self.entries['Files'].splitlines()]
def verify_all(self):
"""
verify_all()
Verifies all the files, first checking the size, then the md5 sum.
Currently not used in this utility.
"""
assert self.files, "I have no files"
ret = []
for f in self.files:
ret.append(self.verify(f))
return ret
def verify(self, name):
"""
verify(name)
Verify the file 'name', first checking the size, then the md5 sum.
"""
assert self.files, "I have no files"
f = None
if isinstance(name, list):
f = name
else:
for i in self.files:
if i[2] == name:
f = i
if not f:
raise ValueError, "%s is not in the .dsc" % name
(sum, size, name) = tuple(f)
stat = os.stat(name)
if str(stat.st_size) != size:
return (False, name, "Expected a size of %s, got %s" % \
(size, stat.st_size))
return self.getsum(name, sum)
def getsum(self, name, sum=None):
"""
getsum(name[, sum])
Read the file 'name' (in 1MB chunks) and generate an md5 sum,
then compares that to the md5 sum in the .dsc file.
"""
chunk_size = 1073741824
fd = open(name, 'rb')
res = hashlib.md5()
if not sum:
assert self.files, "I have no files"
sum = [x[0] for x in self.files if x[2] == name][0]
data = fd.read(chunk_size)
while data:
res.update(data)
data = fd.read(chunk_size)
if res.hexdigest() != sum:
return (False, name, "Expected md5sum of %r, got %r" % \
(sum, res.hexdigest()) )
return (True, name, None)
def isNative(self):
"""
isNative()
Returns True if this .dsc describes a native debian package;
else false.
"""
return len(self.files) == 1
# Access to fields in the .dsc via a dict-like interface
def __getitem__(self, item):
"""
x.__getitem(item) -> x[item]
"""
return self.entries.__getitem__(item)
def __contains__(self, item):
"""
x.__contains__(item) -> item in x
"""
return self.entries.__contains__(item)
def __getattr__(self, attr):
"""
x.__getattr__(attr) -> item.attr
"""
return getattr(self.entries, attr)
def error(ret, msg, *args):
"""Prints an error message, unless quiet is set, and exits with ret"""
if not Quiet:
print >> sys.stderr, msg % args
sys.exit(ret)
def debug(msg, *args):
"""If debugging is enabled, print a message"""
if Debug:
print >> sys.stderr, msg % args
def info(msg, *args):
"""If verbose is enabled, print a message"""
if Verbose:
print msg % tuple(args)
def status(msg, *args):
"""Prints a message, unless quiet is enabled"""
if not Quiet:
print msg % tuple(args)
def Download(dscinfo, number, filename, verify=True):
"""Download filename"""
ftype = filename.endswith(".diff.gz") and "diff.gz" or \
filename.endswith(".orig.tar.gz") and "orig.tar.gz" or \
filename.endswith(".dsc") and "dsc" or "tar.gz"
if verify and os.path.exists(filename):
info('Verifying "%s"', filename)
res = dscinfo.verify(filename)
if not res[0]:
error(104, "Verification of %s failed: %s", filename, res[2])
status("Getting %s", filename)
debug("%s%s/%s", base_url,number,filename)
try:
fd = urllib2.urlopen("%s%s/%s" % (base_url, number, filename))
outfd = open(filename, 'wb')
outfd.write(fd.read())
fd.close()
outfd.close()
except urllib2.URLError, e:
status("Failed to fetch «%s» file, aborting.", ftype)
error(105, "Error: %s", e)
except urllib2.HTTPError, e:
status("Failed to fetch «%s» file, aborting.", ftype)
error(106, "Error: (%d %s)", e.code, e.msg)
except IOError, e:
status('Could not create "%s"', filename)
error(107, "Error: %s", e)
def unpack():
out = open('/dev/null', 'w')
err = open('/dev/null', 'w')
ret = subprocess.call(unpack_cmd.split(), stdout=out, stderr=err)
out.close()
err.close()
if ret:
status("Failed to unpack source, aborting.")
sys.exit(108)
def getHost(url):
return urllib2.splithost(urllib2.splittype(url)[1])[0]
if __name__ == "__main__":
parser = OptionParser(usage=Usage)
parser.add_option("-d", "--debug", action="store_true", dest="debug",
default=False, help="Enable debugging")
parser.add_option("-v", "--verbose", action="store_true", dest="verbose",
default=False, help="Enable verbose output")
parser.add_option("-q", "--quiet", action="store_true", dest="quiet",
default=False, help="Never print any output")
(options, args) = parser.parse_args()
if len(args) != 1:
parser.error("Missing URL")
Debug = options.debug
Verbose = options.verbose
Quiet = options.quiet
if Verbose and Quiet:
error(4, "Specifying both --verbose and --quiet does not make sense")
if Quiet:
sys.stderr = StringIO()
sys.stdout = StringIO()
url = args[0]
if url.startswith("https://"):
url = url.replace("https://", "http://", 1)
if not url.startswith("http://"):
url = "http://" + url
if getHost(url).startswith("www."):
url = url.replace("www.", "", 1)
if getHost(url) != getHost(base_url):
error(1, "Error: This utility only works for files on %s.\nMaybe you want to try dget?", base_url)
(number, filename) = url.split('/')[3:]
if not filename.endswith('.dsc'):
error(2, "You have to provide the URL for the .dsc file.")
try:
number = int(number)
except:
error(3, "Bad URL format")
unpack_cmd += filename
if os.path.exists(filename):
os.remove(filename)
Download(None, number, filename, False)
try:
fd = open(filename)
dsc_data = fd.read()
fd.close()
except Exception, e:
status("Error: Please report this bug, providing the URL and attach"\
" the following backtrace")
raise
dscinfo = DscParse(dsc_data)
# launchpadlibrarian.net seems to store in this order:
# For native packages:
# <number>/.changes
# <number>+1/.tar.gz
# <number>+2/.dsc
# For non-native packages:
# <number>/.changes
# <number>+1/.orig.tar.gz
# <number>+2/.diff.gz
# <number>+3/.dsc
##
# *Assuming* this does not change, we can figure out where the files are on
# launchpadlibrarian.net relative to the .dsc file we're given.
# Only one file listed in the .dsc means it's native package
if len(dscinfo.files) == 1:
Download(dscinfo, number-1, dscinfo.files[0][-1]) # .tar.gz
else:
Download(dscinfo, number-1, dscinfo.files[1][-1]) # .diff.gz
Download(dscinfo, number-2, dscinfo.files[0][-1]) # .orig.tar.gz
status("Unpacking")
unpack()

29
doc/404main.1 Normal file
View File

@ -0,0 +1,29 @@
.TH 404main 1 "February 17, 2008" "ubuntu-dev-tools"
.SH NAME
404main \- check if all build dependencies of a package are in main
.SH SYNOPSIS
\fB404main\fP <\fIpackage name\fP> [<\fIdistribution\fP>]
.SH DESCRIPTION
\fB404main\fP is a script that can be used to check if a package and
all its build dependencies are in Ubuntu's main component or not.
.SH CAVEATS
\fB404main\fP will take the dependencies and build dependencies of the
packages from the distribution you have first in your
/etc/apt/sources.list file.
.PP
Also, because of this the <\fIdistribution\fP> option is NOT trustworthy; if
the dependencies changed YOU WILL GET INCORRECT RESULTS.
.SH SEE ALSO
.BR apt-cache (8)
.SH AUTHORS
\fB404main\fP was written by Pete Savage <petesavage@ubuntu.com> and
this manpage by Siegfried-Angel Gevatter Pujals <rainct@ubuntu.com>.
.PP
Both are released under the GNU General Public License, version 2 or
later.

View File

@ -1,190 +0,0 @@
.TH BACKPORTPACKAGE "1" "December 2010" "ubuntu-dev-tools"
.SH NAME
backportpackage \- helper to test package backports
.SH SYNOPSIS
.TP
.B backportpackage \fR[\fIadditional options\fR]
\-\-upload <\fIupload target\fR>
.br
<\fIsource package name or .dsc URL/file\fR>
.PP
.B backportpackage \-h
.SH DESCRIPTION
\fBbackportpackage\fR fetches a package from one distribution release
or from a specified .dsc path or URL and creates a no-change backport
of that package to one or more Ubuntu releases release, optionally
doing a test build of the package and/or uploading the resulting
backport for testing.
.PP
Unless a working directory is specified, the backported package is
fetched and built in a temporary directory in \fB/tmp\fR, which is
removed once the script finishes running.
.PP
\fBbackportpackage\fR is only recommended for testing backports in a
PPA, not uploading backports to the Ubuntu archive.
.SH OPTIONS
.TP
.B \-d \fIDEST\fR, \fB\-\-destination\fR=\fIDEST\fR
Backport the package to the specified Ubuntu release. If this option
is unspecified, then \fBbackportpackage\fR defaults to the release on
which it is currently running.
.TP
.B \-s \fISOURCE\fR, \fB\-\-source\fR=\fISOURCE\fR
Backport the package from the specified release, which can be any
release of your distribution or any of your distribution's parent
distributions. If neither this option nor \fB\-\-version\fR are
specified, then \fBbackportpackage\fR defaults to the current
development release for your distribution.
.TP
.B \-S \fISUFFIX\fR, \fB\-\-suffix\fR=\fISUFFIX\fR
Add the specified suffix to the version number when
backporting. \fBbackportpackage\fR will always append
~ubuntu\fIDESTINATION\fR.1 to the original version number, and if
\fISUFFIX\fR is specified, it is appended to that, to get version
numbers of the form
\fIORIGINAL_VERSION\fR~ubuntu\fIDESTINATION\fR.1\fISUFFIX\fR. If the
backported package is being uploaded to a PPA, then \fISUFFIX\fR
defaults to \fB~ppa1\fR, otherwise the default is blank.
.TP
.B \-b\fR, \fB\-\-build
Build the package with the specified builder before uploading. Note
for \fBcowbuilder\fR(8) and \fBpbuilder\fR(8) users:
This assumes the common configuration,
where the \fBARCH\fR and \fBDIST\fR environment is read by \fBpbuilderrc\fR(5)
to select the correct base image.
.TP
.B \-B \fIBUILDER\fR, \fB\-\-builder\fR=\fIBUILDER
Use the specified builder to build the package. Supported are
\fBcowbuilder\fR(8), \fBcowbuilder-dist\fR(1), \fBpbuilder\fR(8),
\fBpbuilder-dist\fR(1), and \fBsbuild\fR(1).
The default is \fBpbuilder\fR(8).
.TP
.B \-U\fR, \fB\-\-update
Update the build environment before attempting to build.
.TP
.B \-u \fIUPLOAD\fR, \fB\-\-upload\fR=\fIUPLOAD\fR
Upload to \fIUPLOAD\fR with \fBdput\fR(1) (after confirmation).
.TP
.B \-k \fIKEYID\fR, \fB\-\-key\fR=\fIKEYID\fR
Specify the key ID to be used for signing.
.TP
.B \-\-dont\-sign
Do not sign the upload.
.TP
.B \-y\fR, \fB\-\-yes
Do not prompt before uploading to a PPA. For everyone's safety, this
option is ignored if \fIUPLOAD\fR is \fBubuntu\fR.
.TP
.B \-v \fIVERSION\fR, \fB\-\-version\fR=\fIVERSION\fR
If the \fB\-\-source\fR option is specified, then
\fBbackportpackage\fR verifies that the current version of \fIsource
package\fR in \fISOURCE\fR is the same as \fIVERSION\fR. Otherwise,
\fBbackportpackage\fR finds version \fIVERSION\fR of \fIsource
package\fR in your distribution's publishing history, regardless of
the release in which it was published (or if that version is still
current). This option is ignored if a .dsc URL or path is passed in
instead of a source package name.
.TP
.B \-w \fIWORKDIR\fR, \fB\-\-workdir\fR=\fIWORKDIR\fR
If \fIWORKDIR\fR is specified, then all files are downloaded,
unpacked, built into, and otherwise manipulated in
\fIWORKDIR\fR. Otherwise, a temporary directory is created, which is
deleted before \fIbackportpackage\fR exits.
.TP
.B \-r\fR, \fB\-\-release\-pocket
Target the upload at the release pocket, rather than the
\fB\-backports\fR pocket.
This is required for Launchpad PPAs, which are pocket-less (and the
default, when the upload target is a PPA).
.TP
.B \-m \fIMIRROR\fR, \fB\-\-mirror\fR=\fIMIRROR\fR
Use the specified mirror.
Should be in the form \fBhttp://archive.ubuntu.com/ubuntu\fR.
If the package isn't found on this mirror, \fBbackportpackage\fR
will use Launchpad.
.TP
.B \-c \fIBUG\fR, \fB\-\-close\fR=\fIBUG\fR
Include a Launchpad closer for the specified bug in the auto-generated
changelog. In the future, this may actually close the bug, but
currently does not.
.TP
.B \-l \fIINSTANCE\fR, \fB\-\-lpinstance\fR=\fIINSTANCE\fR
Use the specified instance of Launchpad (e.g. "staging"), instead of
the default of "production".
.TP
.B \-\-no\-conf
Do not read any configuration files, or configuration from environment
variables.
.SH ENVIRONMENT
.TP
.BR DEBFULLNAME ", " DEBEMAIL ", " UBUMAIL
Used to determine the uploader (if not supplied as options).
See
.BR ubuntu\-dev\-tools (5)
for details.
.P
All of the \fBCONFIGURATION VARIABLES\fR below are also supported as
environment variables.
Variables in the environment take precedence to those in configuration
files.
.SH CONFIGURATION VARIABLES
The following variables can be set in the environment or in
.BR ubuntu\-dev\-tools (5)
configuration files.
In each case, the script\-specific variable takes precedence over the
package\-wide variable.
.TP
.BR BACKPORTPACKAGE_BUILDER ", " UBUNTUTOOLS_BUILDER
The default value for \fB\-\-builder\fR.
.TP
.BR BACKPORTPACKAGE_UPDATE_BUILDER ", " UBUNTUTOOLS_UPDATE_BUILDER
The default value for \fB--update\fR.
.TP
.B BACKPORTPACKAGE_UPLOAD
The default value for \fB--upload\fR.
.TP
.BR BACKPORTPACKAGE_WORKDIR ", " UBUNTUTOOLS_WORKDIR
The default value for \fB--workdir\fR.
.TP
.BR BACKPORTPACKAGE_UBUNTU_MIRROR ", " UBUNTUTOOLS_UBUNTU_MIRROR
The default value for \fB\-\-mirror\fR if the specified \fISOURCE\fR
release is an Ubuntu release.
.TP
.BR BACKPORTPACKAGE_DEBIAN_MIRROR ", " UBUNTUTOOLS_DEBIAN_MIRROR
The default value for \fB\-\-mirror\fR if the specified \fISOURCE\fR
release is a Debian release.
.TP
.BR BACKPORTPACKAGE_LPINSTANCE ", " UBUNTUTOOLS_LPINSTANCE
The default value for \fB--lpinstance\fR.
.SH EXAMPLES
Test-build in your PPA a backport of znc from the current development
release to your workstation's release, deleting the build products
afterwards:
.IP
.nf
.B backportpackage -u ppa:\fIuser\fR/\fIppa\fB znc
.fi
.PP
Backport squashfs-tools from Maverick to both Karmic and Lucid and
test-build both locally, leaving all build products in the current
working directory:
.IP
.nf
.B backportpackage -b -s maverick -d karmic -d lucid -w . \\\\
.B " "squashfs-tools
.fi
.PP
Fetch a package from a PPA, backport it to Hardy, then upload it back
to the same PPA:
.IP
.nf
.B backportpackage -d hardy -u ppa:\fIuser\fR/\fIppa\fR \\\\
.B " "https://launchpad.net/\fIsome/file.dsc\fR
.fi
.SH SEE ALSO
.BR ubuntu\-dev\-tools (5)
.SH AUTHOR
\fBbackportpackage\fR and this manpage were written by Evan Broder
<evan@ebroder.net>
.PP
Both are released under GNU General Public License, version 2.

View File

@ -1,18 +0,0 @@
.TH check\-mir "1" "13 January 2011" "ubuntu-dev-tools"
.SH NAME
check\-mir \- check support status of dependencies
.SH SYNOPSIS
.B check\-mir
.SH DESCRIPTION
This script checks if any of a package's build or binary dependencies is
in universe/multiverse. If the source package is destined for Ubuntu main or
restricted, these either need to be eliminated or need to be promoted to main,
following \fBhttps://wiki.ubuntu.com/MainInclusionProcess\fR.
There are no options, just run it in a source package directory.
.SH AUTHOR
.B check\-mir
was written by Martin Pitt <martin.pitt@ubuntu.com>.

View File

@ -52,5 +52,5 @@ This manual page was written by Jonathan Patrick Davies <jpds@ubuntu.com>.
.PP
Both are released under the GNU General Public License, version 2.
.SH SEE ALSO
.SH SEE ALSO
.BR dch(1).

38
doc/dgetlp.1 Normal file
View File

@ -0,0 +1,38 @@
.TH DGETLP "1" "27 August 2008" "ubuntu-dev-tools"
.SH NAME
dgetlp \- simulate ``dget'' behaviour for files hosted at librarian.launchpad.net
.SH SYNOPSIS
.B dgetlp [\fB\-d\fP|\fB(\fB\-v\fP|\fB\-q\fP)\fP] <\fBLaunchpad DSC URL\fP>
.SH DESCRIPTION
\fBdgetlp\fR simulates dget behaviour by downloading and extracting the <\fBLaunchpad DSC URL\fP> from the Launchpad Librarian.
.SH OPTIONS
Listed below are the command line options for dgetlp:
.TP
.B \-h, \-\-help
show this help message and exit.
.TP
.B \-d, \-\-debug
Enable debugging.
.TP
.B \-v, \-\-verbose
Enable verbose output.
.TP
.B \-q, \-\-quiet
Never print any output.
.TP
.B <Launchpad DSC URL>
This is the source package that you would like to be downloaded from the Launchpad Librarian.
.SH EXAMPLE
.B dgetlp http://launchpadlibrarian.net/10348157/coreutils_5.97-5.4ubuntu1.dsc
.SH AUTHOR
\fBdgetlp\fR was written by Terence Simpson <tsimpson@ubuntu.com> and
modified by Siegfried-A. Gevatter <rainct@ubuntu.com>. The python rewrite
was written by Terence Simpson <tsimpson@ubuntu.com> based off the original.
This man page was written by Ryan Kavanagh <ryanakca@kubuntu.org>.
Both are released under the GNU General Public License, version 2 or later.

22
doc/edit-patch.1 Normal file
View File

@ -0,0 +1,22 @@
.TH EDIT-PATCH "1" "June 2010" "ubuntu-dev-tools"
.SH NAME
\fBedit-patch\fR \- tool for preparing patches for Debian source packages
.SH SYNOPSIS
\fBedit-patch\fR <path to patch>
.SH DESCRIPTION
\fBedit-patch\fR is a wrapper script around the quilt, cdbs, and dpatch patch systems. It simplifies the process of preparing and editing patches to Debian source packages and allows the user to not have to be concerned with which patch system is in use. Run from inside the root directory of the source package, \fBedit-patch\fR can be used to edit existing patches located in /debian/patches.
It can also be used to incorporate new patches. If pointed a patch not already present, it will copy the patch to /debian/patches in the correct format for the patch system in use. Next, the patch is applied and a subshell is opened in order to edit the patch. Typing "exit" or hitting Ctrl-d will close the subshell and launch an an editor to record the debian/changelong entry.
\fBedit-patch\fR is integrated with the bzr and git version control systems. The patch will be automatically added to the tree, and the debian/changelong entry will be used as the commit message.
If no patch system is present, the patch is applied inline, and a copy is stored in debian/patches-applied.
.SH AUTHORS
\fBedit-patch\fR was written by Daniel Holbach <daniel.holbach@canonical.com>, Michael Vogt <michael.vogt@canonical.com>, and David Futcher <bobbo@ubuntu.com>.
This manual page was written by Andrew Starr-Bochicchio <a.starr.b@gmail.com>.
.PP
Both are released under the terms of the GNU General Public License, version 3.

22
doc/errno.1 Normal file
View File

@ -0,0 +1,22 @@
.TH errno 1 "10 Aug 2010" ubuntu-dev-tools "ubuntu-dev-tools"
.SH NAME
errno \- search POSIX error codes by error number, error name, or error description
.SH DESCRIPTION
\fBerrno\fP is a simple script that interprets a POSIX error code, or finds error codes related to a search string.
.SH EXAMPLE
$ errno 36
ENAMETOOLONG 36 /* File name too long */
$ errno perm
EPERM 1 /* Operation not permitted */
EACCES 13 /* Permission denied */
.SH SEE ALSO
\fBerrno\fP(2)\fP, \fBerrno\fP(3), \fI/usr/include/asm/errno.h\fP
.SH AUTHOR
This manpage and the utility was written by Dustin Kirkland <kirkland@ubuntu.com> for Ubuntu systems (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 published by the Free Software Foundation.
On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.

47
doc/get-branches.1 Normal file
View File

@ -0,0 +1,47 @@
.TH get\-branches "1" "11 August 2008" "ubuntu-dev-tools"
.SH NAME
get\-branches - downloads all branches related to a Launchpad team or person
.SH SYNOPSIS
.B get\-branches
.RB [ \-d
.IR directory ]
.RB [ \-o
.BR branch | checkout ]
.B \-t
.I team
.br
.B get\-branches
.I team
.br
.B get\-branches \-\-help
.SH DESCRIPTION
\fBget\-branches\fR uses the LP API to get a list of branches for a person or
team and calls Bazaar to download all branches.
.SH OPTIONS
Listed below are the command line options for \fBget\-branches\fR:
.TP
.BR \-h ", " \-\-help
Display a help message and exit.
.TP
.BR \-d ", " \-\-directory
Download branches to a directory other than the current directory.
.TP
.BR \-o ", " \-\-operation
Specifies which Bazaar operation to use when downloading the branches; may be
either \fIbranch\fR or \fIcheckout\fR.
.TP
.BR \-t ", " \-\-team
Specifies which Launchpad team/person to download branches from.
This option is required.
.SH AUTHORS
\fBget\-branches\fR was written by Daniel Holbach <daniel.holbach@ubuntu.com>,
and this manual page was written by Jonathan Patrick Davies <jpds@ubuntu.com>.
.PP
Both are released under the terms of the GNU General Public License, version 3.
.SH SEE ALSO
.B bzr(1)

60
doc/get-build-deps.1 Normal file
View File

@ -0,0 +1,60 @@
.TH GET\-BUILD\-DEPS 1 "October 27, 2007" "ubuntu-dev-tools"
.SH NAME
get\-build\-deps \- install build dependencies for one or more packages
.SH SYNOPSIS
\fBget\-build\-deps\fP [\fIpackage name\fR]
.SH DESCRIPTION
\fBget\-build\-deps\fP is a script to install the build dependencies for
either a local source package or one or more packages from the repositories.
.PP
In order to obtain all missing build dependencies for a package on
which source you are currently working, just run this script without
any argument, and it'll read its debian/control file to determine the
missing build dependencies.
.PP
Alternatively, you can call it with a list of space-separated package
names, or the name of a single file which contains the package names
each on a line.
Then it will install the missing dependencies for those packages using
"apt\-get build\-dep".
.SH EXAMPLES
.TP
get\-build\-deps
Looks for a debian/control file in the current working directory and
installs the dependencies listed there.
.TP
get\-build\-deps geany
Installs the build dependencies for the version of \fBgeany\fP that's
in the repositories.
.TP
get\-build\-deps geany epiphany\-browser rhythmbox
Same as the previous example but also with the dependencies for
.B epiphany\-browser
and
.BR rhythmbox .
.TP
get\-build\-deps ./package_list.txt
Reads the file
.B package_list.txt
(relative to the current working directory),
where each line contains the name of a package, and installs the
dependencies for the versions of all those that are in the repositories.
.SH KNOWN BUGS AND LIMITATIONS
When it's being used to install the missing dependencies for a local
source package (i.e., no arguments are passed to it) it doesn't check
for the dependencies to match the indicated versions, but just installs
the newest one available in the repositories.
.SH SEE ALSO
.BR dpkg\-checkbuilddeps (1),
.BR apt\-get (8)
.SH AUTHORS
\fBget\-build\-deps\fP and this manual page have been written by Siegfried-Angel
Gevatter Pujals <rainct@ubuntu.com>.
They are released under the GNU General Public License, version 3 or later.

26
doc/grab-attachments.1 Normal file
View File

@ -0,0 +1,26 @@
.TH GRAB\-ATTACHMENTS "1" "10 August 2008" "ubuntu-dev-tools"
.SH NAME
grab\-attachments \- downloads attachments from a Launchpad bug
.SH SYNOPSIS
.B grab\-attachments\fR <\fIbug-number\fR>
.br
.B grab\-attachments \-h
.SH DESCRIPTION
\fBgrab\-attachments\fR is a script to download all attachments from a
Launchpad bug report into the current directory.
.SH OPTIONS
Listed below are the command line options for grab\-attachments:
.TP
.B \-h
Display a help message and exit.
.TP
.B <bug-number>
Specifies the Launchpad bug number that the script should download
attachments from.
.SH AUTHOR
\fBgrab\-attachments\fR was written by Daniel Holbach and this manual page
was written by Jonathan Patrick Davies.
.PP
Both are released under the GNU General Public License, version 2.

View File

@ -1,26 +0,0 @@
.TH grep\-merges 1 "December 15, 2010" "ubuntu-dev-tools"
.SH NAME
grep\-merges \- search for outstanding merges from Debian
.SH SYNOPSIS
.B grep\-merges
.RI [ string ]
.SH DESCRIPTION
.B grep\-merges
searches merges.ubuntu.com for pending merges from Debian.
If a
.I string
is given, it will list all merges whose source package name, last changelog
author, or last uploader contain that string.
Otherwise, it will list all merges.
.SH EXAMPLES
.nf
$ grep\-merges cjwatson
tzsetup Colin Watson <cjwatson@ubuntu.com>
console-setup Colin Watson <cjwatson@ubuntu.com>
.fi
.SH AUTHOR
.B grep\-merges
and this manual page were written by Colin Watson <cjwatson@ubuntu.com>.
.PP
Both are released under the terms of the GNU General Public License, version
3 or (at your option) any later version.

26
doc/hugdaylist.1 Normal file
View File

@ -0,0 +1,26 @@
.TH HUGDAYLIST "1" "August 27, 2008" "ubuntu-dev-tools"
.SH NAME
hugdaylist \- produce MoinMoin wiki formatted tables based on a Launchpad bug list
.SH SYNOPSIS
.B hugdaylist [\fB\-n\fP|\fB\-\-number <NUMBER>\fP] \fBlaunchpad-buglist-url\fP
.SH DESCRIPTION
\fBhugdaylist\fP produces MoinMoin wiki formatted tables based on a
Launchpad bug list
.SH OPTIONS
.TP
\fB\-\-number=<NUMBER>\fP
This option allows you to specify the number of entries to output.
.TP
\fBlaunchpad-buglist-url\fP
Required, this option is a URL pointing to a launchpad bug list.
.SH AUTHOR
\fBhugdaylist\fP has been written by Canonical Ltd., Daniel Holbach
<daniel.holbach@canonical.com> and Jonathan Patrick Davies <jpds@ubuntu.com>.
This manual page was written by Ryan Kavanagh <ryanakca@kubuntu.org>.
.PP
Both are released under the GNU General Public License, version 3.

View File

@ -4,7 +4,7 @@ import\-bug\-from\-debian \- Import bugs from Debian's BTS, and file
them against Ubuntu in LP.
.SH SYNOPSIS
.B import\-bug\-from\-debian \fR[\fIoptions\fR] \fIbug\fR...
.B import\-bug\-from\-debian \fR[\fB\-nb\fR] \fIbug\fR...
.br
.B import\-bug\-from\-debian \-h
@ -18,40 +18,15 @@ Each \fIbug\fR may be provided either as a bug number or URL.
.SH OPTIONS
.TP
.BR \-b ", " \-\-browserless
Don't open the bug in a browser at the end.
.TP
.BR \-h ", " \-\-help
Display a help message and exit.
.TP
.B \-l \fIINSTANCE\fR, \fB\-\-lpinstance\fR=\fIINSTANCE\fR
Use the specified instance of Launchpad (e.g. "staging"), instead of
the default of "production".
.BR \-n ", " \-\-dry\-run
Use the LP staging server so that changes are not permanent.
.TP
.B \-p \fIPACKAGE\fR, \fB\-\-package\fR=\fIPACKAGE\fR
Launchpad package to file bug against, if not the same source package
name as Debian.
Useful for importing removal bugs filed against \fBftp.debian.org\fR.
.TP
.B \-\-no\-conf
Do not read any configuration files, or configuration from environment
variables.
.SH ENVIRONMENT
All of the \fBCONFIGURATION VARIABLES\fR below are also supported as
environment variables.
Variables in the environment take precedence to those in configuration
files.
.SH CONFIGURATION VARIABLES
The following variables can be set in the environment or in
.BR ubuntu\-dev\-tools (5)
configuration files.
In each case, the script\-specific variable takes precedence over the
package\-wide variable.
.TP
.BR IMPORT_BUG_FROM_DEBIAN_LPINSTANCE ", " UBUNTUTOOLS_LPINSTANCE
The default value for \fB--lpinstance\fR.
.SH SEE ALSO
.BR ubuntu\-dev\-tools (5)
.BR \-b ", " \-\-browserless
Don't open the bug in a browser at the end.
.SH AUTHORS
\fBimport\-bug\-from\-debian\fR was written by James Westby
<james.westby@ubuntu.com>,

View File

@ -1,54 +0,0 @@
.TH lp-bitesize "1" "May 9 2010" "ubuntu-dev-tools"
.SH NAME
lp-bitesize \- Add \fBbitesize\fR tag to bugs and add a comment.
.SH SYNOPSIS
.B lp-bitesize \fR<\fIbug number\fR>
.br
.B lp-bitesize \-\-help
.SH DESCRIPTION
\fBlp-bitesize\fR adds a bitesize tag to the bug, if it's not there yet. It
also adds a comment to the bug indicating that you are willing to help with
fixing it.
It checks for permission to operate on a given bug first,
then perform required tasks on Launchpad.
.SH OPTIONS
Listed below are the command line options for \fBlp-bitesize\fR:
.TP
.BR \-h ", " \-\-help
Display a help message and exit.
.TP
.B \-l \fIINSTANCE\fR, \fB\-\-lpinstance\fR=\fIINSTANCE\fR
Use the specified instance of Launchpad (e.g. "staging"), instead of
the default of "production".
.TP
.B \-\-no\-conf
Do not read any configuration files, or configuration from environment
variables.
.SH ENVIRONMENT
All of the \fBCONFIGURATION VARIABLES\fR below are also supported as
environment variables.
Variables in the environment take precedence to those in configuration
files.
.SH CONFIGURATION VARIABLES
The following variables can be set in the environment or in
.BR ubuntu\-dev\-tools (5)
configuration files.
In each case, the script\-specific variable takes precedence over the
package\-wide variable.
.TP
.BR BITESIZE_LPINSTANCE ", " UBUNTUTOOLS_LPINSTANCE
The default value for \fB--lpinstance\fR.
.SH SEE ALSO
.BR ubuntu\-dev\-tools (5)
.SH AUTHORS
\fBlp-bitesize\fR and this manual page were written by Daniel Holbach
<daniel.holbach@canonical.com>.
.PP
Both are released under the terms of the GNU General Public License, version 3.

27
doc/lp-list-bugs.1 Normal file
View File

@ -0,0 +1,27 @@
.TH lp\-list\-bugs 1 2010-09-17 ubuntu-dev-tools
.SH NAME
lp\-list\-bugs \- briefly list status of Launchpad bugs
.SH DESCRIPTION
.B lp\-list\-bugs
takes one or more Launchpad bug numbers, and lists the status of each bug in a
concise format.
For example:
.PP
.RS
.nf
$ lp\-list\-bugs 3
Bug 3: Custom information for each translation team
rosetta: Fix Released
ubuntu: Invalid
mono (Ubuntu): Invalid
.fi
.RE
.SH OPTIONS
.TP
.BR \-h ", " \-\-help
Display a help message and exit.
.SH AUTHORS
.B lp\-list\-bugs
and this manual page were written by Colin Watson <cjwatson@ubuntu.com>.
Both are released under the terms of the GNU General Public License, version
3 or later.

20
doc/lp-project-upload.1 Normal file
View File

@ -0,0 +1,20 @@
.TH lp-project-upload "1" "05 September 2009" "ubuntu-dev-tools"
.SH NAME
lp\-project\-upload \- Upload a release tarball to a Launchpad project.
.SH SYNOPSIS
.B lp\-project\-upload
.I project-name version tarball
.SH DESCRIPTION
\fBlp\-project\-upload\fR uploads a tarball release of a project to Launchpad.
It can create milestones and releases on the fly after confirmation.
If there is a file \fItarball\fB.asc\fR, it is uploaded as the signature of the
tarball.
.SH AUTHORS
\fBlp\-project\-upload\fR was written by Martin Pitt <martin.pitt@ubuntu.com>.
.PP
It is released under the terms of the GNU General Public License, version 2
or (at your option) any later version.

28
doc/lp-set-dup.1 Normal file
View File

@ -0,0 +1,28 @@
.TH lp\-set\-dup "1" "March 6 2010" "ubuntu-dev-tools"
.SH NAME
lp\-set\-dup \- mark one or more bugs as duplicate of another bug
.SH SYNOPSIS
.B lp\-set\-dup [\-f] <main bug> <duplicate bug> [<duplicate bug> ...]
.br
.B lp\-set\-dup \-\-help
.SH DESCRIPTION
\fBlp\-set\-dup\fR allow to easily mark one or more bug as duplicate of
another bug. It checks for permission to operate on a given bug first,
then perform required tasks on Launchpad.
.SH OPTIONS
Listed below are the command line options for \fBlp\-set\-dup\fR:
.TP
.B \-h or \-\-help
Display a help message and exit.
.TP
.B \-f
Skip confirmation prompt.
.SH AUTHORS
\fBlp\-set\-dup\fR was written by Loïc Minier <lool@dooz.org>,
and this manual page was written by Luca Falavigna <dktrkranz@debian.org>.
.PP
Both are released under the terms of the GNU General Public License, version 2.

42
doc/lp-shell.1 Normal file
View File

@ -0,0 +1,42 @@
.TH lp-shell "1" "27 March 2010" "ubuntu-dev-tools"
.SH NAME
lp\-shell \- Open an interactive launchpadlib shell.
.SH SYNOPSIS
.B lp\-shell
.RB [ \-a ]
.RI [ service ]
.RI [ "LP API version" ]
.SH DESCRIPTION
.B lp\-shell
opens an interactive Python shell with a launchpadlib.Launchpad object "lp"
which is ready for use.
It authenticates against Launchpad with the consumer name "udt-lp-shell". When
using \fBlp\-shell\fR with the \fB\-a\fR option it will use the anonymous login
from launchpadlib.Launchpad.
By default \fBlp\-shell\fR connects to the "\fIedge\fR" Launchpad service
using the "\fI1.0\fR" LP API version.
If you want to connect to another Launchpad service, call \fBlp\-shell\fR with
the service name as the second argument. \fBlp\-shell\fR supports all services
known by launchpadlib Python module.
Currently known are (list can be incomplete or outdated): "production", "edge",
"staging", "dogfood".
A different LP API version can be selected by passing the API version to use as
the third argument. Current supported are: "beta", "1.0" and "devel".
.SH OPTIONS
.TP
.B \-a
Login anonymously into Launchpad.
.SH AUTHORS
.B lp\-shell
was written by Martin Pitt <martin.pitt@ubuntu.com>.
.PP
It is released under the terms of the GNU General Public License, version 2
or (at your option) any later version.

69
doc/manage-credentials.1 Normal file
View File

@ -0,0 +1,69 @@
.TH MANAGE-CREDENTIALS "1" "13 January 2009" "ubuntu-dev-tools"
.SH NAME
manage-credentials \- a tool to create (and manage) credentials which
are used to access launchpad via the API.
.SH SYNOPSIS
.B manage-credentials create -c <consumer> [--email <email> --password <password>] [--service <staging|edge>]
.br
.B manage-credentials \-h
.SH DESCRIPTION
\fBmanage-credentials\fR is a tool to create (and manage) credentials which
are used to access Launchpad via the API.
.PP
Currently this tool can be used
to create a token with or without using the web UI. In the future, once
related methods are available through the API, this tool can also be used
to manage tokens in launchpad and on the users local machine.
.SH OPTIONS
Listed below are the command line options for requestsync:
.TP
.B \-h
Display a help message and exit.
.TP
.B \-c \-\-consumer
.TP
.B \-e \-\-email <email>
Your email address as registered on Launchpad.
.TP
.B \-p \-\-password <password>
Your Launchpad password.
.TP
.B \-s \-\-service <edge|staging>
If we should use the edge or staging root of the Launchpad API.
.TP
.B \-\-cache
Where to store the cache.
.TP
.B \-o
Which file we should save the credentials to. By default
\fBmanage-credentials\fR writes the credentials tokens to the
~/.cache/lp_credentials/ directory.
.TP
.B \-l \-\-level <number>
A number representing the access-level you wish to give to the new
Launchpad token. 0 is unauthorized, 1 is read public data, 2; write public data,
3; read private data and 4; write private data.
.SH EXAMPLE USAGE
To get Launchpad tokens using \fBmanage-credentials\fR, run the following command:
.TP
manage-credentials create \-c CONSUMER \-\-level 2
.TP
This will open your web browser with a Launchpad login page.
.TP
If you intend to use manage-credentials for Ubuntu development (such as
the ubuntu-dev-tools package). Please be sure to run the following:
.TP
manage-credentials create \-c ubuntu-dev-tools \-l 2
.SH AUTHOR
.B manage-credentials
was written by Markus Korn <thekorn@gmx.de> and this manual page was written by
Jonathan Davies <jpds@ubuntu.com>.
.PP
Both are released under the GNU General Public License, version 3.

45
doc/massfile.1 Normal file
View File

@ -0,0 +1,45 @@
.TH MASSFILE "1" "June 2010" "ubuntu-dev-tools"
.SH NAME
\fBmassfile\fR \- script for massfiling bugs against Ubuntu packages
.SH SYNOPSIS
\fBmassfile\fR <path to instructions file> <path to list file>
.SH DESCRIPTION
\fBmassfile\fR is a script for massfiling bugs against Ubuntu packages in Launchpad. It requires an instructions file describing the contents of the bug report and a list file which lists the packages which the bug will be filed against.
Templates for both files can be found in /usr/share/doc/ubuntu-dev-tools/examples.
.SH EXAMPLES
\fBmassfile.instructions\fR - file designating the contents of the bug report
subject: [UNMETDEPS] $pack has unmet dependencies
assignee:
status: confirmed
subscribers: motu
tags: unmetdeps
buglist-url: http://bugs.launchpad.net/ubuntu/+bugs?field.tag=unmetdeps
text:
A run of
.
LC_ALL=C apt-cache \-i unmet | grep ^Package | cut \-d' ' \-f2 | grep
\-v dbgsym | sort \-u | xargs apt-cache showsrc | grep ^Directory |
sed 's/Package\:\ //g' | grep verse | cut \-d'/' \-f4
indicates that the source package $pack has binary packages that are
not installable (on AMD64) at the moment.
.
Please have a look and make sure it's installable again.
\fBmassfile.list\fR - file designating the packages affected
Each package should be listed on a new line as follows:
z88dk
zope-quotafolder
.SH AUTHORS
\fBmassfile\fR was written by Iain Lane <iain@orangesquash.org.uk>, Daniel Hahler <ubuntu@thequod.de>. and Markus Korn <thekorn@gmx.de>.
This manual page was written by Andrew Starr-Bochicchio <a.starr.b@gmail.com>.
.PP
Both are released under the terms of the GNU General Public License, version 3.

View File

@ -4,7 +4,10 @@
mk\-sbuild \- creates chroots via schroot and sbuild
.SH SYNOPSIS
\fBmk\-sbuild\fR [\fIoptions\fR...] <\fIrelease\fR>
\fBmk\-sbuild\fR [\fB\-\-arch=ARCH\fR] [\fB\-\-name=NAME\fR]
[\fB\-\-personality=PERSONALITY\fR] [\fB\-\-debug\fR] [\fB\-\-source\-template=FILE\fR]
[\fB\-\-debootstrap\-mirror=URL\fR] [\fB\-\-distro=DISTRO\fR]
[\fB\-\-vg=VOLUME_GROUP\fR] [\fB\-\-type=SCHROOT_TYPE\fR] <\fBRelease\fR>
.SH DESCRIPTION
\fBmk\-sbuild\fR creates chroots via schroot and sbuild.
@ -12,102 +15,48 @@ mk\-sbuild \- creates chroots via schroot and sbuild
.SH OPTIONS
Listed below are the command line options for mk\-sbuild:
.TP
.B \-\-arch\fR=\fIARCH
.B \-\-arch=ARCH
What architecture to select (defaults to the native architecture).
.TP
.B \-\-target\fR=\fRARCH
Set up the chroot as a cross-building environment targeting the specified
architecture.
.TP
.B \-\-name\fR=\fINAME
.B \-\-name=NAME
Base name for the schroot (arch is appended).
.TP
.B \-\-personality\fR=\fIPERSONALITY
What personality to use (defaults to match \fB\-\-arch\fR).
.B \-\-personality=PERSONALITY
What personality to use (defaults to match \-\-arch).
.TP
.B \-\-debug
Turn on script debugging.
.TP
.B \-\-skip\-updates
Do not include the \fB\-updates\fR pocket in the installed
\fBsources.list\fR.
Do not include the \-updates pocket in the installed sources.list.
.TP
.B \-\-skip\-proposed
Do not include the \fB\-proposed\fR pocket in the installed
\fBsources.list\fR.
.B \-\-source\-template=FILE
Use FILE as the sources.list template (defaults to $HOME/.mk\-sbuild.sources).
.TP
.B \-\-source\-template\fR=\fIFILE
Use \fIFILE\fR as the \fBsources.list\fR template (defaults to
\fI$HOME\fB/.mk\-sbuild.sources\fR).
.B \-\-debootstrap\-mirror=URL
Use URL as the debootstrap source (defaults to http://ports.ubuntu.com for lpia,
official Ubuntu repositories for the supported architectures).
.TP
.B \-\-debootstrap\-mirror\fR=\fIURL
Use \fIURL\fR as the debootstrap source (defaults to
\fBhttp://ports.ubuntu.com\fR where appropriate, official Ubuntu
repositories for the supported architectures).
.B \-\-debootstrap\-include=alpha,beta
Pass along a comma separated list of packages to debootstrap's \-\-include
argument. See debootstrap (8) for more details.
.TP
.B \-\-debootstrap\-include\fR=\fIalpha,beta
Pass along a comma separated list of packages to debootstrap's
\fB\-\-include\fR argument. See \fBdebootstrap\fR (8) for more details.
.B \-\-debootstrap\-exclude=alpha,beta
Pass along a comma separated list of packages to debootstrap's \-\-exclude
argument. WARNING: be careful using this option as you can end up
excluding essential package. See debootstrap (8) for more details.
.TP
.B \-\-debootstrap\-exclude\fR=\fIalpha,beta
Pass along a comma separated list of packages to debootstrap's
\fB\-\-exclude\fR argument.
\fBWARNING:\fR be careful using this option as you can end up
excluding essential package. See \fBdebootstrap \fR(8) for more details.
.B \-\-distro=DISTRO
Enable distro-specific logic. Currently known distros: "ubuntu" (default)
and "debian".
.TP
.B \-\-debootstrap\-keyring\fR=\fIkeyring
Pass along the path to a gpg keyring file to debootsrap's
\fB\-\-keyring\fR argument. See \fBdebootstrap\fR (8) for more details.
.B \-\-vg=VOLUME_GROUP
Specify a volume group, and subsequently use a default SCHROOT_TYPE of
"lvm-snapshot" rather than "directory" (via aufs) mounts.
.TP
.B \-\-debootstrap\-no\-check\-gpg
Disable checking gpg signatures of downloaded Release files by using
debootstrap's \fB\-\-no\-check\-gpg\fR option. See \fBdebootstrap\fR (8)
for more details.
.TP
.B \-\-debootstrap\-proxy\fR=\fIPROXY
Use \fIPROXY\fR as apt proxy.
.TP
.B \-\-eatmydata
Install and use eatmydata (default)
.TP
.B \-\-skip\-eatmydata
Don't install and use eatmydata
.TP
.B \-\-distro\fR=\fIDISTRO
Enable distro-specific logic.
When not provided, the distribution is determined from \fIrelease\fR.
Currently known distros: "\fBdebian\fR" and "\fBubuntu\fR".
.TP
.B \-\-vg\fR=\fIVOLUME_GROUP
Specify a volume group, and subsequently use a default \fBSCHROOT_TYPE\fR of
"\fBlvm-snapshot\fR" rather than "\fBdirectory\fR" (via overlayfs or
aufs) mounts.
.TP
.B \-\-zfs-dataset=\fIDATASET
Specify a zfs dataset, and subsequently use a default \fBSCHROOT_TYPE\fR of
"\fBzfs-snapshot\fR" rather than "\fBdirectory\fR" (via overlayfs or
aufs) mounts.
.TP
.B \-\-type\fR=\fISHROOT_TYPE
Specify a \fBSCHROOT_TYPE\fR. Supported values are "\fBdirectory\fR"
(default if \fB\-\-vg\fR not specified), "\fBlvm-snapshot\fR" (default
if \fB\-\-vg\fR specified), "\fBbtrfs-snapshot\fR", "\fBzfs-snapshot\fR"
and "\fBfile\fR".
.TP
.B \-\-ccache
Enable usage of \fBccache\fR by default. See \fBccache\fR (1) for
more details.
.TP
.B \-\-ccache-dir=\fIPATH
Use \fBPATH\fR as schroot ccache directory. This directory can be
safely shared by multiple schroots, but they will all use the same
\fBCCACHE_MAXSIZE\fR.
Defaults to /var/cache/ccache-sbuild.
See \fBccache\fR (1) for more details.
.TP
.B \-\-ccache-size=\fISIZE
Sets \fBSIZE\fR as the schroot \fBCCACHE_DIR\fR max-size used by ccache.
See \fBccache\fR (1) for more details.
.B \-\-type=SHROOT_TYPE
Specify a SCHROOT_TYPE. Supported values are "directory" (default if
\-\-vg not specified), "lvm-snapshot" (default if \-\-vg specified), and "file".
.SH ENVIRONMENT VARIABLES
.TP
@ -120,103 +69,57 @@ Size of snapshot LVs (defaults to 4G).
.B SCHROOT_CONF_SUFFIX
Lines to append to schroot entries.
.TP
.B SCHROOT_PROFILE
Profile to use with schroot. (defaults to sbuild)
.TP
.B SKIP_UPDATES
Do not include the \fB\-updates\fR pocket (same as
\fB\-\-skip\-updates\fR)
.TP
.B SKIP_PROPOSED
Do not include the \fB\-proposed\fR pocket (same as
\fB\-\-skip\-proposed\fR)
Do not include the \-updates pocket in the installed sources.list.
.TP
.B DEBOOTSTRAP_MIRROR
Mirror location (same as \fB\-\-debootstrap-mirror\fR)
Mirror location (same as \-\-debootstrap-mirror)
.TP
.B DEBOOTSTRAP_INCLUDE
Comma separated list of packages to include when bootstrapping (same as
\fB\-\-debootstrap-include\fR)
Comma separated list of packages to include when bootstrapping (same as \-\-debootstrap-include)
.TP
.B DEBOOTSTRAP_EXCLUDE
Comma separated list of packages to exclude when bootstrapping (same as
\fB\-\-debootstrap-exclude\fR; see warning above)
.TP
.B DEBOOTSTRAP_KEYRING
Keyring file to use for checking gpg signatures of retrieved release files
(same as \fB\-\-debootstrap\-keyring\fR)
.TP
.B DEBOOTSTRAP_NO_CHECK_GPG
Disable gpg verification of retrieved release files (same as
\fB\-\-debootstrap\-no\-check\-gpg\fR)
.TP
.B DEBOOTSTRAP_PROXY
Proxy to use for apt. (same as
\fB\-\-debootstrap\-proxy\fR)
.TP
.B EATMYDATA
Enable or disable eatmydata usage, see \fB\-\-eatmydata\fR
and \fB\-\-skip\-eatmydata\fR
Comma separated list of packages to exclude when bootstrapping (same as \-\-debootstrap-exclude; see warning above)
.TP
.B SOURCE_CHROOTS_DIR
Use \fBSOURCE_CHROOTS_DIR\fR as home of schroot source directories.
(default \fB/var/lib/schroot/chroots\fR)
use SOURCE_CHROOTS_DIR as home of schroot source directories. (default
/var/lib/schroot/chroots)
.TP
.B SOURCE_CHROOTS_TGZ
Use \fBSOURCE_CHROOTS_TGZ\fR as home of schroot source tarballs.
(default \fB/var/lib/schroot/tarballs\fR)
.TP
.B CHROOT_SNAPSHOT_DIR
Use \fBCHROOT_SNAPSHOT_DIR\fR as home of mounted btrfs snapshots.
(default \fB/var/lib/schroot/snapshots\fR)
.TP
.B CCACHE
Enable \fBccache\fR (1) by default.
(defaults to \fB0\fR)
.TP
.B CCACHE_DIR
Use \fBCCACHE_DIR\fR as the \fBccache\fR (1) directory.
(default \fB/var/cache/ccache-sbuild\fR)
.TP
.B CCACHE_SIZE
Use \fBCCACHE_SIZE\fR as the \fBccache\fR (1) max-size.
(defaults to \fB4G\fR)
use SOURCE_CHROOTS_TGZ as home of schroot source tarballs. (default
/var/lib/schroot/tarballs)
.SH FILES
.TP
.IB $HOME /.mk\-sbuild.rc
.B $HOME/.mk\-sbuild.rc
Sourced for environment variables (defined above).
.TP
.IB $HOME /.mk\-sbuild.sources\fR[\fB. $DISTRO\fR]
Can contain a customized \fBsources.list\fR.
.B $HOME/.mk\-sbuild.sources[.$DISTRO]
Can contain a customized sources.list.
It will be read when creating the schroot.
If a file with "\fB.ubuntu\fR" or "\fB.debian\fR" is found (as
appropriate) it will use used instead.
See \fBsources.list\fR (5) for more details on the format.
If a file with ".ubuntu" or ".debian" is found (based on the \-\-distro
argument) that file will use used instead.
See sources.list(5) for more details on the format.
.TP
.IB $HOME /.mk\-sbuild.schroot.conf\fR[\fB. $SCHROOT_TYPE\fR]
.B $HOME/.mk\-sbuild.schroot.conf[.$SCHROOT_TYPE]
Can contain a customized configuration section to be inserted into
\fB/etc/schroot/schroot.conf\fR.
If a file with "\fB.lvm-snapshot\fR", "\fB.directory\fR", "\fB.file\fR",
or "\fBbtrfs-snapshot\fR" is found (as appropriate) that file will use used instead.
See \fBschroot.conf\fR (5) for more details on the format.
/etc/schroot/schroot.conf.
If a file with ".lvm-snapshot", ".directory", or ".file" is found (based on the
values of the \-\-vg and \-\-type arguments) that file will use used instead.
See schroot.conf(5) for more details on the format.
.SH USING THE CHROOTS
.TP
To CHANGE the golden image: \fBsudo schroot \-c \fI${SCHROOT_NAME}\fB\-source \-u root\fR
To CHANGE the golden image: \fBsudo schroot \-c ${CHROOT_NAME}\-source \-u root\fR
.TP
To ENTER an image snapshot: \fBschroot \-c \fI$SCHROOT_NAME\fR
To ENTER an image snapshot: \fBschroot \-c ${CHROOT_NAME}\fR
.TP
To BUILD within a snapshot: \fBsbuild \-A \-d \fI$SCHROOT_NAME $PACKAGE\fB*.dsc\fR
To BUILD within a snapshot: \fBsbuild \-A \-d ${SCHROOT_NAME} PACKAGE*.dsc\fR
.TP
for example, to update the packages in a \fBsid\-amd64\fR golden image:
\fBschroot \-c sid\-amd64\-source \-u root -- sh \-c "apt-get \-qq update && apt-get \-qy upgrade && apt-get clean" </dev/null\fR
for example, to update the packages in a golden image: \fBschroot \-c ${CHROOT_NAME}\-source \-u root -- sh \-c "apt-get \-qq update && apt-get \-qy upgrade && apt-get clean" </dev/null\fR
.SH SEE ALSO
.BR sbuild\-setup (7),
.BR sources.list (5),
.BR schroot.conf (5),
.B https://help.ubuntu.com/community/SbuildLVMHowto
sbuild\-setup (7), sources.list (5), schroot.conf (5),
https://help.ubuntu.com/community/SbuildLVMHowto
.SH AUTHOR
\fBmk\-sbuild\fR was written by Kees Cook <kees@ubuntu.com>.

View File

@ -1,36 +1,35 @@
.TH PBUILDER\-DIST\-SIMPLE 1 "February 25, 2008" "ubuntu\-dev\-tools"
.TH PBUILDER\-DIST 1 "February 25, 2008" "ubuntu-dev-tools"
.SH NAME
pbuilder\-dist\-simple \- simple multi\-release pbuilder wrapper
pbuilder\-dist\-simple \- simple multi-distribution pbuilder wrapper
.SH SYNOPSIS
\fBpbuilder\-\fI<dist>\fR\fP \fIoperation\fR [\fI...\fR]
.SH DESCRIPTION
\fBpbuilder\-dist\-simple\fP is a wrapper that makes it easy to use
pbuilder with chroots for many different Ubuntu distributions.
\fBpbuilder\-dist\fP is a wrapper that makes it easy to use pbuilder with
chroots for many different Ubuntu/Debian distributions.
If you need more features than \fBpbuilder\-dist\-simple\fP provides, have a
look at
.BR pbuilder\-dist (1).
look at \fBpbuilder\-dist\fP.
.SH USAGE
Create one symlink to \fBpbuilder\-dist\-simple\fP for each distribution
for which you want a build environment, naming them like "pbuilder\-lucid",
"pbuilder\-natty", etc.
for which you want a build environment, naming them like "pbuilder\-hardy",
"pbuilder\-gutsy", etc.
.PP
Replace \fIoperation\fP with the action you want \fBpbuilder\-dist\-simple\fP
to do (create, update, build, clean, login or execute).
.SH EXAMPLES
.TP
pbuilder\-natty create
Creates a \fBpbuilder\fP environment for Ubuntu Natty.
pbuilder\-gutsy create
Creates a \fBpbuilder\fP environment for Ubuntu Gutsy.
.TP
pbuilder\-lucid update
Updates an existing Ubuntu Lucid environment.
pbuilder\-sid update
Updates an existing Debian Sid environment.
.TP
pbuilder\-lucid build ./sample_1.0\-0ubuntu1.dsc
Builds the specified package on an already existing Ubuntu Lucid environment.
pbuilder\-hardy build ./sample_1.0\-0ubuntu1.dsc
Builds the specified package on an already existing Ubuntu Hardy environment.
.SH FILES
By default, \fBpbuilder\-dist\-simple\fP will store all the files it
@ -40,14 +39,12 @@ to any other directory you want.
If the directory doesn't exit, it will be created at runtime.
.SH SEE ALSO
.BR pbuilder (1),
.BR pbuilderrc (5),
.BR pbuilder\-dist (1)
\fBpbuilder\fR, \fBpbuilderrc\fR
.SH AUTHORS
\fBpbuilder\-dist\fP was originally written by Jamin W. Collins
<jcollins@asgardsrealm.net> and Jordan Mantha <mantha@ubuntu.com>, and
this manpage by Siegfried\-A. Gevatter <rainct@ubuntu.com>.
this manpage by Siegfried-A. Gevatter <rainct@ubuntu.com>.
.PP
Both are released under the GNU General Public License, version 2 or
later.

View File

@ -11,8 +11,8 @@ pbuilder\-dist, cowbuilder\-dist \- multi-distribution pbuilder/cowbuilder wrapp
[\fBoptions\fP] [\fI...\fR]
.SH DESCRIPTION
\fBpbuilder\-dist\fP is a wrapper that makes it easy to use pbuilder with many different
versions of Ubuntu and/or Debian.
\fBpbuilder\-dist\fP is a wrapper that makes it easy to use pbuilder with many different
versions of Ubuntu and/or Debian.
.PP
It is common to symlink this script in order to give it many names in the form of
\fBpbuilder\-\fIdistribution\fP\fR or \fBpbuilder\-\fIdistribution\fR\-\fIarchitecture\fP\fR,
@ -20,7 +20,7 @@ like for example \fBpbuilder\-feisty\fP, \fBpbuilder\-sid\fP, \fBpbuilder\-gutsy
.PP
The same applies to \fBcowbuilder\-dist\fP, which uses cowbuilder. The main
difference between both is that pbuilder compresses the created chroot as a
tarball, thus using less disc space but needing to uncompress (and possibly
a tarball, thus using less disc space but needing to uncompress (and possibly
compress) its contents again on each run, and cowbuilder doesn't do this.
.SH USAGE
@ -35,13 +35,11 @@ Replace this with the codename of the version of Ubuntu or Debian you want to us
.TP
\fBarchitecture\fP
This optional parameter will attempt to construct a chroot in a foreign
architecture.
For some architecture pairs (e.g. i386 on an amd64 install), the chroot
will be created natively.
For others (e.g. arm64 on an amd64 install), qemu\-user\-static will be
used.
Note that some combinations (e.g. amd64 on an i386 install) require
special separate kernel handling, and may break in unexpected ways.
architecture. For some architecture pairs (e.g. i386 on an amd64 install),
the chroot will be created natively. For others (e.g. armel on an i386
install), qemu-static and binfmt-misc will be used. Note that some
combinations (e.g. amd64 on an i386 install) require special separate
kernel handling, and may break in unexpected ways.
.TP
\fBoperation\fP
Replace this with the action you want \fBpbuilder\fP to do (create, update,
@ -60,41 +58,22 @@ building is the action you want to do.
.SH OPTIONS
.TP
\fB\-\-main\-only\fP (deprecated: \fBmainonly\fP)
\fB--main-only\fP (deprecated: \fBmainonly\fP)
If you specify this option, only packages from the \fImain\fP (in Debian) or
\fImain\fP and \fIrestricted\fP (in Ubuntu) components will be used. By
default, all official components are enabled. This only has effect when
creating a new environment.
.TP
\fB\-\-debug\-echo\fP
\fB--debug-echo\fP
The generated \fBpbuilder\fP/\fBcowbuilder\fP command will be printed to the
standard output instead of being executed. This is useful for debugging.
.TP
\fB\-\-buildresult\fP \fBDIRECTORY\fP (pbuilder\-dist only)
If this option is specified, the resultant files of the \fBpbuilder\fP build
are placed in \fBDIRECTORY\fP.
.TP
\fB\-\-release\-only\fP
Only use the release pocket.
Default for development releases.
.TP
\fB\-\-security\-only\fP
Only use the release and security pockets.
Suitable environment for preparing security updates.
.TP
\fB\-\-updates\-only\fP
Only use the release, security, and updates pocket.
Not the proposed\-updates pocket.
.TP
\fB\-\-backports\fP
Also use the backports archive..
.SH EXAMPLES
.TP
pbuilder\-dist gutsy create
Creates a \fBpbuilder\fP environment for Ubuntu Gutsy, with all components enabled.
.TP
pbuilder\-sid \-\-main\-only create
pbuilder\-sid mainonly create
Creates a \fBpbuilder\fP environment for Debian Sid, with only the main component.
.TP
pbuilder\-feisty build ./sample_1.0\-0ubuntu1.dsc
@ -120,34 +99,16 @@ saved in the results subdirectory of each build environment.
.PP
The default authentication method is \fBsudo\fP. You can change this by
setting the \fBPBUILDAUTH\fP variable.
.PP
By default, \fBpbuilder\-dist\fP use the master Debian and Ubuntu mirrors.
The pbuilder \fBMIRRORSITE\fP and \fBOTHERMIRROR\fP variables are
supported, as are the standard ubuntu\-dev\-tools variables:
\fBUBUNTUTOOLS_DEBIAN_MIRROR\fP, \fBPBUILDER_DIST_DEBIAN_MIRROR\fP,
\fBUBUNTUTOOLS_DEBSEC_MIRROR\fP, \fBPBUILDER_DIST_DEBSEC_MIRROR\fP,
\fBUBUNTUTOOLS_UBUNTU_MIRROR\fP, \fBPBUILDER_DIST_UBUNTU\fP,
\fBUBUNTUTOOLS_UBUNTU_PORTS_MIRROR\fP, and
\fBPBUILDER_DIST_UBUNTU_PORTS_MIRROR\fP.
See \fBubuntu\-dev\-tools\fP (5) for details.
.PP
You may also want to know that \fBpbuilder\-dist\fP exports \fBDIST\fP and
\fBARCH\fP environment variables to the invoked process, containing the name
of the distribution and the architecture targeted by the current build. You
can make use of them, for example, in \fBpbuilderrc\fP.
.SH BUGS
If you experience any problem with this script contact me on rainct@ubuntu.com
or file a bug at https://bugs.launchpad.net/ubuntu/+source/ubuntu\-dev\-tools.
or file a bug at https://bugs.launchpad.net/ubuntu/+source/ubuntu-dev-tools.
.PP
Please ensure first that the problem is really this script and not an issue
with \fBpbuilder\fP or \fBcowbuilder\fP themselves.
.SH SEE ALSO
.BR pbuilder (1),
.BR pbuilderrc (5),
.BR cowbuilder (1),
.BR ubuntu\-dev\-tools (5).
\fBpbuilder\fR, \fBpbuilderrc\fR, \fBcowbuilder\fR
.SH AUTHORS
\fBpbuilder\-dist\fP and this manual page were written by Siegfried-A. Gevatter

View File

@ -1,44 +0,0 @@
.\" Copyright (C) 2023, Canonical Ltd.
.\"
.\" This program is free software; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License, version 3.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
.\" General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program. If not, see <http://www.gnu.org/licenses/>.
.TH pm\-helper 1 "June 2023" ubuntu\-dev\-tools
.SH NAME
pm\-helper \- helper to guide a developer through proposed\-migration work
.SH SYNOPSIS
.B pm\-helper \fR[\fIoptions\fR] [\fIpackage\fR]
.SH DESCRIPTION
Claim a package from proposed\-migration to work on and get additional
information (such as the state of the package in Debian) that may be helpful
in unblocking it.
.PP
This tool is incomplete and under development.
.SH OPTIONS
.TP
.B \-l \fIINSTANCE\fR, \fB\-\-launchpad\fR=\fIINSTANCE\fR
Use the specified instance of Launchpad (e.g. "staging"), instead of
the default of "production".
.TP
.B \-v\fR, \fB--verbose\fR
be more verbose
.TP
\fB\-h\fR, \fB\-\-help\fR
Display a help message and exit
.SH AUTHORS
\fBpm\-helper\fR and this manpage were written by Steve Langasek
<steve.langasek@ubuntu.com>.
.PP
Both are released under the GPLv3 license.

View File

@ -1 +0,0 @@
pull-pkg.1

View File

@ -1,91 +1,16 @@
.\" Copyright (C) 2010, Stefano Rivera <stefanor@ubuntu.com>
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
.\" REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
.\" AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
.\" INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
.\" LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
.\" OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.TH PULL-DEBIAN-DEBDIFF "1" "December 2010" "ubuntu-dev-tools"
.TH PULL-DEBIAN-DEBDIFF "1" "June 2010" "ubuntu-dev-tools"
.SH NAME
\fBpull-debian-debdiff\fR \- find, download, and generate a debdiff
.SH SYNOPSIS
\fBpull-debian-debdiff\fR [\fIoptions\fR] <\fIpackage\fR>
<\fIversion\fR> [\fIdistance\fR]
\fBpull-debian-debdiff\fR <package> <version>
.SH DESCRIPTION
\fBpull-debian-debdiff\fR attempts to find and download a specific
version of a Debian package and its immediate parent to generate a
debdiff.
.SH OPTIONS
.TP
.I package
The source package to download and diff.
.TP
.I version
The most recent of the two versions you want to diff.
.TP
.I distance
If specified (default \fB1\fR), the debdiff is against that many
versions previous.
.TP
.BR \-h ", " \-\-help
Display the usage instructions and exit.
.TP
.BR \-f ", " \-\-fetch
Simply download the specified version and exit.
.TP
.B \-d \fIDEBIAN_MIRROR\fR, \fB\-\-debian\-mirror\fR=\fIDEBIAN_MIRROR\fR
Use the specified mirror.
Should be in the form \fBhttp://ftp.debian.org/debian\fR.
If the package isn't found on this mirror, \fBpull\-debian\-source\fR
will fall back to the default mirror.
.TP
.B \-s \fIDEBSEC_MIRROR\fR, \fB\-\-debsec\-mirror\fR=\fIDEBSEC_MIRROR\fR
Use the specified Debian security mirror.
Should be in the form \fBhttp://security.debian.org\fR.
If the package isn't found on this mirror, \fBpull\-debian\-source\fR
will fall back to the default mirror.
.TP
.B \-\-no\-conf
Do not read any configuration files, or configuration from environment
variables.
.SH ENVIRONMENT
All of the \fBCONFIGURATION VARIABLES\fR below are also supported as
environment variables.
Variables in the environment take precedence to those in configuration
files.
.SH CONFIGURATION VARIABLES
The following variables can be set in the environment or in
.BR ubuntu\-dev\-tools (5)
configuration files.
In each case, the script\-specific variable takes precedence over the
package\-wide variable.
.TP
.BR PULL_DEBIAN_DEBDIFF_DEBIAN_MIRROR ", " UBUNTUTOOLS_DEBIAN_MIRROR
The default value for \fB\-\-debian\-mirror\fR.
.TP
.BR PULL_DEBIAN_DEBDIFF_DEBSEC_MIRROR ", " UBUNTUTOOLS_DEBSEC_MIRROR
The default value for \fB\-\-debsec\-mirror\fR.
.SH SEE ALSO
.BR debdiff (1),
.BR dget (1),
.BR pull\-debian\-source (1),
.BR ubuntu\-dev\-tools (5)
\fBpull-debian-debdiff\fR attempts to find and download a specific version of a Debian package and its immediate parent to generate a debdiff.
.SH AUTHORS
\fBpull-debian-debdiff\fR was written by Stefano Rivera
<stefanor@ubuntu.com>, a clone of a tool by Kees Cook <kees@ubuntu.com>.
\fBpull-debian-debdiff\fR was written by Kees Cook <kees@ubuntu.com>.
This manual page was written by Stefano Rivera, based on the original by
Andrew Starr\-Bochicchio <a.starr.b@gmail.com>.
This manual page was written by Andrew Starr-Bochicchio <a.starr.b@gmail.com>.
.PP
Both are released under the terms of the GNU General Public License, version 3, or (at your option) any later version.

View File

@ -1 +0,0 @@
pull-pkg.1

View File

@ -1 +0,0 @@
pull-pkg.1

33
doc/pull-debian-source.1 Normal file
View File

@ -0,0 +1,33 @@
.TH PULL\-DEBIAN\-SOURCE "1" "20 December 2008" "ubuntu-dev-tools"
.SH NAME
pull\-debian\-source \- download a source package from Debian
.SH SYNOPSIS
.B pull\-debian\-source \fR[\fB\-h\fR]\fB <\fBsource package\fR> [\fItarget release\fR]
.SH DESCRIPTION
\fBpull\-debian\-source\fR downloads and extracts the latest version of
<\fBsource package\fR> from Debian.
If the optional parameter [\fItarget release\fR] is specified, the latest
version in that release will be downloaded instead.
.SH OPTIONS
Listed below are the command line options for pull\-debian\-source:
.TP
.B \-h, \-\-help
Display the usage instructions and exit.
.TP
.B <source package>
This is the source package that you would like to be downloaded from Debian.
.TP
.B [target release]
This is the release that you would like the source package to be downloaded from.
This value defaults to 'unstable'.
.SH AUTHOR
.PP
\fBpull\-debian\-source\fR and this manual page were written by Nathan Handler
<nhandler@ubuntu.com>. The manual page was based on Iain Lane's manual page for
pull-lp-source.
Both are released under the GNU General Public License, version 3 or later.

View File

@ -1 +0,0 @@
pull-pkg.1

View File

@ -1 +0,0 @@
pull-pkg.1

View File

@ -1 +0,0 @@
pull-pkg.1

View File

@ -1 +0,0 @@
pull-pkg.1

37
doc/pull-lp-source.1 Normal file
View File

@ -0,0 +1,37 @@
.TH PULL\-LP\-SOURCE "1" "4 August 2008" "ubuntu-dev-tools"
.SH NAME
pull\-lp\-source \- download a source package from Launchpad
.SH SYNOPSIS
.B pull\-lp\-source \fR[\fB\-h\fR]\fB <\fBsource package\fR> [\fItarget release\fR]
.SH DESCRIPTION
\fBpull\-lp\-source\fR downloads and extracts the latest version of
<\fBsource package\fR> from Launchpad.
If the optional parameter [\fItarget release\fR] is specified, the latest
version in that release will be downloaded instead.
.SH OPTIONS
Listed below are the command line options for pull\-lp\-source:
.TP
.B \-h, \-\-help
Display a help message and exit.
.TP
.B <source package>
This is the source package that you would like to be downloaded from Launchpad.
.TP
.B [target release]
This is the release that you would like the source package to be downloaded from.
This value defaults to the current development release.
.SH ENVIRONMENT VARIABLES
.TP
DIST
Specifies the default target.
.SH AUTHOR
.PP
\fBpull\-lp\-source\fR and this manual page were written by Iain Lane
<iain@orangesquash.org.uk>.
Both are released under the GNU General Public License, version 3 or later.

View File

@ -1 +0,0 @@
pull-pkg.1

View File

@ -1,147 +0,0 @@
.TH PULL\-PKG "1" "28 August 2017" "ubuntu-dev-tools"
.SH NAME
pull\-pkg \- download a package for Debian, Ubuntu, UCA, or a PPA
.SH SYNOPSIS
.B pull\-pkg \fR[\fIoptions\fR]\fR <\fIpackage name\fR>
[\fIrelease\fR|\fIversion\fR]
.SH DESCRIPTION
\fBpull\-pkg\fR downloads the specified \fIversion\fR of
<\fIpackage name\fR>, or the latest version from the
specified \fIrelease\fR. To request a version from
a particular pocket say \fIrelease\fB\-\fIpocket\fR (with a magic
\fB\-release\fR for only the release pocket). If no \fIpocket\fR is
specified, all pockets will be searched except -backports.
If no \fIversion\fR or \fIrelease\fR is specified, the latest version in
the development release will be downloaded.
There are convenience scripts that set pull type and distribution
appropriately: these are
\fBpull\-lp\-source\fR, \fBpull\-lp\-debs\fR, \fBpull\-lp\-ddebs\fR,
and \fBpull\-lp\-udebs\fR, which all pull Ubuntu packages;
\fBpull\-debian\-source\fR, \fBpull\-debian\-debs\fR, \fBpull\-debian\-ddebs\fR,
and \fBpull\-debian\-udebs\fR, which all pull Debian packages;
\fBpull\-uca\-source\fR, \fBpull\-uca\-debs\fR, \fBpull\-uca\-ddebs\fR,
and \fBpull\-uca\-udebs\fR, which all pull Ubuntu Cloud Archive packages;
and \fBpull\-ppa\-source\fR, \fBpull\-ppa\-debs\fR, \fBpull\-ppa\-ddebs\fR,
and \fBpull\-ppa\-udebs\fR, which all pull from a specified Personal Package
Archive on Launchpad. Each script pulls the file type in its name, i.e.
\fIsource\fR, \fIdebs\fR, \fIddebs\fR, or \fIudebs\fR.
.SH OPTIONS
Listed below are the command line options for pull\-pkg:
.TP
.I package name
This is name of the package to downloaded.
You can use either the source package name, or binary package name.
.TP
.I version
This is the version of the package to downloaded.
.TP
.I release
This is the release to downloaded from.
For debian, you can use either the release name like \fBjessie\fR
or \fBsid\fR, or you can use the special release names \fBunstable\fR,
\fBstable\fR, or \fBtesting\fR.
For ubuntu, you can use either the release name like \fBxenial\fR
or the release-pocket like \fBxenial-proposed\fR.
For ubuntu cloud archive (uca) you can use either the uca release
name like \fBmitaka\fR or the ubuntu and uca release names like
\fBtrusty-mitaka\fR. Defaults to the current development release.
.TP
.BR \-h ", " \-\-help
Display a help message and exit.
.TP
.BR \-v ", " \-\-verbose
Be verbose about what is being done.
.TP
.BR \-d ", " \-\-download\-only
Do not extract the source package (applies only to source packages).
.TP
.B \-m \fIMIRROR\fR, \fB\-\-mirror\fR=\fIMIRROR\fR
Use the specified mirror server.
Should be in the form \fBhttp://archive.ubuntu.com/ubuntu\fR or
\fBhttp://deb.debian.org/debian\fR. If not specified or if the
package is not found on the specified mirror, this will fall
back to the default mirror(s) and/or mirror(s) from environment
variables, and then will fall back to Launchpad or Debian Snapshot.
This can be specified multiple times to try multiple mirrors.
.TP
.B \-\-no\-conf
Do not use mirrors from the default configuration, or from
any environment variables.
.TP
.B \-a \fIARCH\fR, \fB\-\-arch\fR=\fIARCH\fR
Get binary packages from the \fIARCH\fR architecture.
Defaults to the local architecture, if it can be deteected.
.TP
.B \-p \fIPULL\fR, \fB\-\-pull\fR=\fIPULL\fR
What to pull: \fBsource\fR, \fBdebs\fR, \fBddebs\fR, \fBudebs\fR,
or \fBlist\fR. The \fBlist\fR action only lists all a package's
source and binary files, but does not actually download any.
Defaults to \fBsource\fR.
.TP
.B \-D \fIDISTRO\fR, \fB\-\-distro\fR=\fIDISTRO\fR
Pull from: \fBdebian\fR, \fBuca\fR, \fBubuntu\fR, or a \fBppa\fR.
\fBlp\fR can be used instead of \fBubuntu\fR.
Any string containing \fBcloud\fR can be used instead of \fBuca\fR.
If pulling from a ppa, you must specify the PPA. Defaults to \fBubuntu\fR.
.TP
.B \-\-ppa\fR=ppa:\fIUSER/NAME\fR
Applies only when \fBdistro\fR is \fIppa\fR. Can be provided either as
a value to the \fB\-\-ppa\fR option parameter, or as a plain option
(like \fIrelease\fR or \fIversion\fR). When specified as a plain option,
the form must be \fBppa:USER/NAME\fR; when specified as a value to the
\fB\-\-ppa\fR option parameter, the leading \fBppa:\fR is optional.
.SH ENVIRONMENT
All of the \fBCONFIGURATION VARIABLES\fR below are also supported as
environment variables.
Variables in the environment take precedence to those in configuration
files.
.SH CONFIGURATION VARIABLES
The following variables can be set in the environment or in
.BR ubuntu\-dev\-tools (5)
configuration files.
In each case, the script\-specific variable takes precedence over the
package\-wide variable.
.TP
.BR UBUNTUTOOLS_UBUNTU_MIRROR
The default mirror.
.TP
.BR PULL_PKG_UBUNTU_MIRROR
The default mirror when using the \fBpull\-pkg\fR script.
.TP
.BR PULL_[LP|DEBIAN|PPA|UCA]_[SOURCE|DEBS|DDEBS|UDEBS]_MIRROR
The default mirror when using the associated script.
.SH SEE ALSO
.BR dget (1),
.BR pull\-lp\-source (1),
.BR pull\-lp\-debs (1),
.BR pull\-lp\-ddebs (1),
.BR pull\-lp\-udebs (1),
.BR pull\-debian\-source (1),
.BR pull\-debian\-debs (1),
.BR pull\-debian\-ddebs (1),
.BR pull\-debian\-udebs (1),
.BR pull\-ppa\-source (1),
.BR pull\-ppa\-debs (1),
.BR pull\-ppa\-ddebs (1),
.BR pull\-ppa\-udebs (1),
.BR pull\-uca\-source (1),
.BR pull\-uca\-debs (1),
.BR pull\-uca\-ddebs (1),
.BR pull\-uca\-udebs (1),
.BR pull\-debian\-debdiff (1),
.BR ubuntu\-dev\-tools (5)
.SH AUTHOR
.PP
\fBpull\-pkg\fR was written by Dan Streetman <ddstreet@canonical.com>,
based on the original \fBpull\-lp\-source\fR; it and this manual page
were written by Iain Lane <iain@orangesquash.org.uk>.
All are released under the GNU General Public License, version 3 or later.

View File

@ -1 +0,0 @@
pull-pkg.1

View File

@ -1 +0,0 @@
pull-pkg.1

View File

@ -1 +0,0 @@
pull-pkg.1

View File

@ -1 +0,0 @@
pull-pkg.1

27
doc/pull-revu-source.1 Normal file
View File

@ -0,0 +1,27 @@
.TH PULL\-REVU\-SOURCE "1" "30 August 2009" "ubuntu-dev-tools"
.SH NAME
pull\-revu\-source \- download a source package from REVU
.SH SYNOPSIS
.B pull\-revu\-source \fR[\fB\-h\fR]\fB <\fBsource package\fR>
.SH DESCRIPTION
\fBpull\-revu\-source\fR downloads and extracts the latest version of
<\fBsource package\fR> from REVU.
.SH OPTIONS
Listed below are the command line options for pull\-revu\-source:
.TP
.B \-h, \-\-help
Display the usage instructions and exit.
.TP
.B <source package>
This is the source package that you would like to be downloaded from Debian.
.SH AUTHOR
.PP
\fBpull\-revu\-source\fR and this manual page were written by Nathan Handler
<nhandler@ubuntu.com>. \fBpull\-revu\-source\fR is based on \fBrevupull\fR in
\fBkubuntu\-dev\-tools\fR, written by Harald Sitter <apachelogger@ubuntu.com>.
Both are released under the GNU General Public License, version 3 or later.

View File

@ -1 +0,0 @@
pull-pkg.1

View File

@ -1 +0,0 @@
pull-pkg.1

View File

@ -1 +0,0 @@
pull-pkg.1

View File

@ -1 +0,0 @@
pull-pkg.1

View File

@ -1,57 +0,0 @@
.\" Copyright (C) 2011, Stefano Rivera <stefanor@ubuntu.com>
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
.\" REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
.\" AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
.\" INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
.\" LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
.\" OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.TH requestbackport 1 "November 2011" ubuntu\-dev\-tools
.SH NAME
requestbackport \- File a backport request bug
.SH SYNOPSIS
.B requestbackport \fR[\fIoptions\fR] \fIpackage\fR
.SH DESCRIPTION
Determine the intermediate releases that \fIpackage\fR needs to be
backported to, list all reverse\-dependencies, and file the backporting
request.
\fBrequestbackport\fR will include a testing checklist in the bug.
.SH OPTIONS
.TP
\fB\-d\fR \fIDEST\fR, \fB\-\-destination\fR=\fIDEST\fR
Backport to \fIDEST\fR release and necessary intermediate
releases. Default: current stable release.
.TP
\fB\-s\fR \fISOURCE\fR, \fB\-\-source\fR=\fISOURCE\fR
Backport from \fISOURCE\fR release.
Default: current development release.
.TP
\fB\-l\fR \fIINSTANCE\fR, \fB\-\-lpinstance\fR=\fIINSTANCE\fR
Launchpad instance to connect to.
Default: \fBproduction\fR.
.TP
\fB\-\-no\-conf\fR
Don't read config files or environment variables
.TP
\fB\-h\fR, \fB\-\-help\fR
Display a help message and exit.
.SH SEE ALSO
.BR backportpackage (1),
.BR reverse\-depends (1),
.BR https://wiki.ubuntu.com/UbuntuBackports .
.SH AUTHORS
\fBrequestbackport\fR and this manpage were written by Stefano Rivera
<stefanor@ubuntu.com>.
.PP
Both are released under the terms of the ISC License.

View File

@ -11,10 +11,14 @@ requestsync \- helper to file sync requests for Ubuntu
\fBrequestsync\fR looks at the versions of <source package> in Debian and
Ubuntu and prompts for an explanation of why the Ubuntu changes (if there
are any) should be dropped.
The changelog entry is then downloaded from packages.debian.org, and the
sync request bug is filed in launchpad.
Alternatively, the sync request can be filed by GPG\-signed email (option
\fB\-\-email\fR).
The changelog entry is then downloaded from packages.debian.org.
If the sync request is being filed per email (default), a prompt for your
GPG passphrase follows so that it can sign the mail and send it off to
Launchpad.
Alternatively a sync request can be filed directly using the launchpadlib
Python module (option \fB\-\-lp\fR).
\fBrequestsync\fR falls back to mail the sync request if submitting using
the launchpadlib module fails.
.PP
\fBrequestsync\fR checks if you have the permissions to request the sync from
@ -24,17 +28,13 @@ you don't have upload permissions, the script will subscribe the necessary
team with approval rights to the bug report for you.
This check is only performed if \fBrequestsync\fR is allowed to use the LP API
(not email submission). In the other case \fBrequestsync\fR relies on that you
(option \fB\-\-lp\fR). In the other case \fBrequestsync\fR relies on that you
answer the question about upload permissions honestly to determine if a team
with approval rights is to be subscribed to the bug.
If you have permission to upload the package directly, then you may prefer
to use \fBsyncpackage\fR instead to copy the package using the Launchpad
API. At some future point, \fBrequestsync\fR will be changed to do this
automatically.
.PP
\fBrequestsync\fR uses launchpadlib authentication to file its requests.
\fBrequestsync\fR uses launchpadlib authentication to file its requests. Please
see manage-credentials(1) for more information.
.SH OPTIONS
Listed below are the command line options for requestsync:
@ -52,35 +52,23 @@ attempt to look it up in Ubuntu since it will not exist.
.TP
.B \-k \fI<keyid>\fR
Specifies your GPG key.
Can also be set with the line `\fIexport GPGKEY=<keyid>\fR' in your shell's
configuration (for example: \fI$HOME/.bashrc\fR).
This is only used if the sync request is mailed to Launchpad.
.TP
.B \-\-email
Use GPG\-signed email to file the bug, rather than launchpadlib.
.B \-\-lp
Use the launchpadlib Python module (packaged as python\-launchpadlib) to
file the sync request in Launchpad.
.TP
.B \-s
Specifies that you require sponsorship.
You need this option if you don't have upload permissions for that package.
This disables the upload permissions check described above.
.TP
.B \-C
Allow changelog to be manually filled in when missing.
\fBrequestsync\fR gets Debian changelogs from packages.debian.org, which
isn't in sync with the Debian archive.
To request a sync before the changelog is available, pass this option,
and provide the changelog entries yourself.
This disables the upload permissions check described above.
.TP
.B \-e
Use this flag after FeatureFreeze for non-bug fix syncs. \fBrequestsync\fR will
subscribe ubuntu-release team instead of sponsorship team.
.TP
.B \-l \fIINSTANCE\fR, \fB\-\-lpinstance\fR=\fIINSTANCE\fR
Use the specified instance of Launchpad (e.g. "staging"), instead of
the default of "production".
.TP
.B \-\-no\-conf
Do not read any configuration files, or configuration from environment
variables.
.TP
.B <source package>
This is the source package that you would like to be synced from Debian.
.TP
@ -94,45 +82,30 @@ In some cases, the base version (where the Ubuntu package started differing
from the Debian package) cannot be automatically determined.
Specify this option in this case.
.SH ENVIRONMENT
.SH ENVIRONMENT VARIABLES
\fBrequestsync\fR uses the following variables which should be set in your
shell's configuration by adding \fIexport VARIABLE=\fR lines, where VARIABLE is
one of the following:
.TP
.BR UBUMAIL ", " DEBEMAIL
Specifies which email should be used when sending to Launchpad.
.P
All of the \fBCONFIGURATION VARIABLES\fR below are also supported as
environment variables.
Variables in the environment take precedence to those in configuration
files.
.SH CONFIGURATION VARIABLES
.TP
.B REQUESTSYNC_SMTP_SERVER
.B GPGKEY
Specifies your GnuPG key ID.
.TP
.B DEBEMAIL
Specifies which email should be used when sending to Launchpad.
.TP
.B DEBSMTP
Set which SMTP server to use when sending mail.
If unspecified this defaults to launchpad's SMTP servers (the
eventual destination).
If unspecified this defaults to fiordland.ubuntu.com.
.TP
.B REQUESTSYNC_SMTP_PORT
.B DEBSMTP_PORT
Sets which port of the SMTP server to use. Default is 25.
.TP
.BR REQUESTSYNC_SMTP_USER " and " REQUESTSYNC_SMTP_PASS
.B DEBSMTP_USER \fRand\fB DEBSMTP_PASS
Sets the username and password to use when authenticating to the SMTP server.
.TP
.BR REQUESTSYNC_USE_LPAPI
Setting this to \fIno\fR is equivalent to running with \fB--email\fR.
.TP
.BR REQUESTSYNC_LPINSTANCE ", " UBUNTUTOOLS_LPINSTANCE
The default value for \fB--lpinstance\fR.
.TP
.BR REQUESTSYNC_KEYID ", " UBUNTUTOOLS_KEYID
The default value for \fB-k\fR.
.SH SEE ALSO
.BR rmadison (1),
.BR syncpackage (1),
.BR ubuntu\-dev\-tools (5)
.SH SEE ALSO
.BR rmadison (1)
.SH AUTHOR
.B requestsync

172
doc/reverse-build-depends.1 Normal file
View File

@ -0,0 +1,172 @@
.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "BUILD-RDEPS 1"
.TH BUILD-RDEPS 1 "2008-08-14" "Debian Utilities" " "
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
build\-rdeps \- find packages that depend on a specific package to build (reverse build depends)
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
\&\fBubuild-rdeps\fR \fIpackage\fR
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
\&\fBubuild-rdeps\fR searches for all packages that build-depend on the specified package.
.SH "OPTIONS"
.IX Header "OPTIONS"
.IP "\fB\-u\fR \fB\-\-update\fR" 4
.IX Item "-u --update"
Run apt-get update before searching for build-depends.
.IP "\fB\-s\fR \fB\-\-sudo\fR" 4
.IX Item "-s --sudo"
Use sudo when running apt-get update. Has no effect if \-u is omitted.
.IP "\fB\-\-distribution\fR" 4
.IX Item "--distribution"
Select another distribution, which is searched for build-depends.
.IP "\fB\-m\fR \fB\-\-print\-maintainer\fR" 4
.IX Item "-m --print-maintainer"
Print the value of the maintainer field for each package.
.IP "\fB\-d\fR \fB\-\-debug\fR" 4
.IX Item "-d --debug"
Run the debug mode
.IP "\fB\-\-help\fR" 4
.IX Item "--help"
Show the usage information.
.IP "\fB\-\-version\fR" 4
.IX Item "--version"
Show the version information.
.SH "LICENSE"
.IX Header "LICENSE"
This code is copyright by Patrick Schoenfeld
<schoenfeld@in\-medias\-res.com>, all rights reserved.
This program comes with \s-1ABSOLUTELEY\s0 \s-1NO\s0 \s-1WARRANTY\s0.
You are free to redistribute this code under the terms of the
\&\s-1GNU\s0 General Public License, version 2 or later.
.SH "AUTHOR"
.IX Header "AUTHOR"
Patrick Schoenfeld <schoenfeld@in\-medias\-res.com>

View File

@ -1,81 +0,0 @@
.\" Copyright (C) 2011, Stefano Rivera <stefanor@ubuntu.com>
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
.\" REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
.\" AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
.\" INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
.\" LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
.\" OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.TH reverse\-depends 1 "November 2011" ubuntu\-dev\-tools
.SH NAME
reverse\-depends \- List the reverse\-dependencies (or
build\-dependencies) of a package
.SH SYNOPSIS
.B reverse\-depends \fR[\fIoptions\fR] \fIpackage
.SH DESCRIPTION
List reverse\-dependencies (or build\-dependencies) of \fIpackage\fR.
If the package name is prefixed with \fBsrc:\fR then the
reverse\-dependencies of all the binary packages that the specified
source package builds will be listed.
.SH OPTIONS
.TP
\fB\-r\fR \fIRELEASE\fR, \fB\-\-release\fR=\fIRELEASE\fR
Query dependencies in \fIRELEASE\fR.
Default: current development release.
.TP
\fB\-R\fR, \fB\-\-without\-recommends\fR
Only consider Depends relationships, not Recommends.
.TP
\fB\-s\fR, \fB\-\-with\-suggests\fR
Also consider Suggests relationships.
.TP
\fB\-b\fR, \fB\-\-build\-depends\fR
Query build dependencies.
Synonym for \fB\-\-arch\fR=\fIsource\fR.
.TP
\fB\-a\fR \fIARCH\fR, \fB\-\-arch\fR=\fIARCH\fR
Query dependencies in \fIARCH\fR.
Besides valid architecture names, the special values \fBany\fR and
\fBsource\fR may be used.
\fBany\fR displays all reverse dependencies, the union across all
architecture.
\fBsource\fR displays build dependencies.
Default: \fBany\fR.
.TP
\fB\-c\fR \fICOMPONENT\fR, \fB\-\-component\fR=\fICOMPONENT\fR
Only consider reverse\-dependencies in \fICOMPONENT\fR. Can
be specified multiple times.
Default: all components.
.TP
\fB\-l\fR, \fB\-\-list\fR
Display a simple, machine\-readable list.
.TP
\fB\-u\fR \fIURL\fR, \fB\-\-service\-url\fR=\fIURL\fR
Reverse Dependencies web\-service \fIURL\fR.
Default: UbuntuWire's service at
\fBhttp://qa.ubuntuwire.org/rdepends/\fR.
.TP
\fB\-h\fR, \fB\-\-help\fR
Display a help message and exit
.SH EXAMPLES
All reverse dependencies of source package bash:
.IP
.nf
.B reverse\-depends src:bash
.fi
.SH AUTHORS
\fBreverse\-depends\fR and this manpage were written by Stefano Rivera
<stefanor@ubuntu.com>.
.PP
Both are released under the terms of the ISC License.

View File

@ -1,15 +0,0 @@
.TH running\-autopkgtests "1" "18 January 2024" "ubuntu-dev-tools"
.SH NAME
running\-autopkgtests \- dumps a list of currently running autopkgtests
.SH SYNOPSIS
.B running\-autopkgtests
.SH DESCRIPTION
Dumps a list of currently running and queued tests in Autopkgtest.
Pass --running to only see running tests, or --queued to only see
queued tests. Passing both will print both, which is the default behavior.
.SH AUTHOR
.B running\-autopkgtests
was written by Chris Peterson <chris.peterson@canonical.com>.

View File

@ -1,60 +0,0 @@
.\" Copyright (C) 2011, Stefano Rivera <stefanor@ubuntu.com>
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
.\" REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
.\" AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
.\" INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
.\" LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
.\" OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.TH seeded\-in\-ubuntu 1 "December 2011" ubuntu\-dev\-tools
.SH NAME
seeded\-in\-ubuntu \- Determine whether a package is safe to upload
during a freeze
.SH SYNOPSIS
.B seeded\-in\-ubuntu \fR[\fIoptions\fR] \fIpackage\fR...
.SH DESCRIPTION
Lists all the current daily images containing the specified packages.
Or whether the package is part of the supported seed.
.PP
If it isn't on an image, it should be safe to upload.
During the final freeze, one should avoid packages in the supported seed
too.
.PP
An index of the current manifests is downloaded from UbuntuWire.
.SH OPTIONS
.TP
\fB\-b\fR, \fB\-\-binary\fR
The packages specified are binary packages.
This is faster than source packages, as otherwise we must query LP to
determine the binary packages that every specified source package
builds.
.TP
\fB\-u\fR \fIURL\fR, \fB\-\-data\-url\fR=\fIURL\fR
URL for index of seeded packages.
Default: UbuntuWire's service at
\fBhttp://qa.ubuntuwire.org/ubuntu-seeded-packages/seeded.json.gz\fR.
.TP
\fB\-h\fR, \fB\-\-help\fR
Display a help message and exit
.SH EXAMPLES
All the images that contain unity:
.IP
.nf
.B seeded\-in\-ubuntu -b unity
.fi
.SH AUTHORS
\fBseeded\-in\-ubuntu\fR and this manpage were written by Stefano Rivera
<stefanor@ubuntu.com>.
.PP
Both are released under the terms of the ISC License.

View File

@ -1,18 +1,12 @@
.TH PULL-DEBIAN-DEBDIFF "1" "June 2010" "ubuntu-dev-tools"
.SH NAME
\fBsetup-packaging-environment\fR \- helps one to get started with Ubuntu development
\fBsetup-packaging-environment\fR \- helps to get started with Ubuntu development
.SH SYNOPSIS
\fBsetup-packaging-environment\fR
.SH DESCRIPTION
\fBsetup-packaging-environment\fR aims to make it more straightforward for new
contributors to get their Ubuntu installation ready for packaging work. It
ensures that all four components from Ubuntu's official repositories are enabled
along with their corresponding source repositories. It also installs a minimal
set of packages needed for Ubuntu packaging work (ubuntu-dev-tools, devscripts,
debhelper, patchutils, pbuilder, and build-essential). Finally, it assists
in defining the DEBEMAIL and DEBFULLNAME environment variables.
\fBsetup-packaging-environment\fR aims to make it more straightforward for new contributors to get their Ubuntu installation ready for packaging work. It ensures that all four components from Ubuntu's official repositories are enabled along with their corresponding source repositories. It also installs a minimal set of packages needed for Ubuntu packaging work (ubuntu-dev-tools, devscripts, debhelper, cdbs, patchutils, pbuilder, and build-essential). Finally, it assists in defining the DEBEMAIL and DEBFULLNAME environment variables.
.SH AUTHORS
\fBsetup-packaging-environment\fR was written by Siegfried-A. Gevatter <rainct@ubuntu.com>.

View File

@ -1,6 +1,7 @@
.TH sponsor\-patch "1" "September 21 2010" "ubuntu-dev-tools"
.SH NAME
sponsor\-patch \- Prepare, test\-build, and sponsor an upload.
sponsor\-patch \- Pull a patch / merge request from Launchpad,
test-build it, and upload.
.SH SYNOPSIS
.B sponsor\-patch \fR[\fIoptions\fR] \fIbug
@ -10,12 +11,14 @@ sponsor\-patch \- Prepare, test\-build, and sponsor an upload.
.SH DESCRIPTION
\fBsponsor\-patch\fR downloads the patch or Bazaar branch linked to an
Ubuntu bug, applies it, generates a review diff, (optionally) test
builds it, runs
builds it with
.BR pbuilder (8),
runs
.BR lintian (1)
and, after review and confirmation, can upload it.
\fBsponsor\-patch\fR can be used for sponsoring patches, syncs and
merges from Debian, SRUs, and creating debdiffs from patches.
\fBsponsor\-patch\fR can be used for sponsoring patches, merges from
Debian, SRUs, and creating debdiffs from patches.
If \fIbug\fR has multiple patches or branches linked, it will prompt the
user to select one.
The same applies to bug tasks.
@ -42,93 +45,50 @@ The changelog target must be valid.
The changelog timestamp is touched.
.PP
Should any checks (or the build) fail, the user has an option to edit
Should any checks (or the build fail), the user has an option to edit
the patched source and try building it again.
.PP
Unless a working directory is specified, the sources and patches will be
downloaded into a temporary directory in \fB/tmp\fR, which is removed once the
script finishes running.
The output of the build tool will be placed in \fIworkdir\fR/\fBbuildresult/\fR.
.PP
One of \fB\-\-upload\fR, \fB\-\-workdir\fR, or \fB--sponsor\fR must be
specified.
The sources and patches will be downloaded into the working directory
(which defaults to the current directory).
.BR pbuilder (8)
output will be placed in \fIworkdir\fR/\fIsourcepkg\fB\-buildresult/\fR.
.SH OPTIONS
.TP
.BR \-b ", " \-\-build
Build the package with the specified builder. Note for \fBpbuilder\fR(8) and
\fBcowbuilder\fR(8) users:
This assumes the common configuration, where the \fBARCH\fR and \fBDIST\fR
environment is read by \fBpbuilderrc\fR(5) to select the correct base image.
.TP
.B \-B \fIBUILDER\fR, \fB\-\-builder\fR=\fIBUILDER
Use the specify builder to build the package.
Supported are \fBcowbuilder\fR(8), \fBcowbuilder-dist\fR(1), \fBpbuilder\fR(8),
\fBpbuilder-dist\fR(1), and \fBsbuild\fR(1).
The default is \fBpbuilder\fR(8).
Build the package with \fBpbuilder\fR(1). This assumes the common
configuration, where the \fBDIST\fR environment is read by
\fBpbuilderrc\fR(5) to select the correct base image.
.TP
.BR \-e ", " \-\-edit
Launch a sub-shell to allow editing of the patched source before
building.
.TP
.BR \-h ", " \-\-help
Display a help message and exit.
.TP
.B \-k \fIKEY\fR, \fB\-\-key\fR=\fIKEY
.B \-k\fIKEY\fR, \fB\-\-key\fR=\fIKEY
Specify a key ID for signing the upload.
.TP
.B \-l \fIINSTANCE\fR, \fB\-\-lpinstance\fR=\fIINSTANCE\fR
Use the specified instance of Launchpad (e.g. "staging"), instead of
the default of "production".
.TP
.B \-\-no\-conf
Do not read any configuration files, or configuration from environment
variables.
.TP
.BR \-s ", " \-\-sponsor
Shortcut for sponsored uploads. Equivalent to \fB\-b \-u ubuntu\fR.
.TP
.B \-u \fIDEST\fR, \fB\-\-upload\fR=\fIDEST
.B \-u\fIDEST\fR, \fB\-\-upload\fR=\fIDEST
Upload to \fIDEST\fR with \fBdput\fR(1) (after confirmation).
.TP
.BR \-U ", " \-\-update
Update the build environment before attempting to build.
.TP
.BR \-v ", " \-\-verbose
Print more information.
.TP
.B \-w \fIDIR\fR, \fB\-\-workdir\fR=\fIDIR
Use the specified working directory, creating it if necessary.
If \fIWORKDIR\fR is not specified, a temporary directory is created, which is
deleted before \fIsponsor-patch\fR exits.
.B \-w\fIDIR\fR, \fB\-\-workdir\fR=\fIDIR
Use the specified working directory, creating it if necessary, instead
of the current directory. This overrides \fBSPONSOR_PATCH_WORKDIR\fR.
.TP
.BR \-h ", " \-\-help
Display a help message and exit.
.SH ENVIRONMENT
All of the \fBCONFIGURATION VARIABLES\fR below are also supported as environment
variables.
Variables in the environment take precedence to those in configuration files.
.SH CONFIGURATION VARIABLES
The following variables can be set in the environment or in
.BR ubuntu\-dev\-tools (5)
configuration files.
In each case, the script\-specific variable takes precedence over the
package\-wide variable.
.TP
.BR SPONSOR_PATCH_BUILDER ", " UBUNTUTOOLS_BUILDER
The default value for \fB\-\-builder\fR.
.TP
.BR SPONSOR_PATCH_LPINSTANCE ", " UBUNTUTOOLS_LPINSTANCE
The default value for \fB--lpinstance\fR.
.TP
.BR SPONSOR_PATCH_UPDATE_BUILDER ", " UBUNTUTOOLS_UPDATE_BUILDER
The default value for \fB--update\fR.
.TP
.BR SPONSOR_PATCH_WORKDIR ", " UBUNTUTOOLS_WORKDIR
The default value for \fB--workdir\fR.
.TP
.BR SPONSOR_PATCH_KEYID ", " UBUNTUTOOLS_KEYID
The default value for \fB--key\fR.
.B SPONSOR_PATCH_WORKDIR
The default working directory for \fBsponsor\-patch\fR. If unset and not
provided on the command line, the current directory is used.
.SH EXAMPLES
Test-building and sponsoring an upload of bug \fB1234\fR:
@ -151,12 +111,7 @@ Performing a test build of bug \fB1234\fR in your PPA:
.BR dput (1),
.BR edit-patch (1),
.BR lintian (1),
.BR cowbuilder (8),
.BR cowbuilder-dist (1),
.BR pbuilder (8),
.BR pbuilder-dist (1),
.BR sbuild (1),
.BR ubuntu\-dev\-tools (5),
.BR update\-maintainer (1)
.SH AUTHORS

55
doc/suspicious-source.1 Normal file
View File

@ -0,0 +1,55 @@
.\" Copyright (c) 2010, Benjamin Drung <bdrung@ubuntu.com>
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.TH SUSPICIOUS\-SOURCE 1 "August 2010" "ubuntu-dev-tools"
.SH NAME
suspicious\-source \- search for files that are not the GPL's
"preferred form of modification"
.SH SYNOPSIS
\fBsuspicious\-source\fP [\fIoptions\fR]
.SH DESCRIPTION
\fBsuspicious\-source\fP is a script that outputs a list of files which
are not common source files.
This should be run in the root of a source tree to find files which might
not be the "preferred form of modification" that the GPL and other licenses
require.
.PP
The files inside version control system directories (like
".bzr/" or "CVS/") are not considered.
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR
show this help message and exit
.TP
\fB\-v\fR, \fB\-\-verbose\fR
print more information
.TP
\fB\-d\fR DIRECTORY, \fB\-\-directory\fR=\fIDIRECTORY\fR
check the files in the specified directory instead of the current directory
.TP
\fB\-m\fR MIMETYPE, \fB\-\-mimetype\fR=\fIMIMETYPE\fR
Add MIMETYPE to list of white-listed mime-types.
.TP
\fB\-e\fR EXTENSION, \fB\-\-extension\fR=\fIEXTENSION\fR
Add EXTENSION to list of white-listed extensions.
.SH AUTHORS
\fBsuspicious\-source\fP and this manpage has been written by
Benjamin Drung <bdrung@ubuntu.com>.
.PP
Both are released under the ISC license.

View File

@ -1,154 +1,52 @@
.TH SYNCPACKAGE "1" "June 2010" "ubuntu-dev-tools"
.SH NAME
syncpackage \- copy source packages from Debian to Ubuntu
.\"
syncpackage \- helper to prepare .changes file to upload synced packages
.SH SYNOPSIS
.B syncpackage
[\fIoptions\fR] \fI<.dsc URL/path or package name(s)>\fR
.\"
[\fIoptions\fR] \fI<.dsc URL/path or package name>\fR
.SH DESCRIPTION
\fBsyncpackage\fR causes one or more source package(s) to be copied from Debian
to Ubuntu.
\fBsyncpackage\fR generates a changes file to be directly uploaded to Ubuntu
primary archive or PPA starting from a pristine Debian package.
.PP
\fBsyncpackage\fR allows you to upload files with the same checksums of the
Debian ones, as the common script used by Ubuntu archive administrators does,
this way you can preserve source files integrity between the two distributions.
.PP
\fBsyncpackage\fR will detect source tarballs with mismatching
checksums, and can perform fake syncs.
.\"
.SH WARNING
The use of \fBsyncpackage \-\-no\-lp\fR, which generates a changes file to
be directly uploaded to the Ubuntu primary archive or a PPA, is discouraged
by the Ubuntu Archive Administrators, as it introduces an unnecessary window
for error.
This only exists for backward compatibility, for unusual corner cases
(such as fakesyncs), and for uploads to archives other than the Ubuntu
primary archive.
Omitting this option will cause Launchpad to perform the sync request
directly, which is the preferred method for uploads to the Ubuntu primary
archive.
.\"
\fBsyncpackage\fR will detect source tarballs with mismatching checksums and will automatically create fake syncs instead.
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR
Show help message and exit
.TP
\fB\-d\fI DIST\fR, \fB\-\-distribution\fR=\fIDIST\fR
Debian distribution to sync from. Default is \fIunstable\fR.
\fB\-d\fR DIST, \fB\-\-distribution\fR=\fIDIST\fR
Debian distribution to sync from.
.TP
\fB\-r\fI RELEASE\fR, \fB\-\-release\fR=\fIRELEASE\fR
Specify target Ubuntu release. Default: current development release.
\fB\-r\fR RELEASE, \fB\-\-release\fR=\fIRELEASE\fR
Specify target Ubuntu release.
.TP
\fB\-V\fI DEBVERSION\fR, \fB\-\-debian\-version\fR=\fIDEBVERSION\fR
\fB\-V\fR DEBVERSION, \fB\-\-debian\-version\fR=\fIDEBVERSION\fR
Specify the version to sync from.
.TP
\fB\-c\fI COMPONENT\fR, \fB\-\-component\fR=\fICOMPONENT\fR
\fB\-c\fR COMPONENT, \fB\-\-component\fR=\fICOMPONENT\fR
Specify the component to sync from.
.TP
\fB\-b\fI BUG\fR, \fB\-\-bug\fR=\fIBUG\fR
Mark a Launchpad bug as being fixed by this upload.
.TP
\fB\-s\fI USERNAME\fR, \fB\-\-sponsor\fR=\fIUSERNAME\fR
Sponsor the sync for \fIUSERNAME\fR (a Launchpad username).
.TP
\fB\-v\fR, \fB\-\-verbose\fR
Display more progress information.
print more information
.TP
\fB\-F\fR, \fB\-\-fakesync\fR
Perform a fakesync, to work around a tarball mismatch between Debian and
Ubuntu.
This option ignores blocklisting, and performs a local sync.
It implies \fB\-\-no\-lp\fR, and will leave a signed \fB.changes\fR file
for you to upload.
\fB\-u\fR UPLOADER, \fB\-\-uploader\fR=\fIUPLOADER\fR
Use UPLOADER as the name and email address of the
maintainer for this upload instead of evaluating
DEBFULLNAME and DEBEMAIL.
.TP
\fB\-f\fR, \fB\-\-force\fR
Force sync over the top of Ubuntu changes.
.TP
.B \-\-no\-conf
Do not read any configuration files, or configuration from environment
variables.
.TP
\fB\-l\fI INSTANCE\fR, \fB\-\-lpinstance\fR=\fIINSTANCE\fR
Launchpad instance to connect to (default: production).
.TP
.B \-\-simulate
Show what would be done, but don't actually do it.
.\"
.SH LOCAL SYNC PREPARATION OPTIONS
.TP
Options that only apply when using \fB\-\-no\-lp\fR:
.TP
.B \-\-no\-lp
Construct sync locally, rather than letting Launchpad copy the package
directly.
It will leave a signed \fB.changes\fR file for you to upload.
See the \fBWARNING\fR above.
.TP
\fB\-n\fI UPLOADER_NAME\fR, \fB\-\-uploader\-name\fR=\fIUPLOADER_NAME\fR
Use UPLOADER_NAME as the name of the maintainer for this upload instead
of evaluating DEBFULLNAME and UBUMAIL.
This option may only be used in \fB\-\-no\-lp\fR mode.
.TP
\fB\-e\fI UPLOADER_EMAIL\fR, \fB\-\-uploader\-email\fR=\fIUPLOADER_EMAIL\fR
Use UPLOADER_EMAIL as the email address of the maintainer for this
upload instead of evaluating DEBEMAIL and UBUMAIL.
This option may only be used in \fB\-\-no\-lp\fR mode.
.TP
\fB\-k\fI KEYID\fR, \fB\-\-key\fR=\fIKEYID\fR
\fB\-k\fR KEYID, \fB\-\-key\fR=\fIKEYID\fR
Specify the key ID to be used for signing.
.TP
\fB\-\-dont-sign\fR
Do not sign the upload.
.TP
.B \-d \fIDEBIAN_MIRROR\fR, \fB\-\-debian\-mirror\fR=\fIDEBIAN_MIRROR\fR
Use the specified mirror.
Should be in the form \fBhttp://ftp.debian.org/debian\fR.
If the package isn't found on this mirror, \fBsyncpackage\fR will fall
back to the default mirror.
.TP
.B \-s \fIUBUNTU_MIRROR\fR, \fB\-\-debsec\-mirror\fR=\fIUBUNTU_MIRROR\fR
Use the specified Debian security mirror.
Should be in the form \fBhttp://archive.ubuntu.com/ubuntu\fR.
If the package isn't found on this mirror, \fBsyncpackage\fR will fall
back to the default mirror.
.\"
.SH ENVIRONMENT
.TP
.BR DEBFULLNAME ", " DEBEMAIL ", " UBUMAIL
Used to determine the uploader (if not supplied as options).
See
.BR ubuntu\-dev\-tools (5)
for details.
.P
All of the \fBCONFIGURATION VARIABLES\fR below are also supported as
environment variables.
Variables in the environment take precedence to those in configuration
files.
.\"
.SH CONFIGURATION VARIABLES
The following variables can be set in the environment or in
.BR ubuntu\-dev\-tools (5)
configuration files.
In each case, the script\-specific variable takes precedence over the
package\-wide variable.
.TP
.BR SYNCPACKAGE_DEBIAN_MIRROR ", " UBUNTUTOOLS_DEBIAN_MIRROR
The default value for \fB\-\-debian\-mirror\fR.
.TP
.BR SYNCPACKAGE_UBUNTU_MIRROR ", " UBUNTUTOOLS_DEBSEC_MIRROR
The default value for \fB\-\-ubuntu\-mirror\fR.
.TP
.BR SYNCPACKAGE_KEYID ", " UBUNTUTOOLS_KEYID
The default value for \fB\-\-key\fR.
.\"
.SH SEE ALSO
.BR requestsync (1),
.BR ubuntu\-dev\-tools (5)
.\"
\fB\-b\fR BUG, \fB\-\-bug\fR=\fIBUG\fR
Mark a Launchpad bug as being fixed by this upload
.PP
.SH AUTHOR
\fBsyncpackage\fR was written by Martin Pitt <martin.pitt@canonical.com> and Benjamin Drung <bdrung@ubuntu.com>.
.PP
This manual page was written by Luca Falavigna <dktrkranz@ubuntu.com>
This manual page were written by Luca Falavigna <dktrkranz@ubuntu.com>
.PP
Both are released under GNU General Public License, version 3.

View File

@ -1,19 +1,20 @@
.TH UBUNTU-BUILD "1" "Mar 2024" "ubuntu-dev-tools"
.TH UBUNTU-BUILD "1" "June 2010" "ubuntu-dev-tools"
.SH NAME
ubuntu-build \- command-line interface to Launchpad build operations
.SH SYNOPSIS
.nf
\fBubuntu-build\fR <srcpackage> <release> <operation>
\fBubuntu-build\fR --batch [--retry] [--rescore \fIPRIORITY\fR] [--arch \fIARCH\fR [...]]
[--series \fISERIES\fR] [--state \fIBUILD-STATE\fR]
[-A \fIARCHIVE\fR] [pkg]...
.fi
.B ubuntu-build <srcpackage> <release> <operation>
.SH DESCRIPTION
\fBubuntu-build\fR provides a command line interface to the Launchpad build
operations.
.PP
\fBubuntu-build\fR uses a cookie file stored at \fI~/.lpcookie.txt\fR to authenticate
to Launchpad.
This cookie is created on run from the Mozilla Firefox cookie
file at \fI~/.mozilla/*/*/cookies.sqlite\fR.
.SH OPERATIONS
Listed below are the available operations for \fBubuntu-build\fR:
.TP
@ -42,8 +43,8 @@ operations.
.IP
\fB\-a\fR ARCHITECTURE, \fB\-\-arch\fR=\fIARCHITECTURE\fR
Rebuild or rescore a specific architecture. Valid
architectures are:
armhf, arm64, amd64, i386, powerpc, ppc64el, riscv64, s390x.
architectures include: amd64, sparc, powerpc, i386,
armel, ia64, lpia, hppa.
.TP
Batch processing:
.IP
@ -63,16 +64,14 @@ Retry builds (give\-back).
\fB\-\-rescore\fR=\fIPRIORITY\fR
Rescore builds to <priority>.
.IP
\fB\-\-arch\fR=\fIARCHITECTURE\fR
\fB\-\-arch2\fR=\fIARCHITECTURE\fR
Affect only 'architecture' (can be used several
times). Valid architectures are:
arm64, amd64, i386, powerpc, ppc64el, riscv64, s390x.
.IP
\fB\-A=\fIARCHIVE\fR
Act on the named archive (ppa) instead of on the main Ubuntu archive.
times). Valid architectures are: amd64, sparc,
powerpc, i386, armel, ia64, lpia, hppa.
.SH AUTHORS
\fBubuntu-build\fR was written by Martin Pitt <martin.pitt@canonical.com>, and
this manual page was written by Jonathan Patrick Davies <jpds@ubuntu.com>.
.PP
Both are released under the terms of the GNU General Public License, version 3.
Both are released under the terms of the GNU General Public License, version 3
or (at your option) any later version.

View File

@ -1,110 +0,0 @@
.\" Copyright (C) 2010, Stefano Rivera <stefanor@ubuntu.com>
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
.\" REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
.\" AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
.\" INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
.\" LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
.\" OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.TH ubuntu\-dev\-tools "5" "December 19 2010" "ubuntu\-dev\-tools"
.SH NAME
ubuntu\-dev\-tools \- Configuration for the ubuntu\-dev\-tools package.
.SH DESCRIPTION
The \fBubuntu\-dev\-tools\fR package is similar in scope to the
.BR devscripts (1)
package, providing a collection of scripts which may be of use
to Ubuntu and Debian developers or others wishing to build Debian packages.
Some of these scripts have options which may be configured on a
system\-wide and per\-user basis.
These options are configured in
.BR devscripts.conf (5).
All variables are described in the script's manpages. Package\-wide
variables begin with "\fIUBUNTUTOOLS\fR" and are listed below.
Every script which reads the configuration files can be forced to ignore
them by using the \fB\-\-no\-conf\fR command\-line option.
.SH ENVIRONMENT
All \fBubuntu\-dev\-tools\fR configuration variables can be set (and
overridden) by setting them in the environment (unlike
\fBdevscripts\fR).
In addition, several scripts use the following environment variables:
.TP
.B UBUMAIL
Overrides \fBDEBEMAIL\fR and \fBDEBFULLNAME\fR when the target is
clearly Ubuntu.
Can either contain an e-mail address or \fBFull Name
<email@example.org>\fR.
.TP
.BR DEBEMAIL ", " DEBFULLNAME
As in
.BR devscripts (1).
.SH PACKAGE\-WIDE VARIABLES
The currently recognised package\-wide variables are:
.TP
.B UBUNTUTOOLS_BUILDER
This specifies the preferred test\-builder, one of
.BR pbuilder " (default), " sbuild ", " pbuilder\-dist .
.TP
.B UBUNTUTOOLS_DEBIAN_MIRROR
The preferred Debian archive mirror.
Should be of the form \fBhttp://ftp.debian.org/debian\fR (no trailing
slash).
If not specified, the master will be used.
.TP
.B UBUNTUTOOLS_DEBSEC_MIRROR
The preferred Debian security archive mirror.
Should be of the form \fBhttp://security.debian.org\fR (no trailing
slash).
If not specified, the master will be used.
.TP
.B UBUNTUTOOLS_UBUNTU_MIRROR
The preferred Ubuntu archive mirror.
Should be of the form \fBhttp://archive.ubuntu.com/ubuntu\fR (no
trailing slash).
If not specified, the master will be used.
.TP
.B UBUNTUTOOLS_UBUNTU_PORTS_MIRROR
The preferred Ubuntu archive mirror.
Should be of the form \fBhttp://ports.ubuntu.com\fR (no
trailing slash).
If not specified, the master will be used.
.TP
.B UBUNTUTOOLS_LPINSTANCE
The launchpad instance to communicate with. e.g. \fBproduction\fR
(default) or \fBstaging\fR.
.TP
.B UBUNTUTOOLS_MIRROR_FALLBACK
Whether or not to fall\-back to the master archive mirror.
This is usually the desired behaviour, as mirrors can lag the masters.
If on a private network with only a local mirror, you may want to set
this to \fBno\fR.
.RB "One of " yes " (default) or " no .
.TP
.B UBUNTUTOOLS_UPDATE_BUILDER
Whether or not to update the test\-builder before each test build.
.RB "One of " yes " or " no " (default).
.TP
.B UBUNTUTOOLS_WORKDIR
The directory to use for preparing source packages etc.
When unset, defaults to a directory in \fI/tmp/\fR named after the
script.
.SH SEE ALSO
.BR devscripts (1),
.BR devscripts.conf (5)
.SH AUTHORS
This manpage was written by Stefano Rivera <stefanor@ubuntu.com>.

View File

@ -6,7 +6,7 @@
\fBubuntu-iso\fR <path to ISO>
.SH DESCRIPTION
When given a path to an ISO, \fBubuntu-iso\fR will determine whether it is an Ubuntu ISO or not. If it is, it will extract and display the version information.
When given a path to an ISO, \fBubuntu-iso\fR will determine whether it is an an Ubuntu ISO or not. If it is, it will extract and display the version information.
.SH AUTHORS
\fBubuntu-iso\fR was written by Matt Zimmerman <mdz@ubuntu.com>.

View File

@ -1,60 +0,0 @@
.\" Copyright (C) 2011, Stefano Rivera <stefanor@ubuntu.com>
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
.\" REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
.\" AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
.\" INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
.\" LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
.\" OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.TH ubuntu\-upload\-permission 1 "November 2011" ubuntu\-dev\-tools
.SH NAME
ubuntu\-upload\-permission \- Query upload rights and (optionally) list
the people and teams with upload rights for a package
.SH SYNOPSIS
.B ubuntu\-upload\-permission \fR[\fIoptions\fR] \fIpackage
.SH DESCRIPTION
\fBubuntu\-upload\-permission\fR checks if the user has upload
permissions for \fIpackage\fR.
If the \fB\-\-list\-uploaders\fR option is provided, all the people and
teams that do have upload rights for \fIpackage\fR will be listed.
.SH OPTIONS
.TP
\fB\-r\fR \fIRELEASE\fR, \fB\-\-release\fR=\fIRELEASE\fR
Query permissions in \fIRELEASE\fR.
Default: current development release.
.TP
\fB\-a\fR, \fB\-\-list\-uploaders\fR
List all the people and teams who have upload rights for \fIpackage\fR.
.TP
\fB\-t\fR, \fB\-\-list\-team\-members\fR
List all the members of every team with rights. (Implies
\fB\-\-list\-uploaders\fR)
.TP
\fB\-h\fR, \fB\-\-help\fR
Display a help message and exit
.SH EXIT STATUS
.TP
.B 0
You have the necessary upload rights.
.TP
.B 1
You don't have the necessary upload rights.
.TP
.B 2
There was an error.
.SH AUTHORS
\fBubuntu\-upload\-permission\fR and this manpage were written by
Stefano Rivera <stefanor@ubuntu.com>.
.PP
Both are released under the terms of the ISC License.

View File

@ -1,26 +1,10 @@
.\" Copyright (c) 2008, Siegfried-Angel Gevatter Pujals <rainct@ubuntu.com>
.\" 2010, Benjamin Drung <bdrung@ubuntu.com>
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.TH UPDATE\-MAINTAINER "1" "December 2010" "ubuntu-dev-tools"
.TH UPDATE\-MAINTAINER "1" "August 04, 2008" "ubuntu-dev-tools"
.SH NAME
update\-maintainer \- change the Maintainer field in a Debian source package
.SH SYNOPSIS
.B update\-maintainer
[\fIoptions\fR]
.B update\-maintainer [\fB\-\-path=<PATH>\fP] [\fB\-\-section=<SECTION>\fP]
.SH DESCRIPTION
\fBupdate\-maintainer\fP updates the Maintainer field in the source of
@ -28,20 +12,19 @@ an Ubuntu package to match the DebianMaintainerField specification.
.SH OPTIONS
.TP
\fB\-d \fIPATH\fR, \fB\-\-debian\-directory\fR=\fIPATH\fR
location of the \fIdebian\fR directory (default: \fB./debian\fR)
\fB\-\-path=<PATH>\fP
This option allows you to specify the path to the source directory.
.TP
\fB\-h\fR, \fB\-\-help\fR
show a help message and exit
.TP
\fB\-q\fR, \fB\-\-quiet\fR
print no informational messages
\fB\-\-section=<SECTION>\fP
Manually specify the section of the package. This is necessary if the
package is not yet in the archive or if you don't have an Internet
connection available when you run \fBupdate\-maintainer\fP.
.SH SEE ALSO
See https://wiki.ubuntu.com/DebianMaintainerField for more information.
.SH AUTHOR
\fBupdate-maintainer\fP has been written by Benjamin Drung <bdrung@ubuntu.com>
\fBupdate-maintainer\fP has been written by Albin Tonnerre <lut1n.tne@gmail.com>
and this manual page by Siegfried-Angel Gevatter Pujals <rainct@ubuntu.com>.
.PP
Both are released under the ISC license.
Both are released under the GNU General Public License, version 2.

40
doc/what-patch.1 Normal file
View File

@ -0,0 +1,40 @@
.TH WHAT\-PATCH "1" "10 August 2008" "ubuntu-dev-tools"
.SH NAME
what\-patch \- detects which patch system a Debian package uses
.SH SYNOPSIS
.B what\-patch [options]
.SH DESCRIPTION
\fBwhat\-patch\fR examines the debian/rules file to determine which patch
system the Debian package is using.
.PP
\fBwhat\-patch\fR should be run from the root directory of the Debian source
package.
.SH OPTIONS
Listed below are the command line options for what\-patch:
.TP
.B \-h or \-\-help
Display a help message and exit.
.TP
.B \-v
Enable verbose mode.
This will include the listing of any files modified outside or the debian/
directory and report any additional details about the patch system if
available.
.SH AUTHORS
\fBwhat\-patch\fR was written by Kees Cook <kees@ubuntu.com>,
Siegfried-A. Gevatter <rainct@ubuntu.com>, and Daniel Hahler
<ubuntu@thequod.de>, among others.
This manual page was written by Jonathan Patrick Davies <jpds@ubuntu.com>.
.PP
Both are released under the GNU General Public License, version 2.
.SH SEE ALSO
The Ubuntu MOTU team has some documentation about patch systems at the Ubuntu
wiki: \fBhttps://wiki.ubuntu.com/PackagingGuide/PatchSystems\fR
.PP
.B cdbs\-edit\-patch(1), dbs\-edit\-patch(1), dpatch\-edit\-patch(1)

53
doc/wrap-and-sort.1 Normal file
View File

@ -0,0 +1,53 @@
.\" Copyright (c) 2010, Benjamin Drung <bdrung@ubuntu.com>
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.TH WRAP\-AND\-SORT 1 "September 2010" "ubuntu-dev-tools"
.SH NAME
wrap-and-sort \- wrap long lines and sort items in packaging files
.SH SYNOPSIS
.B wrap-and-sort
[\fIoptions\fR]
.SH DESCRIPTION
\fBwrap\-and\-sort\fP wraps the package lists in Debian control files. By
default the lists will only split into multiple lines if the entries are longer
than 80 characters. \fBwrap\-and\-sort\fP sorts the package lists in Debian
control files and all .install files. Beside that \fBwrap\-and\-sort\fP removes
trailing spaces in these files.
.PP
This script should be run in the root of a Debian package tree. It searches for
debian/control, debian/control.in, debian/copyright, debian/copyright.in,
and debian/*.install.
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR
show this help message and exit
.TP
\fB\-a\fR, \fB\-\-wrap\-allways\fR
wrap all package lists in the Debian control file
even if the entries are shorter than 80 characters and could fit in one line
line
.TP
\fB\-n\fR, \fB\-\-no\-cleanup\fR
do not remove trailing whitespaces
.TP
\fB\-v\fR, \fB\-\-verbose\fR
print all files that are touched
.SH AUTHORS
\fBwrap\-and\-sort\fP and this manpage has been written by
Benjamin Drung <bdrung@ubuntu.com>.
.PP
Both are released under the ISC license.

267
edit-patch Executable file
View File

@ -0,0 +1,267 @@
#!/bin/sh
#
# Copyright (C) 2009 Canonical
#
# Authors:
# Daniel Holbach
# Michael Vogt
# David Futcher
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
# Foundation; version 3.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
set -e
PATCHSYSTEM="unknown"
PATCHNAME="no-patch-name"
PREFIX="debian/patches"
PATCH_DESC=$(cat<<EOF
## Description: add some description\
\n## Origin/Author: add some origin or author\
\n## Bug: bug URL
EOF
)
fatal_error() {
echo "$@" >&2
exit 1
}
# check if the given binary is installed and give a error if not
# arg1: binary
# arg2: error message
require_installed() {
if ! which "$1" >/dev/null; then
fatal_error "$2"
fi
}
ensure_debian_dir() {
if [ ! -e debian/control ] || [ ! -e debian/rules ]; then
fatal_error "Can not find debian/rules or debian/control. Not in a debian dir?"
fi
}
detect_patchsystem() {
CDBS_PATCHSYS="^[^#]*simple-patchsys.mk"
if grep -q "$CDBS_PATCHSYS" debian/rules; then
PATCHSYSTEM="cdbs"
require_installed cdbs-edit-patch "no cdbs-edit-patch found, is 'cdbs' installed?"
elif [ -e debian/patches/00list ]; then
PATCHSYSTEM="dpatch"
require_installed dpatch-edit-patch "no dpatch-edit-patch found, is 'dpatch' installed?"
elif [ -e debian/patches/series ]; then
PATCHSYSTEM="quilt"
require_installed quilt "no quilt found, is 'quilt' installed?"
else
PATCHSYSTEM="none"
PREFIX="debian/applied-patches"
fi
}
# remove full path if given
normalize_patch_path() {
PATCHNAME=${PATCHNAME##*/}
echo "Normalizing patch path to $PATCHNAME"
}
# ensure (for new patches) that:
# - dpatch ends with .dpatch
# - cdbs/quilt with .patch
normalize_patch_extension() {
# check if we have a patch already
if [ -e $PREFIX/$PATCHNAME ]; then
echo "Patch $PATCHNAME exists, not normalizing"
return
fi
# normalize name for new patches
PATCHNAME=${PATCHNAME%.*}
if [ "$PATCHSYSTEM" = "quilt" ]; then
PATCHNAME="${PATCHNAME}.patch"
elif [ "$PATCHSYSTEM" = "cdbs" ]; then
PATCHNAME="${PATCHNAME}.patch"
elif [ "$PATCHSYSTEM" = "dpatch" ]; then
PATCHNAME="${PATCHNAME}.dpatch"
elif [ "$PATCHSYSTEM" = "none" ]; then
PATCHNAME="${PATCHNAME}.patch"
fi
echo "Normalizing patch name to $PATCHNAME"
}
edit_patch_cdbs() {
cdbs-edit-patch $PATCHNAME
vcs_add debian/patches/$1
}
edit_patch_dpatch() {
dpatch-edit-patch $PATCHNAME
# add if needed
if ! grep -q $1 $PREFIX/00list; then
echo "$1" >> $PREFIX/00list
fi
vcs_add $PREFIX/00list $PREFIX/$1
}
edit_patch_quilt() {
export QUILT_PATCHES=debian/patches
if [ -e $PREFIX/$1 ]; then
# if its a existing patch and we are at the end of the stack,
# go back at the beginning
if ! quilt unapplied; then
quilt pop -a
fi
quilt push $1
else
# if its a new patch make sure we are at the end of the stack
if quilt unapplied >/dev/null; then
quilt push -a
fi
quilt new $1
fi
# use a sub-shell
quilt shell
quilt refresh
quilt pop -a
vcs_add $PREFIX/$1 $PREFIX/series
}
vcs_add() {
if [ -d .bzr ]; then
bzr add $@
elif [ -d .git ];then
git add $@
else
echo "Remember to add $@ to a VCS if you use one"
fi
}
vcs_commit() {
# check if debcommit is happy
if ! debcommit --noact 2>/dev/null; then
return
fi
# commit (if the user confirms)
debcommit --confirm
}
add_changelog() {
S="$PREFIX/$1: [DESCRIBE CHANGES HERE]"
if head -n1 debian/changelog|grep UNRELEASED; then
dch --append "$S"
else
dch --increment "$S"
fi
# let the user edit it
dch --edit
}
add_patch_tagging() {
# check if we have a descripton already
if grep "## Description:" $PREFIX/$1; then
return
fi
# if not, add one
RANGE=1,1
# make sure we keep the first line (for dpatch)
if head -n1 $PREFIX/$1|grep -q '^#'; then
RANGE=2,2
fi
sed -i ${RANGE}i"$PATCH_DESC" $PREFIX/$1
}
detect_patch_location() {
# Checks whether the specified patch exists in debian/patches or on the filesystem
FILENAME=${PATCHNAME##*/}
if [ -f "$PREFIX/$FILENAME" ]; then
PATCHTYPE="debian"
elif [ -f "$PATCHNAME" ]; then
PATCHTYPE="file"
PATCHORIG="$PATCHNAME"
else
if [ "$PATCHSYSTEM" = "none" ]; then
fatal_error "No patchsystem detected, cannot create new patch (no dpatch/quilt/cdbs?)"
else
PATCHTYPE="new"
fi
fi
}
edit_patch_none() {
# Dummy edit-patch function, just display a warning message
echo "No patchsystem could be found so the patch was applied inline and a copy \
stored in debian/patches-applied. Please remember to mention this in your changelog."
}
handle_file_patch() {
if [ "$PATCHTYPE" = "file" ]; then
[ -f "$PATCHORIG" ] || fatal_error "No patch detected"
if [ "$PATCHSYSTEM" = "none" ]; then
# If we're supplied a file and there is no patchsys we apply it directly
# and store it in debian/applied patches
[ -d $PREFIX ] || mkdir $PREFIX
patch -p0 < "$PATCHORIG"
cp "$PATCHORIG" "$PREFIX/$PATCHNAME"
else
# Patch type is file but there is a patchsys present, so we add it
# correctly
cp "$PATCHORIG" "$PREFIX/$PATCHNAME"
if [ "$PATCHSYSTEM" = "quilt" ]; then
echo "$PATCHNAME" >> $PREFIX/series
elif [ "$PATCHSYSTEM" = "dpatch" ]; then
echo "$PATCHNAME" >> $PREFIX/00list
# Add the dpatch header to files that don't already have it
if ! grep -q "@DPATCH@" "$PREFIX/$PATCHNAME"; then
sed -i '1i#! /bin/sh /usr/share/dpatch/dpatch-run\n@DPATCH@' $PREFIX/$PATCHNAME
fi
fi
echo "Copying and applying new patch. You can now edit the patch or exit the subshell to save."
fi
fi
}
# TODO:
# - edit-patch --remove implementieren
# - dbs patch system
main() {
# parse args
if [ $# -ne 1 ]; then
fatal_error "Need exactly one patch name"
fi
PATCHNAME="$1"
# do the work
ensure_debian_dir
detect_patchsystem
detect_patch_location
normalize_patch_path
normalize_patch_extension
handle_file_patch
edit_patch_$PATCHSYSTEM $PATCHNAME
add_patch_tagging $PATCHNAME
add_changelog $PATCHNAME
vcs_commit
}
main $@

View File

@ -1,62 +0,0 @@
#!/usr/bin/python3
#
# Copyright (C) 2011, Stefano Rivera <stefanor@ubuntu.com>
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
#
# Wraps sensisible-editor in checks for remaining boilerplate.
# Configured through environment variables:
# UDT_EDIT_WRAPPER_EDITOR: The user's usual $EDITOR
# UDT_EDIT_WRAPPER_VISUAL: The user's usual $VISUAL
# UDT_EDIT_WRAPPER_TEMPLATE_RE: An extra boilerplate-detecting regex.
# UDT_EDIT_WRAPPER_FILE_DESCRIPTION: The type of file being edited.
# pylint: disable=invalid-name
# pylint: enable=invalid-name
import argparse
import os
import re
from ubuntutools.question import EditFile
def main():
parser = argparse.ArgumentParser(usage="%(prog)s [options] filename")
parser.add_argument("filename", help=argparse.SUPPRESS)
args = parser.parse_args()
if not os.path.isfile(args.filename):
parser.error(f"File {args.filename} does not exist")
if "UDT_EDIT_WRAPPER_EDITOR" in os.environ:
os.environ["EDITOR"] = os.environ["UDT_EDIT_WRAPPER_EDITOR"]
else:
del os.environ["EDITOR"]
if "UDT_EDIT_WRAPPER_VISUAL" in os.environ:
os.environ["VISUAL"] = os.environ["UDT_EDIT_WRAPPER_VISUAL"]
else:
del os.environ["VISUAL"]
placeholders = []
if "UDT_EDIT_WRAPPER_TEMPLATE_RE" in os.environ:
placeholders.append(re.compile(os.environ["UDT_EDIT_WRAPPER_TEMPLATE_RE"]))
description = os.environ.get("UDT_EDIT_WRAPPER_FILE_DESCRIPTION", "file")
EditFile(args.filename, description, placeholders).edit()
if __name__ == "__main__":
main()

42
errno Executable file
View File

@ -0,0 +1,42 @@
#!/bin/sh -e
#
# errno - search POSIX error codes by error number, error name,
# or error description
#
# Copyright (C) 2010 Dustin Kirkland <kirkland@ubuntu.com>
#
# Authors:
# Dustin Kirkland <kirkland@ubuntu.com>
# Kees Cook <kees@ubuntu.com>
# Scott Moser <smoser@ubuntu.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
if which gcc >/dev/null; then
# Header finding trick from Kees Cook <kees@ubuntu.com>
headers=$(echo "#include <asm/errno.h>" | gcc -E - | grep "\.h" | awk -F\" '{print $2}' | sort -u)
else
headers="/usr/include/asm-generic/errno*.h"
fi
code="$1"
for code in "${@}"; do
if [ "$code" -le 0 -o "$code" -ge 0 ] 2>/dev/null; then
# Input is a number, search for a particular matching code
sed -n "s,^#define\s\+\([^[:space:]]\+\s\+${code}\s.*\),\1,p" ${headers}
else
# Input is not a number, search for any matching strings
sed -n "s,^#define\s\+\(.*${code}.*\),\1,Ip" ${headers}
fi
done

View File

@ -0,0 +1,16 @@
subject: [UNMETDEPS] $pack has unmet dependencies
assignee:
status: confirmed
subscribers: motu
tags: unmetdeps
buglist-url: http://bugs.launchpad.net/ubuntu/+bugs?field.tag=unmetdeps
text:
A run of
.
LC_ALL=C apt-cache -i unmet | grep ^Package | cut -d' ' -f2 | grep
-v dbgsym | sort -u | xargs apt-cache showsrc | grep ^Directory |
sed 's/Package\:\ //g' | grep verse | cut -d'/' -f4
indicates that the source package $pack has binary packages that are not
installable (on AMD64) at the moment.
.
Please have a look and make sure it's installable again.

2
examples/massfile.list Normal file
View File

@ -0,0 +1,2 @@
z88dk
zope-quotafolder

115
get-branches Executable file
View File

@ -0,0 +1,115 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Copyright (C) 2007 Canonical Ltd.
# Created by Daniel Holbach <daniel.holbach@ubuntu.com>
# Modified by Jonathan Patrick Davies <jpds@ubuntu.com>
#
# ##################################################################
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# See file /usr/share/common-licenses/GPL-3 for more details.
#
# ##################################################################
#
# This script is used to checkout or branch all the Bazaar branches
# of a Launchpad team.
#
import os
import subprocess
import sys
from optparse import OptionParser
from ubuntutools.lp.lpapicache import PersonTeam
def main():
usage = "Usage: %prog [-d <directory>] -t <team> [-o <operation>]"
usage += "\nUsage: %prog <team>"
optParser = OptionParser(usage)
# Our options.
optParser.add_option("-d", "--directory", action = "store", type = "string",
dest = "directory", default = os.getcwd(),
help = "Directory to download branches to.")
optParser.add_option("-t", "--team", action = "store", type = "string",
dest = "lpteam", help = "Launchpad team to download branches from.")
optParser.add_option("-o", "--operation", action = "store", type = "string",
dest = "operation", default = "branch",
help = "Whether to branch or checkout the Bazaar branches. May be " \
"either 'branch' or 'checkout'.")
(options, args) = optParser.parse_args()
# Fetch our current directory to return to later.
pwd = os.getcwd()
# Parse our options.
if len(args) != 1 and options.lpteam == None:
optParser.error("No team has been specified.")
# Dictionary settings.
directory = options.directory
if not os.path.isdir(directory): # Check that it is a directory.
optParser.error("%s is not a valid directory." % directory)
os.chdir(directory)
# Type of Bazaar operation to perform.
operation_type = options.operation.lower()
if operation_type not in ("branch", "checkout"):
optParser.error("Invalid operation '%s' for '-o' flag." % \
operation_type)
# Launchpad team setting.
if options.lpteam:
team = options.lpteam.lower()
if args:
team = args[0].lower()
try:
team = PersonTeam(team)
except KeyError:
print >> sys.stderr, "E: The team '%s' doesn't exist." % team
# Get a list of branches
branches = team.getBranches()
print "Downloading all branches for the '%s' team. This may take some " \
"time." % team.display_name
try:
os.makedirs(team.name)
except:
pass
os.chdir(team.name)
for branch in branches:
project_name = branch.project.name
if not os.path.exists(project_name):
os.makedirs(project_name)
os.chdir(project_name)
if not os.path.exists(branch.name):
print "Branching %s ..." % branch.display_name
subprocess.call(["bzr", operation_type, branch.bzr_identity, branch.name])
else:
print "Merging %s ..." % branch.display_name
os.chdir(branch.name)
subprocess.call(["bzr", "merge", "--pull", "--remember"])
os.chdir(os.path.join(directory, team.name))
os.chdir(pwd)
sys.exit(0)
if __name__ == "__main__":
try:
main()
except KeyboardInterrupt:
print "Operation was interrupted by user."

95
get-build-deps Executable file
View File

@ -0,0 +1,95 @@
#!/bin/bash
#
# Copyright 2007 (C) Siegfried-A. Gevatter <rainct@ubuntu.com>
#
# ##################################################################
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# See file /usr/share/common-licenses/GPL for more details.
#
# ##################################################################
#
# If you don't pass it any argument, this script will check if
# there's a control (debian/control) file somewhere in the current
# directory, and if it's so, it'll install the build dependencies
# listed there.
#
# If it gets a single argument, and it's the name of a file, it will
# read it, supposing that each line contains the name of a package,
# and install the build dependencies for all those.
#
# Otherwise, if there is more than one argument, or the given argument
# isn't the name of an existing file, it will suppose that the each
# argument is the name of a package, and install the dependencies for
# all of them.
if [ $# -eq 0 ]
then
#########################################################
# Install the dependencies for the source package the
# user is working on.
if [ -f ../debian/control ]; then
cd ..
elif [ ! -f ./debian/control ]; then
echo "\
Couldn't find file debian/control. You have to be inside the \
source directory of a Debian package or pass the name of the \
package(s) whose build dependencies you want to install in order \
to use this script."
exit 1
fi
filepath="`pwd`/debian/control"
missing_dependencies=$(dpkg-checkbuilddeps 2>&1)
if [ -z "$missing_dependencies" ]; then
echo "The build dependencies described in «$filepath» are already satisfied."
exit 0
fi
echo "Installing the build dependencies described in «$filepath»..."
if [ -x /usr/lib/pbuilder/pbuilder-satisfydepends ]
then
sudo /usr/lib/pbuilder/pbuilder-satisfydepends
else
echo "Warning: «pbuilder» isn\'t installed, falling back to «dpkg-checkbuilddeps»."
sudo aptitude install $(echo $missing_dependencies | awk -F: '{ print $3 }' | sed 's/([^)]*)//g' | sed 's/|\s[^\s]*//g')
#' <--- Fix to avoid Geanys markup breaking
fi
exit 0
elif [ $# -eq 1 ]
then
#########################################################
# Check if the given argument is a file name, else
# continue after the if.
if [ -f $1 ]
then
packages=''
echo "Installing the build dependencies for the following packages:"
while read line
do
echo $line
packages="$packages $line"
done < $1
echo
sudo apt-get build-dep $packages
exit 0
fi
fi
#########################################################
# All arguments should be package names, install
# their build dependencies.
sudo apt-get build-dep $*

Some files were not shown because too many files have changed in this diff Show More