diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 78 |
1 files changed, 39 insertions, 39 deletions
@@ -1,8 +1,8 @@ APT === -apt is the main commandline package manager for Debian and its derivatives. -It provides commandline tools for searching and managing as well as querying +apt is the main command-line package manager for Debian and its derivatives. +It provides command-line tools for searching and managing as well as querying information about packages as well as low-level access to all features provided by the libapt-pkg and libapt-inst libraries which higher-level package managers can depend upon. @@ -13,24 +13,24 @@ Included tools are: from authenticated sources and for installation, upgrade and removal of packages together with their dependencies * **apt-cache** for querying available information about installed - as well as installable packages + as well as available packages * **apt-cdrom** to use removable media as a source for packages * **apt-config** as an interface to the configuration settings * **apt-key** as an interface to manage authentication keys * **apt-extracttemplates** to be used by debconf to prompt for configuration questions before installation * **apt-ftparchive** creates Packages and other index files - needed to publish an archive of debian packages + needed to publish an archive of deb packages * **apt-sortpkgs** is a Packages/Sources file normalizer -* **apt** is a high-level commandline interface for better interactive usage +* **apt** is a high-level command-line interface for better interactive usage The libraries libapt-pkg and libapt-inst are also maintained as part of this project, -alongside various additional binaries like the acquire-methods used by them. +alongside various additional binaries like the acquire methods used by them. Bindings for Python ([python-apt](https://tracker.debian.org/pkg/python-apt)) and Perl ([libapt-pkg-perl](https://tracker.debian.org/pkg/libapt-pkg-perl)) are available as separated projects. -Discussion happens mostly on [the mailinglist](mailto:deity@lists.debian.org) ([archive](https://lists.debian.org/deity/)) and on [IRC](irc://irc.oftc.net/debian-apt). -Our bugtracker as well as a general overview can be found at the [Debian Tracker page](https://tracker.debian.org/pkg/apt). +Discussion happens mostly on [the mailing list](mailto:deity@lists.debian.org) ([archive](https://lists.debian.org/deity/)) and on [IRC](irc://irc.oftc.net/debian-apt). +Our bug tracker as well as a general overview can be found at the [Debian Tracker page](https://tracker.debian.org/pkg/apt). Contributing @@ -46,7 +46,7 @@ are encouraged to do as well. ### Coding -APT uses cmake. To start building, you need to run +APT uses CMake. To start building, you need to run cmake <path to source directory> @@ -55,10 +55,10 @@ run: cmake . -Then you can use make as you normally would (pass -j <count> to perform <count> +Then you can use make as you normally would (pass `-j <count>` to perform `<count>` jobs in parallel). -You can also use the Ninja generator of cmake, to do that pass +You can also use the Ninja generator of CMake, to do that pass -G Ninja to the cmake invocation, and then use ninja instead of make. @@ -73,23 +73,23 @@ Your editor can surely help you with this, for vim the settings would be ### Translations While we welcome contributions here, we highly encourage you to contact the [Debian Internationalization (i18n) team](https://wiki.debian.org/Teams/I18n). -Various language teams have formed which can help you creating, maintaining -and improving a translation, while we could only do a basic syntax check of the +Various language teams have formed which can help you create, maintain +and improve a translation, while we could only do a basic syntax check of the file format… -Further more, Translating APT is split into two independent parts: +Further more, translating APT is split into two independent parts: The program translation, meaning the messages printed by the tools, -as well as the manpages and other documentation shipped with APT. +as well as the manual pages and other documentation shipped with APT. ### Bug triage -Software tools like APT which are used by thousands of users every -day have a steady flow of incoming bugreports. Not all of them are really -bugs in APT: It can be packaging bugs like failing maintainer scripts a -user reports against apt, because apt was the command he executed leading -to this failure or various wishlist items for new features. Given enough time -also the occasional duplicate enters the system. -Our bugtracker is therefore full with open bugreports which are waiting for you! ;) +Software tools like APT, which are used by thousands of users every +day, have a steady flow of incoming bug reports. Not all of them are really +bugs in APT: It can be packaging bugs, like failing maintainer scripts, that a +user reports against apt, because apt was the command he executed that lead +to this failure; or various wishlist items for new features. Given enough time +the occasional duplicate enters the system as well. +Our bug tracker is therefore full with open bug reports which are waiting for you! ;) Testing ------- @@ -101,17 +101,17 @@ automatically inserts an rpath so the binaries find the correct libraries. Note that you have to invoke CMake with the right install prefix set (e.g. `-DCMAKE_INSTALL_PREFIX=/usr`) to have your build find and use the right files -by default or alternatively set the locations at runtime via an `APT_CONFIG` +by default or alternatively set the locations at run-time via an `APT_CONFIG` configuration file. ### Integration tests -There is an extensive integration testsuite available which can be run via: +There is an extensive integration test suite available which can be run via: $ ./test/integration/run-tests Each test can also be run individually as well. The tests are very noisy by -default, especially so while running all of them it might be beneficial to +default, especially so while running all of them; it might be beneficial to enabling quiet (`-q`) or very quiet (`-qq`) mode. The tests can also be run in parallel via `-j X` where `X` is the number of jobs to run. @@ -121,7 +121,7 @@ run them on [Travis CI](https://travis-ci.org/) and [Shippable](https://shippable.com/) as well as via autopkgtests e.g. on [Debian Continuous Integration](https://ci.debian.net/packages/a/apt/). -A testcase here is a shellscript embedded in a framework creating an environment in which +A test case here is a shell script embedded in a framework creating an environment in which apt tools can be used naturally without root-rights to test every aspect of its behavior itself as well as in conjunction with dpkg and other tools while working with packages. @@ -137,24 +137,24 @@ Debugging --------- APT does many things, so there is no central debug mode which could be -activated. It uses instead various config-options to activate debug output +activated. Instead, it uses various configuration options to activate debug output in certain areas. The following describes some common scenarios and generally useful options, but is in no way exhaustive. -Note that you should *NEVER* use these settings as root to avoid accidents. +Note that, to avoid accidents, you should *NEVER* use these settings as root. Simulation mode (`-s`) is usually sufficient to help you run apt as a non-root user. ### Using different state files -If a dependency solver bug is reported, but can't be reproduced by the -triager easily, it is beneficial to ask the reporter for the -`/var/lib/dpkg/status` file, which includes the packages installed on the +If a dependency solver bug is reported, but can't easily be reproduced by the +triager, it is beneficial to ask the reporter for the +`/var/lib/dpkg/status` file which includes the packages installed on the system and in which version. Such a file can then be used via the option `dir::state::status`. Beware of different architecture settings! -Bugreports usually include this information in the template. Assuming you +Bug reports usually include this information in the template. Assuming you already have the `Packages` files for the architecture (see `sources.list` manpage for the `arch=` option) you can change to a different architecture -with a config file like: +with a configuration file like: APT::Architecture "arch1"; #clear APT::Architectures; @@ -174,7 +174,7 @@ and marked for installation, keep back or removal. Option `Debug::pkgDepCache::M shows this. This also decides which packages are to be installed to satisfy dependencies, which can be seen by `Debug::pkgDepCache::AutoInstall`. After this is done, we might be in a situation in which two packages want to be installed, but only on of them can be. -It is the job of the pkgProblemResolver to decide which of two packages 'wins' and can +It is the job of the `pkgProblemResolver` to decide which of two packages 'wins' and can therefore decide what has to happen. You can see the contenders as well as their fight and the resulting resolution with `Debug::pkgProblemResolver`. @@ -184,8 +184,8 @@ Various binaries (called 'methods') are tasked with downloading files. The Acqui talks to them via simple text protocol. Depending on which side you want to see, either `Debug::pkgAcquire::Worker` or `Debug::Acquire::http` (or similar) will show the messages. -The integration tests use a simple self-built webserver which also logs. If you find that -the http(s) methods do not behave like they should be try to implement this behavior in the +The integration tests use a simple self-built web server (`webserver`) which also logs. If you find that +the http(s) methods do not behave like they should be try to implement this behavior in webserver for simpler and more controlled testing. ### Installation order @@ -207,9 +207,9 @@ Additional documentation Many more things could and should be said about APT and its usage but are more targeted at developers of related programs or only of special interest. -* [Protocol specification of APTs communication with external dependency solvers (EDSP)](./doc/external-dependency-solver-protocol.md) -* [Protocol specification of APTs communication with external installation planners (EIPP)](./doc/external-installation-planner-protocol.md) -* [Howto use and configure APT to acquire additional files in 'update' operations](./doc/acquire-additional-files.md) +* [Protocol specification of APT's communication with external dependency solvers (EDSP)](./doc/external-dependency-solver-protocol.md) +* [Protocol specification of APT's communication with external installation planners (EIPP)](./doc/external-installation-planner-protocol.md) +* [How to use and configure APT to acquire additional files in 'update' operations](./doc/acquire-additional-files.md) * [Download and package installation progress reporting details](./doc/progress-reporting.md) * [Remarks on DNS SRV record support in APT](./doc/srv-records-support.md) * [Protocol specification of APT interfacing with external hooks via JSON](./doc/json-hooks-protocol.md) |