-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathindex.html
379 lines (334 loc) · 9.61 KB
/
index.html
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
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>zpkg - a meta package manager</title>
<link href="https://fonts.googleapis.com/css?family=B612+Mono&display=swap" rel="stylesheet">
<style type="text/css">
li, td, div {
font-size: 0.85rem;
}
ul li {
margin-bottom: 0.5em;
list-style-type: none;
}
ul {
margin-top: 0px;
padding-left: 0px;
margin-bottom: 0px;
}
h1 {
font-size: 4em;
color: #EFD048 !important;
}
h2 {
font-size: 2.5em;
color: #E64571;
}
h1, h2, h3 {
margin-bottom: 0px;
margin-top: 0.5rem;
padding-top: 0.5rem;
text-align: center;
text-transform: uppercase;
}
h3 {
margin-top: 0px;
padding-top: 0px;
font-size: 1.25em;
color: #327CB7;
}
pre {
margin: 0px;
padding: 1em;
border-radius: 4px;
color: #84E043;
overflow: visible;
}
#install {
border: 0.15em solid #E64571;
border-right: none;
/* just because of overflow */
border-top-right-radius: 0px;
border-bottom-right-radius: 0px;
}
#whatelse ul li {
font-size: 1rem;
}
body {
margin-left: 20%;
margin-right: 20%;
margin-bottom: 5rem;
margin-top: 5rem;
max-width: 79em;
background-color: #211b12;
color: #EEDCC8;
font-family: 'B612 Mono', monospace;
}
table {
display: inline-block;
width: 100%;
}
table td {
vertical-align: top;
width: 50%;
padding-bottom: 0.5rem;
}
table td:nth-of-type(1) {
padding-right: 2em;
}
table td pre {
/* slightly smaller border */
border: 0.10em solid #EEDCC8;
}
#faq ul li {
list-style-type: disc;
}
#faq h3 {
margin-top: 0.25em;
}
#faq h3:first-of-type {
margin-top: 0px;
}
#usage {
color: #EEDCC8;
border: 0.15em solid #EFD048;
border-top: none;
border-top-right-radius: 0px;
border-top-left-radius: 0px;
margin-top: 0px;
padding-top: 0px;
}
tr:last-of-type td, li:last-of-type {
margin-bottom: 0px;
padding-bottom: 0px;
}
#examples {
border: 0.15em solid #EEDCC8;
color: #EFD048;
border-bottom: none;
border-bottom-right-radius: 0px;
border-bottom-left-radius: 0px;
margin-bottom: 0px;
padding-bottom: 0px;
}
a:link,
a:visited,
a:hover,
a:active {
color: #EEDCC8;
}
</style>
</head>
<body>
<script>
// Simple Web Analytics tracking code
if (!sessionStorage.getItem("_swa") && document.referrer.indexOf(location.protocol + "//" + location.host) !== 0) {
fetch("https://simple-web-analytics.com/track?" + new URLSearchParams({
referrer: document.referrer,
site: "zpkg",
utcoffset: 2
}));
}
sessionStorage.setItem("_swa", "1");
</script>
<h1>
zpkg
</h1>
<h3>
Use programs from other Linux distributions
</h3>
<h2>
Install
</h2>
<pre id="install"><code>$ curl -Lf https://github.com/ihucos/zpkg/releases/download/0.2.5/zpkg.zpkg | tar -xJf - -C ~/.local</code></pre>
<h2>
What does zpkg do?
</h2>
<table>
<tr>
<td>
With zpkg you can install programs from other distributions into your system
</td>
<td>
<pre><code>$ zpkg add gimp --from alpine --apk gimp</code></pre>
</td>
</tr>
</tr>
<td>
zpkg will install programs to your home directory.
</td>
<td>
<pre><code>$ readlink ~/.local/bin/gimp
../lib/zpkg/gimp/gimp</code></pre>
</td>
</tr>
<tr>
<td>
You can upgrade zpkg packages. Upgrades are atomic for each package.
</td>
<td>
<pre><code>$ zpkg upgrade</code></pre>
</td>
</tr>
<tr>
<td>
It is possible to repackage added programs into standalone zpkg packages. These packages can be easily installed into other machines. The only system requirement is <i>tar</i>. Standalone zpkg packages may be managed (removed, upgraded) with zpkg.
</td>
<td>
<pre><code>$ zpkg package gimp /tmp/gimp.zpkg
Install package locally:
$ tar -xf /tmp/gimp.zpkg -C ~/.local
Install package globally:
$ tar -xf /tmp/gimp.zpkg -C /usr/local<code></pre>
</td>
</tr>
</table>
<h2>
What else should I know?
</h2>
<div id='whatelse'>
<ul>
<li>
For package managers that need multi user support - like <i>apt</i> - you need <i>newuidmap</i> installed and <i>/etc/subuid</i> configured when running zpkg unprivileged (Done in Ubuntu).
</li>
<li>
Packages should never change files of it's base system.
</li>
</ul>
</div>
<h2>
More examples
</h2>
<pre id="examples"><code>$ zpkg ls
gimp
zpkg
$ zpkg freeze
zpkg add gimp --from alpine --apk gimp
zpkg add zpkg --from-github ihucos/zpkg
$ zpkg rm gimp
$ zpkg add --from ubuntu --apt gimp
$ zpkg --help</code></pre>
<h2>
Usage
</h2>
<pre id="usage"><code>USAGE
zpkg [-g|-l] {add,flush,freeze,ls,package,rebuild,rm,upgrade} ...
SUBCOMMANDS
add [PKG] BUILD-ARGS builds and adds a package
flush flushes the build cache
freeze print package with build instruction
ls lists all installed packages
package PKG FILE creates a standalone package
rebuild PKG rebuild given package
rm PKG uninstalls the given package
unfreeze FREEZED-FILE apply frozen file
upgrade upgrades each package atomically
ARGUMENTS
--global, -g
affects the system globally
--local, -l
saves packages in cwd under ./zpkg
BUILD ARGUMENTS
--from, -f
choose a base image
--run, -x
run any shell (/bin/sh) command
--layer, -l
adds a layer for build caching
--from-github
build according to instructions at GitHub project
--add-apt-repository, --apt, --apk, --apt, --dnf, --emerge, --npm,
--pacman, --pip, --pip3, --yum
Invokes the given tool with it's primary action
-A same as `--from alpine:edge --apk`
-C same as `--from centos:8 --yum`
-D same as `--from debian:sid --apt`
-F same as `--from fedora:32 --dnf`
-G same as `--from gentoo:current --emerge`
-R same as `--from archlinux:current --pacman`
-U same as `--from ubuntu:focal --apt`
EXAMPLE
zpkg add xeyes -U x11-apps
zpkg add -A gimp
zpkg add -A py3-pip --pip3 yapf
zpkg rm yapf</code></pre>
<div id="faq">
<h2>
FAQ
</h2>
<h3>
How stable is zpkg?
</h3>
<div>
Alpha.
</div>
<h3>
How is zpkg licensed?
</h3>
<div>
zpkg and <a href="http://plash.io">plash</a> are under the MIT licence.
</div>
<h3>
What else can I do with zpkg?
</h3>
<ul>
<li>
Quickly use applications from other Linux distributions.
</li>
<li>
Install applications without root.
</li>
<li>
Distribute applications with <i>zpkg package</i>. This is by the way how zpkg is distributed.
</li>
<li>
Deploy web applications or services with <i>zpkg package</i>.
</li>
<li>
Have distribution independent applications in your home folder or a usb stick.
</li>
</ul>
<h3>
Does zpkg run on Windows/MacOS/BSD?
</h3>
<div>
zpkg requires a Linux kernel. Running on another host operating system is only possible with it's eventual Linux compability mechanisms.
</div>
<h3>
What applications work with zpkg?
</h3>
<div>
Everything except System Programs. As an example: <i>Bash</i>, <i>synaptic</i>, <i>apt</i>, and <i>gnome-tweak-tool</i> may not work as desired. <i>LibreOffice</i>, <i>Firefox</i>, <i>Gimp</i> and <i>pylint</i> are fully supported.
</div>
<h3>
Which build commands are supported?
</h3>
<div>
All of <i><a href="http://plash.io">plash's</a></i> build commands are supported when adding packages.
</div>
<h3>
What happens if a package changes files of its base image?
</h3>
<div>
This would also affect other packages with the same base image. If that ever happens you need to remove the bad package (<i>zpkg rm badpkg</i>) and upgrade (<i>zpkg upgrade</i>).
</div>
<h3>
How do I keep zpkg updated?
</h3>
<div>
Since zpkg is packaged with zpkg, running <i>zpkg upgrade</i> will upgrade it.
</div>
<h3>
Can I contribute?
</h3>
<div>
<a href="http://github.com/ihucos/zpkg">Absolutely.</a>
</div>
<h2>
Thank you
</h2>
If you like zpkg, <a href="https://github.com/ihucos/zpkg">star it on GitHub</a>. Help others by <a href="https://github.com/ihucos/zpkg/issues">reporting any issue</a>. Feel free to <a href="mailto:mailto:%6D%61%69%6C%40%69%72%61%65%2E%6D%65">contact me directly</a> for anything.
<a style="position: absolute; right: 0px; top: 0px;" href="https://github.com/ihucos/zpkg"><img width="149" height="149" src="https://github.blog/wp-content/uploads/2008/12/forkme_right_orange_ff7600.png?resize=149%2C149" class="attachment-full size-full" alt="Fork me on GitHub" data-recalc-dims="1"></a>
</html>