mirror of
https://git.launchpad.net/ubuntu-dev-tools
synced 2025-08-16 00:14:02 +00:00
Compare commits
No commits in common. "main" and "0.82" have entirely different histories.
8
.bzrignore
Normal file
8
.bzrignore
Normal 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
2
.gitignore
vendored
@ -1,2 +0,0 @@
|
|||||||
__pycache__
|
|
||||||
*.egg-info
|
|
65
.pylintrc
65
.pylintrc
@ -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
161
404main
Executable 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.GetPkgSrcRecords()
|
||||||
|
got_src = False
|
||||||
|
while src_records.Lookup(version.source_name):
|
||||||
|
if pack in src_records.Binaries:
|
||||||
|
got_src = True
|
||||||
|
break
|
||||||
|
if got_src:
|
||||||
|
base_deps = []
|
||||||
|
for (name, ver, op, deptype) in src_records.BuildDepends:
|
||||||
|
base_deps.append(apt.package.BaseDependency(name, comp_type_deb(op), ver, False))
|
||||||
|
if (op & 16) != 16:
|
||||||
|
deps.append(apt.package.Dependency(base_deps))
|
||||||
|
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
4
GPL-3
@ -77,7 +77,7 @@ modification follow.
|
|||||||
|
|
||||||
"Copyright" also means copyright-like laws that apply to other kinds of
|
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||||
works, such as semiconductor masks.
|
works, such as semiconductor masks.
|
||||||
|
|
||||||
"The Program" refers to any copyrightable work licensed under this
|
"The Program" refers to any copyrightable work licensed under this
|
||||||
License. Each licensee is addressed as "you". "Licensees" and
|
License. Each licensee is addressed as "you". "Licensees" and
|
||||||
"recipients" may be individuals or organizations.
|
"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
|
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
|
in a country, would infringe one or more identifiable patents in that
|
||||||
country that you have reason to believe are valid.
|
country that you have reason to believe are valid.
|
||||||
|
|
||||||
If, pursuant to or in connection with a single transaction or
|
If, pursuant to or in connection with a single transaction or
|
||||||
arrangement, you convey, or propagate by procuring conveyance of, a
|
arrangement, you convey, or propagate by procuring conveyance of, a
|
||||||
covered work, and grant a patent license to some of the parties
|
covered work, and grant a patent license to some of the parties
|
||||||
|
@ -1,54 +1,51 @@
|
|||||||
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.
|
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
|
https://code.launchpad.net/ubuntu-dev-tools/+approvedmerges
|
||||||
|
|
||||||
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.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
|
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
|
Using: dch -r UNRELEASED - will also set the release to the development
|
||||||
the new package version):
|
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
|
bzr tag X.YY
|
||||||
which git commit is in which release and makes bug triaging easier.
|
|
||||||
|
|
||||||
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, without the .bzr directory (this is to
|
||||||
|
reduce the size of the tarball):
|
||||||
|
|
||||||
9) Create a new blank entry with dch -i and mark it as UNRELEASED.
|
debuild -S -sa -I.bzr
|
||||||
|
|
||||||
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.
|
||||||
|
495
backportpackage
495
backportpackage
@ -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))
|
|
@ -21,7 +21,7 @@ _pbuilder-dist()
|
|||||||
|
|
||||||
case $prev in
|
case $prev in
|
||||||
build)
|
build)
|
||||||
_filedir "dsc"
|
COMPREPLY=( $( compgen -o filenames -G "$cur*.dsc" ) )
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
COMPREPLY=( $( compgen -W "$options" | grep "^$cur" ) )
|
COMPREPLY=( $( compgen -W "$options" | grep "^$cur" ) )
|
||||||
@ -30,17 +30,6 @@ _pbuilder-dist()
|
|||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
[ "$have" ] && _pbuilder-aliases()
|
[ "$have" ] && complete -F _pbuilder-dist -o filenames \
|
||||||
{
|
{pbuilder,cowbuilder}-{dist,dapper,edgy,feisty,gutsy,hardy,intrepid,jaunty,karmic,sarge,etch,lenny,squeeze,sid}
|
||||||
local distro builder arch
|
# Make it pbuilder-* if you know how to do it
|
||||||
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)
|
|
||||||
|
245
buildd
Executable file
245
buildd
Executable file
@ -0,0 +1,245 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
#
|
||||||
|
# buildd - command line interface for Launchpad buildd operations.
|
||||||
|
#
|
||||||
|
# Copyright (C) 2007 Canonical Ltd.
|
||||||
|
# Authors:
|
||||||
|
# - Martin Pitt <martin.pitt@canonical.com>
|
||||||
|
# - Jonathan Davies <jpds@ubuntu.com>
|
||||||
|
# - Michael Bienia <geser@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.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
|
||||||
|
# Our modules to import.
|
||||||
|
import sys
|
||||||
|
from optparse import OptionGroup
|
||||||
|
from optparse import OptionParser
|
||||||
|
from ubuntutools.lp.udtexceptions import SeriesNotFoundException, PackageNotFoundException
|
||||||
|
from ubuntutools.lp.lpapicache import Distribution, PersonTeam
|
||||||
|
|
||||||
|
# Usage.
|
||||||
|
usage = "%prog <srcpackage> <release> <operation>\n\n"
|
||||||
|
usage += "Where operation may be one of: rescore, retry, or status.\n"
|
||||||
|
usage += "Only Launchpad Buildd Admins may rescore package builds."
|
||||||
|
|
||||||
|
# Valid architectures.
|
||||||
|
valid_archs = set(["armel", "amd64", "hppa", "i386",
|
||||||
|
"ia64", "lpia", "powerpc", "sparc"])
|
||||||
|
|
||||||
|
# Prepare our option parser.
|
||||||
|
optParser = OptionParser(usage)
|
||||||
|
|
||||||
|
# Retry options
|
||||||
|
retryRescoreOptions = OptionGroup(optParser, "Retry and rescore options",
|
||||||
|
"These options may only be used with the 'retry' and 'rescore' operations.")
|
||||||
|
retryRescoreOptions.add_option("-a", "--arch", type = "string",
|
||||||
|
action = "append", dest = "architecture",
|
||||||
|
help = "Rebuild or rescore a specific architecture. " \
|
||||||
|
"Valid architectures include: " \
|
||||||
|
"%s." % ", ".join(valid_archs))
|
||||||
|
|
||||||
|
# Batch processing options
|
||||||
|
batch_options = OptionGroup(
|
||||||
|
optParser, "Batch processing",
|
||||||
|
"These options and parameter ordering is only available in --batch mode.\n"
|
||||||
|
"Usage: buildd --batch [options] <package>...")
|
||||||
|
batch_options.add_option(
|
||||||
|
'--batch', action = 'store_true', dest = 'batch', default = False,
|
||||||
|
help = 'Enable batch mode')
|
||||||
|
batch_options.add_option(
|
||||||
|
'--series', action = 'store', dest = 'series', type = 'string',
|
||||||
|
help = 'Selects the Ubuntu series to operate on (default: current development series)')
|
||||||
|
batch_options.add_option(
|
||||||
|
'--retry', action = 'store_true', dest = 'retry', default = False,
|
||||||
|
help = 'Retry builds (give-back).')
|
||||||
|
batch_options.add_option(
|
||||||
|
'--rescore', action = 'store', dest = 'priority', type = 'int',
|
||||||
|
help = 'Rescore builds to <priority>.')
|
||||||
|
batch_options.add_option(
|
||||||
|
'--arch2', action = 'append', dest = 'architecture', type = 'string',
|
||||||
|
help = "Affect only 'architecture' (can be used several times). "
|
||||||
|
"Valid architectures are: %s." % ', '.join(valid_archs))
|
||||||
|
|
||||||
|
# Add the retry options to the main group.
|
||||||
|
optParser.add_option_group(retryRescoreOptions)
|
||||||
|
# Add the batch mode to the main group.
|
||||||
|
optParser.add_option_group(batch_options)
|
||||||
|
|
||||||
|
# Parse our options.
|
||||||
|
(options, args) = optParser.parse_args()
|
||||||
|
|
||||||
|
if not len(args):
|
||||||
|
optParser.print_help()
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
if not options.batch:
|
||||||
|
# Check we have the correct number of arguments.
|
||||||
|
if len(args) < 3:
|
||||||
|
optParser.error("Incorrect number of arguments.")
|
||||||
|
|
||||||
|
try:
|
||||||
|
package = str(args[0]).lower()
|
||||||
|
release = str(args[1]).lower()
|
||||||
|
op = str(args[2]).lower()
|
||||||
|
except IndexError:
|
||||||
|
optParser.print_help()
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
# Check our operation.
|
||||||
|
if op not in ("rescore", "retry", "status"):
|
||||||
|
print >> sys.stderr, "Invalid operation: %s." % op
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
# If the user has specified an architecture to build, we only wish to rebuild it
|
||||||
|
# and nothing else.
|
||||||
|
if options.architecture:
|
||||||
|
if options.architecture[0] not in valid_archs:
|
||||||
|
print >> sys.stderr, "Invalid architecture specified: %s." % options.architecture[0]
|
||||||
|
sys.exit(1)
|
||||||
|
else:
|
||||||
|
oneArch = True
|
||||||
|
else:
|
||||||
|
oneArch = False
|
||||||
|
|
||||||
|
# split release and pocket
|
||||||
|
if '-' in release:
|
||||||
|
(release, pocket) = release.split('-')
|
||||||
|
else:
|
||||||
|
pocket = 'Release'
|
||||||
|
pocket = pocket.capitalize()
|
||||||
|
if pocket not in ('Release', 'Security', 'Updates', 'Proposed', 'Backports'):
|
||||||
|
print 'Unknown pocket: %s' % pocket
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
# Get the ubuntu archive
|
||||||
|
ubuntu_archive = Distribution('ubuntu').getArchive()
|
||||||
|
# Get list of published sources for package in question.
|
||||||
|
try:
|
||||||
|
sources = ubuntu_archive.getSourcePackage(package, release, pocket)
|
||||||
|
except (SeriesNotFoundException, PackageNotFoundException), e:
|
||||||
|
print e
|
||||||
|
sys.exit(1)
|
||||||
|
# Get list of builds for that package.
|
||||||
|
builds = sources.getBuilds()
|
||||||
|
|
||||||
|
# Find out the version and component in given release.
|
||||||
|
version = sources.getVersion()
|
||||||
|
component = sources.getComponent()
|
||||||
|
|
||||||
|
# Operations that are remaining may only be done by Ubuntu developers (retry)
|
||||||
|
# or buildd admins (rescore). Check if the proper permissions are in place.
|
||||||
|
me = PersonTeam.getMe()
|
||||||
|
if op == "rescore": necessaryPrivs = me.isLpTeamMember('launchpad-buildd-admins')
|
||||||
|
if op == "retry": necessaryPrivs = me.canUploadPackage(
|
||||||
|
ubuntu_archive, sources.getPackageName(), sources.getComponent())
|
||||||
|
|
||||||
|
if op in ('rescore', 'retry') and not necessaryPrivs:
|
||||||
|
print >> sys.stderr, "You cannot perform the %s operation on a %s package " \
|
||||||
|
"as you do not have the permissions to do this action." % (op, component)
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
# Output details.
|
||||||
|
print "The source version for '%s' in %s (%s) is at %s." % (package,
|
||||||
|
release.capitalize(), component, version)
|
||||||
|
|
||||||
|
print "Current build status for this package:"
|
||||||
|
|
||||||
|
# Output list of arches for package and their status.
|
||||||
|
done = False
|
||||||
|
for build in builds:
|
||||||
|
if oneArch and build.arch_tag != options.architecture[0]:
|
||||||
|
# Skip this architecture.
|
||||||
|
continue
|
||||||
|
|
||||||
|
done = True
|
||||||
|
print "%s: %s." % (build.arch_tag, build.buildstate)
|
||||||
|
if op == 'rescore':
|
||||||
|
if build.can_be_rescored:
|
||||||
|
# FIXME: make priority an option
|
||||||
|
priority = 5000
|
||||||
|
print 'Rescoring build %s to %d...' % (build.arch_tag, priority)
|
||||||
|
build.rescore(score = priority)
|
||||||
|
else:
|
||||||
|
print 'Cannot rescore build on %s.' % build.arch_tag
|
||||||
|
if op == 'retry':
|
||||||
|
if build.can_be_retried:
|
||||||
|
print 'Retrying build on %s...' % build.arch_tag
|
||||||
|
build.retry()
|
||||||
|
else:
|
||||||
|
print 'Cannot retry build on %s.' % build.arch_tag
|
||||||
|
|
||||||
|
|
||||||
|
# We are done
|
||||||
|
if done: sys.exit(0)
|
||||||
|
|
||||||
|
print "No builds for '%s' found in the %s release - it may have been " \
|
||||||
|
"built in a former release." % (package, release.capitalize())
|
||||||
|
sys.exit(0)
|
||||||
|
|
||||||
|
# Batch mode
|
||||||
|
|
||||||
|
if not options.architecture:
|
||||||
|
# no specific architectures specified, assume all valid ones
|
||||||
|
archs = valid_archs
|
||||||
|
else:
|
||||||
|
archs = set(options.architecture)
|
||||||
|
|
||||||
|
# filter out duplicate and invalid architectures
|
||||||
|
archs.intersection_update(valid_archs)
|
||||||
|
|
||||||
|
release = options.series or Distribution('ubuntu').getDevelopmentSeries().name
|
||||||
|
pocket = 'Release'
|
||||||
|
if release and '-' in release:
|
||||||
|
# split release and pocket
|
||||||
|
(release, pocket) = options.series.split('-')
|
||||||
|
pocket = pocket.capitalize()
|
||||||
|
|
||||||
|
if pocket not in ('Release', 'Security', 'Updates', 'Proposed', 'Backports'):
|
||||||
|
print 'Unknown pocket: %s' % pocket
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
ubuntu_archive = Distribution('ubuntu').getArchive()
|
||||||
|
me = PersonTeam.getMe()
|
||||||
|
|
||||||
|
# Check permisions (part 1): Rescoring can only be done by buildd admins
|
||||||
|
can_rescore = options.priority and me.isLpTeamMember('launchpad-buildd-admins') or False
|
||||||
|
if options.priority and not can_rescore:
|
||||||
|
print >> sys.stderr, "You don't have the permissions to rescore builds. Ignoring your rescore request."
|
||||||
|
|
||||||
|
for pkg in args:
|
||||||
|
try:
|
||||||
|
pkg = ubuntu_archive.getSourcePackage(pkg, release, pocket)
|
||||||
|
except SeriesNotFoundException, e:
|
||||||
|
print e
|
||||||
|
sys.exit(1)
|
||||||
|
except PackageNotFoundException, e:
|
||||||
|
print e
|
||||||
|
continue
|
||||||
|
|
||||||
|
# Check permissions (part 2): check upload permissions for the source package
|
||||||
|
can_retry = options.retry and me.canUploadPackage(ubuntu_archive, pkg.getPackageName(), pkg.getComponent())
|
||||||
|
if options.retry and not can_retry:
|
||||||
|
print >> sys.stderr, "You don't have the permissions to retry the build of '%s'. Ignoring your request." % pkg.getPackageName()
|
||||||
|
|
||||||
|
print "The source version for '%s' in '%s' (%s) is: %s" % (
|
||||||
|
pkg.getPackageName(), release, pocket, pkg.getVersion())
|
||||||
|
|
||||||
|
print pkg.getBuildStates(archs)
|
||||||
|
if can_retry:
|
||||||
|
print pkg.retryBuilds(archs)
|
||||||
|
if options.priority and can_rescore:
|
||||||
|
print pkg.rescoreBuilds(archs, options.priority)
|
||||||
|
|
||||||
|
print ''
|
203
check-mir
203
check-mir
@ -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()
|
|
@ -8,7 +8,7 @@
|
|||||||
# This program is free software; you can redistribute it and/or
|
# This program is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the GNU General Public License
|
# modify it under the terms of the GNU General Public License
|
||||||
# as published by the Free Software Foundation; version 2.
|
# as published by the Free Software Foundation; version 2.
|
||||||
#
|
#
|
||||||
# This program is distributed in the hope that it will be useful,
|
# This program is distributed in the hope that it will be useful,
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# 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
|
# This script is used to get a diff of the exported symbols of all .so files in
|
||||||
# every binary package of package $1.
|
# 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)
|
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=""
|
DEBLINE=""
|
||||||
DEBUG=False
|
DEBUG=False
|
||||||
|
|
||||||
usage() {
|
if [[ -z $1 ]]; then
|
||||||
prog=$(basename $0)
|
echo "Missing argument: source package name."
|
||||||
cat <<EOF
|
exit 1
|
||||||
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
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
VERSION=$(apt-cache madison "$PACKAGE" | grep -- "$DISTRO"'/.*Sources$' | awk '{print $3}')
|
if [[ -z $2 ]]; then
|
||||||
PACKAGES=$(apt-cache showsrc "$PACKAGE" | grep-dctrl -s Binary -F Version "$VERSION" | sed 's/Binary\:\ //g;s/\,//g' | sort -u)
|
DEBDIR="/var/cache/pbuilder/result"
|
||||||
|
else
|
||||||
|
DEBDIR="$2"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ `id -u` != "0" ]
|
if [ `id -u` != "0" ]
|
||||||
then
|
then
|
||||||
@ -101,7 +60,7 @@ do
|
|||||||
done
|
done
|
||||||
|
|
||||||
if [[ -z $DEBLINE ]]; then
|
if [[ -z $DEBLINE ]]; then
|
||||||
echo "Package doesn't exist: $PACKAGE."
|
echo "Package doesn't exist: $1."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -131,4 +90,4 @@ do
|
|||||||
diff -u /tmp/$LIBNAME.{old,new}
|
diff -u /tmp/$LIBNAME.{old,new}
|
||||||
rm /tmp/$LIBNAME.{old,new}
|
rm /tmp/$LIBNAME.{old,new}
|
||||||
done;
|
done;
|
||||||
done
|
done
|
||||||
|
23
dch-repeat
23
dch-repeat
@ -1,7 +1,6 @@
|
|||||||
#!/usr/bin/perl
|
#!/usr/bin/perl
|
||||||
#
|
#
|
||||||
# Copyright (C) 2007-2008 Canonical, Ltd.,
|
# Copyright (C) 2007-2008 Canonical, Ltd.
|
||||||
# 2011, Stefano Rivera <stefanor@ubuntu.com>
|
|
||||||
# Author: Kees Cook <kees@ubuntu.com>
|
# Author: Kees Cook <kees@ubuntu.com>
|
||||||
#
|
#
|
||||||
# ##################################################################
|
# ##################################################################
|
||||||
@ -10,7 +9,7 @@
|
|||||||
# modify it under the terms of the GNU General Public License
|
# modify it under the terms of the GNU General Public License
|
||||||
# as published by the Free Software Foundation; either version 3
|
# as published by the Free Software Foundation; either version 3
|
||||||
# of the License, or (at your option) any later version.
|
# of the License, or (at your option) any later version.
|
||||||
#
|
#
|
||||||
# This program is distributed in the hope that it will be useful,
|
# This program is distributed in the hope that it will be useful,
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
@ -48,11 +47,11 @@ EOM
|
|||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
my @releases = undef;
|
my @releases = ('dapper', 'hardy', 'intrepid', 'jaunty', 'karmic');
|
||||||
our $devel_release = undef;
|
|
||||||
|
|
||||||
#Getopt::Long::Configure("bundling", "no_ignore_case");
|
#Getopt::Long::Configure("bundling", "no_ignore_case");
|
||||||
our $opt_build_tree = "/scratch/ubuntu/build";
|
our $opt_build_tree = "/scratch/ubuntu/build";
|
||||||
|
our $opt_devel_release = $releases[$#releases];
|
||||||
our $opt_pocket = undef;
|
our $opt_pocket = undef;
|
||||||
our $opt_package = undef;
|
our $opt_package = undef;
|
||||||
our $opt_source_release = undef;
|
our $opt_source_release = undef;
|
||||||
@ -71,10 +70,6 @@ Usage() unless (GetOptions(
|
|||||||
));
|
));
|
||||||
Usage() if ($opt_help);
|
Usage() if ($opt_help);
|
||||||
|
|
||||||
@releases = split(/\s+/, `ubuntu-distro-info --supported`);
|
|
||||||
$devel_release = `ubuntu-distro-info --devel`;
|
|
||||||
chomp($devel_release);
|
|
||||||
|
|
||||||
sub get_changelog($)
|
sub get_changelog($)
|
||||||
{
|
{
|
||||||
my ($path) = @_;
|
my ($path) = @_;
|
||||||
@ -140,9 +135,9 @@ warn "package: '$opt_package\n" if ($opt_verbose);
|
|||||||
|
|
||||||
# By default, take changelog from newer release
|
# By default, take changelog from newer release
|
||||||
if (!defined($opt_source_release)) {
|
if (!defined($opt_source_release)) {
|
||||||
if ($opt_target_release eq $devel_release) {
|
if ($opt_target_release eq $opt_devel_release) {
|
||||||
die "No more recent release than '$devel_release' to take changelog from\n";
|
die "No more recent release than '$opt_devel_release' to take changelog from\n";
|
||||||
}
|
}
|
||||||
foreach my $i (0 .. $#releases) {
|
foreach my $i (0 .. $#releases) {
|
||||||
if ($releases[$i] eq $opt_target_release) {
|
if ($releases[$i] eq $opt_target_release) {
|
||||||
$opt_source_release = $releases[$i+1];
|
$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 "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
|
# By default, use "security" pocket for non-devel releases
|
||||||
if (!defined($opt_pocket)) {
|
if (!defined($opt_pocket)) {
|
||||||
if ($opt_target_release eq $devel_release) {
|
if ($opt_target_release eq $opt_devel_release) {
|
||||||
$opt_pocket = "";
|
$opt_pocket = "";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
1
debian/.gitignore
vendored
1
debian/.gitignore
vendored
@ -1 +0,0 @@
|
|||||||
files
|
|
49
debian/NEWS
vendored
49
debian/NEWS
vendored
@ -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
26
debian/README.source
vendored
@ -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.
|
|
2609
debian/changelog
vendored
2609
debian/changelog
vendored
File diff suppressed because it is too large
Load Diff
1
debian/clean
vendored
1
debian/clean
vendored
@ -1 +0,0 @@
|
|||||||
*.egg-info/
|
|
1
debian/compat
vendored
Normal file
1
debian/compat
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
6
|
169
debian/control
vendored
169
debian/control
vendored
@ -1,155 +1,68 @@
|
|||||||
Source: ubuntu-dev-tools
|
Source: ubuntu-dev-tools
|
||||||
Section: devel
|
Section: devel
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Maintainer: Ubuntu Developers <ubuntu-dev-tools@packages.debian.org>
|
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
|
||||||
Uploaders:
|
Vcs-Bzr: http://bazaar.launchpad.net/~ubuntu-dev/ubuntu-dev-tools/trunk
|
||||||
Benjamin Drung <bdrung@debian.org>,
|
Vcs-Browser: http://codebrowse.launchpad.net/~ubuntu-dev/ubuntu-dev-tools/trunk/changes
|
||||||
Stefano Rivera <stefanor@debian.org>,
|
Build-Depends: cdbs (>= 0.4.49), debhelper (>= 6), python (>= 2.5)
|
||||||
Mattia Rizzolo <mattia@debian.org>,
|
Build-Depends-Indep: python-support (>= 0.5.3)
|
||||||
Simon Quigley <tsimonq2@debian.org>,
|
XS-Python-Version: >= 2.5
|
||||||
Build-Depends:
|
Homepage: https://launchpad.net/ubuntu-dev-tools/
|
||||||
black <!nocheck>,
|
Standards-Version: 3.8.3
|
||||||
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
|
|
||||||
|
|
||||||
Package: ubuntu-dev-tools
|
Package: ubuntu-dev-tools
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Depends:
|
Depends: ${python:Depends}, ${misc:Depends}, binutils, devscripts, sudo,
|
||||||
binutils,
|
python-debian, python-launchpadlib, dctrl-tools, lsb-release, diffstat,
|
||||||
dctrl-tools,
|
dpkg-dev, python-apt (>= 0.7.9), python-lazr-restfulclient
|
||||||
devscripts (>= 2.11.0~),
|
Recommends: bzr, pbuilder | cowdancer | sbuild, reportbug (>= 3.39ubuntu1),
|
||||||
diffstat,
|
ca-certificates, debootstrap, genisoimage, perl-modules, libwww-perl
|
||||||
distro-info (>= 0.2~),
|
Conflicts: devscripts (<< 2.10.7ubuntu5)
|
||||||
dpkg-dev,
|
Replaces: devscripts (<< 2.10.7ubuntu5)
|
||||||
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,
|
|
||||||
Description: useful tools for Ubuntu developers
|
Description: useful tools for Ubuntu developers
|
||||||
This is a collection of useful tools that Ubuntu developers use to make their
|
This is a collection of useful tools that Ubuntu developers use to make their
|
||||||
packaging work a lot easier.
|
packaging work a lot easier.
|
||||||
.
|
.
|
||||||
Such tools include:
|
Such tools include:
|
||||||
.
|
.
|
||||||
- backportpackage - helper to test package backports
|
- 404main - used to check what components a package's deps are in, for
|
||||||
- bitesize - add the 'bitesize' tag to a bug and comment that you are
|
doing a main inclusion report for example.
|
||||||
willing to help fix it.
|
- buildd - give commands to the Launchpad build daemons from the command line.
|
||||||
- check-mir - check support status of build/binary dependencies
|
|
||||||
- check-symbols - will compare and give you a diff of the exported symbols of
|
- check-symbols - will compare and give you a diff of the exported symbols of
|
||||||
all .so files in a binary package.
|
all .so files in a binary package.
|
||||||
- dch-repeat - used to repeat a change log into an older release.
|
- dch-repeat - used to repeat a change log into an older release.
|
||||||
|
- dgetlp - download a source package from the Launchpad library.
|
||||||
|
- 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.
|
- 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-project-upload - upload a release tarball to a Launchpad project
|
||||||
- merge-changelog - manually merges two Debian changelogs with the same base
|
- lp-set-dup - sets the "duplicate of" bug of a bug and its dups.
|
||||||
version.
|
- manage-credentials - manage Launchpad token credentials.
|
||||||
- mk-sbuild - script to create LVM snapshot chroots via schroot and
|
- massfile - fill multiple bugs using a template.
|
||||||
|
- mk-sbuild-lv - script to create LVM snapshot chroots via schroot and
|
||||||
sbuild.
|
sbuild.
|
||||||
- pbuilder-dist, cowbuilder-dist - wrapper script for managing several build
|
- pbuilder-dist, cowbuilder-dist - wrapper script for managing several build
|
||||||
chroots (for different Ubuntu and Debian releases) on the same system.
|
chroots (for different Ubuntu and Debian releases) on the same system.
|
||||||
- pull-debian-debdiff - attempts to find and download a specific version of
|
- pull-debian-debdiff - attempts to find and download a specific version of
|
||||||
a Debian package and its immediate parent to generate a debdiff.
|
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.
|
Debian of a package.
|
||||||
- pull-lp-source - downloads source package from Launchpad.
|
- pull-lp-source - downloads lastest source package from Launchpad.
|
||||||
- pull-lp-debs - downloads debs package(s) from Launchpad.
|
- pull-revu-source - downloads the latest source package from REVU
|
||||||
- pull-lp-ddebs - downloads dbgsym/ddebs package(s) from Launchpad.
|
- requestsync - files a sync request with Debian changelog and ratione.
|
||||||
- pull-lp-udebs - downloads udebs package(s) from Launchpad.
|
- reverse-build-depends - find the reverse build dependencies that a package
|
||||||
- pull-debian-* - same as pull-lp-* but for Debian packages.
|
has.
|
||||||
- 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.
|
|
||||||
- setup-packaging-environment - assistant to get an Ubuntu installation
|
- setup-packaging-environment - assistant to get an Ubuntu installation
|
||||||
ready for packaging work.
|
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.
|
- submittodebian - automatically send your changes to Debian as a bug report.
|
||||||
- syncpackage - helper to prepare .changes file to upload synced packages
|
- suspicious-source - outputs a list of files which are not common source
|
||||||
- ubuntu-build - give commands to the Launchpad build daemons from the
|
files.
|
||||||
command line.
|
|
||||||
- ubuntu-iso - output information of an Ubuntu ISO image.
|
- 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.
|
- update-maintainer - script to update maintainer field in ubuntu packages.
|
||||||
|
- what-patch - determines what patch system, if any, a source package is
|
||||||
Package: python3-ubuntutools
|
using.
|
||||||
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.
|
|
||||||
|
287
debian/copyright
vendored
287
debian/copyright
vendored
@ -1,204 +1,93 @@
|
|||||||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
This package was re-debianized by Daniel Holbach <daniel.holbach@ubuntu.com> on
|
||||||
Upstream-Name: Ubuntu Developer Tools
|
Fri, 01 Jun 2007 11:30:08 +0200.
|
||||||
Upstream-Contact: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
|
|
||||||
Source: https://launchpad.net/ubuntu-dev-tools
|
|
||||||
|
|
||||||
Files: backportpackage
|
Upstream Authors:
|
||||||
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.
|
|
||||||
|
|
||||||
Files: doc/import-bug-from-debian.1
|
Albert Damen <albrt@gmx.net>
|
||||||
doc/pbuilder-dist-simple.1
|
Albin Tonnerre <lut1n.tne@gmail.com>
|
||||||
doc/pbuilder-dist.1
|
Daniel Hahler <ubuntu@thequod.de>
|
||||||
doc/submittodebian.1
|
Daniel Holbach <daniel.holbach@ubuntu.com>
|
||||||
import-bug-from-debian
|
Iain Lane <iain@orangesquash.org.uk>
|
||||||
pbuilder-dist
|
Jamin W. Collins <jcollins@asgardsrealm.net>
|
||||||
pbuilder-dist-simple
|
Jonathan Davies <jpds@ubuntu.com>
|
||||||
submittodebian
|
Jordan Mantha <mantha@ubuntu.com>
|
||||||
Copyright: 2007-2010, Canonical Ltd.
|
Kees Cook <kees@ubuntu.com>
|
||||||
2009, James Westby <james.westby@ubuntu.com>
|
Luke Yelavich <themuso@ubuntu.com>
|
||||||
2008, Jamin W. Collins <jcollins@asgardsrealm.net>
|
Markus Korn <thekorn@gmx.de>
|
||||||
2008, Jordan Mantha <mantha@ubuntu.com>
|
Martin Pitt <martin.pitt@ubuntu.com>
|
||||||
2006-2007, Pete Savage <petesavage@ubuntu.com>
|
Matt Zimmerman <mdz@ubuntu.com>
|
||||||
2009, Ryan Kavanagh <ryanakca@kubuntu.org>
|
Michael Bienia <geser@ubuntu.com>
|
||||||
2007, Siegfried-Angel Gevatter Pujals <rainct@ubuntu.com>
|
Pete Savage <petesavage@ubuntu.com>
|
||||||
2010-2011, Stefano Rivera <stefanor@ubuntu.com>
|
Scott James Remnant <scott@ubuntu.com>
|
||||||
2008, Terence Simpson <tsimpson@ubuntu.com>
|
Siegfried-A. Gevatter <rainct@ubuntu.com>
|
||||||
License: GPL-2+
|
Soren Hansen <soren@ubuntu.com>
|
||||||
This program is free software; you can redistribute it and/or modify
|
Steve Kowalik <stevenk@ubuntu.com>
|
||||||
it under the terms of the GNU General Public License as published by
|
Terence Simpson <stdin@stdin.me.uk>
|
||||||
the Free Software Foundation; either version 2 of the License, or
|
Nathan Handler <nhandler@ubuntu.com>
|
||||||
(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.
|
|
||||||
|
|
||||||
Files: doc/lp-bitesize.1
|
Copyright:
|
||||||
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.
|
|
||||||
|
|
||||||
Files: dch-repeat
|
(C) 2006-2009, Canonical Ltd.
|
||||||
doc/dch-repeat.1
|
(C) 2007, Albert Damen <albrt@gmx.net>
|
||||||
doc/grep-merges.1
|
(C) 2006-2007, Albin Tonnerre <lut1n.tne@gmail.com>
|
||||||
doc/mk-sbuild.1
|
(C) 2006-2007, Daniel Holbach <daniel.holbach@ubuntu.com>
|
||||||
doc/pull-pkg.1
|
(C) 2008, Iain Lane <iain@orangesquash.org.uk>
|
||||||
doc/ubuntu-build.1
|
(C) Jamin W. Collins <jcollins@asgardsrealm.net>
|
||||||
grep-merges
|
(C) 2008-2009, Jonathan Davies <jpds@ubuntu.com>
|
||||||
mk-sbuild
|
(C) Jordan Mantha <mantha@ubuntu.com>
|
||||||
pull-pkg
|
(C) 2006-2008, Kees Cook <kees@ubuntu.com>
|
||||||
pull-*debs
|
(C) 2006-2007, Luke Yelavich <themuso@ubuntu.com>
|
||||||
pull-*-source
|
(C) 2009, Markus Korn <thekorn@gmx.de>
|
||||||
requirements.txt
|
(C) 2007, Martin Pitt <martin.pitt@ubuntu.com>
|
||||||
test-requirements.txt
|
(C) 2006-2007, Michael Bienia <geser@ubuntu.com>
|
||||||
tox.ini
|
(C) 2008, 2009, Nathan Handler <nhandler@ubuntu.com>
|
||||||
ubuntu-build
|
(C) Patrick Schoenfeld <schoenfeld@debian.org>
|
||||||
ubuntutools/__init__.py
|
(C) 2006-2007, Pete Savage <petesavage@ubuntu.com>
|
||||||
ubuntutools/lp/__init__.py
|
(C) 2009 Ryan Kavanagh <ryanakca@kubuntu.org>
|
||||||
ubuntutools/lp/lpapicache.py
|
(C) 2007-2009, Siegfried-A. Gevatter <rainct@ubuntu.com>
|
||||||
ubuntutools/lp/udtexceptions.py
|
(C) 2008, Stephan Hermann <sh@sourcecode.de>
|
||||||
ubuntutools/misc.py
|
(C) 2007 Steve Kowalik <stevenk@ubuntu.com>
|
||||||
ubuntutools/pullpkg.py
|
(C) 2007-2008, Terence Simpson <stdin@stdin.me.uk>
|
||||||
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.
|
|
||||||
|
|
||||||
Files: doc/pull-debian-debdiff.1
|
Licenses:
|
||||||
doc/requestbackport.1
|
|
||||||
doc/reverse-depends.1
|
404main, check-symbols, dgetlp, lp-project-upload, lp-set-dup, pbuilder-dist,
|
||||||
doc/seeded-in-ubuntu.1
|
pbuilder-dist-simple, requestsync, reverse-build-depends, submittodebian, ubuntuiso,
|
||||||
doc/sponsor-patch.1
|
and update-maintainer are licensed under the GNU General Public License, version 2:
|
||||||
doc/ubuntu-dev-tools.5
|
|
||||||
doc/ubuntu-upload-permission.1
|
This package is free software; you can redistribute it and/or modify
|
||||||
doc/update-maintainer.1
|
it under the terms of the GNU General Public License as published by
|
||||||
enforced-editing-wrapper
|
the Free Software Foundation, at version 2.
|
||||||
pull-debian-debdiff
|
|
||||||
requestbackport
|
This package is distributed in the hope that it will be useful,
|
||||||
reverse-depends
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
seeded-in-ubuntu
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
sponsor-patch
|
GNU General Public License for more details.
|
||||||
ubuntu-upload-permission
|
|
||||||
ubuntutools/archive.py
|
On Debian and Ubuntu systems, the complete text of the GNU General Public
|
||||||
ubuntutools/builder.py
|
License v2 can be found in `/usr/share/common-licenses/GPL-2'.
|
||||||
ubuntutools/config.py
|
|
||||||
ubuntutools/question.py
|
buildd, dch-repeat, get-branches, get-build-deps, grab-attachments, grab-merge,
|
||||||
ubuntutools/rdepends.py
|
hugdaylist, manage-credentials, massfile, mk-sbuild-lv, pbuilder-dist-simple,
|
||||||
ubuntutools/sponsor_patch/*
|
ppaput, pull-debian-debdiff, pull-debian-source, pull-lp-source, pull-revu-source,
|
||||||
ubuntutools/test/*
|
setup-packaging-environment, suspicious-source and what-patch are licensed under
|
||||||
ubuntutools/update_maintainer.py
|
the GNU General Public License, version 3:
|
||||||
ubuntutools/version.py
|
|
||||||
update-maintainer
|
This program is free software: you can redistribute it and/or modify
|
||||||
.pylintrc
|
it under the terms of the GNU General Public License as published by
|
||||||
Copyright: 2009-2024, Benjamin Drung <bdrung@ubuntu.com>
|
the Free Software Foundation, at version 3.
|
||||||
2010, Evan Broder <evan@ebroder.net>
|
|
||||||
2008, Siegfried-Angel Gevatter Pujals <rainct@ubuntu.com>
|
This program is distributed in the hope that it will be useful,
|
||||||
2010-2011, Stefano Rivera <stefanor@ubuntu.com>
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
2017-2021, Dan Streetman <ddstreet@canonical.com>
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
2024, Canonical Ltd.
|
GNU General Public License for more details.
|
||||||
License: ISC
|
|
||||||
Permission to use, copy, modify, and/or distribute this software for any
|
On Debian and Ubuntu systems, the complete text of the GNU General Public
|
||||||
purpose with or without fee is hereby granted, provided that the above
|
License v3 can be found in `/usr/share/common-licenses/GPL-3'.
|
||||||
copyright notice and this permission notice appear in all copies.
|
|
||||||
.
|
The following scripts can be used, at your option, regarding any later
|
||||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
version of the previously specified license: 404main, buildd, dch-repeat, dgetlp,
|
||||||
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
get-build-deps, lp-project-upload, lp-set-dup, manage-credentials, mk-sbuild-lv,
|
||||||
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
pbuilder-dist, pull-debian-debdiff, pull-debian-source, pull-lp-source,
|
||||||
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
pull-revu-source, reverse-build-depends, setup-packaging-environment, submittodebian,
|
||||||
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
suspicious-source, what-patch.
|
||||||
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
||||||
PERFORMANCE OF THIS SOFTWARE.
|
|
||||||
|
9
debian/gbp.conf
vendored
9
debian/gbp.conf
vendored
@ -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
1
debian/pycompat
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
2
|
1
debian/python3-ubuntutools.install
vendored
1
debian/python3-ubuntutools.install
vendored
@ -1 +0,0 @@
|
|||||||
/usr/lib/python3.*
|
|
14
debian/rules
vendored
14
debian/rules
vendored
@ -1,14 +1,8 @@
|
|||||||
#!/usr/bin/make -f
|
#!/usr/bin/make -f
|
||||||
|
|
||||||
override_dh_auto_clean:
|
DEB_PYTHON_SYSTEM := pysupport
|
||||||
dh_auto_clean
|
|
||||||
rm -f .coverage
|
|
||||||
rm -rf .tox
|
|
||||||
|
|
||||||
override_dh_auto_test:
|
include /usr/share/cdbs/1/rules/debhelper.mk
|
||||||
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
|
include /usr/share/cdbs/1/class/python-distutils.mk
|
||||||
python3 -m pytest -v ubuntutools
|
|
||||||
endif
|
|
||||||
|
|
||||||
%:
|
DEB_INSTALL_MANPAGES_ubuntu-dev-tools = doc/*.1
|
||||||
dh $@ --with python3 --buildsystem=pybuild
|
|
||||||
|
1
debian/source/format
vendored
1
debian/source/format
vendored
@ -1 +0,0 @@
|
|||||||
3.0 (native)
|
|
3
debian/source/lintian-overrides
vendored
3
debian/source/lintian-overrides
vendored
@ -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:*]
|
|
7
debian/tests/control
vendored
7
debian/tests/control
vendored
@ -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
1
debian/ubuntu-dev-tools.examples
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
examples/*
|
3
debian/ubuntu-dev-tools.install
vendored
3
debian/ubuntu-dev-tools.install
vendored
@ -1,2 +1 @@
|
|||||||
/usr/bin
|
bash_completion/* etc/bash_completion.d/
|
||||||
/usr/share
|
|
||||||
|
29
debian/ubuntu-dev-tools.preinst
vendored
Normal file
29
debian/ubuntu-dev-tools.preinst
vendored
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
#!/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
|
||||||
|
|
||||||
|
# Remove stale pycentral files on upgrades.
|
||||||
|
# This can be removed after the next LTS (likely 10.04) is released.
|
||||||
|
if [ "$1" = upgrade ]
|
||||||
|
then
|
||||||
|
if dpkg --compare-versions "$2" lt "0.76" ; then
|
||||||
|
pycentral pkgremove ubuntu-dev-tools
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
#DEBHELPER#
|
||||||
|
|
320
dgetlp
Executable file
320
dgetlp
Executable 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
29
doc/404main.1
Normal 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.
|
@ -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.
|
|
51
doc/buildd.1
Normal file
51
doc/buildd.1
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
.TH BUILDD "1" "14 August 2008" "ubuntu-dev-tools"
|
||||||
|
.SH NAME
|
||||||
|
buildd \- command-line interface to Launchpad build operations
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B buildd <srcpackage> <release> <operation>
|
||||||
|
.br
|
||||||
|
.B buildd \-\-help
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBbuildd\fR provides a command line interface to the Launchpad build
|
||||||
|
operations.
|
||||||
|
|
||||||
|
.PP
|
||||||
|
\fBbuildd\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 \fBbuildd\fR:
|
||||||
|
.TP
|
||||||
|
.B status
|
||||||
|
Outputs the build status of the package on Launchpad on all architectures.
|
||||||
|
.TP
|
||||||
|
.B retry
|
||||||
|
Requests that the package has another attempt at rebuilding from source.
|
||||||
|
This will only work if the package has \fIFailed to build\fR on Launchpad.
|
||||||
|
.TP
|
||||||
|
.B rescore
|
||||||
|
Requests that the package's build priority be raised in the build queue.
|
||||||
|
Only members of the Launchpad build administrators may issue this operation,
|
||||||
|
and it may only be performed on packages which \fINeed building\fR.
|
||||||
|
|
||||||
|
.SH OPTIONS
|
||||||
|
Listed below are the command line options for \fBbuildd\fR:
|
||||||
|
.TP
|
||||||
|
.B \-h or \-\-help
|
||||||
|
Display a help message and exit.
|
||||||
|
.TP
|
||||||
|
.B \-a or \-\-architecture
|
||||||
|
Only available for \fIrescore\fR and \fIretry\fR operations only.
|
||||||
|
This will only request the rebuilding/rescoring on the specified
|
||||||
|
architecture.
|
||||||
|
|
||||||
|
.SH AUTHORS
|
||||||
|
\fBbuildd\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
|
||||||
|
or (at your option) any later version.
|
@ -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>.
|
|
@ -34,7 +34,7 @@ This will:
|
|||||||
\(bu Use \fBnm\fP \-D to determine the exported symbols of the old,
|
\(bu Use \fBnm\fP \-D to determine the exported symbols of the old,
|
||||||
installed versions of the libraries provided by telepathy\-glib.
|
installed versions of the libraries provided by telepathy\-glib.
|
||||||
.TP 2
|
.TP 2
|
||||||
\(bu Install the binary libraries provided by the new version of
|
\(bu Install the binary libaries provided by the new version of
|
||||||
telepathy\-glib.
|
telepathy\-glib.
|
||||||
.TP 2
|
.TP 2
|
||||||
\(bu Compare the output of \fBnm\fP \-D of the new libraries with the
|
\(bu Compare the output of \fBnm\fP \-D of the new libraries with the
|
||||||
|
@ -52,5 +52,5 @@ This manual page was written by Jonathan Patrick Davies <jpds@ubuntu.com>.
|
|||||||
.PP
|
.PP
|
||||||
Both are released under the GNU General Public License, version 2.
|
Both are released under the GNU General Public License, version 2.
|
||||||
|
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.BR dch(1).
|
.BR dch(1).
|
||||||
|
38
doc/dgetlp.1
Normal file
38
doc/dgetlp.1
Normal 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.
|
40
doc/get-branches.1
Normal file
40
doc/get-branches.1
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
.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 [\-d directory] [\-o branch|checkout] \-t <team>
|
||||||
|
.br
|
||||||
|
.B get\-branches <team>
|
||||||
|
.br
|
||||||
|
.B get\-branches \-\-help
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBget\-branches\fR examines the code page of a Launchpad team/person,
|
||||||
|
parses it, and calls Bazaar to download all branches on that page.
|
||||||
|
|
||||||
|
.SH OPTIONS
|
||||||
|
Listed below are the command line options for \fBget\-branches\fR:
|
||||||
|
.TP
|
||||||
|
.B \-h or \-\-help
|
||||||
|
Display a help message and exit.
|
||||||
|
.TP
|
||||||
|
.B \-d or \-\-directory
|
||||||
|
Download branches to a directory other than the current directory.
|
||||||
|
.TP
|
||||||
|
.B \-o or \-\-operation
|
||||||
|
Specifies which Bazaar operation to use when downloading the branches; may be
|
||||||
|
either \fIbranch\fR or \fIcheckout\fR.
|
||||||
|
.TP
|
||||||
|
.B \-t or \-\-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
60
doc/get-build-deps.1
Normal 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
26
doc/grab-attachments.1
Normal 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.
|
@ -1,13 +1,13 @@
|
|||||||
.TH grab\-merge 1 "March 26, 2009" "ubuntu-dev-tools"
|
.TH grab\-merge 1 "Marh 26, 2009" "ubuntu-dev-tools"
|
||||||
|
|
||||||
.SH NAME
|
.SH NAME
|
||||||
grab\-merge \- grabs a merge's files from merges.ubuntu.com.
|
grab\-merge \- grab's a merge's files from merges.ubuntu.com.
|
||||||
|
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
\fBgrab\-merge\fP <\fIpackage name\fP>
|
\fBgrab\-merge\fP <\fIpackage name\fP>
|
||||||
|
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
\fBgrab\-merge\fP is a script that downloads a merge's packaging files and report
|
\fB404main\fP is a script that downloads a merge's packaging files and report
|
||||||
from merges.ubuntu.com. Placing them in a new directory for working from.
|
from merges.ubuntu.com. Placing them in a new directory for working from.
|
||||||
|
|
||||||
.SH AUTHORS
|
.SH AUTHORS
|
||||||
|
@ -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
26
doc/hugdaylist.1
Normal 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.
|
@ -1,60 +0,0 @@
|
|||||||
.TH import\-bug\-from\-debian "1" "September 21 2010" "ubuntu-dev-tools"
|
|
||||||
.SH NAME
|
|
||||||
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...
|
|
||||||
.br
|
|
||||||
.B import\-bug\-from\-debian \-h
|
|
||||||
|
|
||||||
.SH DESCRIPTION
|
|
||||||
\fBimport\-bug\-from\-debian\fR clones bugs from Debian's BTS into
|
|
||||||
Launchpad. Each \fIbug\fR listed on the command line has its initial
|
|
||||||
report re-filed against the same source package in Ubuntu.
|
|
||||||
The Ubuntu bug is linked back to its Debian counterpart.
|
|
||||||
|
|
||||||
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".
|
|
||||||
.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)
|
|
||||||
.SH AUTHORS
|
|
||||||
\fBimport\-bug\-from\-debian\fR was written by James Westby
|
|
||||||
<james.westby@ubuntu.com>,
|
|
||||||
and this manual page was written by Stefano Rivera <stefanor@ubuntu.com>.
|
|
||||||
.PP
|
|
||||||
Both are released under the terms of the GNU General Public License, version 2.
|
|
@ -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.
|
|
20
doc/lp-project-upload.1
Normal file
20
doc/lp-project-upload.1
Normal 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.
|
76
doc/manage-credentials.1
Normal file
76
doc/manage-credentials.1
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
.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
|
||||||
|
There are currently two ways of using \fBmanage-credentials\fR to get
|
||||||
|
Launchpad tokens.
|
||||||
|
.TP
|
||||||
|
1) manage-credentials create \-c CONSUMER \-\-level 2
|
||||||
|
|
||||||
|
.TP
|
||||||
|
This way shall open your webbrowser with a Launchpad login page.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
2) manage-credentials create \-c CONSUMER \-\-level 2 \-\-password BOO \-\-email me@example.com
|
||||||
|
|
||||||
|
.TP
|
||||||
|
This is a hack, but it works and does not require a webbrowser .
|
||||||
|
|
||||||
|
.TP
|
||||||
|
If you intend to use manage-credentials for Ubuntu development (such as
|
||||||
|
the ubuntu-dev-tools package). Please by 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.
|
@ -1,20 +0,0 @@
|
|||||||
.TH merge-changelog 1 "February 15, 2010" "ubuntu-dev-tools"
|
|
||||||
|
|
||||||
.SH NAME
|
|
||||||
merge\-changelog \- merges two changelogs with a common base
|
|
||||||
|
|
||||||
.SH SYNOPSIS
|
|
||||||
\fBmerge\-changelog\fP <\fIleft changelog\fP> <\fIright changelog\fP>
|
|
||||||
|
|
||||||
.SH DESCRIPTION
|
|
||||||
\fBmerge\-changelog\fP takes two changelogs that once shared a common source,
|
|
||||||
merges them back together, and prints the merged result to stdout. This
|
|
||||||
is useful if you need to manually merge a ubuntu package with a new
|
|
||||||
Debian release of the package.
|
|
||||||
|
|
||||||
.SH AUTHORS
|
|
||||||
\fBmerge\-changelog\fP was written by Scott James Remnant <scott@ubuntu.com>
|
|
||||||
and Bryce Harrington <bryce@ubuntu.com>. This manpage was written by Ryan
|
|
||||||
Kavanagh <ryanakca@kubuntu.org>.
|
|
||||||
.PP
|
|
||||||
Both are released under the GNU General Public License, version 3.
|
|
88
doc/mk-sbuild-lv.1
Normal file
88
doc/mk-sbuild-lv.1
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
.TH MK\-SBUILD\-LV "1" "27 August 2008" "ubuntu-dev-tools"
|
||||||
|
|
||||||
|
.SH NAME
|
||||||
|
mk\-sbuild\-lv \- creates LVM snapshot chroots via schroot and sbuild
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
\fBmk\-sbuild\-lv\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] <\fBVG\fR> <\fBRelease\fR>
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBmk\-sbuild\-lv\fR creates LVM snapshot chroots via schroot and sbuild.
|
||||||
|
|
||||||
|
.SH OPTIONS
|
||||||
|
Listed below are the command line options for mk\-sbuild\-lv:
|
||||||
|
.TP
|
||||||
|
.B \-\-arch=ARCH
|
||||||
|
What architecture to select (defaults to the native architecture).
|
||||||
|
.TP
|
||||||
|
.B \-\-name=NAME
|
||||||
|
Base name for the schroot (arch is appended).
|
||||||
|
.TP
|
||||||
|
.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 \-updates pocket in the installed sources.list.
|
||||||
|
.TP
|
||||||
|
.B \-\-source\-template=FILE
|
||||||
|
Use FILE as the sources.list template (defaults to $HOME/.mk\-sbuild\-lv.sources).
|
||||||
|
.TP
|
||||||
|
.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 \-\-distro
|
||||||
|
Enable distro-specific logic. Currently known distros: "ubuntu" (default)
|
||||||
|
and "debian".
|
||||||
|
|
||||||
|
.SH ENVIRONMENT VARIABLES
|
||||||
|
.TP
|
||||||
|
.B LV_SIZE
|
||||||
|
Size of source LVs (defaults to 5G).
|
||||||
|
.TP
|
||||||
|
.B SNAPSHOT_SIZE
|
||||||
|
Size of snapshot LVs (defaults to 4G).
|
||||||
|
.TP
|
||||||
|
.B SCHROOT_CONF_SUFFIX
|
||||||
|
Lines to append to schroot entries.
|
||||||
|
.TP
|
||||||
|
.B SKIP_UPDATES
|
||||||
|
Do not include the \-updates pocket in the installed sources.list.
|
||||||
|
|
||||||
|
.SH FILES
|
||||||
|
.TP
|
||||||
|
.B $HOME/.mk\-sbuild\-lv.rc
|
||||||
|
Sourced for environment variables (defined above).
|
||||||
|
.TP
|
||||||
|
.B $HOME/.mk\-sbuild\-lv.sources
|
||||||
|
Can contain a customized sources.list.
|
||||||
|
It will be read when creating the schroot.
|
||||||
|
See sources.list(5) for more details on the format.
|
||||||
|
.TP
|
||||||
|
.B $HOME/.mk\-sbuild\-lv.schroot.conf
|
||||||
|
Can contain a customized configuration section to be inserted into
|
||||||
|
/etc/schroot/schroot.conf.
|
||||||
|
See schroot.conf(5) for more details on the format.
|
||||||
|
.SH USING THE CHROOTS
|
||||||
|
.TP
|
||||||
|
To CHANGE the golden image: \fBschroot \-c ${CHROOT_NAME}\-source \-u root\fR
|
||||||
|
.TP
|
||||||
|
To ENTER an image snapshot: \fBschroot \-c ${CHROOT_NAME}\fR
|
||||||
|
.TP
|
||||||
|
To BUILD within a snapshot: \fBsbuild \-d ${SCHROOT_NAME} PACKAGE*.dsc\fR
|
||||||
|
.TP
|
||||||
|
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
|
||||||
|
sbuild\-setup (7), sources.list (5), schroot.conf (5),
|
||||||
|
https://help.ubuntu.com/community/SbuildLVMHowto
|
||||||
|
|
||||||
|
.SH AUTHOR
|
||||||
|
\fBmk\-sbuild\-lv\fR was written by Kees Cook <kees@ubuntu.com>.
|
||||||
|
This man page was written by Ryan Kavanagh <ryanakca@kubuntu.org>.
|
||||||
|
Both are released under the GNU General Public License, version 3 or later.
|
224
doc/mk-sbuild.1
224
doc/mk-sbuild.1
@ -1,224 +0,0 @@
|
|||||||
.TH MK\-SBUILD "1" "09 February 2010" "ubuntu-dev-tools"
|
|
||||||
|
|
||||||
.SH NAME
|
|
||||||
mk\-sbuild \- creates chroots via schroot and sbuild
|
|
||||||
|
|
||||||
.SH SYNOPSIS
|
|
||||||
\fBmk\-sbuild\fR [\fIoptions\fR...] <\fIrelease\fR>
|
|
||||||
|
|
||||||
.SH DESCRIPTION
|
|
||||||
\fBmk\-sbuild\fR creates chroots via schroot and sbuild.
|
|
||||||
|
|
||||||
.SH OPTIONS
|
|
||||||
Listed below are the command line options for mk\-sbuild:
|
|
||||||
.TP
|
|
||||||
.B \-\-arch\fR=\fIARCH
|
|
||||||
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
|
|
||||||
Base name for the schroot (arch is appended).
|
|
||||||
.TP
|
|
||||||
.B \-\-personality\fR=\fIPERSONALITY
|
|
||||||
What personality to use (defaults to match \fB\-\-arch\fR).
|
|
||||||
.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.
|
|
||||||
.TP
|
|
||||||
.B \-\-skip\-proposed
|
|
||||||
Do not include the \fB\-proposed\fR pocket in the installed
|
|
||||||
\fBsources.list\fR.
|
|
||||||
.TP
|
|
||||||
.B \-\-source\-template\fR=\fIFILE
|
|
||||||
Use \fIFILE\fR as the \fBsources.list\fR template (defaults to
|
|
||||||
\fI$HOME\fB/.mk\-sbuild.sources\fR).
|
|
||||||
.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).
|
|
||||||
.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.
|
|
||||||
.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.
|
|
||||||
.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.
|
|
||||||
.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.
|
|
||||||
|
|
||||||
.SH ENVIRONMENT VARIABLES
|
|
||||||
.TP
|
|
||||||
.B LV_SIZE
|
|
||||||
Size of source LVs (defaults to 5G).
|
|
||||||
.TP
|
|
||||||
.B SNAPSHOT_SIZE
|
|
||||||
Size of snapshot LVs (defaults to 4G).
|
|
||||||
.TP
|
|
||||||
.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)
|
|
||||||
.TP
|
|
||||||
.B DEBOOTSTRAP_MIRROR
|
|
||||||
Mirror location (same as \fB\-\-debootstrap-mirror\fR)
|
|
||||||
.TP
|
|
||||||
.B DEBOOTSTRAP_INCLUDE
|
|
||||||
Comma separated list of packages to include when bootstrapping (same as
|
|
||||||
\fB\-\-debootstrap-include\fR)
|
|
||||||
.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
|
|
||||||
.TP
|
|
||||||
.B SOURCE_CHROOTS_DIR
|
|
||||||
Use \fBSOURCE_CHROOTS_DIR\fR as home of schroot source directories.
|
|
||||||
(default \fB/var/lib/schroot/chroots\fR)
|
|
||||||
.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)
|
|
||||||
|
|
||||||
|
|
||||||
.SH FILES
|
|
||||||
.TP
|
|
||||||
.IB $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.
|
|
||||||
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.
|
|
||||||
.TP
|
|
||||||
.IB $HOME /.mk\-sbuild.schroot.conf\fR[\fB. $SCHROOT_TYPE\fR]
|
|
||||||
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.
|
|
||||||
.SH USING THE CHROOTS
|
|
||||||
.TP
|
|
||||||
To CHANGE the golden image: \fBsudo schroot \-c \fI${SCHROOT_NAME}\fB\-source \-u root\fR
|
|
||||||
.TP
|
|
||||||
To ENTER an image snapshot: \fBschroot \-c \fI$SCHROOT_NAME\fR
|
|
||||||
.TP
|
|
||||||
To BUILD within a snapshot: \fBsbuild \-A \-d \fI$SCHROOT_NAME $PACKAGE\fB*.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
|
|
||||||
|
|
||||||
.SH SEE ALSO
|
|
||||||
.BR sbuild\-setup (7),
|
|
||||||
.BR sources.list (5),
|
|
||||||
.BR schroot.conf (5),
|
|
||||||
.B https://help.ubuntu.com/community/SbuildLVMHowto
|
|
||||||
|
|
||||||
.SH AUTHOR
|
|
||||||
\fBmk\-sbuild\fR was written by Kees Cook <kees@ubuntu.com>.
|
|
||||||
This man page was written by Ryan Kavanagh <ryanakca@kubuntu.org>.
|
|
||||||
Both are released under the GNU General Public License, version 3 or later.
|
|
@ -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
|
.SH NAME
|
||||||
pbuilder\-dist\-simple \- simple multi\-release pbuilder wrapper
|
pbuilder\-dist\-simple \- simple multi-distribution pbuilder wrapper
|
||||||
|
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
\fBpbuilder\-\fI<dist>\fR\fP \fIoperation\fR [\fI...\fR]
|
\fBpbuilder\-\fI<dist>\fR\fP \fIoperation\fR [\fI...\fR]
|
||||||
|
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
\fBpbuilder\-dist\-simple\fP is a wrapper that makes it easy to use
|
\fBpbuilder\-dist\fP is a wrapper that makes it easy to use pbuilder with
|
||||||
pbuilder with chroots for many different Ubuntu distributions.
|
chroots for many different Ubuntu/Debian distributions.
|
||||||
If you need more features than \fBpbuilder\-dist\-simple\fP provides, have a
|
If you need more features than \fBpbuilder\-dist\-simple\fP provides, have a
|
||||||
look at
|
look at \fBpbuilder\-dist\fP.
|
||||||
.BR pbuilder\-dist (1).
|
|
||||||
|
|
||||||
.SH USAGE
|
.SH USAGE
|
||||||
Create one symlink to \fBpbuilder\-dist\-simple\fP for each distribution
|
Create one symlink to \fBpbuilder\-dist\-simple\fP for each distribution
|
||||||
for which you want a build environment, naming them like "pbuilder\-lucid",
|
for which you want a build environment, naming them like "pbuilder\-hardy",
|
||||||
"pbuilder\-natty", etc.
|
"pbuilder\-gutsy", etc.
|
||||||
.PP
|
.PP
|
||||||
Replace \fIoperation\fP with the action you want \fBpbuilder\-dist\-simple\fP
|
Replace \fIoperation\fP with the action you want \fBpbuilder\-dist\-simple\fP
|
||||||
to do (create, update, build, clean, login or execute).
|
to do (create, update, build, clean, login or execute).
|
||||||
|
|
||||||
.SH EXAMPLES
|
.SH EXAMPLES
|
||||||
.TP
|
.TP
|
||||||
pbuilder\-natty create
|
pbuilder\-gutsy create
|
||||||
Creates a \fBpbuilder\fP environment for Ubuntu Natty.
|
Creates a \fBpbuilder\fP environment for Ubuntu Gutsy.
|
||||||
.TP
|
.TP
|
||||||
pbuilder\-lucid update
|
pbuilder\-sid update
|
||||||
Updates an existing Ubuntu Lucid environment.
|
Updates an existing Debian Sid environment.
|
||||||
.TP
|
.TP
|
||||||
pbuilder\-lucid build ./sample_1.0\-0ubuntu1.dsc
|
pbuilder\-hardy build ./sample_1.0\-0ubuntu1.dsc
|
||||||
Builds the specified package on an already existing Ubuntu Lucid environment.
|
Builds the specified package on an already existing Ubuntu Hardy environment.
|
||||||
|
|
||||||
.SH FILES
|
.SH FILES
|
||||||
By default, \fBpbuilder\-dist\-simple\fP will store all the files it
|
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.
|
If the directory doesn't exit, it will be created at runtime.
|
||||||
|
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.BR pbuilder (1),
|
\fBpbuilder\fR, \fBpbuilderrc\fR
|
||||||
.BR pbuilderrc (5),
|
|
||||||
.BR pbuilder\-dist (1)
|
|
||||||
|
|
||||||
.SH AUTHORS
|
.SH AUTHORS
|
||||||
\fBpbuilder\-dist\fP was originally written by Jamin W. Collins
|
\fBpbuilder\-dist\fP was originally written by Jamin W. Collins
|
||||||
<jcollins@asgardsrealm.net> and Jordan Mantha <mantha@ubuntu.com>, and
|
<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
|
.PP
|
||||||
Both are released under the GNU General Public License, version 2 or
|
Both are released under the GNU General Public License, version 2 or
|
||||||
later.
|
later.
|
||||||
|
@ -4,23 +4,23 @@
|
|||||||
pbuilder\-dist, cowbuilder\-dist \- multi-distribution pbuilder/cowbuilder wrapper
|
pbuilder\-dist, cowbuilder\-dist \- multi-distribution pbuilder/cowbuilder wrapper
|
||||||
|
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
\fBpbuilder\-dist\fP \fIdistribution\fR [\fIarchitecture\fR] \fIoperation\fR
|
\fBpbuilder\-dist\fP \fIdistribution\fR [\fBi386\fP|\fBamd64\fP] [\fBmainonly\fP]
|
||||||
[\fBoptions\fP] [\fI...\fR]
|
\fIoperation\fR [\fI...\fR]
|
||||||
|
|
||||||
\fBcowbuilder\-dist\fP \fIdistribution\fR [\fIarchitecture\fR] \fIoperation\fR
|
\fBcowbuilder\-dist\fP \fIdistribution\fR [\fBi386\fP|\fBamd64\fP] [\fBmainonly\fP]
|
||||||
[\fBoptions\fP] [\fI...\fR]
|
\fIoperation\fR [\fI...\fR]
|
||||||
|
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
\fBpbuilder\-dist\fP is a wrapper that makes it easy to use pbuilder with many different
|
\fBpbuilder\-dist\fP is a wrapper that makes it easy to use pbuilder with many different
|
||||||
versions of Ubuntu and/or Debian.
|
versions of Ubuntu and/or Debian.
|
||||||
.PP
|
.PP
|
||||||
It is common to symlink this script in order to give it many names in the form of
|
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,
|
\fBpbuilder\-\fIdistribution\fP\fR (\fBpbuilder\-\fIdistribution\fR\-\fIarchitecture\fP\fR on amd64
|
||||||
like for example \fBpbuilder\-feisty\fP, \fBpbuilder\-sid\fP, \fBpbuilder\-gutsy\-i386\fP, etc.
|
systems), like for example \fBpbuilder\-feisty\fP, \fBpbuilder\-sid\fP, \fBpbuilder\-gutsy\-i386\fP, etc.
|
||||||
.PP
|
.PP
|
||||||
The same applies to \fBcowbuilder\-dist\fP, which uses cowbuilder. The main
|
The same applies to \fBcowbuilder\-dist\fP, which uses cowbuilder. The main
|
||||||
difference between both is that pbuilder compresses the created chroot as a
|
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.
|
compress) its contents again on each run, and cowbuilder doesn't do this.
|
||||||
|
|
||||||
.SH USAGE
|
.SH USAGE
|
||||||
@ -33,15 +33,16 @@ the name also contains \-\fIarchitecture\fR.
|
|||||||
\fBdistribution\fP
|
\fBdistribution\fP
|
||||||
Replace this with the codename of the version of Ubuntu or Debian you want to use.
|
Replace this with the codename of the version of Ubuntu or Debian you want to use.
|
||||||
.TP
|
.TP
|
||||||
\fBarchitecture\fP
|
\fBi386\fP / \fBamd64\fP
|
||||||
This optional parameter will attempt to construct a chroot in a foreign
|
Only available on amd64 systems.
|
||||||
architecture.
|
This is optional; default is \fBamd64\fP.
|
||||||
For some architecture pairs (e.g. i386 on an amd64 install), the chroot
|
If \fBi386\fP is specified, an i386 environment will be used.
|
||||||
will be created natively.
|
.TP
|
||||||
For others (e.g. arm64 on an amd64 install), qemu\-user\-static will be
|
\fBmainonly\fP
|
||||||
used.
|
If you specify \fBmainonly\fP, only packages from the main (in Debian) or
|
||||||
Note that some combinations (e.g. amd64 on an i386 install) require
|
main and restricted (in Ubuntu) components will be used. By default, all
|
||||||
special separate kernel handling, and may break in unexpected ways.
|
official components are enabled. This only has effect when creating a new
|
||||||
|
environment.
|
||||||
.TP
|
.TP
|
||||||
\fBoperation\fP
|
\fBoperation\fP
|
||||||
Replace this with the action you want \fBpbuilder\fP to do (create, update,
|
Replace this with the action you want \fBpbuilder\fP to do (create, update,
|
||||||
@ -58,43 +59,12 @@ a .dsc file. As a special feature, if you specify a .dsc file you can
|
|||||||
skip the \fBbuild\fP option and this script will automatically assume that
|
skip the \fBbuild\fP option and this script will automatically assume that
|
||||||
building is the action you want to do.
|
building is the action you want to do.
|
||||||
|
|
||||||
.SH OPTIONS
|
|
||||||
.TP
|
|
||||||
\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
|
|
||||||
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
|
.SH EXAMPLES
|
||||||
.TP
|
.TP
|
||||||
pbuilder\-dist gutsy create
|
pbuilder\-dist gutsy create
|
||||||
Creates a \fBpbuilder\fP environment for Ubuntu Gutsy, with all components enabled.
|
Creates a \fBpbuilder\fP environment for Ubuntu Gutsy, with all components enabled.
|
||||||
.TP
|
.TP
|
||||||
pbuilder\-sid \-\-main\-only create
|
pbuilder\-sid mainonly create
|
||||||
Creates a \fBpbuilder\fP environment for Debian Sid, with only the main component.
|
Creates a \fBpbuilder\fP environment for Debian Sid, with only the main component.
|
||||||
.TP
|
.TP
|
||||||
pbuilder\-feisty build ./sample_1.0\-0ubuntu1.dsc
|
pbuilder\-feisty build ./sample_1.0\-0ubuntu1.dsc
|
||||||
@ -111,48 +81,29 @@ Creates a \fBcowbuilder\fP environment for Debian Experimental.
|
|||||||
|
|
||||||
.SH FILES AND ENVIRONMENT VARIABLES
|
.SH FILES AND ENVIRONMENT VARIABLES
|
||||||
By default, \fBpbuilder\-dist\fP will store all the files it generates in
|
By default, \fBpbuilder\-dist\fP will store all the files it generates in
|
||||||
\fB~/pbuilder/\fP. This can be changed by setting the \fBPBUILDFOLDER\fP
|
\fB~/pbuilder/\fP. This can be changed by setting the $PBUILDFOLDER global
|
||||||
environment variable. If the directory doesn't exist, it will be created on
|
variable. If the directory doesn't exist, it will be created on the run.
|
||||||
the run.
|
|
||||||
.PP
|
.PP
|
||||||
A file with the log of the last operation, called last_operation.log, will be
|
A file with the log of the last operation, called last_operation.log, will be
|
||||||
saved in the results subdirectory of each build environment.
|
saved in the results subdirectory of each build environment.
|
||||||
.PP
|
.PP
|
||||||
The default authentication method is \fBsudo\fP. You can change this by
|
The default authentication method is \fBsudo\fP. You can change this by
|
||||||
setting the \fBPBUILDAUTH\fP variable.
|
setting the $PBUILDAUTH 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
|
.SH BUGS
|
||||||
If you experience any problem with this script contact me on rainct@ubuntu.com
|
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
|
.PP
|
||||||
Please ensure first that the problem is really this script and not an issue
|
Please ensure first that the problem is really this script and not an issue
|
||||||
with \fBpbuilder\fP or \fBcowbuilder\fP themselves.
|
with \fBpbuilder\fP or \fBcowbuilder\fP themselves.
|
||||||
|
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.BR pbuilder (1),
|
\fBpbuilder\fR, \fBpbuilderrc\fR, \fBcowbuilder\fR
|
||||||
.BR pbuilderrc (5),
|
|
||||||
.BR cowbuilder (1),
|
|
||||||
.BR ubuntu\-dev\-tools (5).
|
|
||||||
|
|
||||||
.SH AUTHORS
|
.SH AUTHORS
|
||||||
\fBpbuilder\-dist\fP and this manual page were written by Siegfried-A. Gevatter
|
\fBpbuilder\-dist\fP was written by Siegfried-A. Gevatter <rainct@ubuntu.com>
|
||||||
<rainct@ubuntu.com>, with contributions from Iain Lane
|
and includes patches by Iain Lane <iain@orangesquash.org.uk>. This manual page
|
||||||
<iain@orangesquash.org.uk>, Emmet Hikory <persia@ubuntu.com> and others.
|
has been written by Siegfried-A. Gevatter <rainct@ubuntu.com>.
|
||||||
|
|
||||||
\fBpbuilder\-dist\fP is released under the GNU General Public License, version
|
\fBpbuilder\-dist\fP is released under the GNU General Public License, version
|
||||||
2 or later.
|
2 or later.
|
||||||
|
@ -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.
|
|
@ -1 +0,0 @@
|
|||||||
pull-pkg.1
|
|
@ -1,91 +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 PULL-DEBIAN-DEBDIFF "1" "December 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]
|
|
||||||
|
|
||||||
.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)
|
|
||||||
|
|
||||||
.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>.
|
|
||||||
|
|
||||||
This manual page was written by Stefano Rivera, based on the original by
|
|
||||||
Andrew Starr\-Bochicchio <a.starr.b@gmail.com>.
|
|
@ -1 +0,0 @@
|
|||||||
pull-pkg.1
|
|
@ -1 +0,0 @@
|
|||||||
pull-pkg.1
|
|
33
doc/pull-debian-source.1
Normal file
33
doc/pull-debian-source.1
Normal 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 'testing'.
|
||||||
|
|
||||||
|
.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.
|
@ -1 +0,0 @@
|
|||||||
pull-pkg.1
|
|
@ -1 +0,0 @@
|
|||||||
pull-pkg.1
|
|
@ -1 +0,0 @@
|
|||||||
pull-pkg.1
|
|
@ -1 +0,0 @@
|
|||||||
pull-pkg.1
|
|
37
doc/pull-lp-source.1
Normal file
37
doc/pull-lp-source.1
Normal 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.
|
@ -1 +0,0 @@
|
|||||||
pull-pkg.1
|
|
147
doc/pull-pkg.1
147
doc/pull-pkg.1
@ -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.
|
|
@ -1 +0,0 @@
|
|||||||
pull-pkg.1
|
|
@ -1 +0,0 @@
|
|||||||
pull-pkg.1
|
|
@ -1 +0,0 @@
|
|||||||
pull-pkg.1
|
|
@ -1 +0,0 @@
|
|||||||
pull-pkg.1
|
|
27
doc/pull-revu-source.1
Normal file
27
doc/pull-revu-source.1
Normal 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.
|
@ -1 +0,0 @@
|
|||||||
pull-pkg.1
|
|
@ -1 +0,0 @@
|
|||||||
pull-pkg.1
|
|
@ -1 +0,0 @@
|
|||||||
pull-pkg.1
|
|
@ -1 +0,0 @@
|
|||||||
pull-pkg.1
|
|
@ -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.
|
|
@ -2,7 +2,7 @@
|
|||||||
.SH NAME
|
.SH NAME
|
||||||
requestsync \- helper to file sync requests for Ubuntu
|
requestsync \- helper to file sync requests for Ubuntu
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
.B requestsync\fR [\fB\-d \fIdistro\fR] [\fB\-nse\fR] [\fB\-k \fIkeyid\fR] <\fBsource package\fR> [\fBtarget release\fR] [\fIbase version\fR]
|
.B requestsync\fR [\fB\-d distro\fR] [\fB\-nse\fR] [\fB\-k \fIkeyid\fR] <\fBsource package\fR> [\fBtarget release\fR] [\fIbase version\fR]
|
||||||
.br
|
.br
|
||||||
.B requestsync \-\-lp\fR [\fB\-nse\fR] <\fBsource package\fR> <\fBtarget release\fR> [\fIbase version\fR]
|
.B requestsync \-\-lp\fR [\fB\-nse\fR] <\fBsource package\fR> <\fBtarget release\fR> [\fIbase version\fR]
|
||||||
.br
|
.br
|
||||||
@ -11,30 +11,26 @@ requestsync \- helper to file sync requests for Ubuntu
|
|||||||
\fBrequestsync\fR looks at the versions of <source package> in Debian and
|
\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
|
Ubuntu and prompts for an explanation of why the Ubuntu changes (if there
|
||||||
are any) should be dropped.
|
are any) should be dropped.
|
||||||
The changelog entry is then downloaded from packages.debian.org, and the
|
The changelog entry is then downloaded from packages.debian.org.
|
||||||
sync request bug is filed in launchpad.
|
If the sync request is being filed per email (default), a prompt for your
|
||||||
Alternatively, the sync request can be filed by GPG\-signed email (option
|
GPG passphrase follows so that it can sign the mail and send it off to
|
||||||
\fB\-\-email\fR).
|
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
|
.PP
|
||||||
\fBrequestsync\fR checks if you have the permissions to request the sync from
|
\fBrequestsync\fR checks if you have the permissions to request the sync from
|
||||||
the archive administrators directly by checking if you have upload permissions
|
the archive administrators directly by checking if you are a member of the
|
||||||
for that package through package set permissions or component permissions. If
|
\fI~ubuntu\-dev\fR team (for universe/multiverse syncs) or a member of the
|
||||||
you don't have upload permissions, the script will subscribe the necessary
|
\fI~ubuntu\-core\-dev\fR team (for main/restricted syncs) on Launchpad.
|
||||||
team with approval rights to the bug report for you.
|
If you are not a member of the appropriate team, 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
|
|
||||||
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
|
.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
|
.SH OPTIONS
|
||||||
Listed below are the command line options for requestsync:
|
Listed below are the command line options for requestsync:
|
||||||
@ -44,7 +40,7 @@ Display a help message and exit.
|
|||||||
.TP
|
.TP
|
||||||
.B \-d
|
.B \-d
|
||||||
Specifies which Debian distribution a package should be synced from.
|
Specifies which Debian distribution a package should be synced from.
|
||||||
Default is \fIunstable\fR.
|
Default is \fItesting\fR.
|
||||||
.TP
|
.TP
|
||||||
.B \-n
|
.B \-n
|
||||||
Specifies that the package is a new package, and requestsync should not
|
Specifies that the package is a new package, and requestsync should not
|
||||||
@ -52,34 +48,24 @@ attempt to look it up in Ubuntu since it will not exist.
|
|||||||
.TP
|
.TP
|
||||||
.B \-k \fI<keyid>\fR
|
.B \-k \fI<keyid>\fR
|
||||||
Specifies your GPG key.
|
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.
|
This is only used if the sync request is mailed to Launchpad.
|
||||||
.TP
|
.TP
|
||||||
.B \-\-email
|
.B \-\-lp
|
||||||
Use GPG\-signed email to file the bug, rather than launchpadlib.
|
Use the launchpadlib Python module (packaged as python\-launchpadlib) to
|
||||||
|
file the sync request in Launchpad.
|
||||||
.TP
|
.TP
|
||||||
.B \-s
|
.B \-s
|
||||||
Specifies that you require sponsorship.
|
Specifies that you require sponsorship.
|
||||||
You need this option if you don't have upload permissions for that package.
|
You need this option if you are not a member of ubuntu-dev for universe or
|
||||||
This disables the upload permissions check described above.
|
multiverse, or ubuntu-core-dev for main or restricted. This shall disable the
|
||||||
.TP
|
Launchpad team membership checking described above.
|
||||||
.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.
|
|
||||||
.TP
|
.TP
|
||||||
.B \-e
|
.B \-e
|
||||||
Use this flag after FeatureFreeze for non-bug fix syncs. \fBrequestsync\fR will
|
Use this flag after FeatureFreeze for non-bug fix syncs. \fBrequestsync\fR will
|
||||||
subscribe ubuntu-release team instead of sponsorship team.
|
subscribe ubuntu-release team (for main/restricted packages) or motu-release
|
||||||
.TP
|
team (for universe/multiverse packages) instead of sponsorship team.
|
||||||
.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
|
.TP
|
||||||
.B <source package>
|
.B <source package>
|
||||||
This is the source package that you would like to be synced from Debian.
|
This is the source package that you would like to be synced from Debian.
|
||||||
@ -94,45 +80,30 @@ In some cases, the base version (where the Ubuntu package started differing
|
|||||||
from the Debian package) cannot be automatically determined.
|
from the Debian package) cannot be automatically determined.
|
||||||
Specify this option in this case.
|
Specify this option in this case.
|
||||||
|
|
||||||
.SH ENVIRONMENT
|
.SH ENVIRONMENT VARIABLES
|
||||||
\fBrequestsync\fR uses the following variables which should be set in your
|
\fBrequestsync\fR uses the following variables which should be set in your
|
||||||
shell's configuration by adding \fIexport VARIABLE=\fR lines, where VARIABLE is
|
shell's configuration by adding \fIexport VARIABLE=\fR lines, where VARIABLE is
|
||||||
one of the following:
|
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
|
.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.
|
Set which SMTP server to use when sending mail.
|
||||||
If unspecified this defaults to launchpad's SMTP servers (the
|
If unspecified this defaults to fiordland.ubuntu.com.
|
||||||
eventual destination).
|
|
||||||
.TP
|
.TP
|
||||||
.B REQUESTSYNC_SMTP_PORT
|
.B DEBSMTP_PORT
|
||||||
Sets which port of the SMTP server to use. Default is 25.
|
Sets which port of the SMTP server to use. Default is 25.
|
||||||
.TP
|
.TP
|
||||||
.BR REQUESTSYNC_SMTP_USER " and " REQUESTSYNC_SMTP_PASS
|
.B DEBSMTP_USER and DEBSMTP_PASS
|
||||||
Sets the username and password to use when authenticating to the SMTP server.
|
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
|
.SH SEE ALSO
|
||||||
.BR rmadison (1),
|
.BR rmadison (1)
|
||||||
.BR syncpackage (1),
|
|
||||||
.BR ubuntu\-dev\-tools (5)
|
|
||||||
|
|
||||||
.SH AUTHOR
|
.SH AUTHOR
|
||||||
.B requestsync
|
.B requestsync
|
||||||
|
172
doc/reverse-build-depends.1
Normal file
172
doc/reverse-build-depends.1
Normal 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 ommitted.
|
||||||
|
.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>
|
@ -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.
|
|
@ -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>.
|
|
@ -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.
|
|
@ -1,22 +0,0 @@
|
|||||||
.TH PULL-DEBIAN-DEBDIFF "1" "June 2010" "ubuntu-dev-tools"
|
|
||||||
.SH NAME
|
|
||||||
\fBsetup-packaging-environment\fR \- helps one 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.
|
|
||||||
|
|
||||||
.SH AUTHORS
|
|
||||||
\fBsetup-packaging-environment\fR was written by Siegfried-A. Gevatter <rainct@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 or later.
|
|
@ -1,166 +0,0 @@
|
|||||||
.TH sponsor\-patch "1" "September 21 2010" "ubuntu-dev-tools"
|
|
||||||
.SH NAME
|
|
||||||
sponsor\-patch \- Prepare, test\-build, and sponsor an upload.
|
|
||||||
|
|
||||||
.SH SYNOPSIS
|
|
||||||
.B sponsor\-patch \fR[\fIoptions\fR] \fIbug
|
|
||||||
.br
|
|
||||||
.B sponsor\-patch \-h
|
|
||||||
|
|
||||||
.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
|
|
||||||
.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.
|
|
||||||
If \fIbug\fR has multiple patches or branches linked, it will prompt the
|
|
||||||
user to select one.
|
|
||||||
The same applies to bug tasks.
|
|
||||||
If the attached patch is not a debdiff,
|
|
||||||
.BR edit-patch (1)
|
|
||||||
is used to apply it.
|
|
||||||
|
|
||||||
.nr step 1 1
|
|
||||||
Some obvious checks are performed, in particular:
|
|
||||||
.IP \n[step]. 4
|
|
||||||
.BR update\-maintainer (1)
|
|
||||||
is run on the source package to ensure that the \fBMaintainer\fR field
|
|
||||||
meets the Ubuntu policy.
|
|
||||||
.IP \n+[step].
|
|
||||||
The version number must be greater than the current version in the
|
|
||||||
archive.
|
|
||||||
The \fBchanges\fR file is also correctly generated to list all changes
|
|
||||||
since the current version in the archive.
|
|
||||||
.IP \n+[step].
|
|
||||||
The changelog must automatically close the sponsorship bug.
|
|
||||||
.IP \n+[step].
|
|
||||||
The changelog target must be valid.
|
|
||||||
.IP \n+[step].
|
|
||||||
The changelog timestamp is touched.
|
|
||||||
|
|
||||||
.PP
|
|
||||||
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.
|
|
||||||
|
|
||||||
.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).
|
|
||||||
.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
|
|
||||||
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
|
|
||||||
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.
|
|
||||||
|
|
||||||
.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.
|
|
||||||
|
|
||||||
.SH EXAMPLES
|
|
||||||
Test-building and sponsoring an upload of bug \fB1234\fR:
|
|
||||||
.IP
|
|
||||||
.nf
|
|
||||||
.B sponsor\-patch -s 1234
|
|
||||||
.fi
|
|
||||||
|
|
||||||
.PP
|
|
||||||
Performing a test build of bug \fB1234\fR in your PPA:
|
|
||||||
.IP
|
|
||||||
.nf
|
|
||||||
.B sponsor\-patch -u ppa:\fIuser\fR/\fIppa\fB 1234
|
|
||||||
.fi
|
|
||||||
|
|
||||||
.SH SEE ALSO
|
|
||||||
.BR bzr (1),
|
|
||||||
.BR debchange (1),
|
|
||||||
.BR debdiff (1),
|
|
||||||
.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
|
|
||||||
\fBsponsor\-patch\fR was written by Benjamin Drung <bdrung@ubuntu.com>,
|
|
||||||
and this manual page was written by Stefano Rivera <stefanor@ubuntu.com>.
|
|
||||||
.PP
|
|
||||||
Both are released under the terms of the ISC License.
|
|
28
doc/suspicious-source.1
Normal file
28
doc/suspicious-source.1
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
.TH SUSPICIOUS\-SOURCE 1 "September 14, 2007" "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
|
||||||
|
|
||||||
|
.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
|
||||||
|
Neither the files inside version control system directories (like
|
||||||
|
".bzr/" or "CVS/"), nor those inside "debian/" are considered.
|
||||||
|
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR find (1)
|
||||||
|
|
||||||
|
.SH AUTHORS
|
||||||
|
\fBsuspicious\-source\fP and this manpage have been written by
|
||||||
|
Siegfried-Angel Gevatter Pujals <rainct@ubuntu.com>, based upon a
|
||||||
|
script with the same name from Martin Pitt <martin.pitt@ubuntu.com>.
|
||||||
|
.PP
|
||||||
|
Both are released under the GNU General Public License, version 3 or later.
|
@ -1,154 +0,0 @@
|
|||||||
.TH SYNCPACKAGE "1" "June 2010" "ubuntu-dev-tools"
|
|
||||||
.SH NAME
|
|
||||||
syncpackage \- copy source packages from Debian to Ubuntu
|
|
||||||
.\"
|
|
||||||
.SH SYNOPSIS
|
|
||||||
.B syncpackage
|
|
||||||
[\fIoptions\fR] \fI<.dsc URL/path or package name(s)>\fR
|
|
||||||
.\"
|
|
||||||
.SH DESCRIPTION
|
|
||||||
\fBsyncpackage\fR causes one or more source package(s) to be copied from Debian
|
|
||||||
to Ubuntu.
|
|
||||||
.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.
|
|
||||||
.\"
|
|
||||||
.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.
|
|
||||||
.TP
|
|
||||||
\fB\-r\fI RELEASE\fR, \fB\-\-release\fR=\fIRELEASE\fR
|
|
||||||
Specify target Ubuntu release. Default: current development release.
|
|
||||||
.TP
|
|
||||||
\fB\-V\fI DEBVERSION\fR, \fB\-\-debian\-version\fR=\fIDEBVERSION\fR
|
|
||||||
Specify the version to sync from.
|
|
||||||
.TP
|
|
||||||
\fB\-c\fI COMPONENT\fR, \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.
|
|
||||||
.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.
|
|
||||||
.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
|
|
||||||
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)
|
|
||||||
.\"
|
|
||||||
.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>
|
|
||||||
.PP
|
|
||||||
Both are released under GNU General Public License, version 3.
|
|
@ -1,78 +0,0 @@
|
|||||||
.TH UBUNTU-BUILD "1" "Mar 2024" "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
|
|
||||||
|
|
||||||
.SH DESCRIPTION
|
|
||||||
\fBubuntu-build\fR provides a command line interface to the Launchpad build
|
|
||||||
operations.
|
|
||||||
|
|
||||||
.SH OPERATIONS
|
|
||||||
Listed below are the available operations for \fBubuntu-build\fR:
|
|
||||||
.TP
|
|
||||||
.B status
|
|
||||||
Outputs the build status of the package on Launchpad on all architectures.
|
|
||||||
.TP
|
|
||||||
.B retry
|
|
||||||
Requests that the package has another attempt at rebuilding from source.
|
|
||||||
This will only work if the package has \fIFailed to build\fR on Launchpad.
|
|
||||||
.TP
|
|
||||||
.B rescore
|
|
||||||
Requests that the package's build priority be raised in the build queue.
|
|
||||||
Only members of the Launchpad build administrators may issue this operation,
|
|
||||||
and it may only be performed on packages which \fINeed building\fR.
|
|
||||||
|
|
||||||
.SH OPTIONS
|
|
||||||
Listed below are the command line options for \fBubuntu-build\fR:
|
|
||||||
.TP
|
|
||||||
.B \-h or \-\-help
|
|
||||||
Display a help message and exit.
|
|
||||||
.TP
|
|
||||||
Retry and rescore options:
|
|
||||||
.IP
|
|
||||||
These options may only be used with the 'retry' and 'rescore'
|
|
||||||
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.
|
|
||||||
.TP
|
|
||||||
Batch processing:
|
|
||||||
.IP
|
|
||||||
These options and parameter ordering is only available in \fB\-\-batch\fR
|
|
||||||
mode. Usage: ubuntu\-build \fB\-\-batch\fR [options] <package>...
|
|
||||||
.IP
|
|
||||||
\fB\-\-batch\fR
|
|
||||||
Enable batch mode
|
|
||||||
.IP
|
|
||||||
\fB\-\-series\fR=\fISERIES\fR
|
|
||||||
Selects the Ubuntu series to operate on (default:
|
|
||||||
current development series)
|
|
||||||
.IP
|
|
||||||
\fB\-\-retry\fR
|
|
||||||
Retry builds (give\-back).
|
|
||||||
.IP
|
|
||||||
\fB\-\-rescore\fR=\fIPRIORITY\fR
|
|
||||||
Rescore builds to <priority>.
|
|
||||||
.IP
|
|
||||||
\fB\-\-arch\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.
|
|
||||||
|
|
||||||
.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.
|
|
@ -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>.
|
|
@ -1,16 +0,0 @@
|
|||||||
.TH UBUNTU_ISO "1" "June 2010" "ubuntu-dev-tools"
|
|
||||||
.SH NAME
|
|
||||||
\fBubuntu-iso\fR \- tool to examine Ubuntu CD (ISO) installation media
|
|
||||||
|
|
||||||
.SH SYNOPSIS
|
|
||||||
\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.
|
|
||||||
|
|
||||||
.SH AUTHORS
|
|
||||||
\fBubuntu-iso\fR was written by Matt Zimmerman <mdz@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 2.
|
|
@ -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.
|
|
@ -1,26 +1,10 @@
|
|||||||
.\" Copyright (c) 2008, Siegfried-Angel Gevatter Pujals <rainct@ubuntu.com>
|
.TH UPDATE\-MAINTAINER "1" "August 04, 2008" "ubuntu-dev-tools"
|
||||||
.\" 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"
|
|
||||||
|
|
||||||
.SH NAME
|
.SH NAME
|
||||||
update\-maintainer \- change the Maintainer field in a Debian source package
|
update\-maintainer \- change the Maintainer field in a Debian source package
|
||||||
|
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
.B update\-maintainer
|
.B update\-maintainer [\fB\-\-path=<PATH>\fP] [\fB\-\-section=<SECTION>\fP]
|
||||||
[\fIoptions\fR]
|
|
||||||
|
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
\fBupdate\-maintainer\fP updates the Maintainer field in the source of
|
\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
|
.SH OPTIONS
|
||||||
.TP
|
.TP
|
||||||
\fB\-d \fIPATH\fR, \fB\-\-debian\-directory\fR=\fIPATH\fR
|
\fB\-\-path=<PATH>\fP
|
||||||
location of the \fIdebian\fR directory (default: \fB./debian\fR)
|
This option allows you to specify the path to the source directory.
|
||||||
.TP
|
.TP
|
||||||
\fB\-h\fR, \fB\-\-help\fR
|
\fB\-\-section=<SECTION>\fP
|
||||||
show a help message and exit
|
Manually specify the section of the package. This is necessary if the
|
||||||
.TP
|
package is not yet in the archive or if you don't have an Internet
|
||||||
\fB\-q\fR, \fB\-\-quiet\fR
|
connection available when you run \fBupdate\-maintainer\fP.
|
||||||
print no informational messages
|
|
||||||
|
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
See https://wiki.ubuntu.com/DebianMaintainerField for more information.
|
See https://wiki.ubuntu.com/DebianMaintainerField for more information.
|
||||||
|
|
||||||
.SH AUTHOR
|
.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>.
|
and this manual page by Siegfried-Angel Gevatter Pujals <rainct@ubuntu.com>.
|
||||||
.PP
|
.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
40
doc/what-patch.1
Normal 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)
|
@ -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()
|
|
16
examples/massfile.instructions
Normal file
16
examples/massfile.instructions
Normal 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
2
examples/massfile.list
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
z88dk
|
||||||
|
zope-quotafolder
|
144
get-branches
Executable file
144
get-branches
Executable file
@ -0,0 +1,144 @@
|
|||||||
|
#!/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 re
|
||||||
|
import subprocess
|
||||||
|
import sys
|
||||||
|
import urllib2
|
||||||
|
from optparse import OptionParser
|
||||||
|
|
||||||
|
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 = ".",
|
||||||
|
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()
|
||||||
|
|
||||||
|
# Parse our options.
|
||||||
|
if len(args) != 1 and options.lpteam == None:
|
||||||
|
optParser.error("No team has been specified.")
|
||||||
|
|
||||||
|
# Launchpad team setting.
|
||||||
|
if options.lpteam:
|
||||||
|
team = str(options.lpteam).lower()
|
||||||
|
if args:
|
||||||
|
team = str(args[0]).lower()
|
||||||
|
|
||||||
|
directory = options.directory
|
||||||
|
|
||||||
|
# Dictionary settings.
|
||||||
|
if not os.path.isdir(directory): # Check that it is a directory.
|
||||||
|
optParser.error("%s is not a valid directory." % directory)
|
||||||
|
|
||||||
|
# Type of Bazaar operation to perform.
|
||||||
|
operation_type = str(options.operation).lower()
|
||||||
|
|
||||||
|
# Got an argument, check if it is valid.
|
||||||
|
if operation_type not in ("branch", "checkout"):
|
||||||
|
optParser.error("Invalid operation '%s' for '-o' flag." % \
|
||||||
|
operation_type)
|
||||||
|
|
||||||
|
|
||||||
|
# Fetch our current directory to return to later.
|
||||||
|
pwd = os.getcwd()
|
||||||
|
|
||||||
|
# Change to the specified directory.
|
||||||
|
os.chdir(directory)
|
||||||
|
|
||||||
|
# Try to open the teams code page.
|
||||||
|
try:
|
||||||
|
sock = urllib2.urlopen("https://code.launchpad.net/~%s" % team)
|
||||||
|
except urllib2.HTTPError:
|
||||||
|
print >> sys.stderr, "The page https://code.launchpad.net/~%s does " \
|
||||||
|
"not exist." % team
|
||||||
|
print >> sys.stderr, "Perhaps invalid team name?"
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
branch_list_page = sock.read()
|
||||||
|
sock.close()
|
||||||
|
|
||||||
|
branch_page_urls_regex = r'.*<a href="/(~%s/.*)".*' % team
|
||||||
|
branch_page_urls = re.findall(branch_page_urls_regex, branch_list_page)
|
||||||
|
|
||||||
|
# Check the team actually has branches.
|
||||||
|
if len(branch_page_urls) == 0:
|
||||||
|
print "The team '%s' does not have any branches on Launchpad." % team
|
||||||
|
sys.exit(0)
|
||||||
|
|
||||||
|
print "Downloading all branches for the team '%s'. This may take some " \
|
||||||
|
"time." % team
|
||||||
|
|
||||||
|
try:
|
||||||
|
os.makedirs(team)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
os.chdir(team)
|
||||||
|
|
||||||
|
for url in branch_page_urls:
|
||||||
|
sock = urllib2.urlopen("https://code.launchpad.net/%s" % url)
|
||||||
|
branch_page = sock.read()
|
||||||
|
sock.close()
|
||||||
|
|
||||||
|
branch_url_regex = r'<tt>bzr branch lp:~(.*)</tt>'
|
||||||
|
branch_url = re.findall(branch_url_regex, branch_page)
|
||||||
|
print "Downloading branch: lp:~%s." % branch_url[0]
|
||||||
|
|
||||||
|
if branch_url[0]:
|
||||||
|
product = branch_url[0].split("/")[-2]
|
||||||
|
branch_nick = branch_url[0].split("/")[-1]
|
||||||
|
|
||||||
|
if not os.path.exists(product):
|
||||||
|
os.makedirs(product)
|
||||||
|
os.chdir(product)
|
||||||
|
|
||||||
|
if not os.path.exists(branch_nick):
|
||||||
|
subprocess.call(["bzr", operation_type, "lp:~%s" % branch_url[0]])
|
||||||
|
else:
|
||||||
|
os.chdir(branch_nick)
|
||||||
|
subprocess.call(["bzr", "merge", "--pull", "--remember"])
|
||||||
|
os.chdir(os.path.join(directory, team))
|
||||||
|
|
||||||
|
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
95
get-build-deps
Executable 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 $*
|
56
grab-attachments
Executable file
56
grab-attachments
Executable file
@ -0,0 +1,56 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
#
|
||||||
|
# Copyright (C) 2007, Canonical Ltd.
|
||||||
|
# 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 os
|
||||||
|
import sys
|
||||||
|
from ubuntutools.lp.libsupport import get_launchpad
|
||||||
|
|
||||||
|
USAGE = "grab-attachments <bug numbers>"
|
||||||
|
|
||||||
|
def main():
|
||||||
|
if len(sys.argv) == 1:
|
||||||
|
print >> sys.stderr, USAGE
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
if sys.argv[1] in ["--help", "-h"]:
|
||||||
|
print USAGE
|
||||||
|
sys.exit(0)
|
||||||
|
|
||||||
|
launchpad = get_launchpad("ubuntu-dev-tools")
|
||||||
|
for arg in sys.argv[1:]:
|
||||||
|
try:
|
||||||
|
number = int(arg)
|
||||||
|
except:
|
||||||
|
print >> sys.stderr, "'%s' is not a valid bug number." % arg
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
b = launchpad.bugs[number]
|
||||||
|
|
||||||
|
for a in b.attachments:
|
||||||
|
f = a.data.open()
|
||||||
|
filename = os.path.join(os.getcwd(), f.filename)
|
||||||
|
local_file = open(filename, "w")
|
||||||
|
local_file.write(f.read())
|
||||||
|
f.close()
|
||||||
|
local_file.close()
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
|
|
23
grab-merge
23
grab-merge
@ -29,7 +29,7 @@ set -e
|
|||||||
|
|
||||||
MERGE=$1
|
MERGE=$1
|
||||||
|
|
||||||
if [ -z "$1" -o "$1" = "-h" -o "$1" = "--help" ]; then
|
if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
|
||||||
echo "Usage: $0 <package name>"
|
echo "Usage: $0 <package name>"
|
||||||
echo ""
|
echo ""
|
||||||
echo "grab-merge downloads a merge's packaging files and report from"
|
echo "grab-merge downloads a merge's packaging files and report from"
|
||||||
@ -59,28 +59,26 @@ fi
|
|||||||
if [ "$RSYNC" = "y" ]; then
|
if [ "$RSYNC" = "y" ]; then
|
||||||
URL="merges.ubuntu.com:/srv/patches.ubuntu.com/merges/$HASH/$MERGE/"
|
URL="merges.ubuntu.com:/srv/patches.ubuntu.com/merges/$HASH/$MERGE/"
|
||||||
rsync --verbose --archive --progress --compress --delete \
|
rsync --verbose --archive --progress --compress --delete \
|
||||||
"$URL" . || { echo "Error while rsyncing $URL"; exit 1; }
|
"$URL" . || { echo "Error while rsyncing $URL"; exit 1; }
|
||||||
else
|
else
|
||||||
rm -rf --one-file-system *
|
rm -rf --one-file-system *
|
||||||
wget -nv https://merges.ubuntu.com/$HASH/$MERGE/REPORT || {
|
wget -q https://merges.ubuntu.com/$HASH/$MERGE/REPORT || {
|
||||||
echo "Package not found on merges.ubuntu.com."
|
echo "Package not found on merges.ubuntu.com."
|
||||||
[ "$CREATED_DIR" != "1" ] || { cd ..; rmdir $MERGE; }
|
[ "$CREATED_DIR" != "1" ] || { cd ..; rmdir $MERGE; }
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
for NAME in $(sed -n -e "/^ /p" REPORT); do
|
for NAME in $(sed -n -e "/^ /p" REPORT); do
|
||||||
if [ ! -f "$NAME" ]; then
|
echo "Getting $NAME..."
|
||||||
echo "Getting $NAME..."
|
URL="https://merges.ubuntu.com/$HASH/$MERGE/$NAME"
|
||||||
URL="https://merges.ubuntu.com/$HASH/$MERGE/$NAME"
|
wget -q "$URL" || { echo "Error downloading $URL"; exit 1; }
|
||||||
wget -q "$URL" || { echo "Error downloading $URL"; exit 1; }
|
|
||||||
fi
|
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
echo
|
echo
|
||||||
|
|
||||||
if grep "^generated: " REPORT >/dev/null; then
|
if grep "^generated: " REPORT >/dev/null; then
|
||||||
VERSION=$(sed -n -e "/^generated:/s/^generated: *//p" REPORT)
|
VERSION=$(sed -n -e "/^generated:/s/^generated: *//p" REPORT)
|
||||||
DEB_VENDOR=Ubuntu dpkg-source -x ${MERGE}_${VERSION#*:}.dsc
|
dpkg-source -x ${MERGE}_${VERSION#*:}.dsc
|
||||||
echo
|
echo
|
||||||
else
|
else
|
||||||
TARBALL=$(sed -n -e "/\.src\.tar\.gz$/p" REPORT)
|
TARBALL=$(sed -n -e "/\.src\.tar\.gz$/p" REPORT)
|
||||||
@ -104,12 +102,7 @@ echo "exec $(sed -n -e '/^ $ /s/^ $ dpkg-genchanges/dpkg-buildpackage/p' REPOR
|
|||||||
>> merge-buildpackage
|
>> merge-buildpackage
|
||||||
chmod +x merge-buildpackage
|
chmod +x merge-buildpackage
|
||||||
|
|
||||||
echo "#!/bin/sh" > merge-debuild
|
echo "Run ../merge-genchanges or ../merge-buildpackage when done"
|
||||||
echo "exec $(sed -n -e '/^ $ /s/^ $ dpkg-genchanges/debuild/p' REPORT) \"\$@\"" \
|
|
||||||
>> merge-debuild
|
|
||||||
chmod +x merge-debuild
|
|
||||||
|
|
||||||
echo "Run ../merge-genchanges , ../merge-buildpackage or ../merge-debuild when done"
|
|
||||||
|
|
||||||
if grep "^Vcs-" *.dsc >/dev/null; then
|
if grep "^Vcs-" *.dsc >/dev/null; then
|
||||||
echo
|
echo
|
||||||
|
88
grep-merges
88
grep-merges
@ -1,88 +0,0 @@
|
|||||||
#! /usr/bin/python3
|
|
||||||
#
|
|
||||||
# grep-merges - search for pending merges from Debian
|
|
||||||
#
|
|
||||||
# Copyright (C) 2010 Canonical Ltd.
|
|
||||||
# Authors:
|
|
||||||
# - 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 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.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
# pylint: disable=invalid-name
|
|
||||||
# pylint: enable=invalid-name
|
|
||||||
|
|
||||||
import argparse
|
|
||||||
import json
|
|
||||||
import sys
|
|
||||||
|
|
||||||
from httplib2 import Http, HttpLib2Error
|
|
||||||
|
|
||||||
import ubuntutools.misc
|
|
||||||
from ubuntutools import getLogger
|
|
||||||
|
|
||||||
Logger = getLogger()
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
|
||||||
parser = argparse.ArgumentParser(
|
|
||||||
usage="%(prog)s [options] [string]",
|
|
||||||
description="List pending merges from Debian matching string",
|
|
||||||
)
|
|
||||||
parser.add_argument("string", nargs="?", help=argparse.SUPPRESS)
|
|
||||||
args = parser.parse_args()
|
|
||||||
|
|
||||||
ubuntutools.misc.require_utf8()
|
|
||||||
|
|
||||||
for component in (
|
|
||||||
"main",
|
|
||||||
"main-manual",
|
|
||||||
"restricted",
|
|
||||||
"restricted-manual",
|
|
||||||
"universe",
|
|
||||||
"universe-manual",
|
|
||||||
"multiverse",
|
|
||||||
"multiverse-manual",
|
|
||||||
):
|
|
||||||
url = f"https://merges.ubuntu.com/{component}.json"
|
|
||||||
try:
|
|
||||||
headers, page = Http().request(url)
|
|
||||||
except HttpLib2Error as e:
|
|
||||||
Logger.exception(e)
|
|
||||||
sys.exit(1)
|
|
||||||
if headers.status != 200:
|
|
||||||
Logger.error("%s: %s %s", url, headers.status, headers.reason)
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
for merge in json.loads(page):
|
|
||||||
package = merge["source_package"]
|
|
||||||
author, uploader = "", ""
|
|
||||||
if merge.get("user"):
|
|
||||||
author = merge["user"]
|
|
||||||
if merge.get("uploader"):
|
|
||||||
uploader = f"({merge['uploader']})"
|
|
||||||
teams = merge.get("teams", [])
|
|
||||||
|
|
||||||
pretty_uploader = f"{author} {uploader}"
|
|
||||||
if (
|
|
||||||
args.string is None
|
|
||||||
or args.string in package
|
|
||||||
or args.string in author
|
|
||||||
or args.string in uploader
|
|
||||||
or args.string in teams
|
|
||||||
):
|
|
||||||
Logger.info("%s\t%s", package, pretty_uploader)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
main()
|
|
132
hugdaylist
Executable file
132
hugdaylist
Executable file
@ -0,0 +1,132 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
#
|
||||||
|
# Copyright (C) 2007 Canonical Ltd., Daniel Holbach
|
||||||
|
# Copyright (C) 2008 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.
|
||||||
|
#
|
||||||
|
# ##################################################################
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# hugdaylist - produces MoinMoin wiki formatted tables based on a Launchpad bug
|
||||||
|
# list.
|
||||||
|
#
|
||||||
|
# hugdaylist <url>
|
||||||
|
# - produces lists like https://wiki.ubuntu.com/UbuntuBugDay/20070912?action=raw
|
||||||
|
#
|
||||||
|
# hugdaylist -n <howmany> <url>
|
||||||
|
# - will only list <howmany> URLs.
|
||||||
|
|
||||||
|
import os
|
||||||
|
import re
|
||||||
|
import string
|
||||||
|
import sys
|
||||||
|
from optparse import OptionParser
|
||||||
|
|
||||||
|
from ubuntutools.lp.libsupport import get_launchpad, translate_web_api, translate_api_web
|
||||||
|
|
||||||
|
def check_args():
|
||||||
|
howmany = -1
|
||||||
|
url = ""
|
||||||
|
|
||||||
|
# Our usage options.
|
||||||
|
usage = "usage: %prog [-n <number>] launchpad-buglist-url"
|
||||||
|
optParser = OptionParser(usage)
|
||||||
|
argsParsed = 0
|
||||||
|
|
||||||
|
# Options - namely just the number of bugs to output.
|
||||||
|
optParser.add_option("-n", "--number", type = "int",
|
||||||
|
dest = "number", help = "Number of entries to output.")
|
||||||
|
|
||||||
|
# Parse arguments.
|
||||||
|
(options, args) = optParser.parse_args()
|
||||||
|
|
||||||
|
# Check if we want a number other than the default.
|
||||||
|
howmany = options.number
|
||||||
|
|
||||||
|
# Check that we have an URL.
|
||||||
|
if not args:
|
||||||
|
print >> sys.stderr, "An URL pointing to a Launchpad bug list is " \
|
||||||
|
"required."
|
||||||
|
optParser.print_help()
|
||||||
|
sys.exit(1)
|
||||||
|
else:
|
||||||
|
url = args[argsParsed]
|
||||||
|
|
||||||
|
return (howmany, url)
|
||||||
|
|
||||||
|
def filter_unsolved(task):
|
||||||
|
# TODO: don't use this filter here, only check status and assignee of
|
||||||
|
# the given task
|
||||||
|
# Filter out special types of bugs:
|
||||||
|
# - https://wiki.ubuntu.com/Bugs/HowToTriage#Special%20types%20of%20bugs
|
||||||
|
subscriptions = set(s.person.name for s in task.bug.subscriptions) #this is expensive, parse name out of self_link instead?
|
||||||
|
if (task.status != "Fix Committed" and
|
||||||
|
(not task.assignee or task.assignee.name in ['motu','desktop-bugs']) and
|
||||||
|
'ubuntu-main-sponsors' not in subscriptions and
|
||||||
|
'ubuntu-universe-sponsors' not in subscriptions and
|
||||||
|
'ubuntu-archive' not in subscriptions):
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
def main():
|
||||||
|
(howmany, url) = check_args()
|
||||||
|
if len(url.split("?", 1)) == 2:
|
||||||
|
# search options not supported, because there is no mapping web ui options <-> API options
|
||||||
|
print >> sys.stderr, "Options in url are not supported, url: %s" %url
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
launchpad = get_launchpad("ubuntu-dev-tools")
|
||||||
|
api_url = translate_web_api(url, launchpad)
|
||||||
|
try:
|
||||||
|
product = launchpad.load(api_url)
|
||||||
|
except Exception, e:
|
||||||
|
x = getattr(e, "response", {})
|
||||||
|
if response.get("status", None) == "404":
|
||||||
|
print >> sys.stderr, "The URL at '%s' does not appear to be a valid url to a product" %url
|
||||||
|
sys.exit(1)
|
||||||
|
else:
|
||||||
|
raise
|
||||||
|
|
||||||
|
bl = product.searchTasks()
|
||||||
|
|
||||||
|
l = filter(filter_unsolved, bl)
|
||||||
|
|
||||||
|
if not l:
|
||||||
|
print "Bug list of %s is empty." % url
|
||||||
|
sys.exit(0)
|
||||||
|
if howmany == -1:
|
||||||
|
howmany = len(l)
|
||||||
|
|
||||||
|
print """
|
||||||
|
## ||<rowbgcolor="#CCFFCC"> This task is done || somebody || ||
|
||||||
|
## ||<rowbgcolor="#FFFFCC"> This task is assigned || somebody || <status> ||
|
||||||
|
## ||<rowbgcolor="#FFEBBB"> This task isn't || ... || ||
|
||||||
|
## ||<rowbgcolor="#FFCCCC"> This task is blocked on something || somebody || <explanation> ||
|
||||||
|
|
||||||
|
|| Bug || Subject || Triager ||"""
|
||||||
|
|
||||||
|
for i in list(l)[:howmany]:
|
||||||
|
bug = i.bug
|
||||||
|
print '||<rowbgcolor="#FFEBBB"> [%s %s] || %s || ||' % \
|
||||||
|
(translate_api_web(bug.self_link), bug.id, bug.title)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
try:
|
||||||
|
main()
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
print >> sys.stderr, "Aborted."
|
||||||
|
sys.exit(1)
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user