From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Douglas Lewan Newsgroups: gmane.emacs.devel Subject: Fwd: cpio-mode version 0.08 Date: Tue, 5 Jun 2018 09:21:53 +0000 Message-ID: References: <87d0x63r58.fsf@tromey.com> <87o9gpww28.fsf@gmx.de> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="000000000000bd422d056de19494" X-Trace: blaine.gmane.org 1528190416 24832 195.159.176.226 (5 Jun 2018 09:20:16 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 5 Jun 2018 09:20:16 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Jun 05 11:20:12 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fQ88N-0006AY-HG for ged-emacs-devel@m.gmane.org; Tue, 05 Jun 2018 11:20:07 +0200 Original-Received: from localhost ([::1]:45326 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fQ8AS-0006iq-La for ged-emacs-devel@m.gmane.org; Tue, 05 Jun 2018 05:22:16 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59644) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fQ8A8-0006Yp-6O for emacs-devel@gnu.org; Tue, 05 Jun 2018 05:21:57 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fQ8A7-00077f-6s for emacs-devel@gnu.org; Tue, 05 Jun 2018 05:21:56 -0400 Original-Received: from mail-ot0-x236.google.com ([2607:f8b0:4003:c0f::236]:39431) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fQ8A6-00077H-W5 for emacs-devel@gnu.org; Tue, 05 Jun 2018 05:21:55 -0400 Original-Received: by mail-ot0-x236.google.com with SMTP id l15-v6so934129oth.6 for ; Tue, 05 Jun 2018 02:21:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=dK7xs/kWJx4Ap8XquJVaDRdkFhH3lrBk1mHzBqB9/8Y=; b=Oo+DKbG6mI+HxaDscF1hpOgtwcPMT5hH7R+4V8nLOXaQs4k8HFJGN91XRuIuK6iMX+ RNrXDL0m1BtXRwzmCCTOkc1QXNieCgtihduepWcbpf/8ptB6R5TpepZsLYkU2DOZD8r9 FeRa9stMZQCfgMW0XMAhR1TY99r9bsATlFAYi6HljVAiONq7wF/Ui2kycjBSr6tI6/lo 03Ptc88nYJg5cqnNzIS5uGuS9P4cXsCWWtLhhQJy4XFB/pWkhoG854dSGoTfcovZnjJh 6OuVfMAYqUkLh60bmWwJMRGLrJpjOtvnOPEyvUMvcv2QKYmbP2v/RNPXFlM8/Wesdlkd Iaqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=dK7xs/kWJx4Ap8XquJVaDRdkFhH3lrBk1mHzBqB9/8Y=; b=pR3kao51dsmgw3jKKyPKU24fQfq9v8EzTtSJYKEc4qqdyPn9GzM107SDm4/DsUPWKe E3G0r7R2OodD/A5bCuCh3E3R0zWYqjvuoWrnjJDxXjEt1Y1J9RwXdXMnv3d0MA8iXF3C XIp38bbDVKmpo/GsYSmDDLRe1yNqLymYrJCziiRR/hIC39zE34UnNKCxfhDy75iTrzFL RXSL2Aq0RzGi+CdzFdLR0DDfyrY3JTtGbKV+1KJbFcSWcoR97Q9VnnkTUzupw8DHq9gv rnltNjZd05ce0p+ow1A1ziU8nYAqrt4UA6nqjiWa4N34c9MsUzqtz78YeOm/aFRpHqTi QpkA== X-Gm-Message-State: APt69E3F+mRrVvB45Ns6NaQmr0k7Kg2Rpuiww0Bi+pRjwefwC2EOzVRj NIWsVCGh2NAB689DjY9zYhwnONaJZFfA449X3w== X-Google-Smtp-Source: ADUXVKJd4wrvGE4Hx90ibwWJ2CsXS/FWc/vQjwySzJAlKa8eXLb2iIMrkKMxqPFG9IpUgaAkLGDDUzp1UU4YBZx/hBE= X-Received: by 2002:a9d:3126:: with SMTP id e35-v6mr8632491otc.340.1528190514052; Tue, 05 Jun 2018 02:21:54 -0700 (PDT) Original-Received: by 2002:a4a:c619:0:0:0:0:0 with HTTP; Tue, 5 Jun 2018 02:21:53 -0700 (PDT) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4003:c0f::236 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:226026 Archived-At: --000000000000bd422d056de19494 Content-Type: text/plain; charset="UTF-8" On Tue, Jun 5, 2018 at 7:07 AM, Michael Albinus wrote: > Tom Tromey writes: > > Hi Tom, > > > It would be cool to have a cpio (and other archive type) file name > > handler, so that dired could just be reused rather than reimplemented. > > I realize this is possible with Tramp+GVFS now, but a pure elisp > > implementation would be even better. > > ... and harder. Tramp uses GVFS only as transition layer, because it > offers an API for libarchive(3). Switching to a direct access of the > libarchive C API would have advantages: > > * Not bound to GVFS anymore, available on other platforms therefore. > * Not bound to the restrictions GVFS has taken to libarchive, like no > support for writing into archives, missing proper file attributes, etc. > > I have been lazy so far, because Tramp knows already the GVFS API, and > it was easy to add this support. But if there are heavy demands for > change, I could consider to switch to libarchive. > > A pure Lisp implementation is wasted work, I believe. Look at the list > of file formats libarchive supports. (info "(tramp) Archive file names") > > > Tom > > Best regards, Michael. > Indeed. I'd be more than happy to surrender to work to someone who can provide a simpler implementation. I don't happen to know GVFS or libarchive or the question of how to bind lisp to a C library. In the meantime, cpio-mode looks usable now for the archives it supports. What remains is testing and polish. I would very much appreciate testing from anyone who can help with it. Thanks. -- ,Doug Douglas Lewan (908) 720-7908 Member of the PKRA. --000000000000bd422d056de19494 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On T= ue, Jun 5, 2018 at 7:07 AM, Michael Albinus <michael.albinus@gmx.de= > wrote:
Tom Tromey <tom@tromey.com> wri= tes:

Hi Tom,

> It would be cool to have a cpio (and other archive type) file name
> handler, so that dired could just be reused rather than reimplemented.=
> I realize this is possible with Tramp+GVFS now, but a pure elisp
> implementation would be even better.

... and harder. Tramp uses GVFS only as transition layer, because it=
offers an API for libarchive(3). Switching to a direct access of the
libarchive C API would have advantages:

* Not bound to GVFS anymore, available on other platforms therefore.
* Not bound to the restrictions GVFS has taken to libarchive, like no
=C2=A0 support for writing into archives, missing proper file attributes, e= tc.

I have been lazy so far, because Tramp knows already the GVFS API, and
it was easy to add this support. But if there are heavy demands for
change, I could consider to switch to libarchive.

A pure Lisp implementation is wasted work, I believe. Look at the list
of file formats libarchive supports. (info "(tramp) Archive file names= ")

> Tom

Best regards, Michael.

Indeed.= I'd be more than happy to surrender to work to someone
who can provide a simpler implementation. I don't= happen to know GVFS or libarchive
or the q= uestion of how to bind lisp to a C library.

In the meantime, cpio-mode looks usab= le now for the archives it supports.
What r= emains is testing and polish. I would very much appreciate testing
from anyone who can help with it.

Thanks.

--
,Doug
Douglas Lewan=
(908) 720-7908
Member of the PKRA.


--000000000000bd422d056de19494--