Basic Bpack Usage
Directories
Bpack will have all the files under /var/bpack by default. If you prefere having an other directory for bpack to work in (for testing or for usage without root access) do export BPACK_DIR=/dir.
Install
bpack install [package]
Packages are held under packs/. Install can take multiple packages to install (e.g. bpack install glibc gcc will install glibc first then glibc). Bpack will automatically check for the dependencies and install them in order. Bpack will also realise if you are up to date on the package you are trying to install. If you want to install a particular version of a software then use bpack install package-version.
Remove
bpack remove [package]
Works very simular to install but it removes the given package. It can also take multiple packages to delete.
List
bpack list
Will list all the installed packages bpack knows about and the size of them.
Update
bpack update
This will sync the packages user has on his computer with the ones on the repo. At the moment this is in testing but it seems to work really well.
Upgrade
bpack upgrade [package]
In the case that the package is not installed already, it will install it. Otherwise the package currently installed will be upgraded to a later version. This is done by first compiling the newest version, then removing the old version, and then running make install. We need to implement some special ways of doing this with make and binutils, so it is recommended not to do this with any core package.
Scan
bpack scan
This will scan your computer for any packages it may have installed. This is not really very helpful.
Terminal
bpack terminal
This will make bpack emulate a terminal, once a the call make install is made, bpack will track it and list it under installed packages.
Clean
bpack clean [options]
If run with no options, bpack will clean both the tarballs and the packages. Otherwise the option cache will empty out the tarballs and packs will delete the packages.
/etc/bpack.conf
You can configure bpack using this file. The format for configuration is option:value. The symbol # is used for comments. Here are the options you can use
| Option | Value | Explanation |
| quitlevel | -2,-1,1,2 | Errors are of the type 0,1,2 depending on how severe it is. Possitive value will ignore these errors and a negative will ask on errors |
| cflags | string | The cflags bpack should use |
| cxxflags | string | The cxxflags bpack should use |
| collections | string | The collection bpack should get the packages from |
How Bpack Works
Installed Files
The installed file are kept at packs.list . The format is as follows
[name;
version;
locations;]
The line breaks do not matter here. If the package was scanned it will be preceeded by a ! .
Packages
Packages are kept at packs/ . The format of the package is option:value. The symbol # will be treated as a comment and bpack will read multiline (i.e. it will read everything in between the current option and the next one). The packages are stored as name-version (e.g. foobar-1.6 will be the package foobar version 1.6). The options are as follows;
| Option | What it does |
| location | This must be a url to the tarball on the web |
| preinstall | This will be run before the install (can use it to apply patches and such) |
| config | The value will go like this ./configure value. These should be the configure options |
| make | Same as above except these will be passed onto make |
| makeinst | Same as above except these will be passed onto make install |
| postinstall | Things to be run after make install |
| deps | These are the packages that the current package depends on. They must be seperated by commas |
| conf | The .conf file that should be written |
| conffile | The location that conf should be written |
| meta | A yes value here will make it a meta package |
The conf option is a bit special. It is much like a patch where you must specify which lines to add and take away. e.g.
+i love bpack
-bpack sucks
-mike is cool
+bati is god
Not all the options are necessary, the critical one is location but deps is also quite important. If you use conf, then make sure you have a conffile!!
Common Errors Bpack Will Throw
Cannot search!
This happens when bpacks search function cannot access the directory that it is being asked to search. The most common reasons are either because the directory doesn't exist (such as packs/ tarballs/) or that the user does not have the right premission.