Crate alpm_types

Source
Expand description

§alpm-types

Types for Arch Linux Package Management.

The provided types and the traits they implement can be used in package management related applications (e.g. package manager, repository manager, special purpose parsers and file specifications, etc.) which deal with libalpm based packages.

This library strives to provide all underlying types for writing ALPM based software as a leaf-crate, so that they can be shared across applications and none of them has to implement them itself.

§Documentation

§Contributing

Please refer to the contribution guidelines to learn how to contribute to this project.

§License

This project can be used under the terms of the Apache-2.0 or MIT. Contributions to this project, unless noted otherwise, are automatically licensed under the terms of both of those licenses.

Modules§

checksum 🔒
compression 🔒
File compression related types.
date 🔒
digests
Public re-exports of common hash functions, for use with Checksum.
env 🔒
error 🔒
file_type 🔒
File type handling.
license 🔒
name 🔒
openpgp 🔒
package 🔒
Types related to package sources, contents and files.
path 🔒
pkg 🔒
relation 🔒
semver_version
Public re-exports for use with SchemaVersion.
size 🔒
source 🔒
system 🔒
url 🔒
version 🔒

Structs§

AbsolutePath
A representation of an absolute path
BuildTool
A build tool name
BuildToolVersion
The version and architecture of a build tool
Checksum
A checksum using a supported algorithm
Epoch
An epoch of a package
ExtraData
Extra data associated with a package
InstalledPackage
Information on an installed package in an environment
Name
A package name
OpenPGPKeyId
An OpenPGP Key ID.
OpenPGPv4Fingerprint
An OpenPGP v4 fingerprint.
OptionalDependency
An optional dependency for a package.
PackageFileName
The full filename of a package.
PackageRelation
A package relation
PackageRelease
The release version of a package.
PackageVersion
A pkgver of a package
Packager
A packager of a package
RelativePath
A representation of a relative file path
SchemaVersion
The schema version of a type
SharedObjectName
A shared object name.
Soname
The value of a shared object’s soname.
SonameV2
Representation of soname data of a shared object based on the alpm-sonamev2 specification.
SourceUrl
A URL for package sources.
Url
Represents a URL.
Version
A version of a package
VersionRequirement
A version requirement, e.g. for a dependency package.
VersionSegments
An Iterator over all VersionSegments of an upstream version string. Check the documentation on VersionSegment to see how a string is split into segments.

Enums§

Architecture
CPU architecture
BuildEnvironmentOption
An option string used in a build environment
CompressionAlgorithmFileExtension
The file extension of a compression algorithm.
ElfArchitectureFormat
ELF architecture format.
Error
The library’s error type
FileTypeIdentifier
The identifier of a file type used in ALPM.
License
Represents a license expression that can be either a valid SPDX identifier or a non-standard one.
MakepkgOption
Wraps the PackageOption and BuildEnvironmentOption enums.
MetadataFileName
The name of a required metadata file in an alpm-package.
OpenPGPIdentifier
An OpenPGP key identifier.
PackageError
The error that can occur when handling types related to package data.
PackageOption
An option string used in packaging
PackageType
The type of a package
RelationOrSoname
Provides either a PackageRelation or a SonameV1::Basic.
SkippableChecksum
A Checksum that may be skipped.
SonameV1
Representation of soname data of a shared object based on the alpm-sonamev1 specification.
Source
Represents the location that a source file should be retrieved from
VersionComparison
Specifies the comparison function for a VersionRequirement.
VersionOrSoname
Provides either a PackageVersion or a SharedObjectName.
VersionSegment
This enum represents a single segment in a version string. VersionSegments are returned by the VersionSegments iterator, which is responsible for splitting a version string into its segments.

Constants§

INSTALL_SCRIPTLET_FILE_NAME
The name of an alpm-install-scriptlet file in an alpm-package.
PKGBUILD_FILE_NAME
The name of a PKGBUILD file in a package source repository.
SRCINFO_FILE_NAME
The name of a SRCINFO file in a package source repository.

Traits§

Digest
Convenience wrapper trait covering functionality of cryptographic hash functions with fixed output size.
FromOffsetDateTime
A trait for allowing conversion from an [OffsetDateTime] to a type.

Type Aliases§

Backup
The path of a packaged file that should be preserved during package operations
Blake2b512Checksum
A checksum using the Blake2b512 algorithm
BuildDate
A build date in seconds since the epoch
BuildDirectory
An absolute path used as build directory
Changelog
The relative path to a changelog file that may be included in a package
CompressedSize
Compressed size of a file (in bytes)
Group
Group of a package
Install
A special install script that is to be included in the package
InstalledSize
Installed size of a package (in bytes)
Md5Checksum
A checksum using the Md5 algorithm
PackageBaseName
Name of the base package information that one or more packages are built from.
PackageDescription
Description of a package
Sha1Checksum
A checksum using the Sha1 algorithm
Sha224Checksum
A checksum using the Sha224 algorithm
Sha256Checksum
A checksum using the Sha256 algorithm
Sha384Checksum
A checksum using the Sha384 algorithm
Sha512Checksum
A checksum using the Sha512 algorithm
SharedLibraryPrefix
A prefix associated with a library lookup directory.
StartDirectory
An absolute path used as start directory in a package build environment