diff --git a/debian/changelog b/debian/changelog index 11b0330..76471d8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -46,7 +46,11 @@ ubuntu-dev-tools (0.76) UNRELEASED; urgency=low - debian/rules: set DEB_PYTHON_SYSTEM to pysupport. - ubuntu-dev-tools.preinst: remove stale pycentral files on upgrades. - -- Michael Bienia Sat, 29 Aug 2009 11:12:01 +0200 + [ Nathan Handler ] + * Add pull-revu-source and doc/pull-revu-source.1 + * Update debian/copyright to include pull-revu-source + + -- Nathan Handler Sun, 30 Aug 2009 17:24:23 +0000 ubuntu-dev-tools (0.75) karmic; urgency=low diff --git a/debian/copyright b/debian/copyright index e097266..06e3462 100644 --- a/debian/copyright +++ b/debian/copyright @@ -63,8 +63,8 @@ License v2 can be found in `/usr/share/common-licenses/GPL-2'. dch-repeat, get-branches, get-build-deps, manage-credentials, massfile, mk-sbuild-lv, ppaput, pull-debian-debdiff, pull-debian-source, pull-lp-source, -suspicious-source and what-patch are licensed under the GNU General Public -License, version 3: +pull-revu-source, suspicious-source and what-patch are licensed under the GNU +General Public License, version 3: This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/doc/pull-revu-source.1 b/doc/pull-revu-source.1 new file mode 100644 index 0000000..f915fc4 --- /dev/null +++ b/doc/pull-revu-source.1 @@ -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 +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 +. \fBpull\-revu\-source\fR is based on \fBrevupull\fR in +\fBkubuntu\-dev\-tools\fR, written by Harald Sitter . +Both are released under the GNU General Public License, version 3 or later. diff --git a/pull-revu-source b/pull-revu-source new file mode 100755 index 0000000..246a433 --- /dev/null +++ b/pull-revu-source @@ -0,0 +1,61 @@ +#!/usr/bin/perl +# Script Name: pull-revu-source +# Author: Nathan Handler +# Usage: pull-revu-source +# Copyright (C) 2009 Nathan Handler +# Based on revupull in kubuntu-dev-tools, +# written by Harald Sitter +# License: GNU General Public 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 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 GNU/Linux systems, the complete text of the GNU General +# Public License can be found in the /usr/share/common-licenses/GPL-3 file. + +use warnings; +use strict; +use LWP::Simple; +use Getopt::Long; + +die("Please install 'devscripts'\n") if(! grep -x "$_/dget", split(':',$ENV{'PATH'})); + +my $REVU = "revu.ubuntuwire.com"; + +my($package) = lc($ARGV[0]) || usage(); +my($help)=0; +GetOptions('help' => \$help); +usage() if($help); + +my $url = "http://" . $REVU . "/p/" . $package; + +dget(constructURL(getPage($url),'dsc')); + +sub getPage { + my($url) = @_; + my($page)=get($url); + die("Could Not Get $url") unless (defined $page); + return $page; +} + +sub constructURL { + my($page,$extension) = @_; + my($url) = $page =~ m/a href=\"(.*?\.$extension)\"/im; + die("No URL Ending in $extension") unless(defined $url); + return "http://" . $REVU . $url; +} + +sub dget { + my($dsc) = @_; + exec("dget -xu $dsc"); +} + +sub usage { + my($name)=basename($0); + die("USAGE: $name [-h] \n"); +}