Author: schoenfeld
Date: 2009-01-09 22:06:39 +0000 (Fri, 09 Jan 2009)
New Revision: 1785

Modified:
   trunk/scripts/debsnap.1
   trunk/scripts/debsnap.sh
Log:
Fix files with duplicated content

Modified: trunk/scripts/debsnap.1
===================================================================
--- trunk/scripts/debsnap.1     2009-01-09 22:02:55 UTC (rev 1784)
+++ trunk/scripts/debsnap.1     2009-01-09 22:06:39 UTC (rev 1785)
@@ -142,147 +142,3 @@
 The program is part of the devscripts package.  Please report bugs using
 `\fBreportbug devscripts\fP`
 
-.\" for manpage-specific macros, see man(7)
-.TH DEBSNAP 1 "January 8, 2009" "Debian devscripts" "DebSnap User Manual"
-.SH NAME
-debsnap \- retrieve old snapshots of Debian packages
-
-.SH SYNOPSIS
-.B debsnap
-.RI [ options ] " package " [ version ]
-
-.B debsnap
-.RB [ -h " | " \-\-help ] " " [ \-\-version ]
-
-
-.SH DESCRIPTION
-\fBdebsnap\fP is a tool to help with retrieving snapshots of old packages from
-a daily archive repository.
-
-The only publicly available snapshot archive is currently located at
-\fIhttp://snapshot.debian.net\fP
-
-By default, debsnap will download all the available versions for \fIpackage\fP
-that are found in the snapshot archive.  If a \fIversion\fP is specified, only
-that particular version will be downloaded, if available.
-
-
-.SH OPTIONS
-The following options are available:
-
-.TP
-.BI -d " destination\fR,\fP " \-\-destdir " destination"
-Directory to place retrieved packages.
-
-.TP
-.BR \-f ", " \-\-force
-Force overwriting an existing \fIdestination\fP.  By default \fBdebsnap\fP will
-insist the destination directory does not exist yet unless it is explicitly
-specified to be '.' (the current working directory).  This is to avoid files
-being accidentally overwritten by what is fetched from the archive and to
-provide a guarantee for other scripts that only the files fetched will be
-present there upon completion.  Note that this option will remove the
-\fIdestination\fP directory and all of its contents prior to beginning the
-download.
-
-.TP
-.BR \-v ", " \-\-verbose
-Report on the \fBdebsnap\fP configuration being used and progress during the
-download operation.  Please always use this option when reporting bugs.
-
-.TP
-.BR \-h ", " \-\-help
-Show a summary of these options.
-
-.TP
-.B \-\-version
-Show the version of \fBdebsnap\fP.
-
-
-.SH CONFIGURATION OPTIONS
-\fBdebsnap\fP may also be configured through the use of the following options
-in the devscripts configuration files:
-
-.TP
-.B DEBSNAP_VERBOSE
-Same as the command line option \fB\-\-verbose\fP.  Set to "yes" to enable.
-
-.TP
-.B DEBSNAP_DESTDIR
-Set a default path for the destination directory.  If unset
-\fI./source\-<package_name>\fP will be used.  The command line option
-\fB\-\-destdir\fP will override this.
-
-.TP
-.B DEBSNAP_BASE_URL
-The base url for the snapshots archive.  This is the root of a directory tree
-such as \fIpool/<initial>/<package>/\fP under which a \fISources.gz\fP may be
-found, and the root for the location of the packages specified in the
-\fISources.gz\fP file found there.
-
-If unset this defaults to \fIhttp://snapshot.debian.net/archive/\fP
-
-.TP
-.B DEBSNAP_CLEAN_REGEX
-A sed regular expression to transform the directory returned by
-`\fBapt\-cache showsrc\fP \fIpackage\fP \fB| grep ^Directory\fP` to a suitable
-path to be put between \fBDEBSNAP_BASE_URL\fP and 
\fBDEBSNAP_SOURCES_GZ_PATH\fP.
-
-If unset it will default to s...@\e([^/]*\e)/[^/]*/\e(\&.*\e)@\e1/\e2@
-.br
-i.e. it transforms \fIpool/<component>/<initial>/<package>\fP into
-\fIpool/<initial>/<package>\fP
-
-.TP
-.B DEBSNAP_SOURCES_GZ_PATH
-The final path to the \fISources.gz\fP file.  This is appended after the
-\fBDEBSNAP_BASE_URL\fP and the path modified by \fBDEBSNAP_CLEAN_REGEX\fP to
-locate the \fISources.gz\fP file for the package to download.
-
-If unset it will default to \fIsource/Sources.gz\fP
-
-
-.SH EXIT STATUS
-\fBdebsnap\fP will return an exit status of 0 if all operations succeeded,
-1 if a fatal error occurred, and 2 if some packages failed to be downloaded
-but operations otherwise succeeded as expected.  In some cases packages may
-fail to be downloaded because they are no longer available on the snapshot
-mirror, so any caller should expect this may occur in normal use.
-
-
-.SH FILES
-.TP
-.I /etc/devscripts.conf
-Global devscripts configuration options.  Will override hardcoded defaults.
-.TP
-.I ~/.devscripts
-Per\-user configuration options.  Will override any global configuration.
-
-
-.SH SEE ALSO
-.BR devscripts (1),
-.BR devscripts.conf (5),
-.BR git-debimport (1)
-
-
-.SH AUTHORS
-David Paleino <[email protected]>
-.br
-Ron Lee <[email protected]>
-
-.SH COPYRIGHT
-Copyright \(co 2009 David Paleino, Ron Lee
-
-Permission is granted to copy, distribute and/or modify this document under
-the terms of the GNU General Public License, Version 3 or (at your option)
-any later version published by the Free Software Foundation.
-
-On Debian systems, the complete text of the GNU General Public License can
-be found in \fI/usr/share/common\-licenses/GPL\fP.
-
-
-.SH BUGS
-.SS Reporting bugs
-The program is part of the devscripts package.  Please report bugs using
-`\fBreportbug devscripts\fP`
-

Modified: trunk/scripts/debsnap.sh
===================================================================
--- trunk/scripts/debsnap.sh    2009-01-09 22:02:55 UTC (rev 1784)
+++ trunk/scripts/debsnap.sh    2009-01-09 22:06:39 UTC (rev 1785)
@@ -322,327 +322,3 @@
 rm -rf "$tmpdir"
 
 [ -z "$missing_package" ] || exit 2
-#!/bin/bash
-
-# Copyright © 2009, David Paleino <[email protected]>,
-#                   Ron <[email protected]>
-#
-# 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.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-#
-# Thanks to Ron Lee and Patrick Schoenfeld for helping during
-# the development process! :)
-
-#set -x
-set -e
-
-##
-# Rationale for variables naming:
-# DEBSNAP_FOO : means it directly comes from the config file, which can be 
edited by the user
-# foo         : means we assigned it, also combining data coming from the user
-##
-
-OPTS=$(getopt -ao d:fvh --long destdir:,force,verbose,version,help -n $0 -- 
"$@")
-if [ $? -ne 0 ]; then
-       echo "Terminating." >&2
-       exit 1
-fi
-eval set -- "$OPTS"
-
-PROGNAME="$(basename $0)"
-
-version() {
-       echo \
-"This is $PROGNAME, from the Debian devscripts package, version ###VERSION###
-This code is copyright 2009 by David Paleino <[email protected]> and
-Ron <[email protected]> -- 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 v3 or, at your option, any later version."
-       exit 0
-}
-
-usage() {
-       cat 1>&2 <<EOF
-$PROGNAME [options] <package name> [package version]
-
-  Automatically downloads packages from snapshot.debian.net
-
-  The following options are supported:
-  -h, --help                          Shows this help message
-  --version                           Shows information about version
-  -v, --verbose                       Be verbose
-  -d <destination directory>,
-  --destdir <destination directory>   Directory for retrieved packages
-                                      Default is ./source-<package name>
-  -f, --force                         Force overwriting an existing
-                                      destdir
-
-EOF
-       exit 0
-}
-
-debug() {
-       if [ "$DEBSNAP_VERBOSE" = "yes" ]; then
-               echo "$@"
-       fi
-}
-
-start_download() {
-       quiet="$1"
-       destdir="$2"
-       package="$3"
-       version="$4"
-       directory="$5"
-       suffix="$6"
-
-       dsc="$DEBSNAP_BASE_URL/$directory/${package}_$version.dsc"
-       diff="$DEBSNAP_BASE_URL/$directory/${package}_$version.diff.gz"
-       orig="$DEBSNAP_BASE_URL/$directory/${package}_$upversion.$suffix"
-
-       printf "Downloading %s... " $version
-       [ -n "$quiet" ] || echo
-
-       # I don't really like dget's output with missing files :)
-#      ( cd sources / ; \
-#      dget -d --quiet $base_url/$directory/${package}_$version.dsc )
-
-       # the "continue" annidated here mean "go to the next stanza of 
Sources.gz"
-       if ! wget $quiet -P "$destdir" -nH -nc "$dsc"; then
-               echo "missing .dsc."
-               debug "Url: $dsc"
-               return 1
-       else
-               if ! wget $quiet -P "$destdir" -nH -nc "$orig"; then
-                       echo "missing .$suffix."
-                       debug "Url: $orig"
-                       return 1
-               else
-                       if [ "$suffix" = "orig.tar.gz" ]; then
-                               if ! wget $quiet -P "$destdir" -nH -nc "$diff"; 
then
-                                       echo "missing .diff.gz."
-                                       debug "Url: $diff"
-                                       return 1
-                               else
-                                       echo "done."
-                               fi
-                       else
-                               echo "done."
-                       fi
-               fi
-       fi
-}
-
-# these are our defaults
-DEFAULT_DEBSNAP_VERBOSE=no
-DEFAULT_DEBSNAP_DESTDIR=
-DEFAULT_DEBSNAP_BASE_URL=http://snapshot.debian.net/archive
-DEFAULT_DEBSNAP_CLEAN_REGEX="s...@\([^/]*\)/[^/]*/\(.*\)@\1/\2@"
-DEFAULT_DEBSNAP_SOURCES_GZ_PATH=source/Sources.gz
-VARS="DEBSNAP_VERBOSE DEBSNAP_DESTDIR DEBSNAP_BASE_URL DEBSNAP_CLEAN_REGEX 
DEBSNAP_SOURCES_GZ_PATH"
-
-# read configuration from devscripts
-eval $(
-       set +e
-       for var in $VARS; do
-               eval "$var=\$DEFAULT_$var"
-       done
-       [ -r "/etc/devscripts.conf" ] && . /etc/devscripts.conf
-       [ -r "~/.devscripts" ] && . ~/.devscripts
-       set | egrep "^(DEBSNAP|DEVSCRIPTS)_"
-)
-
-# sanitize variables
-case "$DEBSNAP_VERBOSE" in
-       yes|no) ;;
-       *) DEBSNAP_VERBOSE=no ;;
-esac
-
-while true; do
-       case "$1" in
-               -v|--verbose)
-                       DEBSNAP_VERBOSE=yes
-                       shift
-                       ;;
-               -d|--destdir)
-                       DEBSNAP_DESTDIR="$2"
-                       shift 2
-                       ;;
-               -f|--force)
-                       force_overwrite=yes
-                       shift
-                       ;;
-               --version)
-                       version
-                       shift
-                       ;;
-               -h|--help)
-                       usage
-                       shift
-                       ;;
-               --)
-                       shift
-                       break
-                       ;;
-               *)
-                       echo "Internal error in option parsing." >&2
-                       ;;
-       esac
-done
-
-package="$1"
-_version="${2//*:/}"    # remove the Epoch
-
-if [ -z "$package" ]; then
-       usage
-fi
-
-if [ "$DEBSNAP_VERBOSE" = "yes" ]; then
-       echo "Using these values:"
-       for var in $VARS; do
-               eval "echo $var=\$$var"
-       done
-       echo "Requested package: $package"
-       if [ -z "$_version" ]; then
-               echo "Requested version: all"
-       else
-               echo "Requested version: $_version"
-       fi
-else
-       quiet="--quiet"
-fi
-
-source_pkg=$(apt-cache showsrc $package | grep -m1 ^Package | cut -f2 -d\ )
-cache_dir=$(apt-cache showsrc $package | grep -m1 ^Directory | cut -f2 -d\ )
-
-# make it pool/f/foo from pool/<section>/f/foo
-clean_dir=$(echo "$cache_dir" | sed -e "$DEBSNAP_CLEAN_REGEX")
-
-[ -n "$DEBSNAP_DESTDIR" ] || DEBSNAP_DESTDIR="source-$source_pkg"
-if [ "$DEBSNAP_DESTDIR" != "." ]; then
-       if [ -d "$DEBSNAP_DESTDIR" ]; then
-               if [ -z "$force_overwrite" ]; then
-                       echo "Destination dir $DEBSNAP_DESTDIR already exists."
-                       echo "Please (re)move it first, or use --force to 
overwrite."
-                       exit 1
-               fi
-               echo "Removing exiting destination dir $DEBSNAP_DESTDIR as 
requested."
-               rm -rf "$DEBSNAP_DESTDIR"
-       fi
-       mkdir -p "$DEBSNAP_DESTDIR"
-fi
-
-
-# download the Sources.gz
-tmpdir=$(mktemp -d /tmp/$PROGNAME.XXXX)
-trap "rm -rf \"$tmpdir\"; exit 1" 0 SIGHUP SIGINT SIGTERM
-sources_url="$DEBSNAP_BASE_URL/$clean_dir/$DEBSNAP_SOURCES_GZ_PATH"
-sources_path="$tmpdir/Sources.gz"
-
-echo -n "Downloading Sources.gz... "
-[ -n "$quiet" ] || echo
-
-if ! wget $quiet "$sources_url" -O "$sources_path"; then
-       echo "failed."
-       debug "Url: $sources_url"
-       exit 1
-else
-       echo "done."
-fi
-
-while read field value
-do
-       case $field in
-               Package:)
-                       if [ "$value" != "$source_pkg" ]; then
-                               echo "Source package names not matching! 
Exiting."
-                               exit 1
-                       fi
-                       have_package=yes
-                       ;;
-               Version:)
-                       if [ -n "$version" ]; then
-                               echo "Version already set. Exiting."
-                               exit 1
-                       else
-                               # remove the Epoch
-                               version=${value//*:/}
-                               # remove everything after a -
-                               upversion=${version%-*}
-                               if [ "$upversion" = "$version" ]; then
-                                       # this is a native package, so the 
original tarball has 
-                                       # just "tar.gz" as suffix.
-                                       suffix="tar.gz"
-                               else
-                                       # this is not a native package, use 
"orig.tar.gz"
-                                       suffix="orig.tar.gz"
-                               fi
-                       fi
-                       ;;
-               Directory:)
-                       if [ -n "$directory" ]; then
-                               echo "Directory already set. Exiting."
-                               exit 1
-                       else
-                               directory=$value
-                       fi
-                       ;;
-               "")
-                       # the blank line always comes last (unless it comes 
first)
-                       # bail out with errors if directory and version are not 
set,
-                       # (but only if we have seen a Package line already).
-                       if [ -z "$have_package" ]; then
-                               echo "No Package name before empty Sources.gz 
line. Skipping stanza."
-                       elif [ -z "$version" ] || [ -z "$directory" ]; then
-                               echo "Couldn't parse version/directory. 
Skipping stanza."
-                               debug "Version: $version"
-                               debug "Directory: $directory"
-#                              exit 1
-                       else
-                               # if the user requested a specific version,
-                               # skip the download step until we find it,
-                               # then break from the loop and let the outer
-                               # call deal with this case for us.
-                               if [ -z "$_version" ]; then
-                                       if ! start_download "$quiet" 
"$DEBSNAP_DESTDIR" \
-                                                           "$package" 
"$version"      \
-                                                           "$directory" 
"$suffix"; then
-                                               # Keep trying if some files 
were missing,
-                                               # but report that to the caller 
at exit.
-                                               missing_package=yes
-                                       fi
-                               elif [ "$_version" = "$version" ]; then
-                                       break
-                               fi
-                       fi
-                       have_package=
-                       version=
-                       directory=
-                       ;;
-       esac
-done < <(zcat "$sources_path")
-
-# We need this if there isn't an empty line following the last (or only) stanza
-# and we also perform the download here if just a single version was requested.
-if [ -n "$version" ] && [ -n "$directory" ]; then
-       if ! start_download "$quiet" "$DEBSNAP_DESTDIR" "$package" \
-                           "$version" "$directory" "$suffix"; then
-               missing_package=yes
-       fi
-fi
-
-# Disable the trap on exit so we can take back control of the exit code
-trap - 0
-rm -rf "$tmpdir"
-
-[ -z "$missing_package" ] || exit 2



-- 
To unsubscribe, send mail to [email protected].

Reply via email to