Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
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@example.com> Mike Bush <firstname.lastname@example.org> Visit our website at http://www.bpack.co.uk/ == b == ==Donations== Hope springs eternal eh?