From owner-freebsd-hackers@FreeBSD.ORG Tue Nov 9 21:00:25 2010 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A711C10656AC for ; Tue, 9 Nov 2010 21:00:25 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: from mail-yw0-f54.google.com (mail-yw0-f54.google.com [209.85.213.54]) by mx1.freebsd.org (Postfix) with ESMTP id 5BDD98FC12 for ; Tue, 9 Nov 2010 21:00:24 +0000 (UTC) Received: by ywj3 with SMTP id 3so368951ywj.13 for ; Tue, 09 Nov 2010 13:00:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:date:from:to:cc:subject :message-id:references:mime-version:content-type:content-disposition :in-reply-to:user-agent; bh=QgE2zgfI+s+o/tq83ig0qE90jJsYhxLTxHGaCClP9PM=; b=TjpEouqBLrtwVxoYhVyfRip6f2F5cY74bDRYVpW1qinQ8vqzdp1xZDu7nE4qo8jn47 2FbH20Jh0Kohwjz2xWS7+cDfkpXTXuLgsjieLNmQynZ+ZclYJ74lVE2Uk2MuCHGiMG80 lPAKYW4szlbf4ZCf2+ji9pKA6eWr4miC43Ohg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; b=BcZ/iDz3T9G6Wl6j+bW3ODDsThP4h5MAeZ5b3hbfywCizc7EhDOMIXJSYFdzpTW8Oj UhHXCoWEf0QZhqSsj1jz8f5cA0GeWYNINs6Lv0wt3ghGOLfkd2NCwxFLoUCZMv+zcEea t0JIITYZhFabBKVsMT2+d5uilfw8yp4b3U+RE= Received: by 10.150.11.19 with SMTP id 19mr11431225ybk.330.1289336424214; Tue, 09 Nov 2010 13:00:24 -0800 (PST) Received: from mark-laptop-bsd.mark-home (Mail1.sandvine.com [64.7.137.162]) by mx.google.com with ESMTPS id q4sm926290yba.14.2010.11.09.13.00.22 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 09 Nov 2010 13:00:23 -0800 (PST) Date: Tue, 9 Nov 2010 15:59:55 -0500 From: Mark Johnston To: Marin Atanasov Nikolov Message-ID: <20101109205955.GB10842@mark-laptop-bsd.mark-home> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.20 (2009-06-14) Cc: freebsd-hackers@freebsd.org, freebsd-ports@freebsd.org Subject: Re: Interactive tool for installing packages X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Nov 2010 21:00:25 -0000 On Tue, Nov 09, 2010 at 09:32:15PM +0200, Marin Atanasov Nikolov wrote: > Hello, > > Some time ago I've started a thread on freebsd-ports@ regarding an > interactive tool for installing packages under FreeBSD - pkg_add_it. > > Now that I got some time to work on the program, I have added a few > additional features to it, which I think someone might find useful > like: > > - dependencies tree view of packages (useful to find out package dependencies) > - a similar tool that does this already exists - pkg_tree, but it > only works for installed ports, while pkg_add_it can show you every > package from INDEX > - regex support > - displays categories and packages from each of them found in INDEX > - some code improvements, etc... > > The code can be found here [1] and in order to install the program, you need to: > > # git clone git://git.unix-heaven.org/public/pkg_add_it > # cd pkg_add_it && make install clean > > I still haven't updated the manual pages yet, but you can read > something about the program on the web page [2]. > > Screenshots can be seen as well. [3] > > Would be nice if someone can test it, and provide some feedback - what > can be removed, improved, added, etc.. > > Surely, there's room for improvement, but that's a start.. :) > > Thanks, > Marin > > [1] git.unix-heaven.org > [2] www.unix-heaven.org/index.php?page=pkg_add_it > [3] http://www.unix-heaven.org/pkg_add_it-new-gfx/ > > -- > Marin Atanasov Nikolov > > dnaeon AT gmail DOT com > daemon AT unix-heaven DOT org > http://www.unix-heaven.org/ It looks pretty neat. I spent a minute or two trying it out, and my only suggestion at this point is to check errno for common errors instead of immediately calling ERRX to report non-zero returns from system calls. It's kind of annoying to see a message like pkg_add_it: Error in config_read_file() from config.c at line 179: No such file or directory when it's my fault that pkg_add_it can't find its config file. =) Ditto for things like permissions errors and getenv(3). sudo doesn't bring in my environment unless I use -E, so I get the following message when a 'getenv("PAGER")' fails: pkg_add_it: Error in pkg_display_found() from pkg.c at line 418: No such file or directory -Mark