Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Apr 2010 08:18:53 -0700
From:      Tim Kientzle <kientzle@freebsd.org>
To:        Garrett Cooper <gcooper@freebsd.org>
Cc:        David Forsythe <dforsyth@freebsd.org>, Perforce Change Reviews <perforce@freebsd.org>, Florent Thoumie <flz@esat.net>
Subject:   Re: PERFORCE change 176831 for review
Message-ID:  <4BC5DCDD.2060902@freebsd.org>
In-Reply-To: <v2j364299f41004140100gdd528438j17ef6ae6d2962cae@mail.gmail.com>
References:  <201004121230.o3CCUsIX029146@repoman.freebsd.org>	 <4BC3EB5B.5070801@freebsd.org>	 <l2y364299f41004122249q2f5734a7j89be807581e42dac@mail.gmail.com>	 <4BC53714.80805@freebsd.org>	 <r2x364299f41004140053y7b43d454qb7804e111d1920a6@mail.gmail.com>	 <g2v364299f41004140056pee1cde28laee26c8d5d1c9d19@mail.gmail.com> <v2j364299f41004140100gdd528438j17ef6ae6d2962cae@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
>>>> But I really do believe that single-pass direct
>>>> install is feasible and is eventually where we want
>>>> to be.  The key insight for me was when Florent recently
>>>> pointed out that you could just read the +CONTENTS,
>>>> then do a verify pass, then extract everything.
>>>> (Any conflict during the extraction pass
>>>> would be a fatal error:  delete everything
>>>> extracted so far and scream loudly.)

>>> Agreed on the final point. I'm kind of interested though about the
>>> first point -- the verify pass -- are you verifying that the contents
>>> are sane on the disk or in the tarball? If so, why not just verify the
>>> contents after the fact...

That is:
   * Read and parse +CONTENTS
   * Check the package database to verify that
     dependent packages exist and that no conflicting
     packages exist.  If there's a problem, ask the
     user what to do.  (This gets complicated.)
   * Check the disk to verify that none of the files
     listed in +CONTENTS already exist on disk.  If so,
     there's a conflict and we must ask the user
     what to do (this gets complicated).
   * Extract all of the files, failing if there is a
     file in the tarball that wasn't listed in +CONTENTS
     or if there is a file in the tarball that already
     exists on disk (which must have been created in the
     intervening window).





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4BC5DCDD.2060902>