From owner-freebsd-arch Mon Jul 8 2:30:19 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 5317D37B407; Mon, 8 Jul 2002 02:30:11 -0700 (PDT) Received: from avocet.mail.pas.earthlink.net (avocet.mail.pas.earthlink.net [207.217.120.50]) by mx1.FreeBSD.org (Postfix) with ESMTP id CADE643E4A; Mon, 8 Jul 2002 02:30:10 -0700 (PDT) (envelope-from tlambert2@mindspring.com) Received: from pool0110.cvx40-bradley.dialup.earthlink.net ([216.244.42.110] helo=mindspring.com) by avocet.mail.pas.earthlink.net with esmtp (Exim 3.33 #1) id 17RUqP-0002pO-00; Mon, 08 Jul 2002 05:30:10 -0400 Message-ID: <3D295B77.E62ED5FC@mindspring.com> Date: Mon, 08 Jul 2002 02:29:27 -0700 From: Terry Lambert X-Mailer: Mozilla 4.7 [en]C-CCK-MCD {Sony} (Win98; U) 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: <20020707233525.U2247-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: > > 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? > > > > For the same reason the fact that root owns /etc/master.passwd is > > not in a seperate file? > > ENOPARSE Metadata is metadata. If it's good to put metadata in a file seperate from the data it describes, then the judgement of "goodness" is universal. We store the metadata for individual files in most file systems in a shared structure which contains both the references to the data and to the metadata (exceptions are FS's which do not support doing this intrinsically, e.g. MSDOSFS, or FS's which have to store it seperately in order to achieve minimal POSIX semantics, e.g. Udo Walter's "UMSDOSFS" under Linux). We do this because it makes the data and metadata non-severable, it relieves us of having to consider synchronization issues which would otherwise arise, and we do it because it's convenient in terms of speed of operations involving both, and convenient in terms of locality of reference. It also gets rid of the implied graph edge for locking of data and metadata, which can lead to an undetectable deadly embrace deadlock . All of these arguments apply equally well to bundling package metadata with package data: conceptually, that metadata is no different than file ownership, flags, or permissions. -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message