Package: equivs
Version: 2.0.8
Severity: wishlist
I would like to be able to use `equivs-build` to generate the source
packages needed to upload to my Ubuntu PPA using the `dput` command.
I have attached a patch that modifies the `equivs-build` script to add a
new --source|-s parameter that mirrors the existing --full|-f parameter
except that it passes the -S parameter to dpkg-buildpackage, which then
generates the appropriate source output for PPAs.
I have also done my best to update the manpage and script documentation
to cover the new parameter, but I may be using incorrect terminology as
much of it is a modified copy of the documentation for --full.
If there are any changes you would like to see in how the feature is
handled, I will be glad to modify it as needed.
Cheers
-- System Information:
Debian Release: squeeze/sid
APT prefers lucid-updates
APT policy: (500, 'lucid-updates'), (500, 'lucid-security'), (500, 'lucid')
Architecture: i386 (i686)
Kernel: Linux 2.6.32.16-linode28 (SMP w/4 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages equivs depends on:
ii debhelper 7.4.15ubuntu1 helper programs for debian/rules
ii dpkg-dev 1.15.5.6ubuntu4.3 Debian package development tools
ii fakeroot 1.14.4-1ubuntu1 Gives a fake root environment
ii make 3.81-7ubuntu1 An utility for Directing compilati
ii perl 5.10.1-8ubuntu2 Larry Wall's Practical Extraction
equivs recommends no packages.
equivs suggests no packages.
-- no debconf information
diff -urN --exclude=CVS --exclude=.svn --exclude='.git*' --exclude='*.swp' equivs-2.0.8/debian/equivs-build.pod equivs-2.0.8-jreese/debian/equivs-build.pod
--- equivs-2.0.8/debian/equivs-build.pod 2010-01-19 22:40:29.000000000 -0500
+++ equivs-2.0.8-jreese/debian/equivs-build.pod 2010-11-17 15:54:27.000000000 -0500
@@ -4,7 +4,7 @@
=head1 SYNOPSIS
-B<equivs-build [--full|-f] [--arch=foo|-a=foo] controlfile>
+B<equivs-build [--full|-f] [--source|-s] [--arch=foo|-a=foo] controlfile>
=head1 DESCRIPTION
@@ -101,6 +101,16 @@
the last entry of a supplied changelog, the Maintainer: field in the
equivs control file, or the local username.
+=item --source | -s
+
+Do a source build. B<debuild> will be called, that is, a
+source package will be built and signed, suitable for upload
+to the Ubuntu PPA servers.
+
+The ID used to signed is taken from, in that order, the user from
+the last entry of a supplied changelog, the Maintainer: field in the
+equivs control file, or the local username.
+
=item --arch | -a
Build package for the specified architecture. Used
diff -urN --exclude=CVS --exclude=.svn --exclude='.git*' --exclude='*.swp' equivs-2.0.8/usr/bin/equivs-build equivs-2.0.8-jreese/usr/bin/equivs-build
--- equivs-2.0.8/usr/bin/equivs-build 2010-01-19 23:24:03.000000000 -0500
+++ equivs-2.0.8-jreese/usr/bin/equivs-build 2010-11-17 15:56:31.000000000 -0500
@@ -20,19 +20,20 @@
sub usage {
print STDERR <<EOU;
-Usage: equivs-build [--full|-f] [--arch=foo|-a=foo] controlfile
+Usage: equivs-build [--full|-f] [--source|-s] [--arch=foo|-a=foo] controlfile
controlfile is the name of an equivs controlfile.
You can use "equivs-control filename" to create one.
--full Full build including signing, etc., suitable for upload to Debian
+--source Source build including signing, etc., suitable for upload to a PPA
--arch Build package for a different architecture.
Used e.g. for building Hurd packages under Linux.
EOU
exit 1;
}
-my ($full_package, $arch);
-GetOptions(full => \$full_package, 'arch=s' => \$arch) or usage();
+my ($full_package, $source_only, $arch);
+GetOptions(full => \$full_package, source => \$source_only, 'arch=s' => \$arch) or usage();
my $debug = 0;
@@ -168,6 +169,8 @@
if ($full_package) {
push @build_cmd, qw(dpkg-buildpackage -rfakeroot);
+} elsif ($source_only) {
+ push @build_cmd, qw(dpkg-buildpackage -S -rfakeroot);
} else {
push @build_cmd, qw(fakeroot debian/rules binary);
}