mirror of
https://git.launchpad.net/ubuntu-dev-tools
synced 2025-05-09 16:01:28 +00:00
* Add pull-debian-source script
- debian/control: Add perl-modules and libwww-perl as Depends - debian/copyright: + Add myself to the Upstream Authors and Copyright sections + Add pull-debian-source to the License section - Add doc/pull-debian-source.1
This commit is contained in:
parent
f21ff09fe2
commit
39bf024a2f
11
debian/changelog
vendored
11
debian/changelog
vendored
@ -1,3 +1,14 @@
|
|||||||
|
ubuntu-dev-tools (0.50) UNRELEASED; urgency=low
|
||||||
|
|
||||||
|
* Add pull-debian-source script
|
||||||
|
- debian/control: Add perl-modules and libwww-perl as Depends
|
||||||
|
- debian/copyright:
|
||||||
|
+ Add myself to the Upstream Authors and Copyright sections
|
||||||
|
+ Add pull-debian-source to the License section
|
||||||
|
- Add doc/pull-debian-source.1
|
||||||
|
|
||||||
|
-- Nathan Handler <nhandler@ubuntu.com> Sat, 20 Dec 2008 16:32:27 -0600
|
||||||
|
|
||||||
ubuntu-dev-tools (0.49) jaunty; urgency=low
|
ubuntu-dev-tools (0.49) jaunty; urgency=low
|
||||||
|
|
||||||
[ Sarah Hobbs ]
|
[ Sarah Hobbs ]
|
||||||
|
2
debian/control
vendored
2
debian/control
vendored
@ -15,7 +15,7 @@ Architecture: all
|
|||||||
Section: devel
|
Section: devel
|
||||||
Depends: ${python:Depends}, binutils, devscripts, sudo, python-debian,
|
Depends: ${python:Depends}, binutils, devscripts, sudo, python-debian,
|
||||||
python-launchpad-bugs (>= 0.2.25), dctrl-tools, lsb-release, diffstat,
|
python-launchpad-bugs (>= 0.2.25), dctrl-tools, lsb-release, diffstat,
|
||||||
dpkg-dev, ${misc:Depends}
|
dpkg-dev, ${misc:Depends}, perl-modules, libwww-perl
|
||||||
Recommends: bzr, pbuilder | sbuild, reportbug (>= 3.39ubuntu1),
|
Recommends: bzr, pbuilder | sbuild, reportbug (>= 3.39ubuntu1),
|
||||||
ca-certificates, genisoimage
|
ca-certificates, genisoimage
|
||||||
Conflicts: devscripts (<< 2.10.7ubuntu5)
|
Conflicts: devscripts (<< 2.10.7ubuntu5)
|
||||||
|
6
debian/copyright
vendored
6
debian/copyright
vendored
@ -21,6 +21,7 @@ Upstream Authors:
|
|||||||
Soren Hansen <soren@ubuntu.com>
|
Soren Hansen <soren@ubuntu.com>
|
||||||
Steve Kowalik <stevenk@ubuntu.com>
|
Steve Kowalik <stevenk@ubuntu.com>
|
||||||
Terence Simpson <stdin@stdin.me.uk>
|
Terence Simpson <stdin@stdin.me.uk>
|
||||||
|
Nathan Handler <nhandler@ubuntu.com>
|
||||||
|
|
||||||
Copyright:
|
Copyright:
|
||||||
|
|
||||||
@ -37,6 +38,7 @@ Copyright:
|
|||||||
(C) 2007, Terence Simpson <stdin@stdin.me.uk>
|
(C) 2007, Terence Simpson <stdin@stdin.me.uk>
|
||||||
(C) 2008, Iain Lane <iain@orangesquash.org.uk>
|
(C) 2008, Iain Lane <iain@orangesquash.org.uk>
|
||||||
(C) 2008, Jonathan Patrick Davies <jpds@ubuntu.com>
|
(C) 2008, Jonathan Patrick Davies <jpds@ubuntu.com>
|
||||||
|
(C) 2008, Nathan handler <nhandler@ubuntu.com>
|
||||||
|
|
||||||
Licenses:
|
Licenses:
|
||||||
|
|
||||||
@ -57,7 +59,7 @@ On Debian and Ubuntu systems, the complete text of the GNU General Public
|
|||||||
License v2 can be found in `/usr/share/common-licenses/GPL-2'.
|
License v2 can be found in `/usr/share/common-licenses/GPL-2'.
|
||||||
|
|
||||||
dch-repeat, get-branches, get-build-deps, massfile, mk-sbuild-lv, ppaput,
|
dch-repeat, get-branches, get-build-deps, massfile, mk-sbuild-lv, ppaput,
|
||||||
pull-debian-debdiff, pull-lp-source, suspicious-source and what-patch are
|
pull-debian-debdiff, pull-debian-source, pull-lp-source, suspicious-source and what-patch are
|
||||||
licensed under the GNU General Public License, version 3:
|
licensed under the GNU General Public License, version 3:
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
@ -74,5 +76,5 @@ License v3 can be found in `/usr/share/common-licenses/GPL-3'.
|
|||||||
|
|
||||||
The following of the scripts can be used, at your option, regarding any
|
The following of the scripts can be used, at your option, regarding any
|
||||||
later version of the previously specified license: 404main, dch-repeat, dgetlp,
|
later version of the previously specified license: 404main, dch-repeat, dgetlp,
|
||||||
get-build-deps, mk-sbuild-lv, pull-debian-debdiff, pull-lp-source,
|
get-build-deps, mk-sbuild-lv, pull-debian-debdiff, pull-debian-source, pull-lp-source,
|
||||||
reverse-build-depends, suspicious-source, what-patch.
|
reverse-build-depends, suspicious-source, what-patch.
|
||||||
|
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 'unstable'.
|
||||||
|
|
||||||
|
.SH AUTHOR
|
||||||
|
.PP
|
||||||
|
\fBpull\-debian\-source\fR and this manual page were written by Nathan Handler
|
||||||
|
<nhandler@ubuntu.com>. The manual page was based on Iain Lane's manual page for
|
||||||
|
pull-lp-source.
|
||||||
|
Both are released under the GNU General Public License, version 3 or later.
|
102
pull-debian-source
Executable file
102
pull-debian-source
Executable file
@ -0,0 +1,102 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
# Script Name: pull-debian-source
|
||||||
|
# Author: Nathan Handler <nhandler@ubuntu.com>
|
||||||
|
# Usage: pull-debian-source <source package> [release]
|
||||||
|
# Copyright (C) 2008 Nathan Handler <nhandler@ubuntu.com>
|
||||||
|
# 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 file.
|
||||||
|
|
||||||
|
use warnings;
|
||||||
|
use strict;
|
||||||
|
use LWP::Simple;
|
||||||
|
use File::Basename;
|
||||||
|
|
||||||
|
my($package)=$ARGV[0] || &usage();
|
||||||
|
&usage() if(($package=~m/\-\-help/i) || ($package=~m/\-h/i));
|
||||||
|
my($release)=$ARGV[1] || 'unstable';
|
||||||
|
&checkRelease($release);
|
||||||
|
my($dsc)=&getDSC(&getMadison(&getURL($package,$release)));
|
||||||
|
print "$dsc\n";
|
||||||
|
exec("dget $dsc");
|
||||||
|
sub checkRelease {
|
||||||
|
my($release)=shift || die("No Release Passed To checkRelease!\n");
|
||||||
|
chomp $release;
|
||||||
|
my %releases=(
|
||||||
|
'etch' => 1,
|
||||||
|
'stable' => 1,
|
||||||
|
'lenny' => 1,
|
||||||
|
'testing' => 1,
|
||||||
|
'sid' => 1,
|
||||||
|
'unstable' => 1,
|
||||||
|
'experimental' => 1
|
||||||
|
);
|
||||||
|
&invalidRelease(\%releases) unless $releases{$release}
|
||||||
|
}
|
||||||
|
sub getURL{
|
||||||
|
my($package)=shift || die("No Package Passed To getURL: $!\n");
|
||||||
|
my($release)=shift || die("No Release Passed to getURL: $!\n");
|
||||||
|
chomp $package;
|
||||||
|
chomp $release;
|
||||||
|
$package=lc($package);
|
||||||
|
$package=~s/\+/%2b/g;
|
||||||
|
$release=lc($release);
|
||||||
|
my($baseURL)='http://qa.debian.org/madison.php?text=on';
|
||||||
|
my($url)=$baseURL . '&package=' . $package . '&s=' . $release;
|
||||||
|
return $url;
|
||||||
|
}
|
||||||
|
sub getMadison {
|
||||||
|
my($url)=shift || die("No URL Passed to getMadison: $!\n");
|
||||||
|
chomp $url;
|
||||||
|
my($madison)=get($url);
|
||||||
|
die("Could Not Get $url") unless (defined $madison && $madison!~m/^\s*$/);
|
||||||
|
return $madison;
|
||||||
|
}
|
||||||
|
sub getDSC {
|
||||||
|
my($madison)=shift || die("No madison Passed to getDSC: $!\n");
|
||||||
|
if($madison=~m/^[WE]:/i) {
|
||||||
|
die("$madison");
|
||||||
|
}
|
||||||
|
my($baseURL)='http://ftp.debian.org/debian/pool/main/';
|
||||||
|
my(@madison)=split(/\n/,$madison);
|
||||||
|
foreach my $line (@madison) {
|
||||||
|
my($package,$version,$release,$archs)=split(/\|/,$line,4);
|
||||||
|
$package=~s/\s*//g;
|
||||||
|
$version=~s/\s*//g;
|
||||||
|
$release=~s/\s*//g;
|
||||||
|
$archs=~s/\s*//g;
|
||||||
|
if($archs=~m/source/) {
|
||||||
|
print "Package: $package\nVersion: $version\nRelease: $release\nArchitectures: $archs\n";
|
||||||
|
my($firstLetter)=substr($package,0,1);
|
||||||
|
my($url)=$baseURL . $firstLetter . '/' . $package . '/' . $package . '_' . $version . '.dsc';
|
||||||
|
return $url;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
die("Unable To Find Source Package On Madison\n");
|
||||||
|
}
|
||||||
|
sub usage {
|
||||||
|
my($name)=basename($0);
|
||||||
|
die("USAGE: $name [-h] <source package> [target release]\n");
|
||||||
|
}
|
||||||
|
sub invalidRelease {
|
||||||
|
my($releases)=shift || die("Invalid Release!");
|
||||||
|
my(%releases)=%$releases;
|
||||||
|
my($validReleases);
|
||||||
|
while ( my ($key, $value) = each(%releases) ) {
|
||||||
|
if($value) {
|
||||||
|
$validReleases .= $key . ", ";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$validReleases=~s/,\s*$//;
|
||||||
|
die("Invalid Release!\nValid Releases: $validReleases\n");
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user