-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME
307 lines (154 loc) · 9.03 KB
/
README
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
README Version 0.2
Author: Bati Sengul
Bpack developed by Bati Sengul and Michael Bush
==Contents==
1. =Installation=
a. Pre-requisites
b. Instructions
2. =Usage=
a. Installing packages
i. Basic installation
ii. Terminal
iii. Making packages
b. Removing packages
i. Basic removal
ii. Removing scanned files
iii. Manual removal
c. Upgrading packages
d. Running updates
e. Listing installed packages
f. Clean
g. Scanning the computer for pre-installed packages
3. =Configuration=
a. /etc/bpack.conf
b. Package making
c. Collections
4. =Helper tools=
a. Binpack
5. =Contributing=
a. Development
b. Donating
=== 1 === ===Installation===
== a == ==Pre-requisites==
Bpack currently requires a working linux/unix system. It also requires gcc, and glibc.
== b == ==Instructions==
Do
./configure
to run the configure script. Then the package can be made with
make
and installed as root with,
make install
One can of course pass parameters such as --prefix to configure and DESTDIR to make to change the destination in which bpack is installed.
=== 2 === ===Usage===
== a == ==Installing packages==
=i= =Basic Installation=
Bpack packages are installed with
bpack install [package]
[package] is the package to be installed. For example to install gcc,
bpack install gcc
or to install gcc version 4.3.2,
bpack install gcc-4.3.2
Multiple packages can be installed from a single call by listing packages, e.g. to install gcc, wget and ncurses call
bpack install gcc wget ncurses
A lot of packages come with optional dependencies. You can see what will be installed with which optional dependencies by running
bpack pretend [package]
If you wish to change the optional dependencies, use the environmental variable like this
OPTIONAL="+foo -bar" bpack install [package]
You can use pretend in the above example if you want to see the changes. If you want further control, bpack stores and uses your optional flags in the options/[package] file. This way you need not to worry about the optional dependencies when you are upgrading.
=ii= =Terminal=
Bpack also comes with a terminal. If you wish to compile things yourself, run the command
bpack terminal
to get the bpack terminal. With this terminal you can execute commands as usual (e.g. cd, make, ls) but bpack will trace your make install call and make it a package for you.
A very helpful tool bpack comes with is track. You can use
bpack track "make install"
to make a package out of something that you have compiled yourself.
== c == ==Removing Packages==
=i= =Basic Removal=
Removing packages with bpack is easy as Mr.T;
bpack remove [package]
e.g. if you wish to remove gcc (don't do this!),
bpack remove gcc
As with the install call, remove can take multiple packages to remove. Bpack will automatically check if there are any packages that depend on the package selected to remove.
You may also like to run
bpack remove hanging
to remove packages that were installed as a dependency for a package the user installed but are no longer needed (i.e. no other package depends on it).
=ii= =Removing Scanned Files=
For scanning the computer see 3.e. The important thing to remember is to CHECK THE SCAN BEFORE REMOVING FILES that are installed. No seriously. Scanned locations may be completely wrong, it is your duty to check they are sane!!
=iii= =Manual Removal=
If you do not trust bpack or want to uninstall packages manually for some other reason, it is easy as pi. The locations of the packages will be listed under packs.list. Scanned packages will have a ! proceeding them.
== c == ==Upgrading Packages==
If you wish to upgrade a package to a later version, please call bpack with,
bpack upgrade [package]
Bpack will first try to make the later version of the package, and then remove files, then try to install them. This call may be somewhat dangerous, as in the calls of some core packages.
== d == ==Running updates==
To get all the latest packages and scripts you should update bpack regularly. To do this simply call bpack as follows,
bpack update
We may not have every package that you need. You may wish to manually install any packages we don't have or even better make scripts and send them to us!
== e == ==Listing installed packages==
Running the following command
bpack list
will show the user the packages bpack has under control and the size they take up.
If you wish to know if package x is installed, you can use grep
bpack list | grep x
To see the size of a package run,
bpack sizeof [package]
== f == ==Clean==
The command
bpack clean cache
will clear the tarballs and any files bpack has untared. You can use
bpack clean packs
to clean out the packages (e.g. in the case of switching collections). The call
bpack clean
will do both of the above calls.
== g == ==Scanning the computer for pre-installed packages==
Bpack has its own feature for scanning through the root directory for packages that may have been installed without bpack. Though this method may sound sane to you, rest assured it is not! This method will almost surely not be fool proof, you need to check packs.list afterwards. But do not worry, incase you forget, bpack will remind you when you try to remove or upgrade a scanned package. To call the scan function use,
bpack scan
=== 3 === ===Configuration===
== a == ==/etc/bpack.conf==
Bpack will read all the configuration from this file, other than the environment variable BPACK_DIR which if set, bpack will use as it's base directory (by default this is /var/bpack). The format of the configuration is as follows;
option:value
Currently these are the available options and values
Option Values Explanation
quitlevel 0,1,2,-1,-2 In the negatives, bpack will ask more instead of quiting, in the positives bpack will quit more than usual.
collection a collection name The default collection to get packages from.
cflags string The cflags that bpack should apply
cxxflags string The cxxflags that bpack should apply
optional string Default set of optional packages to install, choose from all, recommended, none.
== b == ==Package making==
The package format for bpack is very simple so users should not be afraid of making their own. Just like the conf file, the format is
option:value
Bpack will read the lines untill the next option (ignoring the empty lines) so multiline values are welcome. The only required option is location. Here is a list of options and what they do;
Option Action
location The url for the tarball, incase it needs to be downloaded
deps Dependencies separated by commas
optional Optional dependencies, recommended ones should have a ! before them (i.e. foo,!gcc,bar)
config Parameters to be passed to ./configure (e.g. --prefix=/usr)
make Paramerers to be passed to make
makeinst Parameters to be passed to makeinst
preinstall Things to execute before the install in the unpacked tar directory
postinstall Things to execute after the install in the unpacked tar directory
conf The contents of the configuration file, make sure you set conffile if you use this option
conffile The location of the configuration file
patches The location of patches to be downloaded and applied (seperated by commas)
Many of these can be left out. To stop bpack from running ./configure, make or make install, pass the value no to config, make or makeinst.
The package must be saved under bpack_dir/packs/ and the format for the file name is
name-version
The conf: option is a bit special in the sense that it should be written like a diff. To insert a line use + and to delete a line use -.
== b == ==Package making==
Share your bpack experience with others and create a collection. A collection is a bunch of packages (you can nick packages from other people) that the user will receive when they update. For more information, register at http://www.bpack.co.uk .
=== 4 === ===Contributing===
== a == ==Binpack==
Binpack is a helper script for bpack. As the name suggest, it installs binary packages from other package managers. We know that programs such as Firefox may take a long time to compile. Binpack will install Debian (including Ubuntu) and Archlinux packages. The format is
binpack [file]
The file must end with a .deb or .i686.pkg.tar.gz. Binpack will allow bpack to manage dependencies and also keep track of the packages.
=== 5 === ===Contributing===
== a == ==Development==
We always need more people to help develop bpack. If you are a programmer, talk to us about joining in the project. We welcome any bug fixes, ideas, comments, criticism or patches. If you have packages that you made yourself, do send them in. If you do not program you can help us by making packages and testing unstable versions of bpack.
Feel free to come and talk to us ;)
You can join us on #bpack @ freenode, or email us
Bati Sengul <[email protected]>
Mike Bush <[email protected]>
Visit our website at
http://www.bpack.co.uk/
== b == ==Donations==
Hope springs eternal eh?