aboutsummaryrefslogtreecommitdiffstats
path: root/doc/sti.texi
blob: e7ae2a1ba3c84ecab8ca84a79ee769fdb5e60b6a (plain)
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
181
182
183
184
\input texinfo   @c -*-texinfo-*-
@c %**start of header
@setfilename sti.info
@settitle sti User Manual
@c %**end of header
@copying
sti is a simplistic tool installer written in Bash. It offers simple
commands to help installing little tools you or others have written.
This manual will try to explain to you how it is used.

Copyright @copyright{} 2014  Tom Willemse

@quotation
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the section entitled ``GNU
Free Documentation License''.

A copy of the license is also available from the Free Software
Foundation Web site at @url{http://www.gnu.org/licenses/fdl.html}.

@end quotation

The document was typeset with
@uref{http://www.texinfo.org/, GNU Texinfo}.

@end copying

@titlepage
@title sti User Manual
@subtitle How to use sti
@author Tom Willemse <tom@@ryuslash.org>
@page
@vskip 0pt plus 1filll
@insertcopying
@end titlepage

@c Output the table of the contents at the beginning.
@contents

@ifnottex
@node Top, Introduction, (dir), (dir)
@top sti User Manual

@insertcopying
@end ifnottex

@c Generate the nodes for this menu with `C-c C-u C-m'.
@menu
* Introduction::
* Installation::
* Commands::
* Copying This Manual::
* Index::
@end menu

@node Introduction, Installation, Top, Top
@chapter Introduction

sti is a simple program to install simple utilities written by
(possibly) simple people. It is the Stupid Tool Installer, meaning
that @emph{it} is stupid, rather than the tools it installs, though those
may be stupid as well.

It can occur that at some point in time one may acquire quite a
collection of small tools that are being used to streamline one's
personal worklow. Having to install, manage and keep track of these
tools on separate platforms can become tedious.

Any bug reports, feature requests or other kinds of communication can
be sent by email to @email{tom@@ryuslash.org}.

@c Update all node entries with `C-c C-u C-n'.
@c Insert new nodes with `C-c C-c n'.
@node Installation, Commands, Introduction, Top
@chapter Installing sti

The sti source is stored in a git repository. It can be cloned from
the URL @url{git://ryuslash.org/sti.git}.

Installing sti is simple. Just put the sti executable file somewhere
in your @env{PATH} and you can start using it. You can also download
the executable anywhere and use it from there.

Another option is to use sti to install itself. That way it should be
easier to keep it updated as well. To do this, download sti from, for
example, the git repository, and run it with the sti git repository
url. For example:

@example
$ curl http://code.ryuslash.org/sti/plain/sti
$ ./sti install git://ryuslash.org/sti.git
@end example

Since sti installs all executables in @file{~/usr/bin} you should make
sure that this directory is included in your @env{PATH} environment
variable.

@node Commands, Copying This Manual, Installation, Top
@chapter Available commands

sti offers several commands to help you manage the tools you use.
Following is a short explanation of what they all do.

@deffn Command help [command]
The help command offers help to the user. Without any parameters it
will show a list of available commands with a short description of
what they do. If this short description is not enough, or if you wish
to see the possible arguments for those commands you can pass along
@var{command}, a command name, to the help command and it will show
you some extra information about it.
@end deffn

@deffn Command install url
Install the tool for which the git repository is located at @var{url}.
This command uses git to clone the repository at @var{url}. After it
has been cloned it searches through all the files and tries to link
softlink the directories into a single directory (by default
@samp{~/usr/bin/}).

If any of the executables it wants to install is already present in
the destination directory a warning is printed. If you move the
offending executable, you can use @samp{reinit} to re-install the
executables without having to download the git repository again.

After installation the tool will be known by the last part of
@var{url}, with the @samp{.git} part removed. For example, after
calling:

@example
sti install git://ryuslash.org/sti.gi
@end example

@noindent
The installed tool will be called @samp{sti}. Most other commands will
expect this name instead of @var{url}.
@end deffn

@deffn Command list
List all downloaded (possibly installed) tools. For each installed
tool the version is displayed as well. The version is determined by
looking at the date of the latest commit in the local repository. It
is formatted as @samp{<year><month><day>.<hour><minute>}.
@end deffn

@deffn Command reinit tool
When a tool is installed it will not overwrite any executables found
where sti wants to install them. It will print a warning saying that
the executable already exists and leave it there. When this happens
it falls to you to remove, rename or move the executables so they
don't interfere with the tool you wish to install. After this is done,
you can use this command to try and install them again without
downloading anything again.
@end deffn

@deffn Command remove tool
Remove @var{tool} and all of its executables. This again searches
through all the files in @var{tool}'s directory and removes any links
to executable files that were found. Before deleting something it is
always checked if it is a link to the executable of @var{tool}. In
case it is not the file is not removed.
@end deffn

@deffn Command update tool
Use @samp{git} to pull in changes made to its repository and add any
new (and existing) executables to the destination directory.
@end deffn

@node Copying This Manual, Index, Commands, Top
@appendix Copying This Manual

@c Get fdl.texi from http://www.gnu.org/licenses/fdl.html
@include fdl.texi

@node Index,  , Copying This Manual, Top
@unnumbered Index

@printindex cp

@bye

@c sti.texi ends here