diff options
| author | Ulf Magnusson <ulfalizer@gmail.com> | 2017-09-23 18:16:25 +0200 |
|---|---|---|
| committer | Ulf Magnusson <ulfalizer@gmail.com> | 2017-09-23 18:32:03 +0200 |
| commit | 46378988f58ab363eb8eb3088d596a1a8f7a6bab (patch) | |
| tree | 960bded6903fa20960dd2fde4910380484cb1115 | |
| parent | c91cf2edcd20ab29d5693003387a627210fe9f0e (diff) | |
Add installation instructions for PyPIv1.0.0
Along with the v1.0.0 tag. First version has been pushed to PyPI.
| -rw-r--r-- | README.rst | 67 |
1 files changed, 41 insertions, 26 deletions
@@ -16,22 +16,43 @@ on non-\*nix platforms Installation ------------ -Installation instructions for the Linux kernel -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Installation with pip +~~~~~~~~~~~~~~~~~~~~~ -Run the following commands in the kernel root: +Kconfiglib is available on `PyPI <https://pypi.python.org/pypi>`_ and can be +installed with + +.. code:: + + $ pip(3) install kconfiglib + +All releases have a corresponding tag in the git repository, e.g. ``v1.0.0``. +`Semantic versioning <http://semver.org/>`_ is used. + +Installation for the Linux kernel +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +After installing with ``pip(3)``, apply ``makefile.patch`` +by running e.g. the following commands in the kernel root: + +.. code:: sh + + $ wget https://raw.githubusercontent.com/ulfalizer/Kconfiglib/master/makefile.patch + $ git am makefile.patch + +If you do not wish to install anything, the following manual approach will work as well: .. code:: sh $ git clone git://github.com/ulfalizer/Kconfiglib.git $ git am Kconfiglib/makefile.patch -*(Note: The directory name Kconfiglib/ is significant.)* +(Warning: The directory name ``Kconfiglib/`` is significant in this case, because it's added to ``PYTHONPATH`` by the new targets in ``makefile.patch``.) In addition to creating a handy interface, the make targets created by the patch (``scriptconfig`` and ``iscriptconfig``) are needed to pick up environment variables set in the kernel makefiles and later referenced in the Kconfig files -(``ARCH``, ``SRCARCH``, and ``KERNELVERSION`` as of Linux v4.0-rc3). +(``ARCH``, ``SRCARCH``, and ``KERNELVERSION`` as of Linux v4.14.0-rc1). The documentation explains how the make targets are used. The compatibility tests in the test suite also needs them. @@ -39,31 +60,24 @@ Please tell me if the patch does not apply. It should be trivial to apply manually, as it's just a block of text that needs to be inserted near the other ``*conf:`` targets. -Installation instructions for other projects -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Manual installation +~~~~~~~~~~~~~~~~~~~ The entire library is contained in `kconfiglib.py <https://github.com/ulfalizer/Kconfiglib/blob/master/kconfiglib.py>`_. -Drop it somewhere and read the documentation. Make sure Kconfiglib sees environment -variables referenced in the configuration. - -You can also use pip to install: - -.. code:: sh - - $ pip install https://github.com/ulfalizer/Kconfiglib/tarball/master +Just drop it somewhere. Documentation ------------- -The (extensive) documentation is generated by running +The (extensive) documentation is generated by running the following command in the same +directory as ``kconfiglib.py``: .. code:: sh $ pydoc kconfiglib -in the ``Kconfiglib/`` directory. For HTML output, -use +For HTML output, use .. code:: sh @@ -99,8 +113,9 @@ The test suite is run with $ python(3) Kconfiglib/testsuite.py -It must be run from the top-level kernel directory. - +It must be run from the top-level kernel directory, and require that the git repository has +been cloned into it and ``makefile.patch`` applied. + **NOTE: Some tests currently overwrite .config in the kernel root, so make sure to back it up.** The test suite consists of a set of selftests and a set of compatibility tests that @@ -162,7 +177,7 @@ Notes dependencies. For example, a list of symbols where all symbols depend on the first symbol creates a cosmetic menu rooted at the first symbol. Recreating such menus is awkward. - + There is already basic support internally though, because it's needed to get obscure choice behavior right. See ``_determine_actual_symbols()`` and its helper ``_has_auto_menu_dep_on()``. @@ -179,11 +194,11 @@ Notes defconfigs on e.g. Linux 3.7.0-rc8 are due to [a bug in the C implementation](https://lkml.org/lkml/2012/12/5/458): - * ``arch/blackfin/configs/CM-BF537U\_defconfig`` - * ``arch/blackfin/configs/BF548-EZKIT\_defconfig`` - * ``arch/blackfin/configs/BF527-EZKIT\_defconfig`` - * ``arch/blackfin/configs/BF527-EZKIT-V2\_defconfig`` - * ``arch/blackfin/configs/TCM-BF537\_defconfig`` + * ``arch/blackfin/configs/CM-BF537U_defconfig`` + * ``arch/blackfin/configs/BF548-EZKIT_defconfig`` + * ``arch/blackfin/configs/BF527-EZKIT_defconfig`` + * ``arch/blackfin/configs/BF527-EZKIT-V2_defconfig`` + * ``arch/blackfin/configs/TCM-BF537_defconfig`` Thanks ------ |
