Interactive tool for installing packages

Mark Johnston markjdb at gmail.com
Tue Nov 9 21:25:19 UTC 2010


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






More information about the freebsd-ports mailing list