From owner-freebsd-arch Mon Jul 8 15:54:26 2002 Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BCF7537B400; Mon, 8 Jul 2002 15:54:24 -0700 (PDT) Received: from softweyr.com (softweyr.com [65.88.244.127]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3DB8F43E31; Mon, 8 Jul 2002 15:54:24 -0700 (PDT) (envelope-from wes@softweyr.com) Received: from nextgig-5.customer.nethere.net ([209.132.102.165] helo=softweyr.com) by softweyr.com with esmtp (Exim 3.35 #1) id 17RhOg-0000mZ-00; Mon, 08 Jul 2002 16:54:23 -0600 Message-ID: <3D2A191C.3103D0FB@softweyr.com> Date: Mon, 08 Jul 2002 15:58:36 -0700 From: Wes Peters Organization: Softweyr LLC X-Mailer: Mozilla 4.78 [en] (X11; U; Linux 2.4.2 i386) X-Accept-Language: en MIME-Version: 1.0 To: Doug Barton Cc: Dag-Erling Smorgrav , Dan Moschuk , arch@FreeBSD.org Subject: Re: Package system flaws? References: <20020707152651.V679-100000@master.gorean.org> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Doug Barton wrote: > > On Sun, 7 Jul 2002, Terry Lambert wrote: > > > > We want to be able to install a package from a non-rewindable source > > > without storing a temporary copy on disk. This means the metadata > > > must without fail be at the very beginning of the package. > > Ok, then what about storing the meta data as a seperate file? Why do they > have to be in the same package? So you can (md5, sign) them together and know that they "apply" to each other. If you're sensible about the encoding, the metadata doesn't have to be at the beginning of the media. Consider a simple package that has a collection of binaries and two language sets; you have to install one or both language sets. You put the binaries in first, because everyone has to install those. Then you put one of the language sets, then the other. In the encoding, you specify the size of the fileset blob following, so if I'm going to skip the first set and install the second, I know how many bytes to skip over. On a tape or disk, you can seek forward this many bytes, on a socket stream you have to just read and skip that many bytes. If you're just looking at the package gleaning metadata, you skip over all 3 blobs; pkg_info would do this. The actual encoding of the blobs is inconsequential, you could use 3 different encodings to get the maximum compression on each if you wished -- as long as pkg_add supports all of those encodings. The logical firsts are PROBABLY tar (or cpio) and gzip/bzip2. Features of the encoding format like headers don't matter since we're not going to put the metadata into the encodings. -- "Where am I, and what am I doing in this handbasket?" Wes Peters Softweyr LLC wes@softweyr.com http://softweyr.com/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message