#900387 RFP: abduco -- lightweight session manager with {de,at}tach support

Package:
wnpp
Source:
wnpp
Submitter:
Brian Clinkenbeard
Date:
2026-06-12 04:03:03 UTC
Severity:
wishlist
#900387#5
Date:
2018-05-30 03:58:43 UTC
From:
To:
* Package name    : abduco
  Version         : 0.6
  Upstream Author : Marc André Tanner <mat@brain-dump.org>
* URL             : http://www.brain-dump.org/projects/abduco/
* License         : ISC
  Programming Lang: C
  Description     : lightweight session manager with {de,at}tach support

abduco provides session management i.e. it allows programs to be run independently from its controlling terminal. That is programs can be detached - run in the background - and then later reattached. Together with dvtm it provides a simpler and cleaner alternative to tmux or screen.

This package was included in Debian for a short while but was removed
due to the Debian package maintainer being inactive. abduco has a number
of advantagers over dtach that are described in the homepage and is
significantly more maintained. dvtm, a package by the same developer, is
intended to be paired with abduco for many use cases and already exists
within Debian.

#900387#12
Date:
2026-04-27 07:18:19 UTC
From:
To:
retitle 900387 ITP: abduco -- lightweight session {at,de}tach manager
owner 900387 Jayen Ashar <jayen@jayenashar.org>
thanks

I intend to package abduco for Debian. Source has been prepared and
builds cleanly under sid. A sponsor request will follow on
debian-mentors@.

Package: abduco
Version: 0.6
Upstream: https://www.brain-dump.org/projects/abduco/
License: ISC
Description:
 abduco provides session management - programs can be detached and
 reattached to/from a controlling terminal. Together with dvtm it offers
 a smaller alternative to tmux/screen, or it can stand alone as a dtach
 replacement.

#900387#23
Date:
2026-04-28 01:20:01 UTC
From:
To:
Hi Marc,

I'm re-packaging abduco for Debian (the original RFP, #900387, has been
sitting open since 2018). The source has been built and uploaded to mentors
and an RFS bug has been filed; that part is fine.

Before it goes through Debian's NEW queue review, though, I wanted to flag
an old issue that will almost certainly come up: Bug #771102. In November
2014, Ned T. Crigler (dtach upstream) reported that abduco 0.1's packet
protocol and keyboard handling looked like a derived work of dtach (GPL-2+)
but was licensed as ISC. Axel Beckert ran similarity tools and confirmed
there were code locations that looked suspiciously similar. The bug was
open for 18 months without an upstream response, and the FTP Masters
removed abduco from the archive administratively in May 2016.

I've spent some time comparing current abduco 0.6 against dtach 0.8, and
the situation looks much better than it did in 2014:

  * The packet struct now uses unsigned int / size_t fields and a
BUFSIZ-sized buffer rather than the unsigned char fields and sizeof(struct
winsize) buffer that abduco 0.1 took from dtach.
  * The VSUSP / SIGTSTP suspend dance in the keyboard handler - which was
reproduced word-for-word in 0.1 - is gone.
  * The "\033[999H" EOS escape constant is gone.
  * Signal installation switched from signal(2) to sigaction(2).
  * The architecture is multi-client now (a Server with a linked list of
Clients) rather than dtach's single-attached-client model.

What's still shared are the message-type enum values (0..4: push, attach,
detach, winch/resize, redraw) and the overall packet shape (type, len,
union of buffer + winsize). I'm intending to call those out in
debian/copyright as functional / interface elements, with a note that the
verbatim sections from abduco 0.1 have been rewritten.

Two things I'd like your view on, if you have a minute:

  1. Would you consider adding a brief acknowledgement of dtach as prior
art in a source-file comment (or even a CREDITS file) upstream? README
already says abduco is similar to dtach - a one-liner in the source stating
it's protocol-compatible with dtach but otherwise an independent rewrite
would close a lot of the residual ambiguity.

  2. Do you have a position on Crigler's specific 2014 claims that I can
quote in debian/copyright? I'm putting the analysis above in there
regardless, but having even a one-paragraph statement from you - "the
verbatim sections were unintended, they're gone now, the protocol shape is
convergent design" or similar - would be much stronger than my third-party
reading of the diff.

If you'd rather not engage with this, that's also fine - I'll proceed with
my own analysis in debian/copyright and let the FTP Masters decide. I just
wanted to give you the chance to weigh in.

In any case, thanks for abduco.

  Jayen Ashar <jayen@jayenashar.org>

