Your message dated Mon, 04 Nov 2024 16:10:21 +0000 with message-id <e1t7zen-002ffd...@fasolo.debian.org> and subject line Bug#1085448: fixed in meli 0.8.7+20241016+dfsg-2 has caused the Debian Bug report #1085448, regarding meli - upcoming rust-nix update to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact ow...@bugs.debian.org immediately.) -- 1085448: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1085448 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems
--- Begin Message ---Package: meli Version: 0.8.7+20241007+dfsg-1 I hope to update rust-nix to version 0.29 soon. For meli this means dropping most of 2001_nix.patch, bumping the nix dependency in the tools directory, making some minor adjustments to other packages and bumping the debian build-dependencies. A debdiff is attached, the new version of nix is available in experimentaldiff -Nru meli-0.8.7+20241007+dfsg/debian/changelog meli-0.8.7+20241007+dfsg/debian/changelog --- meli-0.8.7+20241007+dfsg/debian/changelog 2024-10-16 13:28:19.000000000 +0000 +++ meli-0.8.7+20241007+dfsg/debian/changelog 2024-10-19 14:57:22.000000000 +0000 @@ -1,3 +1,15 @@ +meli (0.8.7+20241007+dfsg-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Adjust 2001_nix.patch for nix 0.29 + + Stop patching meli and melib directories. + + Raise upper limit in tools directory. + * Reduce context in 2001_sealed_test.patch and 2002_system-shared_libs.patch + so they don't conflict with 2001_nix.patch. + * Update debian build-dependency for nix crate from 0.27 to 0.29. + + -- Peter Michael Green <plugw...@debian.org> Sat, 19 Oct 2024 14:57:22 +0000 + meli (0.8.7+20241007+dfsg-1) unstable; urgency=medium [ upstream ] diff -Nru meli-0.8.7+20241007+dfsg/debian/control meli-0.8.7+20241007+dfsg/debian/control --- meli-0.8.7+20241007+dfsg/debian/control 2024-09-21 11:25:37.000000000 +0000 +++ meli-0.8.7+20241007+dfsg/debian/control 2024-10-19 14:57:22.000000000 +0000 @@ -29,15 +29,15 @@ librust-libc-0.2+extra-traits-dev, librust-linkify-0.9+default-dev, librust-native-tls-0.2+default-dev, - librust-nix-0.27+dir-dev, - librust-nix-0.27+fs-dev, - librust-nix-0.27+hostname-dev, - librust-nix-0.27+ioctl-dev, - librust-nix-0.27+poll-dev, - librust-nix-0.27+process-dev, - librust-nix-0.27+signal-dev, - librust-nix-0.27+socket-dev, - librust-nix-0.27+term-dev, + librust-nix-0.29+dir-dev, + librust-nix-0.29+fs-dev, + librust-nix-0.29+hostname-dev, + librust-nix-0.29+ioctl-dev, + librust-nix-0.29+poll-dev, + librust-nix-0.29+process-dev, + librust-nix-0.29+signal-dev, + librust-nix-0.29+socket-dev, + librust-nix-0.29+term-dev, librust-nom-7+default-dev, librust-notify-rust-4+default-dev, librust-notify-6+default-dev, diff -Nru meli-0.8.7+20241007+dfsg/debian/patches/2001_nix.patch meli-0.8.7+20241007+dfsg/debian/patches/2001_nix.patch --- meli-0.8.7+20241007+dfsg/debian/patches/2001_nix.patch 2024-10-16 13:28:19.000000000 +0000 +++ meli-0.8.7+20241007+dfsg/debian/patches/2001_nix.patch 2024-10-19 14:56:12.000000000 +0000 @@ -1,7 +1,7 @@ -Description: use (mostly) older branch of crate nix - This essentially reverts upstream git commit 1cfb0b1. +Description: use newer branch of crate nix Author: Jonas Smedegaard <d...@jones.dk> -Last-Update: 2024-06-09 +Author: Peter Michael Green <plugw...@debian.org> +Last-Update: 2024-10-19 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- a/tools/Cargo.toml @@ -11,385 +11,7 @@ meli = { path = "../meli", version = "0.8" } melib = { path = "../melib", version = "0.8", features = ["debug-tracing" ] } -nix = { version = "^0.24", default-features = false } -+nix = { version = ">= 0.24, <= 0.27", default-features = false } ++nix = { version = ">= 0.24, <= 0.29", default-features = false } signal-hook = { version = "^0.3", default-features = false, features = ["iterator"] } signal-hook-registry = { version = "1.2.0", default-features = false } ---- a/meli/Cargo.toml -+++ b/meli/Cargo.toml -@@ -34,7 +34,7 @@ - libz-sys = { version = "1.1", features = ["static"], optional = true } - linkify = { version = ">= 0.9.0, <= 0.10", default-features = false } - melib = { path = "../melib", version = "0.8.7", features = [] } --nix = { version = "0.29", default-features = false, features = ["signal", "poll", "term", "ioctl", "process"] } -+nix = { version = "0.27.1", default-features = false, features = ["signal", "poll", "term", "ioctl", "process"] } - regex = { version = "1" } - serde = { version = "1.0.71" } - serde_derive = { version = "1.0.71" } ---- a/melib/Cargo.toml -+++ b/melib/Cargo.toml -@@ -35,7 +35,7 @@ - libloading = { version = "^0.8" } - log = { version = "0.4", features = ["std"] } - native-tls = { version = "0.2.3", default-features = false, optional = true } --nix = { version = "0.29", default-features = false, features = ["fs", "socket", "dir", "hostname"] } -+nix = { version = "0.27.1", default-features = false, features = ["fs", "socket", "dir", "hostname"] } - nom = { version = "7" } - notify = { version = "6.1.1", optional = true } - polling = { version = "3" } ---- a/meli/src/conf.rs -+++ b/meli/src/conf.rs -@@ -310,7 +310,7 @@ - xdg_dirs.get_config_home().display() - ) - }) -- .chain_err_kind(ErrorKind::Platform) -+ .chain_err_kind(ErrorKind::OSError) - } - - impl FileSettings { ---- a/meli/src/conf/preprocessing.rs -+++ b/meli/src/conf/preprocessing.rs -@@ -255,7 +255,7 @@ - _ => { - return Err(Error::new("Could not process configuration with `m4`") - .set_source(Some(Arc::new(err))) -- .set_kind(ErrorKind::Platform)) -+ .set_kind(ErrorKind::OSError)) - } - }, - }; ---- a/meli/src/signal_handlers.rs -+++ b/meli/src/signal_handlers.rs -@@ -20,12 +20,7 @@ - // - // SPDX-License-Identifier: EUPL-1.2 OR GPL-3.0-or-later - --//! Signal handler setup. -- --use std::os::{ -- fd::{AsFd, AsRawFd}, -- raw::c_int, --}; -+use std::os::raw::c_int; - - use crate::*; - -@@ -39,7 +34,7 @@ - nix::unistd::pipe().map_err(|err| std::io::Error::from_raw_os_error(err as i32))?; - let alarm_handler = move |info: &nix::libc::siginfo_t| { - let value = unsafe { info.si_value().sival_ptr as u8 }; -- let _ = nix::unistd::write(alarm_pipe_w.as_fd(), &[value]); -+ let _ = nix::unistd::write(alarm_pipe_w, &[value]); - }; - unsafe { - signal_hook_registry::register_sigaction(signal_hook::consts::SIGALRM, alarm_handler)?; -@@ -47,7 +42,7 @@ - let (s, r) = crossbeam::channel::bounded(100); - let mut signals = signal_hook::iterator::Signals::new(signals)?; - let _ = nix::fcntl::fcntl( -- alarm_pipe_r.as_raw_fd(), -+ alarm_pipe_r, - nix::fcntl::FcntlArg::F_SETFL(nix::fcntl::OFlag::O_NONBLOCK), - ); - std::thread::spawn(move || { ---- a/meli/src/state.rs -+++ b/meli/src/state.rs -@@ -100,7 +100,7 @@ - } - - fn kill(&self) { -- let _ = nix::unistd::write(&self.pipe.1, &[1]); -+ let _ = nix::unistd::write(self.pipe.1.as_raw_fd(), &[1]); - self.tx.send(InputCommand::Kill).unwrap(); - } - ---- a/meli/src/terminal/keys.rs -+++ b/meli/src/terminal/keys.rs -@@ -23,7 +23,7 @@ - - use crossbeam::{channel::Receiver, select}; - use melib::log; --use nix::poll::{poll, PollFd, PollFlags, PollTimeout}; -+use nix::poll::{poll, PollFd, PollFlags}; - use serde::{Serialize, Serializer}; - use termion::{ - event::{ -@@ -244,15 +244,15 @@ - ) { - let stdin = std::io::stdin(); - let stdin2 = std::io::stdin(); -- let stdin_fd = PollFd::new(stdin2.as_fd(), PollFlags::POLLIN); -- let new_command_pollfd = PollFd::new(new_command_fd.as_fd(), PollFlags::POLLIN); -+ let stdin2_fd = stdin2.as_fd(); -+ let stdin_fd = PollFd::new(&stdin2_fd, PollFlags::POLLIN); -+ let new_command_pollfd = nix::poll::PollFd::new(new_command_fd, nix::poll::PollFlags::POLLIN); - let mut input_mode = InputMode::Normal; - let mut esc_seq_buf = vec![]; - let mut palette = (None, None); - let mut paste_buf = String::with_capacity(256); - let mut stdin_iter = stdin.events_and_raw(); -- 'poll_while: while let Ok(_n_raw) = poll(&mut [new_command_pollfd, stdin_fd], PollTimeout::NONE) -- { -+ 'poll_while: while let Ok(_n_raw) = poll(&mut [new_command_pollfd, stdin_fd], -1) { - select! { - default => { - if stdin_fd.revents().is_some() { -@@ -338,9 +338,9 @@ - use nix::sys::time::TimeValLike; - let mut buf = [0;2]; - let mut read_fd_set = nix::sys::select::FdSet::new(); -- read_fd_set.insert(new_command_fd.as_fd()); -+ read_fd_set.insert(new_command_fd); - let mut error_fd_set = nix::sys::select::FdSet::new(); -- error_fd_set.insert(new_command_fd.as_fd()); -+ error_fd_set.insert(new_command_fd); - let timeval: nix::sys::time::TimeSpec = nix::sys::time::TimeSpec::seconds(2); - let pselect_result = nix::sys::select::pselect(None, Some(&mut read_fd_set), None, Some(&mut error_fd_set), Some(&timeval), None); - if pselect_result.is_err() || error_fd_set.highest().map(|bfd| bfd.as_raw_fd()) == Some(new_command_fd.as_raw_fd()) || read_fd_set.highest().map(|bfd| bfd.as_raw_fd()) != Some(new_command_fd.as_raw_fd()) { ---- a/meli/src/types/helpers.rs -+++ b/meli/src/types/helpers.rs -@@ -23,9 +23,13 @@ - fs, - fs::OpenOptions, - io::{Read, Write}, -- os::{fd::OwnedFd, unix::fs::PermissionsExt}, -+ os::{ -+ fd::{FromRawFd, OwnedFd}, -+ unix::fs::PermissionsExt, -+ }, - path::{Path, PathBuf}, - }; -+use nix::errno::Errno; - - use melib::{ - error::*, -@@ -164,7 +168,7 @@ - (Err(err), Some(ref mut val)) - if matches!( - err.kind, -- ErrorKind::OSError(Errno::ENAMETOOLONG | Errno::EEXIST) -+ ErrorKind::OSError - ) && val.grapheme_len() > 1 => - { - val.truncate_at_boundary(val.grapheme_len().saturating_sub(1)); -@@ -182,13 +186,15 @@ - } - - pub fn pipe() -> Result<(OwnedFd, OwnedFd)> { -- nix::unistd::pipe().map_err(|err| { -- Error::new("Could not create pipe") -- .set_source(Some( -- (Box::new(err) as Box<dyn std::error::Error + Send + Sync + 'static>).into(), -- )) -- .set_kind(ErrorKind::Platform) -- }) -+ nix::unistd::pipe() -+ .map(|(fd1, fd2)| unsafe { (OwnedFd::from_raw_fd(fd1), OwnedFd::from_raw_fd(fd2)) }) -+ .map_err(|err| { -+ Error::new("Could not create pipe") -+ .set_source(Some( -+ (Box::new(err) as Box<dyn std::error::Error + Send + Sync + 'static>).into(), -+ )) -+ .set_kind(ErrorKind::OSError) -+ }) - } - - /// Create a shell-friendly filename by removing control characters and ---- a/melib/src/error.rs -+++ b/melib/src/error.rs -@@ -29,8 +29,6 @@ - sync::Arc, - }; - --pub use nix::errno::Errno; -- - pub type Result<T> = result::Result<T, Error>; - - mod network; -@@ -54,7 +52,7 @@ - Bug, - Network(NetworkErrorKind), - TimedOut, -- OSError(Errno), -+ OSError, - Platform, - NotImplemented, - NotSupported, -@@ -78,7 +76,7 @@ - ), - Self::Platform => write!(fmt, "Platform/Runtime environment error (OS or hardware)"), - Self::TimedOut => write!(fmt, "Timed out error"), -- Self::OSError(errno) => write!(fmt, "OS error {}: {}", *errno as i32, errno.desc()), -+ Self::OSError => write!(fmt, "OS error"), - Self::Configuration => write!(fmt, "Configuration error"), - Self::NotImplemented => write!(fmt, "Not implemented error"), - Self::NotSupported => write!(fmt, "Not supported error"), -@@ -99,7 +97,7 @@ - - impl ErrorKind { - /// Handy alias for "Already exists" error. -- pub const ALREADY_EXISTS: Self = Self::OSError(Errno::EEXIST); -+ pub const ALREADY_EXISTS: Self = Self::OSError; - - is_variant! { is_authentication, Authentication } - is_variant! { is_bug, Bug } -@@ -111,7 +109,7 @@ - is_variant! { is_not_implemented, NotImplemented } - is_variant! { is_not_supported, NotSupported } - is_variant! { is_not_found, NotFound } -- is_variant! { is_oserror, OSError(_) } -+ is_variant! { is_oserror, OSError } - is_variant! { is_protocol_error, ProtocolError } - is_variant! { is_protocol_not_supported, ProtocolNotSupported } - is_variant! { is_timeout, TimedOut } -@@ -439,7 +437,7 @@ - | io::ErrorKind::ConnectionAborted - | io::ErrorKind::NotConnected => Self::Network(NetworkErrorKind::ConnectionFailed), - io::ErrorKind::TimedOut => Self::TimedOut, -- _ => Self::Platform, -+ _ => Self::OSError, - } - } - } -@@ -455,8 +453,6 @@ - let s = err.to_string(); - let kind = if s.contains("failed to lookup address information") { - ErrorKind::Network(NetworkErrorKind::HostLookupFailed) -- } else if let Some(errno) = err.raw_os_error() { -- ErrorKind::OSError(Errno::from_raw(errno)) - } else { - err.kind().into() - }; -@@ -557,7 +553,7 @@ - impl From<nix::Error> for Error { - #[inline] - fn from(err: nix::Error) -> Self { -- Self::from_inner(Arc::new(err)).set_kind(ErrorKind::OSError(err)) -+ Self::from_inner(Arc::new(err)).set_kind(ErrorKind::Platform) - } - } - -@@ -576,8 +572,8 @@ - let kind = match err.kind { - notify::ErrorKind::MaxFilesWatch - | notify::ErrorKind::WatchNotFound -- | notify::ErrorKind::Generic(_) -- | notify::ErrorKind::Io(_) => ErrorKind::Platform, -+ | notify::ErrorKind::Generic(_) => ErrorKind::Platform, -+ notify::ErrorKind::Io(_) => ErrorKind::OSError, - notify::ErrorKind::PathNotFound => ErrorKind::Configuration, - notify::ErrorKind::InvalidConfig(_) => ErrorKind::Bug, - }; ---- a/melib/src/imap/connection.rs -+++ b/melib/src/imap/connection.rs -@@ -309,7 +309,7 @@ - .chain_err_summary(|| format!("Could not initiate TLS negotiation to {}.", path))?; - AsyncWrapper::new(Connection::new_tls(conn)) - .chain_err_summary(|| format!("{} connection failed.", path)) -- .chain_err_kind(ErrorKind::External)? -+ .chain_err_kind(ErrorKind::OSError)? - } - } else { - AsyncWrapper::new({ ---- a/melib/src/smtp.rs -+++ b/melib/src/smtp.rs -@@ -145,15 +145,14 @@ - }) - .await - .chain_err_summary(|| format!("Could not execute CommandEval value: {}", command)) -- .chain_err_kind(ErrorKind::External)?; -+ .chain_err_kind(ErrorKind::OSError)?; - if !output.status.success() { - return Err(Error::new(format!( - "SMTP password evaluation command `{}` returned {}: {}", - command, - output.status, - String::from_utf8_lossy(&output.stderr) -- )) -- .set_kind(ErrorKind::External)); -+ ))); - } - if output.stdout.ends_with(b"\n") { - output.stdout.pop(); ---- a/melib/src/utils/mod.rs -+++ b/melib/src/utils/mod.rs -@@ -233,7 +233,7 @@ - let retval = nix::unistd::gethostname().map_err(|err| { - Error::new("Could not discover local hostname") - .set_source(Some(src_err_arc_wrap! {err})) -- .set_kind(ErrorKind::Platform) -+ .set_kind(ErrorKind::OSError) - }); - if retval.is_err() { - let mut hostn_buf = String::with_capacity(256); ---- a/melib/src/utils/shellexpand.rs -+++ b/melib/src/utils/shellexpand.rs -@@ -237,14 +237,14 @@ - }; - - let dir = match ::nix::dir::Dir::openat( -- Some(::libc::AT_FDCWD), -+ ::libc::AT_FDCWD, - prefix, - OFlag::O_DIRECTORY | OFlag::O_NOATIME | OFlag::O_RDONLY | OFlag::O_CLOEXEC, - ::nix::sys::stat::Mode::S_IRUSR | ::nix::sys::stat::Mode::S_IXUSR, - ) - .or_else(|_| { - ::nix::dir::Dir::openat( -- Some(::libc::AT_FDCWD), -+ ::libc::AT_FDCWD, - prefix, - OFlag::O_DIRECTORY | OFlag::O_RDONLY | OFlag::O_CLOEXEC, - ::nix::sys::stat::Mode::S_IRUSR | ::nix::sys::stat::Mode::S_IXUSR, ---- a/melib/src/utils/lock.rs -+++ b/melib/src/utils/lock.rs -@@ -24,7 +24,8 @@ - /// (Linux-only). - use std::{os::fd::AsRawFd, path::Path, thread::sleep, time::Duration}; - --use crate::error::{Errno, Error, ErrorKind, Result}; -+use crate::error::{Error, ErrorKind, Result}; -+use nix::errno::Errno; - - pub enum FileLockOptions { - Nonblocking { -@@ -134,7 +135,7 @@ - path.display(), - err.desc() - )) -- .set_kind(ErrorKind::OSError(err))) -+ .set_kind(ErrorKind::OSError)) - } - } - ---- a/melib/src/utils/tests.rs -+++ b/melib/src/utils/tests.rs -@@ -30,7 +30,8 @@ - use sealed_test::prelude::*; - use tempfile::TempDir; - --use crate::error::{Errno, ErrorKind}; -+use crate::error::ErrorKind; -+use nix::errno::Errno; - - #[sealed_test] - #[ignore] -@@ -308,7 +309,7 @@ - ) - .unwrap_err() - .kind, -- ErrorKind::OSError(Errno::EAGAIN) -+ ErrorKind::OSError - ); - assert_eq!( - open() -@@ -321,7 +322,7 @@ - ) - .unwrap_err() - .kind, -- ErrorKind::OSError(Errno::EAGAIN) -+ ErrorKind::OSError - ); - drop(f); - open() diff -Nru meli-0.8.7+20241007+dfsg/debian/patches/2001_sealed_test.patch meli-0.8.7+20241007+dfsg/debian/patches/2001_sealed_test.patch --- meli-0.8.7+20241007+dfsg/debian/patches/2001_sealed_test.patch 2024-09-21 11:29:34.000000000 +0000 +++ meli-0.8.7+20241007+dfsg/debian/patches/2001_sealed_test.patch 2024-10-19 14:57:22.000000000 +0000 @@ -42,23 +42,15 @@ toml = { version = "0.8", default-features = false, features = ["display","preserve_order","parse"] } --- a/melib/src/utils/tests.rs +++ b/melib/src/utils/tests.rs -@@ -27,15 +27,13 @@ - path::Path, - }; - +@@ -27,1 +27,0 @@ -use sealed_test::prelude::*; - use tempfile::TempDir; - - use crate::error::ErrorKind; - use nix::errno::Errno; +@@ -40,5 +40,4 @@ -#[sealed_test] -#[ignore] #[test] +#[ignore] fn test_shellexpandtrait() { - use super::shellexpand::*; - @@ -155,9 +153,8 @@ } diff -Nru meli-0.8.7+20241007+dfsg/debian/patches/2002_system-shared_libs.patch meli-0.8.7+20241007+dfsg/debian/patches/2002_system-shared_libs.patch --- meli-0.8.7+20241007+dfsg/debian/patches/2002_system-shared_libs.patch 2024-09-21 11:29:35.000000000 +0000 +++ meli-0.8.7+20241007+dfsg/debian/patches/2002_system-shared_libs.patch 2024-10-19 14:57:22.000000000 +0000 @@ -6,14 +6,12 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- a/meli/Cargo.toml +++ b/meli/Cargo.toml -@@ -31,7 +31,6 @@ - indexmap = { version = "2.2.6", default-features = false, features = ["serde", "std"] } +@@ -32,5 +32,4 @@ itoa = { version = "1.0.9", default-features = false } libc = { version = "0.2.125", default-features = false, features = ["extra_traits"] } -libz-sys = { version = "1.1", features = ["static"], optional = true } linkify = { version = ">= 0.9.0, <= 0.10", default-features = false } melib = { path = "../melib", version = "0.8.7", features = [] } - nix = { version = "0.27.1", default-features = false, features = ["signal", "poll", "term", "ioctl", "process"] } @@ -49,7 +48,7 @@ xdg = { version = "2.1.0" }
--- End Message ---
--- Begin Message ---Source: meli Source-Version: 0.8.7+20241016+dfsg-2 Done: Jonas Smedegaard <d...@jones.dk> We believe that the bug you reported is fixed in the latest version of meli, which is due to be installed in the Debian FTP archive. A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to 1085...@bugs.debian.org, and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Jonas Smedegaard <d...@jones.dk> (supplier of updated meli package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing ftpmas...@ftp-master.debian.org) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 1.8 Date: Mon, 04 Nov 2024 09:10:23 +0100 Source: meli Architecture: source Version: 0.8.7+20241016+dfsg-2 Distribution: unstable Urgency: medium Maintainer: Jonas Smedegaard <d...@jones.dk> Changed-By: Jonas Smedegaard <d...@jones.dk> Closes: 1085448 Changes: meli (0.8.7+20241016+dfsg-2) unstable; urgency=medium . * update and unfuzz patches * bump build-dependencies for crate nix; closes: bug#1085448, thanks to Peter Green Checksums-Sha1: 7515db85ff6ac6fd941a71b9d9bcb90356e78a63 4005 meli_0.8.7+20241016+dfsg-2.dsc fb5e8acc5198ee0379448022fff6f8f2240e8fd8 17004 meli_0.8.7+20241016+dfsg-2.debian.tar.xz 081604b0a19ef1565a9f7b2dd1a137e37adfaadc 24362 meli_0.8.7+20241016+dfsg-2_amd64.buildinfo Checksums-Sha256: 44f5cf6c1626839e9b0b5f33b122416975444b11cc47740ad10bb8afea2e5cd9 4005 meli_0.8.7+20241016+dfsg-2.dsc dc20ed49b4e3cea5a8a193bc59cbba0cb6f30c74a621ad4a864f9d2e2a12d604 17004 meli_0.8.7+20241016+dfsg-2.debian.tar.xz 6c7fb78d2066f7099bca7ad88d27274f40ee0e7ca1293d49db3235996357a0a7 24362 meli_0.8.7+20241016+dfsg-2_amd64.buildinfo Files: 071593cc11364a77b5d5fe8484817a7e 4005 mail optional meli_0.8.7+20241016+dfsg-2.dsc 604558931767313f39f1194754c82d48 17004 mail optional meli_0.8.7+20241016+dfsg-2.debian.tar.xz 95e5eb9ff71be1935baa078205727f26 24362 mail optional meli_0.8.7+20241016+dfsg-2_amd64.buildinfo -----BEGIN PGP SIGNATURE----- iQJABAEBCgAqFiEEn+Ppw2aRpp/1PMaELHwxRsGgASEFAmco6IwMHGRyQGpvbmVz LmRrAAoJECx8MUbBoAEhbEAP/A2cxqztQFw7bUiKbpk+Ycod2co9s5B2e83Q7LTl pBJY0OwKWyALu+OTc4uPCaf7yOAyS/0dm4nxUMkSKClwXvky7E9shmqZVNwSoo3n 5AvUA5/fyucnriUCPTkFaNPymGMwc57GCfjwsBTg0ndX/HBfb6z/PwPAYvp6I0mN sFCGwjh50g7+n24uaWC4inW8S7MW4/M4S/WtFo30c5SfsseKkSemXz76xFtxpTGT KVerBd/aSCVJ6OAGil6tKAQZ+NL1XgSTe4mvn4Efc6HXgIEgQQufOluBxvPf5Zev drskM6L3t39kKNKNSyk0FgddejqvXkrjciUme2cANfGwMNN76yIMEq3pnyq+FnQ0 OWEiFD3uDAj5OrcKZyEa6DqkPZ9yoetBT+MXMwe8zI3YaLQ5RKrhy+TeIhJ0vxU8 ghJ6hp6SrTiAmZVqO2Ck9Zuujj4Nl6AFkXHlh/oRQqr2vt2exjz+Bb9tlyz+qTZt tDhOInVyzAG0a+U6JSsUySXr4/RKPG5kP3aUFRzK6NhdeZwifAkQYWTNJJqitRKC ZSi5/aNU5rm99cgfPkisAPNZVB8sjV8zFPb1cUeKhcsI3XaHnh9BtTd29mCuorKz 701fwn/my2hJWFw7/lgARXJdsqbrMYa3gsmV1rZa6sBMIQ8DGYuRCAgEsnhjDxu8 OpQA =/e3q -----END PGP SIGNATURE-----pgpx0qgiM3pmF.pgp
Description: PGP signature
--- End Message ---