Author: adam-guest
Date: 2008-02-14 19:37:43 +0000 (Thu, 14 Feb 2008)
New Revision: 1014

Added:
   trunk/scripts/tagpending.pl
Removed:
   trunk/scripts/tagpending.1
   trunk/scripts/tagpending.sh
Modified:
   trunk/README
   trunk/debian/changelog
   trunk/debian/control
   trunk/scripts/Makefile
Log:
* tagpending: Rewrite in perl using Debbugs.pm
* README, debian/control: Update description of tagpending

Modified: trunk/README
===================================================================
--- trunk/README        2008-02-12 09:33:17 UTC (rev 1013)
+++ trunk/README        2008-02-14 19:37:43 UTC (rev 1014)
@@ -183,7 +183,7 @@
   tags in a repository independent fashion. Used by debcommit to generate
   svn tags.
 
-- tagpending [wget]: shell script which runs from a Debian source tree and
+- tagpending [libsoap-lite-perl]: Runs from a Debian source tree and
   tags bugs that are to be closed in the latest changelog as pending.
 
 - uscan [libcrypt-ssleay-perl, libwww-perl]: Automatically scan for and

Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog      2008-02-12 09:33:17 UTC (rev 1013)
+++ trunk/debian/changelog      2008-02-14 19:37:43 UTC (rev 1014)
@@ -2,6 +2,8 @@
 
   * checkbashisms: Fix a false positive in the $(( test (Closes: #465364)
   * Debbugs.pm: Add status()
+  * tagpending: Rewrite in perl using Debbugs.pm
+  * README, debian/control: Update description of tagpending
 
  -- Adam D. Barratt <[EMAIL PROTECTED]>  Tue, 12 Feb 2008 08:50:01 +0000
 

Modified: trunk/debian/control
===================================================================
--- trunk/debian/control        2008-02-12 09:33:17 UTC (rev 1013)
+++ trunk/debian/control        2008-02-14 19:37:43 UTC (rev 1014)
@@ -100,9 +100,8 @@
   - rmadison: remotely query the Debian archive database about packages
     [wget | curl, liburi-perl]
   - svnpath: print svn repository paths [subversion]
-  - tagpending: shell script which runs from a Debian source tree and tags
-    bugs that are to be closed in the latest changelog as pending.
-    [wget, liburi-perl]
+  - tagpending: runs from a Debian source tree and tags bugs that are to 
+    be closed in the latest changelog as pending. [libsoap-lite-perl]
   - uscan: scan upstream sites for new releases of packages
     [libcrypt-ssleay-perl, libwww-perl]
   - uupdate: integrate upstream changes into a source package [patch]

Modified: trunk/scripts/Makefile
===================================================================
--- trunk/scripts/Makefile      2008-02-12 09:33:17 UTC (rev 1013)
+++ trunk/scripts/Makefile      2008-02-14 19:37:43 UTC (rev 1014)
@@ -15,7 +15,7 @@
 
 GEN_MAN1S = bts.1 chdist.1 debcheckout.1 debcommit.1 deb-reversion.1 \
            desktop2menu.1 dget.1 licensecheck.1 mass-bug.1 rmadison.1 \
-           svnpath.1 build-rdeps.1
+           svnpath.1 tagpending.1 build-rdeps.1
 
 BINDIR = /usr/bin
 LIBDIR = /usr/lib/devscripts

Deleted: trunk/scripts/tagpending.1
===================================================================
--- trunk/scripts/tagpending.1  2008-02-12 09:33:17 UTC (rev 1013)
+++ trunk/scripts/tagpending.1  2008-02-14 19:37:43 UTC (rev 1014)
@@ -1,50 +0,0 @@
-.TH TAGPENDING 1 "Debian Utilities" "DEBIAN" \" -*- nroff -*-
-.SH NAME
-tagpending \- Tag all bugs not marked pending as such
-.SH SYNOPSIS
-\fBtagpending\fR [\fIoptions\fR] 
-.SH DESCRIPTION
-\fBtagpending\fR looks for and parses debian/changelog and debian/control
-to find out what bugs the impending release would close, and sends mail using
-\fBmail(1)\fR to [EMAIL PROTECTED] tagging the bugs as pending. It
-queries the BTS to look up the bugs marked as pending for that package and
-excludes those from being re-tagged in the email.
-.SH OPTIONS
-.TP
-.BR \-n ", " \-\-noact
-Do not actually send an email, but print it to stdout.
-.TP
-.BR \-s ", " \-\-silent
-Don't print actions taken.
-.TP
-.BR \-v ", " \-\-verbose
-List every bug checked.
-.TP
-.BR \-f ", " \-\-force
-Do not query the BTS for already tagged or not owned bugs, that is, force all
-bugs to be tagged, even if they are already tagged or (worse still) belong to
-another source package.
-.TP
-.BR \-c ", " \-\-confirm
-For each bug tagged as pending, also tag it as confirmed.
-.TP
-.BR \-t ", " \-\-to " " \fIversion
-Use changelog information from all versions strictly later than
-\fIversion\fR (mimics dpkg-parsechangelog's -v option.)
-.TP
-.BR \-w ", " \-\-wnpp
-For each potentially not owned bug, check whether it is filed against wnpp
-and, if so, tag it. This allows e.g. ITA or ITPs to be tagged.
-.TP
-.BR \-h ", " \-\-help
-Show a brief usage message.
-.TP
-.BR \-V ", " \-\-version
-Show version and copyright information.
-.SH "SEE ALSO"
-.BR mailx (1)
-and
-.BR dpkg-parsechangelog (1)
-.SH AUTHOR
-Joshua Kwan <[EMAIL PROTECTED]>.  This manpage and the associated
-programme are licensed under the terms of the GPL, version 2.

Added: trunk/scripts/tagpending.pl
===================================================================
--- trunk/scripts/tagpending.pl                         (rev 0)
+++ trunk/scripts/tagpending.pl 2008-02-14 19:37:43 UTC (rev 1014)
@@ -0,0 +1,336 @@
+#! /usr/bin/perl -w
+#
+# tagpending: Parse a Debian changelog for a list of bugs closed
+# and tag any that are not already pending as such.
+#
+# The original shell version of tagpending was written by Joshua Kwan
+# and is Copyright 2004 Joshua Kwan <[EMAIL PROTECTED]>
+# with changes copyright 2004-07 by their respective authors.
+#
+# This version is
+#   Copyright 2008 Adam D. Barratt
+#
+# 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.
+
+use strict;
+use warnings;
+use Getopt::Long;
+use File::Basename;
+use lib '/usr/share/devscripts';
+use Devscripts::Debbugs;
+
+sub bugs_info;
+
+my $progname = basename($0);
+
+my ($opt_help, $opt_version, $opt_verbose, $opt_noact, $opt_silent);
+my ($opt_online, $opt_confirm, $opt_to, $opt_wnpp);
+
+# Default options
+$opt_silent = 0;
+$opt_verbose = 0;
+$opt_online = 1;
+$opt_noact = 0;
+$opt_confirm = 0;
+$opt_wnpp = 0;
+$opt_to = '';
+
+GetOptions("help|h" => \$opt_help,
+          "version" => \$opt_version,
+          "verbose|v!" => \$opt_verbose,
+          "noact|n" => \$opt_noact,
+          "silent|s" => \$opt_silent,
+          "force|f" => sub { $opt_online = 0; },
+          "confirm|c" => \$opt_confirm,
+          "to|t=s" => \$opt_to,
+          "wnpp|w" => \$opt_wnpp,
+           )
+    or die "Usage: $progname [options]\nRun $progname --help for more 
details\n";
+
+$opt_to = "-v$opt_to" if $opt_to;
+
+if ($opt_help) {
+    help(); exit 0;
+} elsif ($opt_version) {
+    version(); exit 0;
+}
+
+if ($opt_verbose and $opt_silent) {
+    die "$0 error: --silent and --verbose contradict each other\n";
+}
+
+=head1 SYNOPSIS
+
+B<tagpending> [options]
+
+=head1 DESCRIPTION
+
+B<tagpending> parses debian/changelog and debian/control to determine 
+which bugs would be closed if the package were uploaded. Each bug is 
+then marked as pending, using B<bts>(1) if it is not already so.
+
+=head1 OPTIONS
+
+=over 4
+
+=item -n, --noact
+
+Check whether any bugs require tagging, but do not actually do so.
+
+=item -s, --silent
+
+Do not output any messages.
+
+=item -v, --verbose
+
+List each bug checked and tagged in turn.
+
+=item -f, --force
+
+Do not query the BTS, but (re)tag all bugs closed in the changelog.
+
+=item -c, --confirm
+
+Tag bugs as both confirmed and pending.
+
+=item -t, --to <version>
+
+Parse changelogs for all versions strictly greater than <version>.
+
+Equivalent to dpkg-parsechangelog's -v option.
+
+=item -w, --wnpp
+
+For each bug that does not appear to belong to the current package, 
+check whether it is filed against wnpp. If so, tag it. This allows e.g.
+ITAs and ITPs closed in an upload to be tagged.
+
+=back
+
+=head1 SEE ALSO
+
+B<bts>(1) and B<dpkg-parsechangelog>(1)
+
+=cut
+
+my $source;
+my @closes;
+
+foreach my $file ("debian/control", "debian/changelog") {
+    if (! -f $file) {
+       die "$progname error: $file does not exist!\n";
+    }
+}
+
+open PARSED, "dpkg-parsechangelog $opt_to |";
+
+while (<PARSED>) {
+    if (/^Source: (.*)/) {
+       $source = $1;
+    } elsif (/^Closes: (.*)$/) {
+       @closes = split ' ', $1;
+    }
+}
+
+close PARSED;
+
+my $pending;
+my $open;
+
+if ($opt_online) {
+    $pending = Devscripts::Debbugs::select( "src:$source", "status:open", 
"status:forwarded", "tag:pending" );
+    $open = Devscripts::Debbugs::select( "src:$source", "status:open", 
"status:forwarded" );
+}
+
+my %bugs = map { $_ => 1} @closes;
+if ($pending) {
+    %bugs = ( %bugs, map { $_ => 1} @{$pending} );
+}
+
+my $bug;
+my $message;
+my @to_tag = ();
+my @wnpp_to_tag = ();
+
+foreach $bug (keys %bugs) {
+    print "Checking bug #$bug: " if $opt_verbose;
+
+    if (grep /^$bug$/, @{$pending}) {
+       print "already marked pending\n" if $opt_verbose;
+    } else {
+       if (grep /^$bug$/, @{$open} or not $opt_online) {
+           print "needs tag\n" if $opt_verbose;
+           push (@to_tag, $bug);
+       } else {
+           if ($opt_wnpp) {
+               my $status = Devscripts::Debbugs::status($bug);
+               if ($status->{$bug}->{package} eq 'wnpp') {
+                   if (!$status->{$bug}->{tags} =~ /pending/) {
+                       print "wnpp needs tag\n" if $opt_verbose;
+                       push (@wnpp_to_tag, $bug);
+                   } else {
+                       print "wnpp already marked pending\n" if $opt_verbose;
+                   }
+               } else {
+                   $message = "is closed or does not belong to this package 
(check bug # or force)\n";
+
+                   print "Warning: #$bug " if not $opt_verbose;
+                   print "$message";
+               }
+           } else {
+               $message = "is closed or does not belong to this package (check 
bug # or force)\n";
+
+               print "Warning: #$bug " if not $opt_verbose;
+               print "$message";
+           }
+       }
+    }
+}
+
+if ([EMAIL PROTECTED] and [EMAIL PROTECTED]) {
+    print "$progname info: Nothing to do, exiting.\n"
+       if $opt_verbose or !$opt_silent;
+    exit 0;
+}
+
+my @sourcepkgs = ();
+if (@to_tag) {
+    open CONTROL, "debian/control";
+
+    while (<CONTROL>) {
+       if (/^(Package|Source): (.*)/) {
+           push (@sourcepkgs, $2);
+       }
+    }
+
+    close CONTROL;
+}
+
+my %packages = map { $_ => 1 } @sourcepkgs;
+my @bts_args = ("bts");
+
+if ($opt_noact) {
+    bugs_info;
+    bugs_info "wnpp" if $opt_wnpp;
+} else {
+    if (!$opt_silent) {
+       bugs_info;
+       bugs_info "wnpp" if $opt_wnpp;
+    }
+
+    if (@to_tag) {
+       push(@bts_args, "package", join " ", keys(%packages));
+
+       foreach my $bug (@to_tag) {
+           push(@bts_args, ".", "tag", $bug, "+ pending");
+           push(@bts_args, "confirmed") if $opt_confirm;
+       }
+    }
+    if (@wnpp_to_tag) {
+       push(@bts_args, ".") if scalar @bts_args > 1;
+       push(@bts_args, "package wnpp");
+       foreach my $wnpp_bug (@wnpp_to_tag) {
+           push(@bts_args, ".", "tag", $wnpp_bug, "+ pending");
+       }
+    }
+
+    system @bts_args;
+}
+
+sub bugs_info {
+    my $type = shift || '';
+    my @bugs;
+
+    if ($type eq "wnpp") {
+       if (@wnpp_to_tag) {
+           @bugs = @wnpp_to_tag;
+       } else {
+           return;
+       }
+    } else {
+       @bugs = @to_tag;
+    }
+
+    print "$progname info: ";
+
+    if ($opt_noact) {
+       print "would tag";
+    } else {
+       print "tagging";
+    }
+
+    print " these";
+    print " wnpp" if $type eq "wnpp";
+    print " bugs pending";
+    print " and confirmed" if $opt_confirm and $type ne "wnpp";
+    print ":";
+
+    foreach my $bug (@bugs) {
+       print " $bug";
+    }
+
+    print "\n";
+}
+
+sub help {
+   print <<"EOF";
+Usage: $progname [options]
+
+Valid options are:
+   --help, -h           Display this message
+   --version            Display version and copyright info
+    -n, --noact         Only simulate what would happen during this run;
+                       do not tag any bugs.
+    -s, --silent        Silent mode
+    -v, --verbose       Verbose mode: List bugs checked/tagged.
+                        NOTE: Verbose and silent mode can't be used together.
+    -f, --force         Do not query the BTS; (re-)tag all bug reports.
+    -c, --confirm       Tag bugs as confirmed as well as pending
+    -t, --to <version>  Use changelog information from all versions strictly
+                       later than <version> (mimics dpkg-parsechangelog's
+                       -v option.)
+    -w, --wnpp          For each potentially not owned bug, check whether
+                       it is filed against wnpp and, if so, tag it. This
+                       allows e.g. ITA or ITPs to be tagged.
+
+EOF
+}
+
+sub version {
+    print <<"EOF";
+This is $progname, from the Debian devscripts package, version ###VERSION###
+Copyright 2008 by Adam D. Barratt <[EMAIL PROTECTED]>; based
+on the shell script by Joshua Kwan <[EMAIL PROTECTED]>.
+
+This program comes with ABSOLUTELY NO WARRANTY.
+You are free to redistribute this code under the terms of the
+GNU General Public License, version 2, or (at your option) any
+later version.
+EOF
+}
+
+=head1 COPYRIGHT
+
+This program is Copyright 2008 by Adam D. Barratt 
+<[EMAIL PROTECTED]>.
+
+The shell script tagpending, on which this program is based, is 
+Copyright 2004 by Joshua Kwan <[EMAIL PROTECTED]> with changes
+copyright 2004-7 by their respective authors.
+
+This program is licensed under the terms of the GPL, either version 2 of 
+the License, or (at your option) any later version.
+
+=cut

Deleted: trunk/scripts/tagpending.sh
===================================================================
--- trunk/scripts/tagpending.sh 2008-02-12 09:33:17 UTC (rev 1013)
+++ trunk/scripts/tagpending.sh 2008-02-14 19:37:43 UTC (rev 1014)
@@ -1,260 +0,0 @@
-#! /bin/bash -e
-# tagpending by Joshua Kwan
-# Purpose: tag all bugs pending which are not so already
-# 
-# Copyright 2004 Joshua Kwan <[EMAIL PROTECTED]>
-# Changes copyright 2004-07 by their respective authors.
-#
-# 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-usage() {
-  cat <<EOF
-Usage: tagpending [options]
-  Options:
-    -n, --noact         Only simulate what would happen during this run, and
-                        print the message that would get sent to the BTS.
-    -s, --silent        Silent mode
-    -v, --verbose       Verbose mode: List bugs checked/tagged. 
-                        NOTE: Verbose and silent mode can't be used together.
-    -f, --force         Do not query the BTS, (re-)tag all bug reports (force).
-    -c, --confirm       Tag bugs as confirmed as well as pending
-    -t, --to <version> Use changelog information from all versions strictly
-                        later than <version> (mimics dpkg-parsechangelog's -v 
option.)
-    -w, --wnpp         For each potentially not owned bug, check whether it is 
filed
-                       against wnpp and, if so, tag it. This allows e.g. ITA 
or ITPs
-                       to be tagged.
-    -h, --help          This usage screen.
-    -V, --version       Display the version and copyright information
-
-  This script will read debian/changelog and tag all open bugs not already
-  tagged pending as such.  Requires wget to check against wnpp.
-EOF
-}
-
-version() {
-  cat <<EOF
-This is tagpending, from the Debian devscripts package, version ###VERSION###
-This code is (C) 2004 by Joshua Kwan, all rights reserved.
-This program comes with ABSOLUTELY NO WARRANTY.
-You are free to redistribute this code under the terms of the
-GNU General Public License, version 2 or later.
-EOF
-}
-
-# Defaults
-ONLINE=1
-DRY=0
-SILENT=0
-VERBOSE=0
-CONFIRM=0
-WNPP=0
-
-BTS_BASE_URL="http://bugs.debian.org/cgi-bin/pkgreport.cgi";
-TAGS="<h3>Tags:"
-WNPP_MATCH="Package: <a 
[^>]*href=\"\\(\\/cgi-bin\\/\\)\\?pkgreport.cgi?pkg=wnpp\">wnpp<\/a>;"
-
-while [ -n "$1" ]; do
-  case "$1" in
-    -n|--noact) DRY=1; shift ;;
-    -s|--silent) SILENT=1; shift ;;
-    -f|--force) ONLINE=0; shift ;;
-    -V|--version) version; exit 0 ;;
-    -v|--verbose) VERBOSE=1; shift ;;
-    -c|--confirm) CONFIRM=1; shift ;;
-    -t|--to) shift; TO="-v$1"; shift;;
-    -w|--wnpp) WNPP=1; shift ;;
-    --help | -h) usage; exit 0 ;;
-    *)
-      echo "tagpending error: unrecognized option $1" >&2
-      echo
-      usage
-      exit 1
-    ;;
-  esac
-done
-
-if [ "$VERBOSE" = "1" ] && [ "$SILENT" = "1" ]; then
-    echo "tagpending error: --silent and --verbose contradict each other" >&2
-    echo
-    usage
-    exit 1
-fi
-
-if [ "$ONLINE" = "1" ]  && [ "$WNPP" = "1" ] &&  ! command -v wget >/dev/null 
2>&1; then
-  echo "tagpending error: Sorry, either use the -f option or install the wget 
package." >&2
-  exit 1
-fi
-
-for file in debian/changelog debian/control; do
-  if [ ! -f "$file" ]; then
-    echo "tagpending error: $file does not exist!" >&2
-    exit 1
-  fi
-done
-
-parsed=$(dpkg-parsechangelog $TO)
-
-srcpkg=$(echo "$parsed" | awk '/^Source: / { print $2 }' | perl -ne 'use 
URI::Escape; chomp; print uri_escape($_);')
-
-changelog_closes=$(echo "$parsed"| awk -F: '/^Closes: / { print $2 }' | \
-  xargs -n1 echo)
-
-if [ "$ONLINE" = "1" ]; then
-  bts_pending="$(bts select src:$srcpkg status:open status:forwarded 
tag:pending)"
-  bts_open="$(bts select src:$srcpkg status:open status:forwarded)"
-fi
-
-to_be_checked=$(printf '%s\n%s\n' "$changelog_closes" "$bts_pending" | sort -g 
| uniq)
-
-# Now remove the ones tagged in the BTS but no longer in the changelog.
-to_be_tagged=""
-wnpp_to_be_tagged=""
-for bug in $to_be_checked; do
-  if [ "$VERBOSE" = "1" ]; then
-       echo -n "Checking bug #$bug: "
-  fi
-  if ! echo "$bts_pending" | grep -q "^${bug}$"; then
-    if echo "$bts_open" | grep -q "^${bug}$" || [ "$ONLINE" = "0" ] ; then
-     if [ "$VERBOSE" = "1" ]; then
-         echo "needs tag"
-      fi
-      to_be_tagged="$to_be_tagged $bug"
-    else
-      if [ "$WNPP" = "1" ]; then
-        wnpp_tags=$( (wget -q -O- 
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=$bug; \
-          echo $TAGS) | sed -ne "/$WNPP_MATCH/,/^$TAGS/ {/^$TAGS/p}" )
-
-        if [ -n "$wnpp_tags" ]; then
-          if ! echo "$wnpp_tags" | grep -q "pending"; then
-            if [ "$VERBOSE" = "1" ]; then
-              echo "wnpp needs tag"
-            fi
-            wnpp_to_be_tagged="$wnpp_to_be_tagged $bug"
-          else
-            if [ "$VERBOSE" = "1" ]; then
-              echo "wnpp already marked pending"
-            fi
-          fi
-        else
-          msg="is closed or does not belong to this package (check bug no. or 
force)"
-          if [ "$VERBOSE" = "1" ]; then
-            echo "$msg"
-          else
-            echo "Warning: #$bug $msg."
-          fi
-        fi
-      else
-        msg="is closed or does not belong to this package (check bug no. or 
force)"
-        if [ "$VERBOSE" = "1" ]; then
-          echo "$msg"
-        else
-         echo "Warning: #$bug $msg."
-        fi
-      fi
-    fi
-    else
-      if [ "$VERBOSE" = "1" ]; then
-       echo "already marked pending"
-    fi
-  fi
-done
-
-if [ -z "$to_be_tagged" ] && [ -z "$wnpp_to_be_tagged" ]; then
-  if [ "$SILENT" = 0 -o "$DRY" = 1 ]; then
-    echo "tagpending info: Nothing to do, exiting."
-  fi
-  exit 0
-fi
-
-# Could use dh_listpackages, but no guarantee that it's installed.
-src_packages=$(awk '/Package: / { print $2 } /Source: / { print $2 }' 
debian/control | sort | uniq)
-
-bugs_info() {
-  if [ "$1" = "wnpp" ]; then
-    bugs=$wnpp_to_be_tagged
-    if [ -z "$bugs" ]; then
-      return
-    fi
-  else
-    bugs=$to_be_tagged
-  fi
-
-  msg="tagpending info: "
-
-  if [ "$DRY" = 1 ]; then
-    msg="$msg would tag"
-  else
-    msg="$msg tagging"
-  fi
-
-  msg="$msg these"
-
-  if [ "$1" = "wnpp" ]; then
-    msg="$msg wnpp"
-  fi
-
-  msg="$msg bugs pending"
-
-  if [ "$CONFIRM" = 1 ] && [ "$1" != "wnpp" ]; then
-    msg="$msg and confirmed"
-  fi
-  msg="$msg:"
-
-  for bug in $bugs; do
-    msg="$msg $bug"
-  done
-  echo $msg | fold -w 78 -s
-}
-
-if [ "$DRY" = 1 ]; then
-  bugs_info
-  bugs_info wnpp
-
-  exit 0
-else
-  if [ "$SILENT" = 0 ]; then
-    bugs_info
-    if [ "$WNPP" = 1 ]; then    
-      bugs_info wnpp
-    fi
-  fi
-
-  if [ -n "$to_be_tagged" ]; then
-    BTS_ARGS="package $src_packages"
-
-    for bug in $to_be_tagged; do
-      BTS_ARGS="$BTS_ARGS . tag $bug + pending"
-
-      if [ "$CONFIRM" = 1 ]; then
-        BTS_ARGS="$BTS_ARGS confirmed"
-      fi
-    done
-  fi
-
-  if [ -n "$wnpp_to_be_tagged" ]; then
-    if [ -n "$BTS_ARGS" ]; then
-      BTS_ARGS="$BTS_ARGS ."
-    fi
-    BTS_ARGS="$BTS_ARGS package wnpp"
-
-    for bug in $wnpp_to_be_tagged; do
-      BTS_ARGS="$BTS_ARGS . tag $bug + pending"
-    done
-  fi
-
-  eval bts ${BTS_ARGS}
-fi
-
-exit 0



-- 
To unsubscribe, send mail to [EMAIL PROTECTED]

Reply via email to