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<_>>());Re-exports§
Modules§
Structs§
- Change
- Represents a logical change within a changelog entry.
- Change
Log - A node in the changelog syntax tree.
- Entry
- A node in the changelog syntax tree.
- Entry
Body - A node in the changelog syntax tree.
- Entry
Footer - A node in the changelog syntax tree.
- Entry
Header - A node in the changelog syntax tree.
- Identity
- Simple representation of an identity.
- Maintainer
- A node in the changelog syntax tree.
- Metadata
Entry - A node in the changelog syntax tree.
- Metadata
Key - A node in the changelog syntax tree.
- Metadata
Value - A node in the changelog syntax tree.
- Parse
- The result of parsing: a syntax tree and a collection of errors.
- Parse
Error - Error while parsing
- Timestamp
- A node in the changelog syntax tree.
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
Constants§
- UNRELEASED
- Constant for the unreleased distribution name
Traits§
- Into
Timestamp - Trait for types that can be converted to a timestamp string
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
- iter_
changes_ by_ author - Iterator over all changes across all entries, grouped by author.
- iter_
entries_ by_ author - Iterator over changelog entries grouped by author (maintainer).
- parseaddr
- Parse a identity string
- release
- Create a release for a changelog file.
- take_
uploadership - Take uploadership of a changelog entry, but attribute contributors.