Expand description
A lossless parser for Debian changelog files.
See https://manpages.debian.org/bookworm/dpkg-dev/deb-changelog.5.en.html
For its format specification, see Debian Policy.
Example:
use std::io::Read;
let contents = r#"rustc (1.70.0+dfsg1-1) unstable; urgency=medium
* Upload to unstable
-- Jelmer Vernooij <jelmer@debian.org> Wed, 20 Sep 2023 20:18:40 +0200
"#;
let changelog: debian_changelog::ChangeLog = contents.parse().unwrap();
assert_eq!(
vec![("rustc".to_string(), "1.70.0+dfsg1-1".parse().unwrap())],
changelog.iter().map(
|e| (e.package().unwrap(), e.version().unwrap()))
.collect::<Vec<_>>());
Modules§
Structs§
- Change
Log - A node in the changelog syntax tree.
- Entry
- A node in the changelog syntax tree.
- Identity
- Simple representation of an identity.
- Parse
Error - Error while parsing
Enums§
- Error
- Error while reading a changelog file.
- Syntax
Kind - Let’s start with defining all kinds of tokens and composite nodes.
- Urgency
- Urgency of the changes in the changelog entry
Functions§
- distribution_
is_ unreleased - Check if the given distribution marks an unreleased entry.
- distributions_
is_ unreleased - Check if any of the given distributions marks an unreleased entry.
- gbp_dch
- Update changelog with commit messages from commits
- get_
maintainer - Get the maintainer information in the same manner as dch.
- get_
maintainer_ from_ env - Get the maintainer information from the environment.
- is_
unreleased_ inaugural - Check whether this is a traditional inaugural release
- parseaddr
- Parse a identity string
- release
- Create a release for a changelog file.
- take_
uploadership - Take uploadership of a changelog entry, but attribute contributors.