Deb-pkg-tools

Latest version: v8.3

Safety actively analyzes 629639 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 25

4.0

---------------------------

- **Added support for parsing of architecture restrictions** (`9`_).

- Switched ``deb_pkg_tools.deps`` to use ``property-manager`` and removed
``cached-property`` requirement in the process:

- This change simplified the deb-pkg-tools code base by removing the
``deb_pkg_tools.compat.total_ordering`` and
``deb_pkg_tools.utils.OrderedObject`` classes.

- The introduction of ``property-manager`` made it easier for me to
extend ``deb_pkg_tools.deps`` with the changes required to support
'architecture restrictions' (issue `9`_).

- Add ``Build-Depends`` to ``DEPENDS_LIKE_FIELDS``. I noticed while testing
with the example provided in issue `9`_ that the dependencies in the
``Build-Depends`` field weren't being parsed. Given that I was working on
adding support for parsing of architecture restrictions (as suggested in
issue `9`_) this seemed like a good time to fix this 🙂.

- Updated ``generate_stdeb_cfg()``.

**About backwards compatibility:**

I'm bumping the major version number because 754debc0b61_ removed the
``deb_pkg_tools.compat.total_ordering`` and ``deb_pkg_tools.utils.OrderedObject``
classes and internal methods like ``_key()`` so strictly speaking this breaks
backwards compatibility, however both of these classes were part of
miscellaneous scaffolding used by deb-pkg-tools but not an intentional part of
the documented API, so I don't expect this to be particularly relevant to most
(if not all) users of deb-pkg-tools.

.. _Release 4.0: https://github.com/xolox/python-deb-pkg-tools/compare/3.1...4.0
.. _9: ttps://github.com/xolox/python-deb-pkg-tools/issues/9
.. _754debc0b61: https://github.com/xolox/python-deb-pkg-tools/commit/754debc0b61

3.1

---------------------------

- Merged pull request `8`_: Add support for ``*.udeb`` micro packages.
- Updated test suite after merging `8`_.
- Suggest memcached in ``stdeb.cfg``.
- Added ``readme`` target to ``Makefile``.

.. _Release 3.1: https://github.com/xolox/python-deb-pkg-tools/compare/3.0...3.1
.. _8: ttps://github.com/xolox/python-deb-pkg-tools/pull/8

3.0

---------------------------

This release was a huge refactoring to enable concurrent related package
collection. In the process I switched from SQLite to the Linux file system
(augmented by memcached) because SQLite completely collapsed under concurrent
write activity (it would crap out consistently beyond a certain number of
concurrent readers and writers).

Detailed changes:

- Refactored makefile, setup script, Travis CI configuration, etc.
- Bug fix: Don't unnecessarily garbage collect cache.
- Experimented with increased concurrency using SQLite Write-Ahead Log (WAL).
- Remove redundant :py: prefixes from RST references
- Fix broken RST references logged by ``sphinx-build -n``.
- Moved ``deb_pkg_tools.utils.compact()`` to ``humanfriendly.text.compact()``.
- Fixed a broken pretty printer test.
- Implement and enforce PEP-8 and PEP-257 compliance
- Switch from SQLite to filesystem for package cache (to improve concurrency
between readers and writers). The WAL did not improve things as much as I
would have hoped...
- Document and optimize filesystem based package metadata cache
- Add some concurrency to ``deb-pkg-tools --collect`` (when more than one
archive is given, the collection of related archives is performed
concurrently for each archive given).
- Re-implement garbage collection for filesystem based cache.
- Improvements to interactive package collection:

- Don't use multiprocessing when a single archive is given because it's kind
of silly to fork subprocesses for no purpose at all.

- Restored the functionality of the optional 'cache' argument because the new
in memory / memcached / filesystem based cache is so simple it can be
passed to multiprocessing workers.

- Enable manual garbage collection (``deb-pkg-tools --garbage-collect``).
- Updated usage in readme.
- Improvements to interactive package collection:

- A single spinner is rendered during concurrent collection (instead of
multiple overlapping spinners that may not be synchronized).

- The order of the ``--collect`` and ``--yes`` options no longer matters.

- When the interactive spinner is drawn it will always be cleared, even if
the operator presses Control-C (previously it was possible for the text
cursor to remain hidden after ``deb-pkg-tools --collect`` was interrupted
by Control-C).

- Include command line interface in documentation.

.. _Release 3.0: https://github.com/xolox/python-deb-pkg-tools/compare/2.0...3.0

2.0

---------------------------

Stop using the system wide temporary directory in order to enable concurrent builds.

.. _Release 2.0: https://github.com/xolox/python-deb-pkg-tools/compare/1.37...2.0

1.37

----------------------------

Significant changes:

- Prefer hard linking over copying of package archives from one directory to another.

- Change Unicode output handling in command line interface. This revisits the
'hack' that I implemented in bc9b52419ea_ because I noticed today (after
integrating ``humanfriendly.prompts.prompt_for_confirmation()``) that the
wrapping of ``sys.stdout`` disables libreadline support in interactive
prompts (``input()`` and ``raw_input()``) which means readline hints are
printed to stdout instead of being interpreted by libreadline, making
interactive prompts rather hard to read :-s.

Miscellaneous changes:

- Test Python 3.5 on Travis CI.
- Don't test tags on Travis CI.
- Use ``pip`` instead of ``python setup.py install`` on Travis CI.
- Uncovered and fixed a Python 3 incompatibility in the test suite.

.. _Release 1.37: https://github.com/xolox/python-deb-pkg-tools/compare/1.36...1.37
.. _bc9b52419ea: https://github.com/xolox/python-deb-pkg-tools/commit/bc9b52419ea

1.36

----------------------------

Make it possible to integrate with GPG agent (``$GPG_AGENT_INFO``).

.. _Release 1.36: https://github.com/xolox/python-deb-pkg-tools/compare/1.35...1.36

Page 4 of 25

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.