//! pkh: Debian packaging helper //! //! pkh allows working with Debian packages, with multiple actions/submodules #![deny(missing_docs)] /// Handle apt data (apt sources) pub mod apt; /// Build a Debian source package (into a .dsc) pub mod build; /// Parse or edit a Debian changelog of a source package pub mod changelog; /// Build a Debian package into a binary (.deb) pub mod deb; /// Obtain information about one or multiple packages pub mod package_info; /// Download a source package locally pub mod pull; /// Handle context for .deb building: locally, over ssh, in a chroot... pub mod context; /// Utility functions pub(crate) mod utils; /// Optional callback function (taking 4 arguments) /// - Name of the current main operation (e.g. pulling package) /// - Name of the current nested operation (e.g. cloning git repo) /// - Progress, position, index of current operation (e.g. amount of data downloaded) /// - Total amount for current operation (e.g. size of the file to download) pub type ProgressCallback<'a> = Option<&'a dyn Fn(&str, &str, usize, usize)>; /// Returns the architecture of current CPU, debian-compatible pub fn get_current_arch() -> String { match std::env::consts::ARCH { "x86" => "i386".to_string(), "x86_64" => "amd64".to_string(), "arm" => "armhf".to_string(), "aarch64" => "arm64".to_string(), "powerpc64" => "ppc64el".to_string(), x => x.to_string(), } }