pub struct BinaryPackageControlFile<'a> { /* private fields */ }Expand description
A Debian binary package control file/paragraph.
Binary package control files are defined by a single paragraph with well-defined fields. This type is a low-level wrapper around an inner ControlParagraph. Deref and DerefMut can be used to operate on the inner ControlParagraph. From and Into are implemented in both directions to enable cheap coercion between the types.
Binary package control paragraphs are seen in DEBIAN/control files. Variations
also exist in Packages files in repositories and elsewhere.
Fields annotated as mandatory in the Debian Policy Manual have getters that return Result and will error if a field is not present. Non-mandatory fields return Option. This enforcement can be bypassed by calling ControlParagraph::field().
Implementations
sourceimpl<'a> BinaryPackageControlFile<'a>
impl<'a> BinaryPackageControlFile<'a>
sourcepub fn version_str(&self) -> Result<&str>
pub fn version_str(&self) -> Result<&str>
The Version field as its original string.
sourcepub fn version(&self) -> Result<PackageVersion>
pub fn version(&self) -> Result<PackageVersion>
The Version field parsed into a PackageVersion.
sourcepub fn architecture(&self) -> Result<&str>
pub fn architecture(&self) -> Result<&str>
The Architecture field.
sourcepub fn maintainer(&self) -> Result<&str>
pub fn maintainer(&self) -> Result<&str>
The Maintainer field.
sourcepub fn description(&self) -> Result<&str>
pub fn description(&self) -> Result<&str>
The Description field.
sourcepub fn built_using(&self) -> Option<&str>
pub fn built_using(&self) -> Option<&str>
The Built-Using field.
sourcepub fn depends(&self) -> Option<Result<DependencyList>>
pub fn depends(&self) -> Option<Result<DependencyList>>
The Depends field, parsed to a DependencyList.
sourcepub fn recommends(&self) -> Option<Result<DependencyList>>
pub fn recommends(&self) -> Option<Result<DependencyList>>
The Recommends field, parsed to a DependencyList.
sourcepub fn suggests(&self) -> Option<Result<DependencyList>>
pub fn suggests(&self) -> Option<Result<DependencyList>>
The Suggests field, parsed to a DependencyList.
sourcepub fn enhances(&self) -> Option<Result<DependencyList>>
pub fn enhances(&self) -> Option<Result<DependencyList>>
The Enhances field, parsed to a DependencyList.
sourcepub fn pre_depends(&self) -> Option<Result<DependencyList>>
pub fn pre_depends(&self) -> Option<Result<DependencyList>>
The Pre-Depends field, parsed to a DependencyList.
sourcepub fn package_dependency_fields(&self) -> Result<PackageDependencyFields>
pub fn package_dependency_fields(&self) -> Result<PackageDependencyFields>
Obtain parsed values of all fields defining dependencies.
Methods from Deref<Target = ControlParagraph<'a>>
sourcepub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
Whether the paragraph is empty.
Empty is defined by the lack of any fields.
sourcepub fn set_field(&mut self, field: ControlField<'a>)
pub fn set_field(&mut self, field: ControlField<'a>)
Set the value of a field via a ControlField.
If a field with the same name (case insensitive compare) already exists, the old value will be replaced by the incoming value.
sourcepub fn set_field_from_string(&mut self, name: Cow<'a, str>, value: Cow<'a, str>)
pub fn set_field_from_string(&mut self, name: Cow<'a, str>, value: Cow<'a, str>)
Set the value of a field defined via strings.
If a field with the same name (case insensitive compare) already exists, the old value will be replaced by the incoming value.
sourcepub fn has_field(&self, name: &str) -> bool
pub fn has_field(&self, name: &str) -> bool
Whether a named field is present in this paragraph.
sourcepub fn iter_fields(&self) -> impl Iterator<Item = &ControlField<'a>>
pub fn iter_fields(&self) -> impl Iterator<Item = &ControlField<'a>>
Iterate over fields in this paragraph.
Iteration order is insertion order.
sourcepub fn field(&self, name: &str) -> Option<&ControlField<'a>>
pub fn field(&self, name: &str) -> Option<&ControlField<'a>>
Obtain the field with a given name in this paragraph.
sourcepub fn field_mut(&mut self, name: &str) -> Option<&'a mut ControlField<'_>>
pub fn field_mut(&mut self, name: &str) -> Option<&'a mut ControlField<'_>>
Obtain a mutable reference to the field with a given name.
sourcepub fn required_field(&self, name: &str) -> Result<&ControlField<'a>>
pub fn required_field(&self, name: &str) -> Result<&ControlField<'a>>
Obtain the named field and error if it isn’t defined.
sourcepub fn field_str(&self, name: &str) -> Option<&str>
pub fn field_str(&self, name: &str) -> Option<&str>
Obtain the raw string value of the named field.
sourcepub fn required_field_str(&self, name: &str) -> Result<&str>
pub fn required_field_str(&self, name: &str) -> Result<&str>
Obtain the raw string value of the named field, erroring if the field is not present.
sourcepub fn field_bool(&self, name: &str) -> Option<bool>
pub fn field_bool(&self, name: &str) -> Option<bool>
Obtain the value of a field, evaluated as a boolean.
The field is true iff its string value is yes.
sourcepub fn field_u64(&self, name: &str) -> Option<Result<u64>>
pub fn field_u64(&self, name: &str) -> Option<Result<u64>>
Obtain the value of a field, evaluated as a u64.
sourcepub fn field_dependency_list(&self, name: &str) -> Option<Result<DependencyList>>
pub fn field_dependency_list(&self, name: &str) -> Option<Result<DependencyList>>
Obtain the value of a field, parsed as a DependencyList.
sourcepub fn field_datetime_rfc5322(&self, name: &str) -> Option<Result<DateTime<Utc>>>
pub fn field_datetime_rfc5322(&self, name: &str) -> Option<Result<DateTime<Utc>>>
Obtain the value of a field parsed as an RFC 5322 date string.
This will parse values like Sat, 09 Oct 2021 09:34:56 UTC.
The timezone is always normalized to UTC even if it is expressed differently in the source string.
sourcepub fn field_simple(&self, name: &str) -> Option<Result<ControlFieldValue<'a>>>
pub fn field_simple(&self, name: &str) -> Option<Result<ControlFieldValue<'a>>>
Obtain the field with the given name as a ControlFieldValue::Simple, if possible.
sourcepub fn field_folded(&self, name: &str) -> Option<ControlFieldValue<'a>>
pub fn field_folded(&self, name: &str) -> Option<ControlFieldValue<'a>>
Obtain the field with the given name as a ControlFieldValue::Folded.
sourcepub fn field_multiline(&self, name: &str) -> Option<ControlFieldValue<'a>>
pub fn field_multiline(&self, name: &str) -> Option<ControlFieldValue<'a>>
Obtain the field with the given name as a ControlFieldValue::Multiline.
sourcepub fn iter_field_words(
&self,
name: &str
) -> Option<Box<dyn Iterator<Item = &str> + '_>>
pub fn iter_field_words(
&self,
name: &str
) -> Option<Box<dyn Iterator<Item = &str> + '_>>
Obtain an iterator of words in the named field.
sourcepub fn iter_field_lines(
&self,
name: &str
) -> Option<Box<dyn Iterator<Item = &str> + '_>>
pub fn iter_field_lines(
&self,
name: &str
) -> Option<Box<dyn Iterator<Item = &str> + '_>>
Obtain an iterator of lines in the named field.
sourcepub fn iter_field_comma_delimited(
&self,
name: &str
) -> Option<Box<dyn Iterator<Item = &str> + '_>>
pub fn iter_field_comma_delimited(
&self,
name: &str
) -> Option<Box<dyn Iterator<Item = &str> + '_>>
Obtain an iterator of comma-delimited values in the named field.
sourcepub fn as_str_hash_map(&self) -> HashMap<&str, &str>
pub fn as_str_hash_map(&self) -> HashMap<&str, &str>
Convert this paragraph to a HashMap.
Values will be the string normalization of the field value, including newlines and leading whitespace.
If a field occurs multiple times, its last value will be recorded in the returned map.
sourcepub fn write<W: Write>(&self, writer: &mut W) -> Result<()>
pub fn write<W: Write>(&self, writer: &mut W) -> Result<()>
Serialize the paragraph to a writer.
A trailing newline is written as part of the final field. However, an extra newline is not present. So if serializing multiple paragraphs, an additional line break must be written to effectively terminate this paragraph if the writer is not at EOF.
Trait Implementations
sourceimpl<'a> Clone for BinaryPackageControlFile<'a>
impl<'a> Clone for BinaryPackageControlFile<'a>
sourcefn clone(&self) -> BinaryPackageControlFile<'a>
fn clone(&self) -> BinaryPackageControlFile<'a>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more
sourceimpl<'cf, 'a: 'cf> DebPackageReference<'cf> for BinaryPackageControlFile<'a>
impl<'cf, 'a: 'cf> DebPackageReference<'cf> for BinaryPackageControlFile<'a>
sourcefn deb_size_bytes(&self) -> Result<u64>
fn deb_size_bytes(&self) -> Result<u64>
Obtain the size in bytes of the .deb file. Read more
sourcefn deb_digest(&self, checksum: ChecksumType) -> Result<ContentDigest>
fn deb_digest(&self, checksum: ChecksumType) -> Result<ContentDigest>
Obtains the binary digest of this file given a checksum flavor. Read more
sourcefn deb_filename(&self) -> Result<String>
fn deb_filename(&self) -> Result<String>
Obtain the filename of this .deb. Read more
sourcefn control_file_for_packages_index(
&self
) -> Result<BinaryPackageControlFile<'cf>>
fn control_file_for_packages_index(
&self
) -> Result<BinaryPackageControlFile<'cf>>
Obtain a BinaryPackageControlFile representing content for a Packages index file. Read more
sourceimpl<'a> Debug for BinaryPackageControlFile<'a>
impl<'a> Debug for BinaryPackageControlFile<'a>
sourceimpl<'a> Deref for BinaryPackageControlFile<'a>
impl<'a> Deref for BinaryPackageControlFile<'a>
type Target = ControlParagraph<'a>
type Target = ControlParagraph<'a>
The resulting type after dereferencing.
sourceimpl<'a> DerefMut for BinaryPackageControlFile<'a>
impl<'a> DerefMut for BinaryPackageControlFile<'a>
sourceimpl<'a> From<BinaryPackageControlFile<'a>> for ControlParagraph<'a>
impl<'a> From<BinaryPackageControlFile<'a>> for ControlParagraph<'a>
sourcefn from(cf: BinaryPackageControlFile<'a>) -> Self
fn from(cf: BinaryPackageControlFile<'a>) -> Self
Converts to this type from the input type.
sourceimpl<'a> From<ControlParagraph<'a>> for BinaryPackageControlFile<'a>
impl<'a> From<ControlParagraph<'a>> for BinaryPackageControlFile<'a>
sourcefn from(paragraph: ControlParagraph<'a>) -> Self
fn from(paragraph: ControlParagraph<'a>) -> Self
Converts to this type from the input type.
sourceimpl<'a> Hash for BinaryPackageControlFile<'a>
impl<'a> Hash for BinaryPackageControlFile<'a>
sourceimpl<'a> Ord for BinaryPackageControlFile<'a>
impl<'a> Ord for BinaryPackageControlFile<'a>
sourcefn cmp(&self, other: &BinaryPackageControlFile<'a>) -> Ordering
fn cmp(&self, other: &BinaryPackageControlFile<'a>) -> Ordering
1.21.0 · sourcefn max(self, other: Self) -> Self
fn max(self, other: Self) -> Self
Compares and returns the maximum of two values. Read more
1.21.0 · sourcefn min(self, other: Self) -> Self
fn min(self, other: Self) -> Self
Compares and returns the minimum of two values. Read more
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Self where
Self: PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Self where
Self: PartialOrd<Self>,
Restrict a value to a certain interval. Read more
sourceimpl<'a> PartialEq<BinaryPackageControlFile<'a>> for BinaryPackageControlFile<'a>
impl<'a> PartialEq<BinaryPackageControlFile<'a>> for BinaryPackageControlFile<'a>
sourcefn eq(&self, other: &BinaryPackageControlFile<'a>) -> bool
fn eq(&self, other: &BinaryPackageControlFile<'a>) -> bool
This method tests for self and other values to be equal, and is used
by ==. Read more
sourcefn ne(&self, other: &BinaryPackageControlFile<'a>) -> bool
fn ne(&self, other: &BinaryPackageControlFile<'a>) -> bool
This method tests for !=.
sourceimpl<'a> PartialOrd<BinaryPackageControlFile<'a>> for BinaryPackageControlFile<'a>
impl<'a> PartialOrd<BinaryPackageControlFile<'a>> for BinaryPackageControlFile<'a>
sourcefn partial_cmp(&self, other: &BinaryPackageControlFile<'a>) -> Option<Ordering>
fn partial_cmp(&self, other: &BinaryPackageControlFile<'a>) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
impl<'a> Eq for BinaryPackageControlFile<'a>
impl<'a> StructuralEq for BinaryPackageControlFile<'a>
impl<'a> StructuralPartialEq for BinaryPackageControlFile<'a>
Auto Trait Implementations
impl<'a> RefUnwindSafe for BinaryPackageControlFile<'a>
impl<'a> Send for BinaryPackageControlFile<'a>
impl<'a> Sync for BinaryPackageControlFile<'a>
impl<'a> Unpin for BinaryPackageControlFile<'a>
impl<'a> UnwindSafe for BinaryPackageControlFile<'a>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key and return true if they are equal.
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more