Package: pushpin Version: 1.39.1-1 I hope to update rust-tokio and related packages in sid soon. The packages involved in this update are rust-mio, rust-tokio-macros and rust-tokio. Of these rust-mio is the only one that is semver-breaking.
The new versions of these packages have been uploaded to experimental. The main change is that |mio::net::SocketAddr has been replaced by ||std::os::unix::net::SocketAddr. A patch accommodating that change is attached. Unfortunately I could not find an easy way to make the code build with both the old and new versions. |
diff -Nru pushpin-1.39.1/debian/changelog pushpin-1.39.1/debian/changelog --- pushpin-1.39.1/debian/changelog 2024-03-19 14:12:48.000000000 +0000 +++ pushpin-1.39.1/debian/changelog 2024-08-10 22:20:51.000000000 +0000 @@ -1,3 +1,10 @@ +pushpin (1.39.1-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Add patch for mio 1. + + -- Peter Michael Green <plugw...@debian.org> Sat, 10 Aug 2024 22:20:51 +0000 + pushpin (1.39.1-1) unstable; urgency=medium * New upstream version diff -Nru pushpin-1.39.1/debian/control pushpin-1.39.1/debian/control --- pushpin-1.39.1/debian/control 2024-03-19 14:12:48.000000000 +0000 +++ pushpin-1.39.1/debian/control 2024-08-10 22:20:51.000000000 +0000 @@ -2,7 +2,7 @@ Section: net Priority: optional Maintainer: Jan Niehusmann <j...@debian.org> -Build-Depends: debhelper (>= 11), qtbase5-dev, qt5-qmake, qtchooser, libzmq3-dev (>= 2.0), pkg-config, qconf, cargo (>= 0.43), librust-clap-dev, librust-log-dev, librust-serde-dev, librust-serde-json-dev, librust-zmq-dev (>= 0.9.2-3), librust-serde-derive-dev, librust-base64-dev, librust-slab-dev, librust-jsonwebtoken-dev, librust-config-dev, librust-httparse-dev, librust-ipnet-dev, librust-miniz-oxide-dev, librust-mio-dev, librust-openssl-dev, librust-paste-dev, librust-rustls-dev, librust-rustls-native-certs-dev, librust-sha1-dev, librust-signal-hook-dev, librust-socket2-dev, librust-criterion-dev, libboost-dev, librust-url-dev, help2man +Build-Depends: debhelper (>= 11), qtbase5-dev, qt5-qmake, qtchooser, libzmq3-dev (>= 2.0), pkg-config, qconf, cargo (>= 0.43), librust-clap-dev, librust-log-dev, librust-serde-dev, librust-serde-json-dev, librust-zmq-dev (>= 0.9.2-3), librust-serde-derive-dev, librust-base64-dev, librust-slab-dev, librust-jsonwebtoken-dev, librust-config-dev, librust-httparse-dev, librust-ipnet-dev, librust-miniz-oxide-dev, librust-mio-1-dev, librust-openssl-dev, librust-paste-dev, librust-rustls-dev, librust-rustls-native-certs-dev, librust-sha1-dev, librust-signal-hook-dev, librust-socket2-dev, librust-criterion-dev, libboost-dev, librust-url-dev, help2man Standards-Version: 4.1.4 Homepage: https://github.com/fanout/pushpin Vcs-Git: https://salsa.debian.org/jan/pushpin.git diff -Nru pushpin-1.39.1/debian/patches/debian-changes pushpin-1.39.1/debian/patches/debian-changes --- pushpin-1.39.1/debian/patches/debian-changes 2024-03-19 14:12:48.000000000 +0000 +++ pushpin-1.39.1/debian/patches/debian-changes 2024-08-10 22:20:51.000000000 +0000 @@ -4,6 +4,8 @@ Option single-debian-patch is used as the changes are tracked in git. +Index: pushpin-1.39.1/Cargo.toml +=================================================================== --- pushpin-1.39.1.orig/Cargo.toml +++ pushpin-1.39.1/Cargo.toml @@ -1,6 +1,6 @@ @@ -14,7 +16,7 @@ authors = ["Justin Karneges <jkarne...@fastly.com>"] description = "Reverse proxy for realtime web services" repository = "https://github.com/fastly/pushpin" -@@ -20,15 +20,15 @@ crate-type = ["rlib", "staticlib"] +@@ -20,16 +20,16 @@ crate-type = ["rlib", "staticlib"] [dependencies] arrayvec = "0.7" @@ -30,10 +32,12 @@ libc = "0.2" log = "0.4" -miniz_oxide = "0.6" +-mio = { version = "0.8", features = ["os-poll", "os-ext", "net"] } +miniz_oxide = "0.7" - mio = { version = "0.8", features = ["os-poll", "os-ext", "net"] } ++mio = { version = "1.0", features = ["os-poll", "os-ext", "net"] } openssl = "0.10" paste = "1.0" + rustls = "0.21" @@ -39,20 +39,20 @@ serde_json = "1.0" sha1 = "0.10" signal-hook = "0.3" @@ -61,6 +65,8 @@ [[bench]] name = "server" +Index: pushpin-1.39.1/Makefile +=================================================================== --- pushpin-1.39.1.orig/Makefile +++ pushpin-1.39.1/Makefile @@ -25,7 +25,7 @@ postbuild-clean: FORCE @@ -72,6 +78,8 @@ check: cargo-test +Index: pushpin-1.39.1/examples/config/pushpin.conf +=================================================================== --- pushpin-1.39.1.orig/examples/config/pushpin.conf +++ pushpin-1.39.1/examples/config/pushpin.conf @@ -108,7 +108,11 @@ sockjs_url=http://cdn.jsdelivr.net/sockj @@ -87,6 +95,8 @@ # use this field to identify your organization in updates requests. if left # blank, updates requests will be anonymous +Index: pushpin-1.39.1/src/client.rs +=================================================================== --- pushpin-1.39.1.orig/src/client.rs +++ pushpin-1.39.1/src/client.rs @@ -2564,7 +2564,6 @@ pub mod tests { @@ -97,6 +107,8 @@ fn recv_frame<R: Read>( stream: &mut R, +Index: pushpin-1.39.1/src/connection.rs +=================================================================== --- pushpin-1.39.1.orig/src/connection.rs +++ pushpin-1.39.1/src/connection.rs @@ -61,6 +61,7 @@ use crate::zhttppacket; @@ -133,6 +145,8 @@ #[test] fn ws_ext_header() { +Index: pushpin-1.39.1/src/cpp/proxy/app.cpp +=================================================================== --- pushpin-1.39.1.orig/src/cpp/proxy/app.cpp +++ pushpin-1.39.1/src/cpp/proxy/app.cpp @@ -486,7 +486,7 @@ public: @@ -144,6 +158,8 @@ QString organizationName = settings.value("proxy/organization_name").toString(); int clientMaxconn = settings.value("runner/client_maxconn", 50000).toInt(); bool statsConnectionSend = settings.value("global/stats_connection_send", true).toBool(); +Index: pushpin-1.39.1/src/internal.conf +=================================================================== --- pushpin-1.39.1.orig/src/internal.conf +++ pushpin-1.39.1/src/internal.conf @@ -27,13 +27,13 @@ condure_client_out_stream_specs=ipc://{r @@ -163,6 +179,8 @@ # bind DEALER for requesting inspection info (internal, used with handler) handler_inspect_spec=ipc://{rundir}/{ipc_prefix}inspect +Index: pushpin-1.39.1/src/lib.rs +=================================================================== --- pushpin-1.39.1.orig/src/lib.rs +++ pushpin-1.39.1/src/lib.rs @@ -26,7 +26,7 @@ pub mod buffer; @@ -186,6 +204,8 @@ pub mod shuffle; pub mod timer; pub mod tls; +Index: pushpin-1.39.1/src/server.rs +=================================================================== --- pushpin-1.39.1.orig/src/server.rs +++ pushpin-1.39.1/src/server.rs @@ -2929,7 +2929,6 @@ pub mod tests { @@ -196,6 +216,8 @@ fn recv_frame<R: Read>( stream: &mut R, +Index: pushpin-1.39.1/src/zhttpsocket.rs +=================================================================== --- pushpin-1.39.1.orig/src/zhttpsocket.rs +++ pushpin-1.39.1/src/zhttpsocket.rs @@ -2740,7 +2740,6 @@ mod tests { @@ -206,3 +228,38 @@ fn wait_readable(poller: &mut event::Poller, token: mio::Token) { loop { +Index: pushpin-1.39.1/src/net.rs +=================================================================== +--- pushpin-1.39.1.orig/src/net.rs ++++ pushpin-1.39.1/src/net.rs +@@ -44,7 +44,7 @@ pub fn set_socket_opts(stream: &mut TcpS + #[derive(Debug)] + pub enum SocketAddr { + Ip(std::net::SocketAddr), +- Unix(mio::net::SocketAddr), ++ Unix(std::os::unix::net::SocketAddr), + } + + impl fmt::Display for SocketAddr { +Index: pushpin-1.39.1/src/future.rs +=================================================================== +--- pushpin-1.39.1.orig/src/future.rs ++++ pushpin-1.39.1/src/future.rs +@@ -702,7 +702,7 @@ impl AsyncUnixListener { + Ok(Self::new(listener)) + } + +- pub fn local_addr(&self) -> Result<mio::net::SocketAddr, io::Error> { ++ pub fn local_addr(&self) -> Result<std::os::unix::net::SocketAddr, io::Error> { + self.evented.io().local_addr() + } + +@@ -1621,7 +1621,7 @@ pub struct UnixAcceptFuture<'a> { + } + + impl Future for UnixAcceptFuture<'_> { +- type Output = Result<(UnixStream, mio::net::SocketAddr), io::Error>; ++ type Output = Result<(UnixStream, std::os::unix::net::SocketAddr), io::Error>; + + fn poll(mut self: Pin<&mut Self>, cx: &mut Context) -> Poll<Self::Output> { + let f = &mut *self;