|0.3.2||Oct 30, 2020|
|0.3.1||Dec 29, 2019|
|0.3.0||Nov 18, 2017|
|0.2.1||Sep 9, 2017|
|0.1.0||Jul 13, 2017|
#193 in Operating systems
222 downloads per month
Used in deb-version
This crate provides bindings to
Documentation and Examples
examples/ folder for some partial implementations of some commands.
While the code in this crate is available under a permissive MIT license,
it is useless without
which is GPL2+.
libapt-pkg-dev must be installed. The
crate is used to try and find a native compiler.
ye-olde-apt feature provides support for
apt <1.2 (Ubuntu 14.04 (Trusty),
Debian 7 (Jessie) (2015)). This works by just deleting methods which are not
available in that version. See
It is intended that the crate should be usable from multiple threads. However, this is generally implemented using singletons, which may be really annoying for your use-case.
The current way the singleton is managed is awful, and it's not been fixed while I've been learning about the problems. A major version bump, and a proper singleton, may resolve some of the issues. This needs to be done eventually.
apt does not have a concurrency model: you may not use threads.
apt 1.4 or 1.5 (in Debian Stretch (2017), but not in Xenial 16.04),
some operations are thread safe: it should be possible to initialise the cache
twice in parallel. As these versions of
apt are not widespread, the API of
this crate does not attempt to expose this.
Switching distro with
examples/on-sid has a docker file which builds a minimum Debian image with
typical package lists downloaded. You can run a tool in it, from this directory,
(cd examples/on-sid && make) docker run -v $(pwd):/mnt sid-sources-list /mnt/target/release/examples/sources