For a long time, I've built packages that I used from source, and only recently explored binary package managers (pkg_chk -a doesn't really count!). For no good reason, I ran pkgin first, and now I'm trying out nih. I have a lot of questions/comments, and ideally they'd be answered in the docs :-) First, thanks to Aleksey for writing this. * more defaults Overall, my reaction is that it requires a bit too much thinking to use, and it would be nice for the defaults to be closer to what a normal user should do, even if they don't understand. Specifics below - I know such a broad comment is not that useful. * commented-out repo path The config files has a commented out repository line. It seems that this line is also built in and used when there is none configured. While I usually like programs to work with empty config files, I think the remote repo should be manifest in the file. So I'd be in favor of the default config file actually having the path, and no repo being used if there is no (uncommented) line. * multiple repositories? I'd like to be able to have a joint repo of packages I compile and the standard builds. I realize this puts me on thin ice consistency-wise. The man page talks about repository in the singular. It would be nice to either explain that one can have more than one and how they are searched, or explain that there is only one, and if this is a design decision or what's-implemented-so-far. * nih verify defaults It seems that (on a system which is in order) verify is mostly an operation which should turn up no problems. So I would think the default for verify would be to check everything that is reasonable to check. Additionally, for the "-s" option it would be nice to have a way for example to suppress lines like: s: mismatch devel/distcc distcc-3.2 6.1 on a system with uname -r of "6.1_STABLE". In that case, it isn't really a mismatch. But 5.x would be an issue. So I'd suggest two flags, one for major version and one for any difference, and to make the major version flag part of the default. * use of pkgsrc summary The man page talks about building a summary from pkgsrc. But it's not clear how that's used, in terms of update operations. Does nih include the ability to do what pkg_rr does? Or is this just for status? Can one use the pkgsrc summary info and also a remote repo? What if they don't match? * installed by user vs automatic There are flags -u and -a. Obviously (with a grain of salt), this refers to the absence and presence of automatic=YES, and there's really only one setting. If so, it's confusing to have two words and two sets of flags. If there are two flags, that's confusing too. * keep flag This seems sensible. It would be nice to document the variable that is used, and for someone(tm) to add this same variable to pkg_rr. It's hard to tell from the man page what happens when one combines keep and updates. Without a consistent build, some things are bound not to work, and it would be nice to have the rules documented. * v4/v6 defaults I can see the point of having flags to be IPv4 only, but it seems strange to make v4-only the default.
Attachment:
pgplPGX0_3k0g.pgp
Description: PGP signature