From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id uGlUIHKr1l7UFAAA0tVLHw (envelope-from ) for ; Tue, 02 Jun 2020 19:41:38 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id 2GcmHHKr1l6/KAAAbx9fmQ (envelope-from ) for ; Tue, 02 Jun 2020 19:41:38 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id F3B5F940058 for ; Tue, 2 Jun 2020 19:41:37 +0000 (UTC) Received: from localhost ([::1]:38570 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jgCn2-0007mx-TS for larch@yhetil.org; Tue, 02 Jun 2020 15:41:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:32792) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jgCmu-0007mq-Qs for guix-devel@gnu.org; Tue, 02 Jun 2020 15:41:28 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:51747) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jgCmt-0008Ez-Qq; Tue, 02 Jun 2020 15:41:27 -0400 Received: from ti0006q161-2604.bb.online.no ([84.202.68.75]:60332 helo=localhost) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jgCmt-0002jP-9v; Tue, 02 Jun 2020 15:41:27 -0400 From: Marius Bakke To: Hartmut Goebel , Guix-devel Subject: Re: Downloader for "wrapped" tarbar? In-Reply-To: References: Date: Tue, 02 Jun 2020 21:41:24 +0200 Message-ID: <87y2p5uufv.fsf@gnu.org> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Spam-Score: -2.11 X-TUID: IlwOzqTt7Lb/ --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hartmut Goebel writes: > Hi, > > was just written in another mail, I'm currently working on a > erlang/rebar build system. This includes an importer from hex.pm, a > package repository for elixir and erlang packages. (Since this is build > into rebar3 I assume it what PyPI is for Python and CPAN for Perl.) > > At hex.pm, packages are provided in a tarfile [1] wrapping the source > tar-file: > > -rw-r--r-- 0/0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0 1 2017-06-14 21:57 VERSION > -rw-r--r-- 0/0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 64 2017-06-14 21:57 CHECKSUM > -rw-r--r-- 0/0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 532 2017-06-14 21:57 metadata.config > -rw-r--r-- 0/0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 4744 2017-06-14 21:57 contents.tar.gz > > IMHO it does not make sense to keep this wrapping tar-file in the store. > > So my idea is to create a "hexpm-fetch" method, which downloads the > tar-file and only stores the "content.tar.gz" in the store (using a > proper name, of course). > > How can this be done? Tarballs from rubygems.org has the same problem and works around it by special support in ruby-build-system. It would be ideal to have an origin method that could extract the "inner" tarball, i.e. contents.tar.gz for hex.pm and data.tar.gz in the case of RubyGems. As zimoun mentioned, a good place to start is look at how other origin methods are implemented such as url-fetch/tarbomb, etc. --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl7Wq2QACgkQoqBt8qM6 VPo62Qf+LsWwwAcwBe2AvoOtbk9nWT6pFld1bAntbjuRQhk//XpUwa2f9jvKfw7w lt9s0eea1N9XTQDtB9z2n5qnoI1Tr5T9r614z4liwvngNm5Mx8HawPjXwERLxkf4 zKlhma1aNWn2E97Y7EabWohqSMjr5LWHl69un6bLbbfAqUqsUw5AxyHwISj9cGcM ImahYG5HJXafBGhlHb5KM8LDX9hw2pp0P/LYME+5oII1irjpDREGf3qIKdUddz1E xk54ihuj1zQ7OU3FHwpNHZyOIjgvvmGmrFLi1d0AjbZHpxdYFKk3rQ5bH5Ol9jGZ qNtV0X5SPEcErbuGvTLhSkX37RciFQ== =pHXt -----END PGP SIGNATURE----- --=-=-=--