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
|
Package manager
===============
How the command line interface might look like:
<no options>
Builds, and prints error messages if any module interface packages
are missing. The URLs and distribution package names are printed.
Note that there can never be any transitive build dependencies with
SLUL (but runtime dependencies can be transitive).
--dep-install=dist,bundled,hashed,download,unsigned
Install any necessary dependencies for building or running.
The parameter controls the order of preference for installation.
* dist = from distribution (e.g. Debian)
* bundled = bundled inside source tree
* hashed = downloads that have a secure hash, and are locked to a tested version.
this includes bundled also, with higher priority.
* download = downloads that are signed (or hashed).
this includes hashed,bundled also, with lower priority.
* unsigned = any downloads. includes bundled,hashed,download.
Will print errors for packages that are not available or are too old
(this is only applicable for the dist option).
The destination for installation is affected by --env, --user and --system,
but distribution packages will typically be installed system-wide anyway.
For that reason, if run without root access, it will typically not be
able to install distribution packages.
If implicitly included options are also specified in the parameter,
then the preference order from the parameter takes precedence.
--builddep-install=dist,bundled,hashed,download,unsigned
Install build dependencies only. Note that distribution packages
may have dependencies on other packages, so --builddep-install=dist is
generally equivalent to --dep-install=dist
--install-this
Installs this module. It must have been built first.
--auto
Automatically downloads and installs signed and hashed dependencies (if
not already available), builds the module and install it. Implies --user,
unless --system or --env is specified.
In --system mode, it prefers distribution packages, when they exist
and satisfy the minimum version.
If there are unmet runtime dependencies, it will prompt for confirmation.
--download[=dist,hashed,download,unsigned]
Downloads all unavailable dependencies, recursively. The default is to
download signed and hashed dependencies only.
--env=PATH
Sets the environment path. This is used as the installation target path,
but is also used for searching for existing modules, in addition to the
default paths.
Linux distributors will usually want to set this to /usr
--env-only
Do not search for modules outside of the environment path.
--user
Sets the environment to ~/.local (i.e. install for the current user)
--system
Sets the environment to /usr/local (i.e. install for all users).
This is the default.
--target-destdir=PATH
Installs the targets into the given path. They probably have to be copied
into the correct location before they will work. Implies --system,
unless --user or --env is specified
--prompts=[yes|no|stop]
What to do if a there is a prompt.
--query-trust[=SERVER-API-URL|local]
Shows which keys have signed the package and the dependencies
(or previous versions).
Shows which keys the public keys has been signed with
(both dependencies and the package itself).
Specify "local" as the SERVER-API-URL to only query locally.
Uncommon options:
--dist=X,Y
Sets the distributions (e.g. debian) in order of preference.
Specify --dist= to disable all distributions.
Specify --dist=list to list supported distributions.
--static
Builds static executables/libraries. When building a static executable,
then static builds of dependencies and recursive dependencies are needed,
so this could be quite slow.
Uncommon options, that might not be needed:
(The user can download dependencies manually)
--broken-tls=expired,cert,cipher,version
Ignore TLS errors for signed and hashed downloads.
* expired = ignore expired certificate errors
* cert = ignore all certificate errors
* cipher = allow insecure ciphers
* version = allow old TLS versions
--dangerous-tls=expired,cert,cipher,version
Ignore certificate errors for all downloads.
Requires --INSECURE to unlock.
--no-signature-check
Do not check signatures. Requires --INSECURE to unlock.
--no-hash-check
Do not check hashes. Requires --INSECURE to unlock.
--INSECURE
Unlocks totally insecure options.
--proxy[=URL]
Use a proxy:
* socks4://HOSTNAME:PORT
* socks5://HOSTNAME:PORT
* http://HOSTNAME:PORT
* https://HOSTNAME:PORT
In the early versions of the "slul" implementated in SLUL, it will
probably not support compilation, and instead call "cslul" for that.
|