From owner-freebsd-libh@FreeBSD.ORG Sun Jun 6 02:51:05 2004 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 4DF3016A4CE for ; Sun, 6 Jun 2004 02:51:05 -0700 (PDT) Received: from mta10-svc.ntlworld.com (mta10-svc.ntlworld.com [62.253.162.94]) by mx1.FreeBSD.org (Postfix) with ESMTP id BB68E43D39 for ; Sun, 6 Jun 2004 02:51:04 -0700 (PDT) (envelope-from jon@witchspace.com) Received: from witchspace.com ([81.110.67.239]) by mta10-svc.ntlworld.com (InterMail vM.4.01.03.37 201-229-121-137-20020806) with SMTP id <20040606095007.MRKU13246.mta10-svc.ntlworld.com@witchspace.com> for ; Sun, 6 Jun 2004 10:50:07 +0100 Received: (qmail 61068 invoked from network); 6 Jun 2004 09:50:27 -0000 Received: from unknown (HELO webmail.local) (127.0.0.1) by localhost.witchspace.com with SMTP; 6 Jun 2004 09:50:27 -0000 Received: from 192.168.0.1 (SquirrelMail authenticated user jon); by webmail.local with HTTP; Sun, 6 Jun 2004 10:50:27 +0100 (BST) Message-ID: <3684.192.168.0.1.1086515427.squirrel@192.168.0.1> Date: Sun, 6 Jun 2004 10:50:27 +0100 (BST) From: "Jonathan Belson" To: freebsd-libh@freebsd.org User-Agent: SquirrelMail/1.4.3a X-Mailer: SquirrelMail/1.4.3a MIME-Version: 1.0 Content-Type: text/plain;charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Priority: 3 (Normal) Importance: Normal Subject: Installer 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: Sun, 06 Jun 2004 09:51:05 -0000 Hiya I notice that DragonFlyBSD has made some progress on their NG installer. There's some information about its design here: http://freebsd0.sitetronics.com/cgi-bin/cvsweb.cgi/~checkout~/tissue/docs/dfui/dfui.html?rev=1.1&content-type=text/html and some code here: http://freebsd0.sitetronics.com/cgi-bin/cvsweb.cgi/~checkout~/tissue/ Using or building on an existing UI abstraction would save a lot of work. The Linux installers I've looked at seem to use separate code for each type of front-end (eg. console, gui), but having a common API would have advantages. The only other abstract gui I'm aware of is PicoGUI, but it looks like the project has been abandoned by its author. Cheers, -- Jon From owner-freebsd-libh@FreeBSD.ORG Mon Jun 7 01:28:19 2004 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 241C616A4CE for ; Mon, 7 Jun 2004 01:28:19 +0000 (GMT) Received: from barry.mail.mindspring.net (barry.mail.mindspring.net [207.69.200.25]) by mx1.FreeBSD.org (Postfix) with ESMTP id A0A9A43D31 for ; Sun, 6 Jun 2004 18:28:18 -0700 (PDT) (envelope-from david@usermode.org) Received: from h-68-165-66-220.snvacaid.dynamic.covad.net ([68.165.66.220] helo=scatha.home) by barry.mail.mindspring.net with esmtp (Exim 3.33 #1) id 1BX8va-00039s-00; Sun, 06 Jun 2004 21:27:54 -0400 From: David Johnson Organization: Usermode To: freebsd-libh@freebsd.org Date: Sun, 6 Jun 2004 18:27:53 -0700 User-Agent: KMail/1.6.2 References: <3684.192.168.0.1.1086515427.squirrel@192.168.0.1> In-Reply-To: <3684.192.168.0.1.1086515427.squirrel@192.168.0.1> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200406061827.53216.david@usermode.org> Subject: Re: Installer 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: Mon, 07 Jun 2004 01:28:19 -0000 On Sunday 06 June 2004 02:50 am, Jonathan Belson wrote: > I notice that DragonFlyBSD has made some progress on their NG > installer. There's some information about its design here: > > http://freebsd0.sitetronics.com/cgi-bin/cvsweb.cgi/~checkout~/tissue/ >docs/dfui/dfui.html?rev=1.1&content-type=text/html Reading through the page, this general design is straight forward, but the specifics are dependent upon DragonFly's libcaps, which FreeBSD does not have. So this doesn't look like something we can grab "as is" from DragonFly, without first importing libcaps and its messaging model. > Using or building on an existing UI abstraction would save a lot of > work. The Linux installers I've looked at seem to use separate code > for each type of front-end (eg. console, gui), but having a common > API would have advantages. I've been thinking about this for quite some time, and tried to rough out some designs. The hardest thing to write is this generic UI abstraction. The fact that no one has done it successfully before means that it's probably not worth the effort. What does exist is at a much higher level (dldialog). Trying to map one GUI API onto another is extremely problematic. Even writing an API to match another (for example a ncurses API that matches the Qt or GTK+ API) will cause problems mapping character based UI concepts onto pixel based UI concepts. I think the Linux distros have the right idea with their installers. Have a common backend, but write separate UI frontends. This still leaves considerable opportunities for common code. Only the actual UI need be written twice (or three times). I am currently getting some other projects of mine updated and out of the way so I can work on this in the near future. Here's my basic idea: Make the backend a shared library (libh, for example). It should contain all of the real functionality, as well as any common code such as saving/loading configuration sets or profiles. Around this should be a basic command line interface. If there are existing utilties that do what we want (such as useradd), then this library would merely provide a thin wrapper to it. Then a text front end could be written in tvision or ncurses, and a graphic in Qt or GTK+. Even a CGI wrapper should be straightforward. I'm planning on writing a protype of this idea using just the functionality contained within the existing "useradd" utility. I've also thought about writing a higher level ncurses toolkit, since I'm not particularly enamored of the tvision look and feel, but that's secondary to doing a prototype. It's probably going to be a couple of months until I get the spare time to devote to it though. -- David Johnson ___________________ http://www.usermode.org From owner-freebsd-libh@FreeBSD.ORG Mon Jun 7 18:36:26 2004 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 156F816A4CE for ; Mon, 7 Jun 2004 18:36:26 +0000 (GMT) Received: from ns.groovie.org (groovie.org [65.200.24.56]) by mx1.FreeBSD.org (Postfix) with ESMTP id EEED343D46 for ; Mon, 7 Jun 2004 18:36:25 +0000 (GMT) (envelope-from pjenvey@groovie.org) Received: from astound-66-234-207-85.ca.astound.net ([66.234.207.85] helo=[192.168.0.103]) by ns.groovie.org with asmtp (Exim 4.34 (FreeBSD)) id 1BXOyu-000I7G-TD; Mon, 07 Jun 2004 11:36:25 -0700 In-Reply-To: <200406061827.53216.david@usermode.org> References: <3684.192.168.0.1.1086515427.squirrel@192.168.0.1> <200406061827.53216.david@usermode.org> Mime-Version: 1.0 (Apple Message framework v613) Content-Type: text/plain; charset=US-ASCII; format=flowed Message-Id: <93337C88-B8B1-11D8-AD9B-000A959DA6A2@groovie.org> Content-Transfer-Encoding: 7bit From: Philip Jenvey Date: Mon, 7 Jun 2004 11:36:22 -0700 To: David Johnson X-Mailer: Apple Mail (2.613) X-Spam-Score: -4.4 (----) X-Spam-Report: Spam detection software, running on the system "ns.groovie.org", hasmessageblock similar future email. If you have any questions, see the administrator of that system for details.> I'm planning on writing a protype of this idea using just the > functionality contained within the existing "useradd" utility. I've > > not particularly enamored of the tvision look and feel, but that's >> months until I get the spare time to devote to it though. > > -- > David Johnson [...] Content analysis details: (-4.4 points, 5.0 required) pts rule name description --------------------------------------------------1% [score: 0.0000] 0.5 AWL AWL: Auto-whitelist adjustment cc: freebsd-libh@freebsd.org Subject: Re: Installer 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: Mon, 07 Jun 2004 18:36:26 -0000 On Jun 6, 2004, at 6:27 PM, David Johnson wrote: > > I'm planning on writing a protype of this idea using just the > functionality contained within the existing "useradd" utility. I've > also thought about writing a higher level ncurses toolkit, since I'm > not particularly enamored of the tvision look and feel, but that's > secondary to doing a prototype. It's probably going to be a couple of > months until I get the spare time to devote to it though. > > -- > David Johnson FYI -- I was looking around for a higher level curses toolkit, and I've noticed a couple projects: CDK - http://www.vexus.ca/products/CDK/ C based, comes with a perl api CTK - http://www.du.edu/%7Emschwart/tclextensions.html#ctkTbl TCL based NetBSD's Sushi project, which lets you configure the system (conf files) via a console interface, uses CDK. -- Philip Jenvey From owner-freebsd-libh@FreeBSD.ORG Tue Jun 8 03:23:08 2004 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 6033516A4CE for ; Tue, 8 Jun 2004 03:23:08 +0000 (GMT) Received: from tisch.mail.mindspring.net (tisch.mail.mindspring.net [207.69.200.157]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3A14643D31 for ; Tue, 8 Jun 2004 03:23:08 +0000 (GMT) (envelope-from david@usermode.org) Received: from h-68-164-94-239.snvacaid.dynamic.covad.net ([68.164.94.239] helo=scatha.home) by tisch.mail.mindspring.net with esmtp (Exim 3.33 #1) id 1BXXCY-0003yA-00; Mon, 07 Jun 2004 23:23:02 -0400 From: David Johnson Organization: Usermode To: Anarcat , freebsd-libh@freebsd.org Date: Mon, 7 Jun 2004 20:23:03 -0700 User-Agent: KMail/1.6.2 References: <3684.192.168.0.1.1086515427.squirrel@192.168.0.1> <200406061827.53216.david@usermode.org> <40C3CFB1.5080402@anarcat.ath.cx> In-Reply-To: <40C3CFB1.5080402@anarcat.ath.cx> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200406072023.03649.david@usermode.org> Subject: Re: Installer 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: Tue, 08 Jun 2004 03:23:08 -0000 On Sunday 06 June 2004 07:15 pm, you wrote: > And I'll put it even better: if we struggle to build a "dual-head" > GUI (text + graphics), we end up stuck at 2 interfaces. Hooking in a > third one is much harder than doing it the other way around, which > is: design the machine under, and then program as many views you > need. > > Model-view-controller comes to my mind now, and I think it's > appropriate. I agree in concept. MVC is meant for a slightly different kind of application, but the basic idea is sound. If someone wants a HTML/CGI UI, a decoupled interface won't stop them. -- David Johnson ___________________ http://www.usermode.org From owner-freebsd-libh@FreeBSD.ORG Thu Jun 10 13:18:04 2004 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 BF04A16A4CE for ; Thu, 10 Jun 2004 13:18:04 +0000 (GMT) Received: from mta02-svc.ntlworld.com (mta02-svc.ntlworld.com [62.253.162.42]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3BE9F43D41 for ; Thu, 10 Jun 2004 13:18:04 +0000 (GMT) (envelope-from jon@witchspace.com) Received: from witchspace.com ([81.110.67.239]) by mta02-svc.ntlworld.com (InterMail vM.4.01.03.37 201-229-121-137-20020806) with SMTP id <20040610131650.ONIW8778.mta02-svc.ntlworld.com@witchspace.com> for ; Thu, 10 Jun 2004 14:16:50 +0100 Received: (qmail 52620 invoked from network); 10 Jun 2004 13:17:20 -0000 Received: from unknown (HELO webmail.local) (127.0.0.1) by localhost.witchspace.com with SMTP; 10 Jun 2004 13:17:20 -0000 Received: from 192.168.0.1 (SquirrelMail authenticated user jon); by webmail.local with HTTP; Thu, 10 Jun 2004 14:17:20 +0100 (BST) Message-ID: <1844.192.168.0.1.1086873440.squirrel@192.168.0.1> In-Reply-To: <200406061827.53216.david@usermode.org> References: <3684.192.168.0.1.1086515427.squirrel@192.168.0.1> <200406061827.53216.david@usermode.org> Date: Thu, 10 Jun 2004 14:17:20 +0100 (BST) From: "Jonathan Belson" To: "David Johnson" User-Agent: SquirrelMail/1.4.3a X-Mailer: SquirrelMail/1.4.3a MIME-Version: 1.0 Content-Type: text/plain;charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Priority: 3 (Normal) Importance: Normal cc: freebsd-libh@freebsd.org Subject: Re: Installer 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, 10 Jun 2004 13:18:04 -0000 > On Sunday 06 June 2004 02:50 am, Jonathan Belson wrote: > Reading through the page, this general design is straight forward, but > the specifics are dependent upon DragonFly's libcaps, which FreeBSD > does not have. So this doesn't look like something we can grab "as is" > from DragonFly, without first importing libcaps and its messaging > model. The other possibility is porting it to use a native interface. > I've been thinking about this for quite some time, and tried to rough > out some designs. The hardest thing to write is this generic UI > abstraction. The fact that no one has done it successfully before means PicoGUI (which I mentioned in my original e-mail) appears to have a number of video drivers, including one for ncurses. I don't have a linux installation handy to test it with so I don't know how generic it is. Interesting project though. Cheers, -- Jon