Subject: Re: pkg_select news
To: iMil <>
From: Hubert Feyrer <>
List: tech-pkg
Date: 05/13/2005 22:39:52
On Fri, 13 May 2005, iMil wrote:
> As always, tests and feedback are welcome.

I've had a very brief look at the most recent version, and I also had some 
thought about the user interface of pkg_select over the past few weeks.
Before I get to the UI part, some general hickups I encountered:

  * Offer "All" category when in "pkg_select -lm"
  * Better document what the "NetBSD ftp mirror" for the -u flag should
    look like
  * "pkg_select -md file:///usr/pkgsrc/packages/" prints lots of garbage
    all across the screen:
    cp: symlink: ../All/libtasn1-0.2.13.tgz: File exists

OK, on the pkg_select UI:

My ultimate idea is to ship pkg_select in NetBSD's base installation to 
help manage pkgsrc. Base installation means that there won't be a pkgsrc 
present, and that users shoudl have some choice on where to get things 
from (FTP, anoncvs, ...), and also whether to use pkgsrc at all or go 
directly for binary pkgs via FTP. Much of this is present in pkg_install 
already, but I think the UI is getting "crowded", and I'd like to suggest 
splittings things up a bit. I.e. when the user starts up pkg_install,
offer a main menu that has some basic things like:

 	1. pkgsrc maintenance
 	2. package maintenance
 	3. settings
 	4. quit

There can be command line args to allow shortcuts for experienced users, 
but I think it would be nice to offer a menu based navigation for 
beginners, too.

After the first choice on what to do exactly, further options could exist:

 	1. pkgsrc maintenance
 		1.1 grab pkgsrc (using preferred mode from settings)
 		1.2 update pkgsrc (using preferred mode from settings)

 	2. package maintenance
 		(run pkg_select with options according to settings)

 	3. settings
 		3.1 preferred mode of pkgsrc maintenance:
 		     * tarballs via FTP
 		     * checkout/updates from anoncvs
 		     * rsync
 		     * ...
 		3.2 preferred mode of package maintenance (2.)
 		     * pkgsrc => run "pkg_select"
 		     * binary pkgs from network
 		       => run "pkg_select -m -d ftp://..."
 		     * local binary pkgs from /usr/pkgsrc
 		       => run "pkg_select -m -d /usr/pkgsrc/..."
 		     * local binary pkgs from /cdrom
 		       => run "pkg_select -m -d /cdrom/..."
 		     * local binary from custom path - enter!
 		3.3 preferred FTP server for binary pkgs - grab list from
            plus manual entry
 		3.4 preferred HTTP server for binary pkgs - manual entry
 		3.5 preferred anoncvs server - grab list from
            or manual entry
 	4. quit

My idea would be to pick settings once, and then do operations based on 
them, for several scenarios:
  * initial installation of pkgsrc
  * updating pkgsrc
  * package maintenance from pkgsrc and via FTP

package maintenance should esp. be possible without pkgsrc installed at 

I'm not sure the proposed menu structure is the best one, and maybe some 
more use cases/scenarios should be analyzed to get a decent menu structure 
before changing things. As far as I understand pkg_select, the basic 
functionality for all these scenarios is present, only choosing what to do 
needs assistance.

  - Hubert

Ihr, nicht ich!    ->