diff options
author | Sergey Poznyakoff <gray@gnu.org> | 2018-02-24 14:30:08 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org> | 2018-02-24 14:53:25 +0200 |
commit | 28655b98c82bdb86427a282c31469ca291955a98 (patch) | |
tree | 0d20e7b393088df47849f2eb977274300f5108f6 | |
parent | 363cca361cd162f9545704d57bcd455ae669b1ef (diff) | |
download | glacier-1.00.tar.gz glacier-1.00.tar.bz2 |
Version 1.00v1.00
-rw-r--r-- | Changes | 3 | ||||
-rw-r--r-- | MANIFEST.SKIP | 78 | ||||
-rw-r--r-- | Makefile.PL | 2 | ||||
-rw-r--r-- | README | 53 | ||||
-rwxr-xr-x | glacier | 50 | ||||
-rw-r--r-- | lib/App/Glacier/Command/CreateVault.pm | 4 | ||||
-rw-r--r-- | lib/App/Glacier/Command/DeleteFile.pm | 8 | ||||
-rw-r--r-- | lib/App/Glacier/Command/DeleteVault.pm | 4 | ||||
-rw-r--r-- | lib/App/Glacier/Command/Get.pm | 4 | ||||
-rw-r--r-- | lib/App/Glacier/Command/ListVault.pm | 7 | ||||
-rw-r--r-- | lib/App/Glacier/Command/Put.pm | 2 |
11 files changed, 179 insertions, 36 deletions
@@ -0,0 +1,3 @@ +1.00 2018-02-24 + +* Initial release. diff --git a/MANIFEST.SKIP b/MANIFEST.SKIP index ed0dde6..3fb78f0 100644 --- a/MANIFEST.SKIP +++ b/MANIFEST.SKIP @@ -1,18 +1,64 @@ -debug.sh -^\..*$ -# Makemaker generated files and dirs. -^MANIFEST\. -^Makefile$ -^blib/ -^MakeMaker-\d -# Temp, old and emacs backup files. +# Avoid version control files. +\bRCS\b +\bCVS\b +\bSCCS\b +,v$ +\B\.svn\b +\B\.git\b +\B\.gitignore\b +\b_darcs\b +\B\.cvsignore$ + +# Avoid VMS specific MakeMaker generated files +\bDescrip.MMS$ +\bDESCRIP.MMS$ +\bdescrip.mms$ + +# Avoid Makemaker generated and utility files. +\bMANIFEST\.bak +\bMakefile$ +\bblib/ +\bMakeMaker-\d +\bpm_to_blib\.ts$ +\bpm_to_blib$ +\bblibdirs\.ts$ # 6.18 through 6.25 generated this +\bMANIFEST\.SKIP$ + +# Avoid Module::Build generated and utility files. +\bBuild$ +\b_build/ +\bBuild.bat$ +\bBuild.COM$ +\bBUILD.COM$ +\bbuild.com$ + +# Avoid temp and backup files. ~$ \.old$ -^#.*#$ -^\.# -# -\B\.emacs.* -tmp/ -\.tar -\.tar\..* -\.tmp +\#$ +\b\.# +\.bak$ +\.tmp$ +\.# +\.rej$ + +# Avoid OS-specific files/dirs +# Mac OSX metadata +\B\.DS_Store +# Mac OSX SMB mount metadata files +\B\._ + +# Avoid Devel::Cover and Devel::CoverX::Covered files. +\bcover_db\b +\bcovered\b + +# Avoid MYMETA files +^MYMETA\. + +^debug.sh +^tmp +^buildreq +^\.emacs\.* + +\.tar$ +\.tar\.gz$ diff --git a/Makefile.PL b/Makefile.PL index 9727e87..cf801ea 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -6,7 +6,7 @@ use ExtUtils::MakeMaker; use Pod::Find qw(pod_where); use Pod::Usage; -WriteMakefile(NAME => 'glacier', +WriteMakefile(NAME => 'App::Glacier', ABSTRACT_FROM => 'glacier', VERSION_FROM => 'glacier', AUTHOR => 'Sergey Poznyakoff <gray@gnu.org>', @@ -0,0 +1,53 @@ +App::Glacier +============ + +Command line utility for working with Amazon Glacier, an online file storage +web service that provides storage for data archiving and backup. + +Usage: + + glacier COMMAND [OPTIONS] [ARGS] + +The COMMAND requests a particular action, such as ls (list), get, or put. + +The tool uses versioned file naming scheme, sp that multiple copies of the +same file can be kept. Files are versioned in reverse chronological order, +so that version 1 refers to the latest copy, 2 to the penultimate copy, and +so on. + +Examples: + +1. List vaults + + glacier ls + +2. List files in a vault, using detailed output format. + + glacier ls -l VAULT + +3. Get latest version of FILE from the vault: + + glacier get VAULT FILE + +4. Get the penultimate version of FILE: + + glacier get VAULT 'FILE;2' + +5. Store the file: + + glacier put VAULT FILE + +6. Create a vault: + + glacier mkvault NEWNAME + + +Copying +======= +This package 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, or (at your option) +any later version. + +See http://www.gnu.org/licenses. + @@ -7,7 +7,7 @@ use Pod::Man; use App::Glacier::Command; use File::Basename; -our $VERSION = '0.60'; +our $VERSION = '1.00'; my %comtab = ( @@ -87,14 +87,38 @@ I<COMMAND> [I<OPTIONS>] I<ARG>... =head1 DESCRIPTION -Command line tool for accessing Amazon Glacier storage. The I<COMMAND> +Command line tool for working with the Amazon Glacier storage. The I<COMMAND> instructs it what kind of manipulation is required. Its action can be modified by I<OPTIONS> supplied after the command name. Options occurring before it, affect the behavior of the program as a whole and are common for all commands. The following is a short summary of existing commands. For a detailed -description about any of them, please run B<glacier I<COMMAND> --help>. +description about any particular I<command>, please refer to the +corresponding manual page (B<glacier-I<command>>), or run +B<glacier I<command> --help>. + +=head2 On file versioning + +In the discussion below, I<FILE> stands for the name of the file to which +the command in question applies. In contrast to the UNIX filesystem, where +each file name is unique within the directory, B<Glacier> vaults can keep +multiple copies of the same file. To discern between them, the I<version +number> is used. When a file B<FILE> is first stored in a vault, it is +assigned version number B<1>. The version numbed of this copy is incremented +each time a new copy of the same file is added to the vault. The most recently +stored copy always has the version number of B<1>. + +Each command by default operates on the most recent copy of the file, i.e. +the one with the version number B<1>. To address a particular version of the +file, append the version number to its name with a semicolon in between. For +example, to list B<FILE>, version B<3>, do: + + glacier ls vault 'FILE;3' + +Notice the use of quotes to prevent C<;> from being interpreted by the shell. + +=head1 COMMANDS =head2 glacier get I<VAULT> I<FILE> [I<LOCALNAME>] @@ -153,7 +177,7 @@ Sets account ID to use. See B<Multiple accounts>, below. Sets the name of the configuration file to use. In the absense of this option, the environment variable B<GLACIER_CONF> is consulted. If it -is not set neither, the default file F</etc/glacier.conf> is read. See +is not set, the default file F</etc/glacier.conf> is read. See the section B<CONFIGURATION> for its description. =item B<-d>, B<--debug> @@ -278,7 +302,7 @@ Sets the number of retries for failed transfers. Defaults to 10. =item B<[database job]> Configures the I<job database>. Job database is a local GDBM file, which -B<glacier> uses to keep track of initiated Amazon Glacier jobs. +B<glacier> uses to keep track of the initiated Amazon Glacier jobs. =over 8 @@ -342,9 +366,21 @@ Default job database name, Inventory database for the I<VAULT>. =back + +=head1 SEE ALSO + +B<glacier-get>(1), +B<glacier-jobs>(1), +B<glacier-ls>(1), +B<glacier-mkvault>(1), +B<glacier-purge>(1), +B<glacier-put>(1), +B<glacier-rm>(1), +B<glacier-rmvault>(1), +B<glacier-sync>. -=head1 AUTHOR - +=head1 AUTHOR + Sergey Poznyakoff <gray@gnu.org> =cut diff --git a/lib/App/Glacier/Command/CreateVault.pm b/lib/App/Glacier/Command/CreateVault.pm index 6d0b0f0..d4ef5aa 100644 --- a/lib/App/Glacier/Command/CreateVault.pm +++ b/lib/App/Glacier/Command/CreateVault.pm @@ -16,11 +16,11 @@ B<glacier mkvault> I<NAME> =head1 DESCRIPTION -Creates a vault with the given I<NAME> +Creates a vault with the given I<NAME>. =head1 SEE ALSO -B<glacier>(1) +B<glacier>(1). =cut diff --git a/lib/App/Glacier/Command/DeleteFile.pm b/lib/App/Glacier/Command/DeleteFile.pm index 9ba8b40..93b009b 100644 --- a/lib/App/Glacier/Command/DeleteFile.pm +++ b/lib/App/Glacier/Command/DeleteFile.pm @@ -19,12 +19,14 @@ I<FILE>... =head1 DESCRIPTION -Removes listed files from the vault. I<FILE> can contain version numbers, -to select particular version of the file. Globbing patterns are also allowed. +Removes listed files from the vault. I<FILE> can contain version numbers +(I<file;num>), to select particular version of the file. Globbing patterns +are also allowed. See B<glacier>(1), section B<On file versioning>, for the +information about file versioning scheme. =head1 SEE ALSO -B<glacier>(1) +B<glacier>(1). =cut diff --git a/lib/App/Glacier/Command/DeleteVault.pm b/lib/App/Glacier/Command/DeleteVault.pm index fbd4486..bd528cb 100644 --- a/lib/App/Glacier/Command/DeleteVault.pm +++ b/lib/App/Glacier/Command/DeleteVault.pm @@ -16,11 +16,11 @@ B<glacier rmvault> I<NAME> =head1 DESCRIPTION -Deletes the vault with the given I<NAME> +Deletes the vault with the given I<NAME>. =head1 SEE ALSO -B<glacier>(1) +B<glacier>(1). =cut diff --git a/lib/App/Glacier/Command/Get.pm b/lib/App/Glacier/Command/Get.pm index 3a420f5..134a87c 100644 --- a/lib/App/Glacier/Command/Get.pm +++ b/lib/App/Glacier/Command/Get.pm @@ -35,7 +35,9 @@ I<FILE> Downloads I<FILE> from the I<VAULT>. The local file name for the file is supplied by the I<LOCALNAME>. If this argument is absent, the local name is formed from I<FILE> with the eventual version number part removed. - +See B<glacier>(1), section B<On file versioning>, for the +information about file versioning scheme. + =head1 OPTION =over 4 diff --git a/lib/App/Glacier/Command/ListVault.pm b/lib/App/Glacier/Command/ListVault.pm index 2752683..3533cb1 100644 --- a/lib/App/Glacier/Command/ListVault.pm +++ b/lib/App/Glacier/Command/ListVault.pm @@ -11,11 +11,11 @@ use App::Glacier::Directory qw(:status); =head1 NAME -glacier list - list vaults or archives +glacier ls - list vaults or archives =head1 SYNOPSIS -B<glacier list> +B<glacier ls> [B<-SUdlhtr>] [B<--human-readable>] [B<--sort=>B<none>|B<name>|B<time>|B<size>] @@ -35,7 +35,8 @@ also specified, in which case, lists information about this vault only. With two or more arguments, lists files in I<VAULT> with names matching I<FILE> arguments. The latter can contain version numbers and globbing -patterns. +patterns. See B<glacier>(1), section B<On file versioning>, for the +information about file versioning scheme. =head1 OPTION diff --git a/lib/App/Glacier/Command/Put.pm b/lib/App/Glacier/Command/Put.pm index d08f07f..26e0a72 100644 --- a/lib/App/Glacier/Command/Put.pm +++ b/lib/App/Glacier/Command/Put.pm @@ -27,7 +27,7 @@ I<VAULT> I<FILE> [I<FILE>...] B<glacier put> -B<-r> | B<--rename>] +{ B<-r> | B<--rename> } [B<-q>] [B<-j> I<NJOBS>] [B<--jobs=>I<NJOBS>] |