diff --git a/debian/changelog b/debian/changelog index 9ed3fdd..d275dd8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,30 +1,38 @@ ubuntu-dev-tools (0.27) UNRELEASED; urgency=low [ Andrew Hunter ] - * Use install files as we have multiple binaries now. * ppaput: - * Separated ppaput script from backend python modules (shipped in - python-ppaput). (LP: #192184) - * Switched from homegrown option parseing to Optparse, much more + - Separated ppaput script from backend python modules (LP: #192184). + - Switched from homegrown option parseing to Optparse, much more robust and less code duplication. [ Siegfried-Angel Gevatter Pujals (RainCT) ] - * Remove wrong element from doc/ppaput.1.docbook. - * Move ppaput.py into new ubuntutools/ directory and remove - it's shabang. - * Write a description for the new python-ubuntutools binary - package in debian/control. Add a "Suggests: ubuntu-dev-tools". - * Check for reportbug being installed in submittodebian. Replace - reportbug dependency with a Recommends. - * Add ppaput to debian/copyright. - * Remove debian/pycompat. + * debian/control: + - Change the Vcs-Bzr address to the correct one. + - Move the reportbug dependency to Recommends. + - Drop docbook2x build dependency (see Daniel's changes). + * Move ppaput.py (the module) into new ubuntutools/ directory and + remove it's shabang. + * submittodebian: + - Check if reportbug is installed and if it isn't throw an error. + * debian/copyright. + - Add ppaput (the executable has been removed for now -see below-, + but there is still the module in the source package). + * debian/pycompat: + - Remove it, as it is not necessary for python-central. + + [ Terence Simpson ] + * dgetlp: + - Fix bug where optaining the .orig.tar.gz would fail if the package + name contains hypens. + - Add support for native packages. [ Daniel Holbach ] * README, debian/rules, doc/ppaput.1.docbook, ppaput, setup.py: removed ppaput for now. It has shortcomings and is not actively used in the sponsoring process. - -- Daniel Holbach Fri, 22 Feb 2008 18:55:21 +0100 + -- Siegfried-Angel Gevatter Pujals (RainCT) Fri, 22 Feb 2008 19:52:59 +0100 ubuntu-dev-tools (0.26) hardy; urgency=low @@ -67,7 +75,8 @@ ubuntu-dev-tools (0.25) hardy; urgency=low [ Siegfried-Angel Gevatter Pujals (RainCT) ] * what-patch: - - Print a list of files that have been modified outside debian/. + - Print a list of files that have been modified outside the + debian/ directory (LP: #174933). - Add -h and -q options. - Add proper exit values. * debian/control: diff --git a/debian/control b/debian/control index 97e91c1..b51804f 100644 --- a/debian/control +++ b/debian/control @@ -2,10 +2,10 @@ Source: ubuntu-dev-tools Section: devel Priority: optional Maintainer: Ubuntu MOTU Developers -Vcs-Bzr: https://launchpad.net/ubuntu-dev-tools/ +Vcs-Bzr: http://bazaar.launchpad.net/~ubuntu-dev/ubuntu-dev-tools/trunk Vcs-Browser: http://codebrowse.launchpad.net/~ubuntu-dev/ubuntu-dev-tools/trunk/changes Build-Depends: cdbs (>= 0.4.49), debhelper (>= 5), python-all-dev (>= 2.4) -Build-Depends-Indep: docbook2x, python-central (>= 0.5) +Build-Depends-Indep: python-central (>= 0.5) XS-Python-Version: all Homepage: https://launchpad.net/ubuntu-dev-tools/ Standards-Version: 3.7.3 @@ -14,7 +14,7 @@ Package: ubuntu-dev-tools Architecture: all Section: devel Depends: ${python:Depends}, binutils, devscripts, sudo, python-launchpad-bugs (>= 0.2.25), python-debian, dctrl-tools, lsb-release -Recommends: bzr, pbuilder, python-ubuntu-utils, reportbug (>= 3.39ubuntu1) +Recommends: bzr, pbuilder, reportbug (>= 3.39ubuntu1) Conflicts: devscripts (<< 2.10.7ubuntu5) Replaces: devscripts (<< 2.10.7ubuntu5) XB-Python-Version: ${python:Versions} @@ -22,17 +22,3 @@ Description: useful tools for Ubuntu developers This is a collection of useful tools that Ubuntu developers use to make their packaging work a lot easier. Such tools can include bug filing, packaging preparation, package analysis, etc. - -Package: python-ubuntutools -Architecture: all -Section: python -Depends: ${python:Depends} -Suggests: ubuntu-dev-tools -XB-Python-Version: ${python:Versions} -Description: useful Python modules for Ubuntu developers - This is a namespace of Python modules that people interested in - Ubuntu development might find useful. It include: - . - * ppaput: a Python module that abstracts the process of creating and - uploading Debian source packages to Launchpad's Personal Package - Archives. diff --git a/debian/rules b/debian/rules index b43537e..c10c010 100755 --- a/debian/rules +++ b/debian/rules @@ -6,6 +6,3 @@ include /usr/share/cdbs/1/rules/debhelper.mk include /usr/share/cdbs/1/class/python-distutils.mk DEB_INSTALL_MANPAGES_ubuntu-dev-tools = doc/*.1 - -binary-install/python-ubuntutools:: - rm -rf debian/python-ubuntutools/usr/lib diff --git a/debian/examples b/debian/ubuntu-dev-tools.examples similarity index 100% rename from debian/examples rename to debian/ubuntu-dev-tools.examples diff --git a/debian/ubuntu-dev-tools.install b/debian/ubuntu-dev-tools.install index 83e5341..635757e 100644 --- a/debian/ubuntu-dev-tools.install +++ b/debian/ubuntu-dev-tools.install @@ -1,2 +1 @@ -debian/tmp/usr/bin/* bash_completion/* etc/bash_completion.d/pbuilder-dist diff --git a/dgetlp b/dgetlp index 4659877..38b5502 100755 --- a/dgetlp +++ b/dgetlp @@ -1,7 +1,20 @@ #!/bin/bash -# Copyright 2007 (C) Terence Simpson +# Copyright (C) 2008 Terence Simpson # Modified by Siegfried-A. Gevatter -# License: GPLv2 or later +# 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. @@ -15,6 +28,7 @@ GET="wget" UNPACK="dpkg-source -x {dsc-file}" +DIRECT_TO_NULL="/dev/null" usage() { @@ -24,27 +38,41 @@ Usage: $0 [-d] This scripts simulates «dget»'s behaviour for files hostead at launchpadlibrarian.net. -If you specify the -d option then it won't do anything, but just -print the commands it would run otherwise. +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: - $0 http://launchpadlibrarian.net/10348157/coreutils_5.97-5.4ubuntu1.dsc + $(basename $0) http://launchpadlibrarian.net/10348157/coreutils_5.97-5.4ubuntu1.dsc EOF } -if [ $1 ] && [ $1 = "-d" ] || [ $1 = "--debug" ] -then - # Debug Mode - GET="echo "${GET} - UNPACK="echo "${UNPACK} - shift -fi - -if [ $1 ] && [ $1 = "-h" ] || [ $1 = "--help" ] -then - usage - exit 0 -fi +while [ $# -ne 1 ]; do +case "$1" in + -d|--debug) + # Debug Mode + OUTPUT="/tmp/" + GET="echo ${GET}" + UNPACK="echo ${UNPACK}" + shift + ;; + -v|--verbose) + DIRECT_TO_NULL="$(tty)" + shift + ;; + -h|--help) + usage + exit 0 + ;; + -*) + echo "Unknown option: \`$1'" + usage >&2 + exit 1 + ;; + *) + break + ;; +esac +done if [ $# -ne 1 ] then @@ -52,6 +80,43 @@ then exit 1 fi +## internal functions +getBase() { +echo "Getting ${BASE}/${NUMBER}/${FILE}" +if [ -f "$FILE" ]; then rm -f $FILE; fi # Remove .dsc incase the last run was with debug +if ! wget ${BASE}/${NUMBER}/${FILE} -O ${OUTPUT}${FILE} 2>${DIRECT_TO_NULL} +then + echo "Failed to fetch «.dsc» file, aborting." + exit 1 +fi +} + +getUrl() { +if [ -f "$2" ] +then +##Todo: Check the md5sum in the .dsc to see if we should redownload or not + echo "Skipping already downloaded ${2}" + return 0 +fi + +echo "Getting ${1}${2}" +if ! $GET ${1}${2} 2>$DIRECT_TO_NULL +then + echo "Failed to fetch «${3}»" + exit 1 +fi +} + +unpack() { +if ! $UNPACK +then + echo "Failed to unpack source, aborting." + exit 1 +fi +} + +## begin #!/bin/bash + # Store download URL into a local variable to be able to modify it URL=$1 @@ -77,35 +142,28 @@ then exit 1 fi -BASE="http://launchpadlibrarian.net" #BASE="http://$(echo $URL|cut -d '/' -f 3)" +#BASE="http://$(echo $URL|cut -d '/' -f 3)" #Not needed as we know the base URL +BASE="http://launchpadlibrarian.net" NUMBER="$(echo $URL|cut -d '/' -f 4)" FILE="$(echo $URL|cut -d '/' -f 5)" UNPACK=$(echo $UNPACK | sed s/{dsc-file}/${FILE}/g) -echo "Getting ${BASE}/${NUMBER}/${FILE}" -if ! $GET ${BASE}/${NUMBER}/${FILE} +if [ -f "$FILE" ]; then rm -f $FILE; fi +getBase; +PkgVersion="$(grep -B100 "^Files:" ${OUTPUT}${FILE}|grep "^Version:"|cut -d' ' -f2)" +PkgName="$(grep -B100 "^Files:" ${OUTPUT}${FILE}|grep "^Source:"|cut -d' ' -f2)" + +if $(echo ${PkgVersion} | grep '-' >/dev/null) then - echo "Failed to fetch «.dsc» file, aborting." - exit 1 + getUrl ${BASE}/$((${NUMBER}-1))/ "$(echo $FILE|sed 's,\.dsc,.diff.gz,')" "diff.gz" + getUrl ${BASE}/$((${NUMBER}-2))/ "${PkgName}_$(echo ${PkgVersion}|sed 's,-[0-9]*[a-z]*[0-9]*,.orig.tar.gz,')" "orig.tar.gz" +else + getUrl ${BASE}/$((${NUMBER}-1))/ "${PkgName}_${PkgVersion}.tar.gz" "tar.gz" fi -echo "Getting ${BASE}/$(($NUMBER-1))/$(echo $FILE|sed 's,\.dsc$,.diff.gz,')" -if ! $GET ${BASE}/$(($NUMBER-1))/$(echo $FILE | sed 's,\.dsc$,.diff.gz,') -then - echo "Failed to fetch «.diff.gz» file, aborting." - exit 1 +if [ "x${OUTPUT}" != "x" ] +then rm -f ${OUTPUT}${FILE} fi -echo "Getting ${BASE}/$(($NUMBER-2))/$(echo $FILE|sed 's,\-[0-9]*.*$,.orig.tar.gz,')" -if ! $GET ${BASE}/$(($NUMBER-2))/$(echo $FILE|sed 's,\-[0-9]*.*$,.orig.tar.gz,') -then - echo "Failed to fetch «orig.tar.gz» file, aborting." - exit 1 -fi - -if ! $UNPACK -then - echo "Failed to unpack source, aborting." - exit 1 -fi +unpack;