A tool that builds packages, updates package repos, and bumps versions
APACHE-2.0 License
Bulk is a super-simple packaging utility. It's similar to fpm_ but implemented in rust.
It does three things for you:
.. _fpm: https://github.com/jordansissel/fpm
:Status: Alpha
Default packaging tools for debian are too complex. Also I wanted:
It turned out that all functionality I needed from fpm_ could be reimplemented in a night, so we have a new tool, ready for the new experiments.
Bulk should be simple. While we may lift few limitation in future versions we don't aim to support all the features.
Limitations are:
Currently we provide static binary for x86_64:
wget http://files.zerogw.com/bulk/bulk-0.4.12.tar.gz
tar -xzf bulk-0.4.12.tar.gz -C /
Or you can install it with cargo:
cargo install bulk
This will install bulk in /usr/bin
. Ubuntu packages will be available
shortly.
Build program and install to some directory, say pkg
. Put some metadata
into bulk.yaml
. Then pack it into a debian package::
bulk pack --config bulk.yaml --dir pkg --dest-dir dist
And you will get a package in dist
directory. You may find the example
bulk.yaml
in this repository.
Just a few examples on how to prepare things to be packaged. With autotools it looks like this::
./configure --prefix=/usr
make
rm -rf pkg
make install DESTDIR=$(pwd)/pkg
bulk pack --config bulk.yaml --dir pkg --dest-dir dist
Or with new cargo install
::
rm -rf pkg
cargo install PACKAGE_NAME --root ./pkg/usr
rm pkg/usr/.crates.toml
bulk pack --config bulk.yaml --dir pkg --dest-dir dist
This way you may package crate from crates.io.
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.