File: kup.1

package info (click to toggle)
kup 0.3.4-3
  • links: PTS, VCS
  • area: main
  • in suites: buster, stretch
  • size: 636 kB
  • ctags: 120
  • sloc: perl: 1,422; sh: 89; makefile: 6
file content (180 lines) | stat: -rw-r--r-- 6,488 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
.\" -----------------------------------------------------------------------
.\"
.\"   Copyright 2011 Intel Corporation; author: H. Peter Anvin
.\"
.\"   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, Inc.; either version 2
.\"   of the License, or (at your option) any later version;
.\"   incorporated herein by reference.
.\"
.\" -----------------------------------------------------------------------
.TH KUP "1" "2011" "kernel.org upload utility" "kernel.org"
.SH NAME
kup \- kernel.org upload utility
.SH SYNOPSIS
\fBkup\fP [\fIglobal options\fP] \fIcommand\fP [\fB\-\-\fP \fIcommand...\fP]
.SH DESCRIPTION
.PP
This utility is used to upload files to \fIkernel.org\fP and other
systems using the same upload system (\fBkup-server\fP).  Each upload
is required to have a PGP signature, and the server will generate
multiple compressed formats if the content uploaded is intended to be
compressed.
.PP
Additionally, if the user has content from a
.BR git (1)
tree already on server, it is possible to reproduce the content
server-side, thereby reducing bandwidth needs.  The user still
has to generate the content locally and sign it.
.SH GLOBAL OPTIONS
.TP
\fB\-b\fP, \fB\-\-batch\fP
Instead of connecting to a remote host, output the protocol content to
standard output.  The output from an arbitrary number of
.B kup
invocations can be concatenated into a single batchfile and then sent 
to the server as a single session, e.g.: 
.PP
.RS
.RS
.nf
cat batchfile | ssh -a -x -k -T [user@]host
.fi
.RE
.RE
.TP
\fB\-e\fP, \fB\-\-rsh, \fB\-\-ssh\fP \fIcommand\fP
Override the default command used to connect to the server.  The
default is set by the environment variable
.B KUP_RSH
or if that is not set,
\fIssh \-a \-x \-k \-T\fP.
.TP
\fB\-H\fP, \fB\-\-host\fP \fI[user@]host\fP
Override the default user and host to which to connect.  The default
is set by the environment variable
.B KUP_HOST
or if that is not set,
\fIkup.kernel.org\fP.
.TP
\fB\-c\fP, \fB\-\-subcmd\fP \fIsubcommand\fP
After establishing the ssh connection, issue a subcommand in case the remote
server is used in conjunction with an AuthZ tool like gitolite. Can also be set
using the env variable
.B KUP_SUBCMD
or if not set, no subcommand will be used (default kup-server behavior).
.SH COMMANDS
A series of commands can be specified on a single command line,
separated by a double dash argument (\fB\-\-\fP).
.PP
In all cases, PGP signatures are detached signature files
corresponding to the \fIuncompressed\fP content.  If a
\fIremote_path\fP ends in \fP\.gz\fP then
.BR gzip ,
.B bzip2
and
.B xz
compressed files are generated on the server; otherwise the content is
stored uncompressed.
.TP
\fBput\fP \fIlocal_file\fP \fPsignature_file\fP \fIremote_path\fP
Upload the file \fIlocal_file\fP signed with
\fIsignature_file\fP.  \fIlocal_file\fP can be compressed with
.BR gzip ,
.B bzip2
or
.BR xz ;
this may reduce upload time.  The content will be stored compressed or
uncompressed depending solely on the extension of \fIremote_path\fP.
.TP
\fBput\fP \fB\-\-tar\fP \fIremote_tree\fP \fIref\fP \fPsignature_file\fP \fIremote_path\fP
Generate a tar archive file from ref \fIref\fP of git tree
\fIremote_tree\fP (using \fBgit archive \-\-format=tar\fP) with
signature \fIsignature_file\fP generated locally, and place it in
\fIremote_path\fP.
.sp
\fBgit archive\fP has been found to be relatively stable, so this
command is relatively robust to git version changes.
.TP
\fBput\fP \fB\-\-diff\fP \fIremote_tree\fP \fIref1\fP \fIref2\fP \fPsignature_file\fP \fIremote_path\fP
Generate a patch file between refs \fIref1\fP and \fIref2\fP of git
tree \fIremote_tree\fP (using \fBgit diff-tree \-p\fP) with signature
\fIsignature_file\fP generated locally, and place it in
\fIremote_path\fP.
.sp
The output of \fBgit diff-tree\fP has been found to vary between
.B git
versions, so successful use of this command may require the same
version of
.B git
locally as on the server in order to produce a valid signature.
.TP
\fBmkdir\fP \fIremote_path\fP
Create a new directory on the server.
.TP
\fBmv|move\fP \fIold_path\fP \fInew_path\fP
Move the file or directory \fIold_path\fP to \fInew_path\fP.  For a
file, the \fI.sign\fP files are also moved, and for compressed files,
all the compression formats are moved together.
.TP
\fBln|link\fP \fIold_path\fP \fInew_path\fP
Hard link the file or directory \fIold_path\fP to \fInew_path\fP.  For a
file, the \fI.sign\fP files are also linked, and for compressed files,
all the compression formats are linked together.
.TP
\fBrm|del|delete\fP \fIold_path\fP
Delete the file or directory \fIold_path\fP.  For a file, the
\fI.sign\fP files are also deleted, and for compressed files, all the
compression formats are deleted together.
.TP
\fBls|dir\fP \fIpath...\fP
Lists back the contents of one or more directories on the server.
.SH PATHNAME HANDLING
Remote (server) pathnames all need to be absolute paths, starting with
a slash (/).  The sole exception is \fInew_path\fP for the \fBmv\fP
and \fBlink\fP commands, which if it is not absolute is taken to be
relative to the \fIold_path\fP minus the final component.  Similarly,
if \fInew_path\fP ends in a slash then the final component of
\fIold_path\fP will be appended.
.PP
For the \fPput\fP command, except when \fB\-\-tar\fP or \fB\-\-diff\fP
is specified, if the \fIremote_path\fP ends in a slash then the
final (filename) component of \fIlocal_file\fP will be appended to the
final pathname.
.SH CONFIG FILE
Kup checks the presence of $HOME/.kuprc and can load the
.B host
and
.B rsh
parameters from the config file. The environment variables
.B KUP_HOST
and
.B KUP_RSH
will override the values set in this config file.
.PP
SAMPLE $HOME/.kuprc:
.PP
.RS
.nf
host = user@kup.kernel.org
rsh  = /usr/bin/ssh -a -x -k -T
.fi
.RE
.SH AUTHOR
Written by H. Peter Anvin <hpa@zytor.com>.
.SH COPYRIGHT
Copyright \(co 2011 Intel Corporation
.sp
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, Inc.; either version 2 of the License,
or (at your option) any later version; incorporated herein by
reference.  There is NO warranty; not even for MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.
.SH "SEE ALSO"
.BR git (1),
.BR ssh (1),
.BR gzip (1),
.BR bzip2 (1),
.BR xz (1).