summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--Changes3
-rw-r--r--MANIFEST.SKIP78
-rw-r--r--Makefile.PL2
-rw-r--r--README53
-rwxr-xr-xglacier50
-rw-r--r--lib/App/Glacier/Command/CreateVault.pm4
-rw-r--r--lib/App/Glacier/Command/DeleteFile.pm8
-rw-r--r--lib/App/Glacier/Command/DeleteVault.pm4
-rw-r--r--lib/App/Glacier/Command/Get.pm4
-rw-r--r--lib/App/Glacier/Command/ListVault.pm7
-rw-r--r--lib/App/Glacier/Command/Put.pm2
11 files changed, 179 insertions, 36 deletions
diff --git a/Changes b/Changes
new file mode 100644
index 0000000..c7d5cbe
--- a/dev/null
+++ b/Changes
@@ -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>',
diff --git a/README b/README
new file mode 100644
index 0000000..09fd816
--- a/dev/null
+++ b/README
@@ -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.
+
diff --git a/glacier b/glacier
index b436563..e98087b 100755
--- a/glacier
+++ b/glacier
@@ -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>]

Return to:

Send suggestions and report system problems to the System administrator.