manipulation of Debian package control files
Project description
Debmutate is a set of Python modules for manipulating the control files of Debian packages, with the ability to preserve the existing formatting of the control files.
It’s built on top of the excellent [python-debian](https://salsa.debian.org/python-debian-team/python-debian) library, and was originally extracted from [lintian-brush](https://salsa.debian.org/jelmer/lintian-brush).
To modify one of the control files, use one of the context managers to edit the file.
For example, for debian/control:
from debmutate.control import ControlEditor with ControlEditor(path='debian/control') as control: print(control.source['Maintainer']) control.source['Maintainer'] = "Jelmer Vernooij <jelmer@debian.org>"
Or for debian/changelog:
from debmutate.changelog import ChangelogEditor with ChangelogEditor(path='debian/changelog') as editor: editor.add_entry(['Some entry'])
Once you leave the context manager, the changes will be written to disk if there were any. If the editor is unable to preserve the formatting of the control file, it will raise a FormattingUnpreservable error.
If the control file that was edited was generated from another control file (e.g. debian/control.in), debmutate will attempt to update that file instead and then regenerate debian/control. If it is unable to do so, it will raise a GeneratedFile exception.
The file will be left as-is if an exception is raised, or if the .cancel() method is called.
debmutate currently provides editors for the following control files:
debian/changelog
debian/copyright
debian/control
debian/patches/series
debian/tests/control
debian/watch
debian/maintscripts, debian/*.maintscripts
debian/source/lintian-overrides, debian/*.lintian-overrides
debian/debcargo.toml
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file debmutate-0.59.tar.gz
.
File metadata
- Download URL: debmutate-0.59.tar.gz
- Upload date:
- Size: 72.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | de20ae0dba66f423a11362ece6bdd445b16070271d4d56d9fd7a15c8bd44f1e2 |
|
MD5 | 1dc47442972c22853dcd117bde12f326 |
|
BLAKE2b-256 | aa947c1c208d1195b1f34685ba98c2a9bfe20f65b092a368fd53375982377c6d |