From owner-freebsd-libh@FreeBSD.ORG Thu Jun 19 10:07:32 2003 Return-Path: Delivered-To: freebsd-libh@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D88AD37B401; Thu, 19 Jun 2003 10:07:32 -0700 (PDT) Received: from hannibal.servitor.co.uk (hannibal.servitor.co.uk [195.188.15.48]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0532543F75; Thu, 19 Jun 2003 10:07:32 -0700 (PDT) (envelope-from paul@hannibal.servitor.co.uk) Received: from paul by hannibal.servitor.co.uk with local (Exim 4.14) id 19T2sw-0002aD-U4; Thu, 19 Jun 2003 18:07:42 +0100 Date: Thu, 19 Jun 2003 18:07:42 +0100 From: Paul Robinson To: Tim Kientzle Message-ID: <20030619170742.GO20204@iconoplex.co.uk> References: <200306162015.06836.nakal@web.de> <20030616151024.0616e1e4.eaja@erols.com> <20030616191852.GA52694@ussenterprise.ufp.org> <20030618100125.GP20204@iconoplex.co.uk> <1055948691.92188.10.camel@beastie.freebsd.local> <20030618154012.GE533@xtanbul> <20030619095739.GC20204@iconoplex.co.uk> <3EF1E7EC.3040908@acm.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3EF1E7EC.3040908@acm.org> Sender: Paul Robinson cc: freebsd-libh@freebsd.org cc: freebsd-hackers@freebsd.org Subject: Re: YAPIB (was: Drawing graphics on terminal) X-BeenThere: freebsd-libh@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Dedicated to libh code development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Jun 2003 17:07:33 -0000 On Thu, Jun 19, 2003 at 09:42:20AM -0700, Tim Kientzle wrote: > When you get ready to do some work, let me know. I've Will do. Just need to move, get DSL installed, and clear down some work and I'm looking at a year of clear weekends and evenings. And this is biting me up inside now... :-) > * libtarfile works. This is a library that provides > simple iteration over tarfiles. It handles format > detection (e.g., both old/Posix/GNU formats and > gzip/bzip2/etc compression), can 'extract' entries > to disk or to an in-memory buffer, etc. The read support > is pretty solid; the write support is just a sketch. v. cool. The other night when I was sitting in the pub sketching on beer mats and cigarette packets to work out what needed doing, one of the first things that sprung to mind was the ability to look inside, if not packages, at least tar files in memory just to get the juicy info out to present the user with choices as to whether that pkg is something they really want, and if so, not have to play around in /tmp or wherever... > * Direct package extraction works. I can open a package > file from stdin, disk, ftp, etc, and just install it > without having to create a temp directory or any of > that nonsense. The idea: extract the packing list > into memory, parse it, use it to direct the extraction > of the rest of the package. This is _MUCH_ faster > than the older pkg_add code. Hah. OK, item number two on the list is struck off. Cool. Looks like I'll be writing a GUI then? :-) > * Requirements handling: I have some recursive requirements > handling, but I'm not entirely happy with it. I'm exploring > other approaches. I'd be interested to know why you're not happy with it - is it the concept of recursiveness over a set of requirements in general you think is flawed, or is it your implementation which is niggling you? Requirements and dependancy tracking/handling are big issues. I've resorted to reading papers on how people have approached it in the past and have some vague ideas, and recursiveness has problems. Recursiveness is always problematic though, no matter what domain you take it too - branching is where I was thinking. > * Locating packages. This will probably involve building > a DB file in /var/db/pkg to record information about > what packages are available from which ftp sites, etc. Instead of retrieving the binary when you do a pkg_add -r perhaps you could end up grabbing a file that described where it could *really* be found (thereby alleviating mirrors from carrying GBs of packages, just the descriptions of where they are), including possible locations on disk, and ultimately, ports ... nothing stopping you shipping this db as part of the base install, or like ports is now, but then we get to crux: Shouldn't pkg_add be an abstraction of ports, with the advantage of grabbing a pre-built binary if it's available, with a command line switch to force a traditional cd /usr/ports/category/package; make install clean ??? At the moment we have ports, and we have packages. Maybe it's time to merge to the benefit of both? > Like I said, let me know when you're ready to work on this. > My stuff is still pretty rough in some spots, but a lot of > it should prove useful to anyone working on install issues. Yeah, certainly, thanks for the heads up. I'm sure I would have been hassling you in a fortnight anyway. :-) -- Paul Robinson