]> git.saurik.com Git - apt.git/blobdiff - README.md
do dpkg --configure before --remove/--purge --pending
[apt.git] / README.md
index 40bb6998da2b4a54e9d45ae2d4e96b38092f61e7..981e878a04f0773cd3ade8ca4dd2fb95a2acb1ed 100644 (file)
--- a/README.md
+++ b/README.md
@@ -35,25 +35,34 @@ Our bugtracker as well as a general overview can be found at the [Debian Tracker
 Contributing
 ------------
 APT is maintained in git, the official repository being located at
-`git://anonscm.debian.org/apt/apt.git` ([webgit](http://anonscm.debian.org/gitweb/?p=apt/apt.git)),
+`git://anonscm.debian.org/apt/apt.git` ([webgit](https://anonscm.debian.org/git/apt/apt.git)),
 but also available at other locations like [GitHub](https://github.com/Debian/apt).
 
-The default branch is `debian/sid`, other branches targeted at different
+The default branch is `master`, other branches targeted at different
 derivatives and releases being used as needed. Various topic branches in
 different stages of completion might be branched of from those, which you
 are encouraged to do as well.
 
 ### Coding
 
-APT uses its own autoconf based build system, see [README.make](http://anonscm.debian.org/gitweb/?p=apt/apt.git;a=blob;f=README.make)
-for the glory details, but to get started, just run:
+APT uses cmake. To start building, you need to run
 
-       $ make
+       cmake <path to source directory>
 
-from a fresh git checkout.
+from a build directory. For example, if you want to build in the source tree,
+run:
+
+       cmake .
+
+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
+       -G Ninja
+to the cmake invocation, and then use ninja instead of make.
 
 The source code uses in most parts a relatively uncommon indent convention,
-namely 3 spaces with 8 space tab (see [doc/style.txt](http://anonscm.debian.org/gitweb/?p=apt/apt.git;a=blob;f=doc/style.txt) for more on this).
+namely 3 spaces with 8 space tab (see [doc/style.txt](https://anonscm.debian.org/git/apt/apt.git/tree/doc/style.txt) for more on this).
 Adhering to it avoids unnecessary code-churn destroying history (aka: `git blame`)
 and you are therefore encouraged to write patches in this style.
 Your editor can surely help you with this, for vim the settings would be
@@ -86,12 +95,8 @@ Testing
 
 ### Manual execution
 
-When you make changes and want to run them manually, make sure your
-`$LD_LIBRARY_PATH` points to the libraries you have built, e.g. via:
-
-       $ export LD_LIBRARY_PATH=$(pwd)/build/bin
-       $ ./build/bin/apt-get moo
-
+When you make changes and want to run them manually, you can just do so. CMake
+automatically inserts an rpath so the binaries find the correct libraries.
 
 ### Integration tests
 
@@ -110,8 +115,10 @@ itself as well as in conjunction with dpkg and other tools while working with pa
 
 ### Unit tests
 
-These tests are gtest-dev based, reside in `./test/libapt` and can be run with `make test`.
-They are executed at package build-time, but not by `make`.
+These tests are gtest-dev based, executed by ctest, reside in `./test/libapt`
+and can be run with `make test`. They are executed at package build-time, but
+not by `make`. CTest by default does not show the output of tests, even if they
+failed, so to see more details you can also run them with `ctest --verbose`.
 
 Debugging
 ---------