#900387#28
Date:
2026-06-12 04:00:11 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
abduco, 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 900387@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Jayen Ashar <debian@jayenashar.org> (supplier of updated abduco 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 ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Tue, 09 Jun 2026 19:09:21 +1000
Source: abduco
Binary: abduco abduco-dbgsym
Architecture: source amd64
Version: 0.6-1
Distribution: unstable
Urgency: medium
Maintainer: Jayen Ashar <debian@jayenashar.org>
Changed-By: Jayen Ashar <debian@jayenashar.org>
Description:
 abduco     - lightweight session attach/detach manager
Closes: 900387
Changes:
 abduco (0.6-1) unstable; urgency=medium
 .
   * Initial release (Closes: #900387).
     Reintroduces abduco, removed in 2016 over Bug #771102 (alleged dtach
     code reuse); see d/copyright for how the flagged loci have been
     rewritten or removed in abduco 0.6 and what remains shared.
   * d/rules: enable hardening=+all (adds bindnow), pulling the flags in via
     /usr/share/dpkg/buildflags.mk so the maint option is actually honoured;
     a direct $(shell dpkg-buildflags ...) did not see it and dropped bindnow.
   * d/control: drop comma-without-space synopsis (lintian
     odd-mark-in-description).
   * d/copyright: document the 2016 removal over Bug #771102 (alleged dtach
     code reuse), and how the loci flagged then have been substantively
     rewritten or removed in abduco 0.6 (packet struct field widths and
     buffer size, VSUSP / SIGTSTP suspend dance, "\033[999H" EOS constant,
     sigaction vs signal, multi-client server). Notes what remains shared
     (wire-protocol enum values, overall packet shape) and points at
     upstream's README acknowledgement of dtach as prior art.
   * d/copyright: use the full real name on the debian/* copyright line to
     match the Maintainer field.
   * d/control: point Vcs-* at salsa.debian.org/debian/abduco
     (the Debian-namespace packaging repo).
   * d/control: use a dedicated maintainer address (debian@jayenashar.org)
     to limit address harvesting from the published archive indices.
   * d/patches: add verbose-build.patch so the upstream Makefile prints the
     real compile/link commands; blhc reported NONVERBOSE BUILD and failed
     the Salsa CI hardening job.
Checksums-Sha1:
 dffadd00c63dc07e12691b7f7bc26bd98e07d2cf 1819 abduco_0.6-1.dsc
 3e120fe9ca57fa80d2a5c10a868e0f87680a6671 15762 abduco_0.6.orig.tar.gz
 38670b8dc59492f98b4360c985eb4bd6adb7680d 4084 abduco_0.6-1.debian.tar.xz
 02ff6539d24500bb9bb487effe203e60ea7e512f 26328 abduco-dbgsym_0.6-1_amd64.deb
 8b7ef3d4230084b69e720f82291c70b6e8cd003c 5801 abduco_0.6-1_amd64.buildinfo
 9b40cec1a31c47caa4e35401627358c4e7ff929b 14568 abduco_0.6-1_amd64.deb
Checksums-Sha256:
 20397363a6390fb0f8b668323eb4e83dc4ef6c048a61e7de5b503120e0cd8473 1819 abduco_0.6-1.dsc
 647d0381418f43a38f861d151b0efb2e3458ec651914e7d477956768b0af9bb7 15762 abduco_0.6.orig.tar.gz
 9c423263768596b652e07481546674fb14ec7648f69d056b5f2544cc56e22fc7 4084 abduco_0.6-1.debian.tar.xz
 d2b991f8fe7989f9eac25ce470e668a93b3c42a80b83cf8cb1a725f0684e939e 26328 abduco-dbgsym_0.6-1_amd64.deb
 af0ea7b9f2adb377fd69e9420fac2bc99f3459979a6dcc8e26f0483841973ea4 5801 abduco_0.6-1_amd64.buildinfo
 9baac99eb32da6bdfec9376cffb38f78a8a60e253cc92a0da4097d64c1f955f3 14568 abduco_0.6-1_amd64.deb
Files:
 6914f93b21a5a0eedc3d28fce2ff50c7 1819 admin optional abduco_0.6-1.dsc
 9ae941b04689fdb50a593e7c9d93bb60 15762 admin optional abduco_0.6.orig.tar.gz
 6485a00950f1914af4d7279159f8b3ff 4084 admin optional abduco_0.6-1.debian.tar.xz
 3fbb9fa257414a4373d661b383021407 26328 debug optional abduco-dbgsym_0.6-1_amd64.deb
 f82ecaac0f3ad05868b83bc5f67c0d04 5801 admin optional abduco_0.6-1_amd64.buildinfo
 892cf1ca654bac8f2798045a827011d8 14568 admin optional abduco_0.6-1_amd64.deb
-----BEGIN PGP SIGNATURE-----

iQJEBAEBCgAvFiEE8fAHMgoDVUHwpmPKV4oElNHGRtEFAmoqugERHHRpbGxlQGRl
Ymlhbi5vcmcACgkQV4oElNHGRtGCrA/4lTGM4cYmKp3oHXlhK9UV5sop9tYbPs8r
hvVkyDOrcs869JITNu848JwBM9Q4dqwiXHW34nQlnFa3h3qS4uwOrxbrlkHfwVy6
p2QG7g1x3YcjCBJ/XimCUUg8Lg1kJsNO48V/QeL9605UjrTUrfLMRUodR1NRcR6L
Oqpvy2mwiHa0dQUDVWbOhxSbhdAKIZrlRfFlTeOMrCyaq9cUmzb5Mq/MD+FJq5D2
Irljp+Qk5SQF6r5bTbttm3A8jdK6LemETWkYk8RLjwcU20BMCEqKxbATM07Gb0zT
FEjjGAiuUei0gds30GSWIRCuo/m/iiUE5PjpsTLijUThScaZU9DRuiv0ky+nmh8C
94woq7i9Pf+CikaK+ucgRgoNeuZV7SmkZKvkmpifMfCNgiowe3gWov6t4pZbdKe/
pCa7/l/ShaAB4hB/4eB/wg3IW/NplkCpTOlqZ0mglXbdDJLsG2gki+yitIYq7NBG
fFujxIugjmKUz/eE/qTjchkcTYzX7up+lZ1S7AzVHbTuaGCaG3ytt6r3hQdaC1Nr
GkVk3dBV2pxbPd9L494VEHGb56mFMOSpUiuRhxQiwbSx9f1WfcqFEn7Sxp7MosPj
0psMaQloLa3Nui+ZGVMtBOumUsBfZCaWzHVoJEFRWl/7uT62zTxiwzp+ecsTu3e6
djm1uXiEfg==
=YvSA
-----END PGP SIGNATURE-----