From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 9BD73138334 for ; Wed, 21 Nov 2018 14:21:59 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 94FA6E08AA; Wed, 21 Nov 2018 14:21:55 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 36052E077D for ; Wed, 21 Nov 2018 14:21:54 +0000 (UTC) Received: from pomiot (d202-252.icpnet.pl [109.173.202.252]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: mgorny) by smtp.gentoo.org (Postfix) with ESMTPSA id 9A273335C7D; Wed, 21 Nov 2018 14:21:52 +0000 (UTC) Message-ID: <1542810108.4480.2.camel@gentoo.org> Subject: Re: [gentoo-dev] [pre-GLEP r2] Gentoo binary package container format From: =?UTF-8?Q?Micha=C5=82_G=C3=B3rny?= To: gentoo-dev@lists.gentoo.org Date: Wed, 21 Nov 2018 15:21:48 +0100 In-Reply-To: <20181121131000.GC28829@gentoo.org> References: <1542453700.31427.2.camel@gentoo.org> <1542745997.18030.3.camel@gentoo.org> <20181121131000.GC28829@gentoo.org> Organization: Gentoo Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="=-qnCXaGAXNkH4Q9e4Le+2" X-Mailer: Evolution 3.26.6 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org Mime-Version: 1.0 X-Archives-Salt: ad08a850-3557-4710-bdeb-6c21e07f3434 X-Archives-Hash: 2c4f4ff0e89b436eb0bc95a85bbdc441 --=-qnCXaGAXNkH4Q9e4Le+2 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, 2018-11-21 at 14:10 +0100, Fabian Groffen wrote: > On 20-11-2018 21:33:17 +0100, Micha=C5=82 G=C3=B3rny wrote: > > The volume label > > ---------------- > >=20 > > The volume label provides an easy way for users to identify the binary > > package without dedicated tooling or specific format knowledge. > >=20 > > The implementations should include a volume label consisting of fixed > > string ``gpkg:``, followed by a single space, followed by full package > > identifier. However, the implementations must not rely on the volume > > label being present or attempt to parse its value when it is. > >=20 > > Furthermore, since the volume label is included in the .tar archive > > as the first member, it provides a magic string at a fixed location > > that can be used by tools such as file(1) to easily distinguish Gentoo > > binary packages from regular .tar archives. >=20 > Just for clarity on this point. > Are you proposing that we patch file(1) to print the Volume Header here? > file-5.35 seems to not say much but "tar archive" or "POSIX tar archive" > for tar-files containing a Volume Header as shown by tar -tv. I'm wondering about that as well, yes. However, my main idea is to specifically detect 'gpkg:' there and use it to explicitly identify the file as Gentoo binary package (and print package name). >=20 > > Container and archive formats > > ----------------------------- > >=20 > > During the debate, the actual archive formats to use were considered. > > The .tar format seemed an obvious choice for the image archive since > > it is the only widely deployed archive format that stores all kinds > > of file metadata on POSIX systems. However, multiple options for > > the outer format has been debated. >=20 > You mention POSIX, which triggered me. I think it would be good to > specify which tar format to use. >=20 > POSIX.1-2001/pax format doesn't have a 100/256 char filename length > restriction, which is good but it is not (yet) used by default by GNU > tar. busybox tar can read pax tars, it seems. >=20 I think the modern GNU tar format is the obvious choice here. I think it doesn't suffer any portability problems these days, and is more compact than the PAX format. --=20 Best regards, Micha=C5=82 G=C3=B3rny --=-qnCXaGAXNkH4Q9e4Le+2 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iQKTBAABCgB9FiEEXr8g+Zb7PCLMb8pAur8dX/jIEQoFAlv1afxfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDVF QkYyMEY5OTZGQjNDMjJDQzZGQ0E0MEJBQkYxRDVGRjhDODExMEEACgkQur8dX/jI EQqusRAA7X2rNsdXBeVy93Jk3erR1+n9pImpy15fiGh9cjgczq0iIK/xwziQeyyr 8oDdgj50tDwCz00SpH4ZSG5iZ2LYLFohfgsLSeubsj5lJbddX4f+o68EPDMfuwa1 eZRwivgBP/iH66uUX0J/YwHc9+6yyjVxwgGKG7rsgVg1ReDcRYNNc9rFxR1l9owO ogv/wzRPheEeMYqv1q5+LUdeuw8FxaU6plSj3UAGsNrT3pd/0pP6bixz2thMMJl/ Ci3JaUYLVDVNFB62IsZ0k35o8I0OiVmPbVns9Nv4Vl0UYRJ4Y4qRxFWJQaKSsqo9 MGqUp5tz2fCNkjjAvjpAGxjmdjHzbIekwPwscIv14EEChUlfobpTQV1Ocpd+JbrV 48uFalEb4uQjxjXfpCGd4UbwqGcp81md0xoJPWNI4f0lmGt6VmcwqiowvpYo6aU8 QhGprpT0ljn0YF4/2+b4DYYANq7Rns49qPg/DGPQ5rsMZbDCz9s/jEnow32aYB1z imfzemY503gc94ss71HFUxF1iyqrj7p/Qa5cx8pG36dBRn870LmWvQgugvXd3B0U 45jWRK9uOl3YV5MUHnh8RM7oSISGRDO63m6iHi3DKcw72O4938uMKpbwAC756SgL NGaXoJy4heNwmUeHjuGrgeQa4CQT5G21rOdwGxqVxs+N52brQG0= =fwrd -----END PGP SIGNATURE----- --=-qnCXaGAXNkH4Q9e4Le+2--