Signed-off-by: Lukas Wagner <l.wag...@proxmox.com>
---
 src/lettre/debian/changelog                   |  39 +++
 src/lettre/debian/copyright                   |  38 +++
 src/lettre/debian/copyright.debcargo.hint     |  52 ++++
 src/lettre/debian/debcargo.toml               |   2 +
 src/lettre/debian/patches/relax-deps.patch    |  13 +
 .../patches/remove_unused_features.patch      | 267 ++++++++++++++++++
 src/lettre/debian/patches/series              |   2 +
 7 files changed, 413 insertions(+)
 create mode 100644 src/lettre/debian/changelog
 create mode 100644 src/lettre/debian/copyright
 create mode 100644 src/lettre/debian/copyright.debcargo.hint
 create mode 100644 src/lettre/debian/debcargo.toml
 create mode 100644 src/lettre/debian/patches/relax-deps.patch
 create mode 100644 src/lettre/debian/patches/remove_unused_features.patch
 create mode 100644 src/lettre/debian/patches/series

diff --git a/src/lettre/debian/changelog b/src/lettre/debian/changelog
new file mode 100644
index 0000000000..ce312dba28
--- /dev/null
+++ b/src/lettre/debian/changelog
@@ -0,0 +1,39 @@
+rust-lettre (0.11.1-2~bpo21+pve2) proxmox-rust; urgency=medium
+
+  * Rebuild for Debian Bookworm / Proxmox with debcargo 2.7.8 and base64
+    relaxed
+  * drop dkim feature, various crypto dependencies and webpki-roots
+
+ -- Proxmox Support Team <supp...@proxmox.com>  Thu, 13 Mar 2025 08:42:59 +0100
+
+rust-lettre (0.11.1-2~bpo21+pve1) proxmox-rust; urgency=medium
+
+  * Remove dependency downgrades
+
+ -- Proxmox Support Team <supp...@proxmox.com>  Wed, 24 Jul 2024 15:15:04 +0200
+
+rust-lettre (0.11.1-1) UNRELEASED-FIXME-AUTOGENERATED-DEBCARGO; urgency=medium
+
+  * Package lettre 0.11.1 from crates.io using debcargo 2.6.0
+  * Downgrade fastrand from 2.0 to 1.8
+  * Downgrade idna from 0.4 to 0.3
+  * Downgrade url from 2.4 to 2.3
+  * Drop patch that upgrades quoted_printable
+
+ -- Lukas Wagner <l.wag...@proxmox.com>  Wed, 08 Nov 2023 13:32:49 +0100
+
+rust-lettre (0.10.4-1~bpo12+pve1) proxmox-rust; urgency=medium
+
+  * Rebuild for Debian Bookworm / Proxmox
+
+ -- Proxmox Support Team <supp...@proxmox.com>  Fri, 04 Aug 2023 14:24:15 +0200
+
+rust-lettre (0.10.4-1) UNRELEASED-FIXME-AUTOGENERATED-DEBCARGO; urgency=medium
+
+  * Team upload.
+  * Package lettre 0.10.4 from crates.io using debcargo 2.6.0
+  * Downgrade base64 dependency from 0.21 to 0.13
+  * Upgrade quotable_printable from 0.4 to 0.5
+  * Disable unneded features in Cargo.toml (boringssl, rustls, async-std)
+
+ -- Lukas Wagner <l.wag...@proxmox.com>  Tue, 01 Aug 2023 10:48:41 +0200
diff --git a/src/lettre/debian/copyright b/src/lettre/debian/copyright
new file mode 100644
index 0000000000..13561096c4
--- /dev/null
+++ b/src/lettre/debian/copyright
@@ -0,0 +1,38 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: lettre
+Upstream-Contact:
+ Alexis Mousset <cont...@amousset.me>
+ Paolo Barbolini <pa...@paolo565.org>
+Source: https://github.com/lettre/lettre
+
+Files: *
+Copyright:
+ 2014-2022 Alexis Mousset <cont...@amousset.me>
+ 2019-2022 Paolo Barbolini <pa...@paolo565.org>
+ 2018 K. <k...@illumium.org>
+License: MIT
+
+Files: debian/*
+Copyright:
+ 2023 Debian Rust Maintainers <pkg-rust-maintain...@alioth-lists.debian.net>
+ 2023 Lukas Wagner <l.wag...@proxmox.com>
+License: MIT
+
+License: MIT
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall be included in all
+ copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ SOFTWARE.
diff --git a/src/lettre/debian/copyright.debcargo.hint 
b/src/lettre/debian/copyright.debcargo.hint
new file mode 100644
index 0000000000..714caf351a
--- /dev/null
+++ b/src/lettre/debian/copyright.debcargo.hint
@@ -0,0 +1,52 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: lettre
+Upstream-Contact:
+ Alexis Mousset <cont...@amousset.me>
+ Paolo Barbolini <pa...@paolo565.org>
+Source: https://github.com/lettre/lettre
+
+Files: *
+Copyright:
+ FIXME (overlay) UNKNOWN-YEARS Alexis Mousset <cont...@amousset.me>
+ FIXME (overlay) UNKNOWN-YEARS Paolo Barbolini <pa...@paolo565.org>
+License: MIT
+Comment:
+ FIXME (overlay): Since upstream copyright years are not available in
+ Cargo.toml, they were extracted from the upstream Git repository. This may not
+ be correct information so you should review and fix this before uploading to
+ the archive.
+
+Files: LICENSE
+Copyright:
+ 2014-2022 Alexis Mousset <cont...@amousset.me>
+ 2019-2022 Paolo Barbolini <pa...@paolo565.org>
+ 2018 K. <k...@illumium.org>
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: debian/*
+Copyright:
+ 2023-2025 Debian Rust Maintainers 
<pkg-rust-maintain...@alioth-lists.debian.net>
+ 2023-2025 Lukas Wagner <l.wag...@proxmox.com>
+License: MIT
+
+License: MIT
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall be included in all
+ copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ SOFTWARE.
diff --git a/src/lettre/debian/debcargo.toml b/src/lettre/debian/debcargo.toml
new file mode 100644
index 0000000000..d69a1a27b7
--- /dev/null
+++ b/src/lettre/debian/debcargo.toml
@@ -0,0 +1,2 @@
+overlay = "."
+uploaders = ["Lukas Wagner <l.wag...@proxmox.com>"]
diff --git a/src/lettre/debian/patches/relax-deps.patch 
b/src/lettre/debian/patches/relax-deps.patch
new file mode 100644
index 0000000000..ee7a6e97b1
--- /dev/null
+++ b/src/lettre/debian/patches/relax-deps.patch
@@ -0,0 +1,13 @@
+Index: lettre/Cargo.toml
+===================================================================
+--- lettre.orig/Cargo.toml
++++ lettre/Cargo.toml
+@@ -127,7 +127,7 @@ version = "0.1"
+ optional = true
+ 
+ [dependencies.base64]
+-version = "0.21"
++version = ">= 0.21, <0.23"
+ optional = true
+ 
+ [dependencies.chumsky]
diff --git a/src/lettre/debian/patches/remove_unused_features.patch 
b/src/lettre/debian/patches/remove_unused_features.patch
new file mode 100644
index 0000000000..69fd8d377d
--- /dev/null
+++ b/src/lettre/debian/patches/remove_unused_features.patch
@@ -0,0 +1,267 @@
+Index: lettre/Cargo.toml
+===================================================================
+--- lettre.orig/Cargo.toml
++++ lettre/Cargo.toml
+@@ -114,24 +114,6 @@ required-features = [
+     "builder",
+ ]
+ 
+-[[example]]
+-name = "asyncstd1_smtp_tls"
+-required-features = [
+-    "smtp-transport",
+-    "async-std1",
+-    "async-std1-rustls-tls",
+-    "builder",
+-]
+-
+-[[example]]
+-name = "asyncstd1_smtp_starttls"
+-required-features = [
+-    "smtp-transport",
+-    "async-std1",
+-    "async-std1-rustls-tls",
+-    "builder",
+-]
+-
+ [[bench]]
+ name = "transport_smtp"
+ harness = false
+@@ -140,10 +122,6 @@ harness = false
+ name = "mailbox_parsing"
+ harness = false
+ 
+-[dependencies.async-std]
+-version = "1.8"
+-optional = true
+-
+ [dependencies.async-trait]
+ version = "0.1"
+ optional = true
+@@ -152,17 +130,9 @@ optional = true
+ version = "0.21"
+ optional = true
+ 
+-[dependencies.boring]
+-version = "3"
+-optional = true
+-
+ [dependencies.chumsky]
+ version = "0.9"
+ 
+-[dependencies.ed25519-dalek]
+-version = "2"
+-optional = true
+-
+ [dependencies.email-encoding]
+ version = "0.2"
+ optional = true
+@@ -220,23 +190,6 @@ optional = true
+ version = "0.5"
+ optional = true
+ 
+-[dependencies.rsa]
+-version = "0.9"
+-optional = true
+-
+-[dependencies.rustls]
+-version = "0.21"
+-features = ["dangerous_configuration"]
+-optional = true
+-
+-[dependencies.rustls-native-certs]
+-version = "0.6.2"
+-optional = true
+-
+-[dependencies.rustls-pemfile]
+-version = "1"
+-optional = true
+-
+ [dependencies.serde]
+ version = "1"
+ features = ["derive"]
+@@ -255,11 +208,6 @@ optional = true
+ version = "0.5.1"
+ optional = true
+ 
+-[dependencies.tokio1_boring]
+-version = "3"
+-optional = true
+-package = "tokio-boring"
+-
+ [dependencies.tokio1_crate]
+ version = "1"
+ optional = true
+@@ -270,11 +218,6 @@ version = "0.3"
+ optional = true
+ package = "tokio-native-tls"
+ 
+-[dependencies.tokio1_rustls]
+-version = "0.24"
+-optional = true
+-package = "tokio-rustls"
+-
+ [dependencies.tracing]
+ version = "0.1.16"
+ features = ["std"]
+@@ -290,14 +233,6 @@ version = "1"
+ features = ["v4"]
+ optional = true
+ 
+-[dependencies.webpki-roots]
+-version = "0.25"
+-optional = true
+-
+-[dev-dependencies.async-std]
+-version = "1.8"
+-features = ["attributes"]
+-
+ [dev-dependencies.criterion]
+ version = "0.5"
+ 
+@@ -333,18 +268,6 @@ version = "0.3"
+ version = "2"
+ 
+ [features]
+-async-std1 = [
+-    "dep:async-std",
+-    "dep:async-trait",
+-    "dep:futures-io",
+-    "dep:futures-util",
+-]
+-async-std1-rustls-tls = [
+-    "async-std1",
+-    "rustls-tls",
+-    "dep:futures-rustls",
+-]
+-boring-tls = ["dep:boring"]
+ builder = [
+     "dep:httpdate",
+     "dep:mime",
+@@ -359,12 +282,6 @@ default = [
+     "hostname",
+     "builder",
+ ]
+-dkim = [
+-    "dep:base64",
+-    "dep:sha2",
+-    "dep:rsa",
+-    "dep:ed25519-dalek",
+-]
+ file-transport = [
+     "dep:uuid",
+     "tokio1_crate?/fs",
+@@ -377,15 +294,9 @@ file-transport-envelope = [
+ ]
+ mime03 = ["dep:mime"]
+ pool = ["dep:futures-util"]
+-rustls-tls = [
+-    "dep:webpki-roots",
+-    "dep:rustls",
+-    "dep:rustls-pemfile",
+-]
+ sendmail-transport = [
+     "tokio1_crate?/process",
+     "tokio1_crate?/io-util",
+-    "async-std?/unstable",
+ ]
+ smtp-transport = [
+     "dep:base64",
+@@ -403,21 +314,11 @@ tokio1 = [
+     "dep:futures-io",
+     "dep:futures-util",
+ ]
+-tokio1-boring-tls = [
+-    "tokio1",
+-    "boring-tls",
+-    "dep:tokio1_boring",
+-]
+ tokio1-native-tls = [
+     "tokio1",
+     "native-tls",
+     "dep:tokio1_native_tls_crate",
+ ]
+-tokio1-rustls-tls = [
+-    "tokio1",
+-    "rustls-tls",
+-    "dep:tokio1_rustls",
+-]
+ 
+ [badges.is-it-maintained-issue-resolution]
+ repository = "lettre/lettre"
+Index: lettre/examples/asyncstd1_smtp_starttls.rs
+===================================================================
+--- lettre.orig/examples/asyncstd1_smtp_starttls.rs
++++ /dev/null
+@@ -1,33 +0,0 @@
+-use lettre::{
+-    message::header::ContentType, 
transport::smtp::authentication::Credentials, AsyncSmtpTransport,
+-    AsyncStd1Executor, AsyncTransport, Message,
+-};
+-
+-#[async_std::main]
+-async fn main() {
+-    tracing_subscriber::fmt::init();
+-
+-    let email = Message::builder()
+-        .from("NoBody <nob...@domain.tld>".parse().unwrap())
+-        .reply_to("Yuin <y...@domain.tld>".parse().unwrap())
+-        .to("Hei <h...@domain.tld>".parse().unwrap())
+-        .subject("Happy new async year")
+-        .header(ContentType::TEXT_PLAIN)
+-        .body(String::from("Be happy with async!"))
+-        .unwrap();
+-
+-    let creds = Credentials::new("smtp_username".to_owned(), 
"smtp_password".to_owned());
+-
+-    // Open a remote connection to gmail using STARTTLS
+-    let mailer: AsyncSmtpTransport<AsyncStd1Executor> =
+-        
AsyncSmtpTransport::<AsyncStd1Executor>::starttls_relay("smtp.gmail.com")
+-            .unwrap()
+-            .credentials(creds)
+-            .build();
+-
+-    // Send the email
+-    match mailer.send(email).await {
+-        Ok(_) => println!("Email sent successfully!"),
+-        Err(e) => panic!("Could not send email: {e:?}"),
+-    }
+-}
+Index: lettre/examples/asyncstd1_smtp_tls.rs
+===================================================================
+--- lettre.orig/examples/asyncstd1_smtp_tls.rs
++++ /dev/null
+@@ -1,33 +0,0 @@
+-use lettre::{
+-    message::header::ContentType, 
transport::smtp::authentication::Credentials, AsyncSmtpTransport,
+-    AsyncStd1Executor, AsyncTransport, Message,
+-};
+-
+-#[async_std::main]
+-async fn main() {
+-    tracing_subscriber::fmt::init();
+-
+-    let email = Message::builder()
+-        .from("NoBody <nob...@domain.tld>".parse().unwrap())
+-        .reply_to("Yuin <y...@domain.tld>".parse().unwrap())
+-        .to("Hei <h...@domain.tld>".parse().unwrap())
+-        .subject("Happy new async year")
+-        .header(ContentType::TEXT_PLAIN)
+-        .body(String::from("Be happy with async!"))
+-        .unwrap();
+-
+-    let creds = Credentials::new("smtp_username".to_owned(), 
"smtp_password".to_owned());
+-
+-    // Open a remote connection to gmail
+-    let mailer: AsyncSmtpTransport<AsyncStd1Executor> =
+-        AsyncSmtpTransport::<AsyncStd1Executor>::relay("smtp.gmail.com")
+-            .unwrap()
+-            .credentials(creds)
+-            .build();
+-
+-    // Send the email
+-    match mailer.send(email).await {
+-        Ok(_) => println!("Email sent successfully!"),
+-        Err(e) => panic!("Could not send email: {e:?}"),
+-    }
+-}
diff --git a/src/lettre/debian/patches/series b/src/lettre/debian/patches/series
new file mode 100644
index 0000000000..5a270d7772
--- /dev/null
+++ b/src/lettre/debian/patches/series
@@ -0,0 +1,2 @@
+remove_unused_features.patch
+relax-deps.patch
-- 
2.39.5



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to