Most important parts of pkg_grep_summary, a part of
pkgtools/pkg_summary-utils, was reimplemented in C. As a result
"nih {search,info,meta,leaf,install,remove,deps}" should work faster.
nih install:
- if pkg_update_plan(1) fails, nih(1) exits with pkg_update_plan's
exit status.
- packages to be installed or removed are output in sorted order.
nih {search,meta,info}:
- "nih meta" now defaults to -1 mode (internally).
- documentation for -1|-3|-9 ads added for "nih {info,meta}" commands
- "nih info" now defaults to -3 mode.
- "nih {search,meta,info}" now work correctly with -{o,i} options
if ~/.nih/pkg_summary.txt is absent.
- new option -l was added to "nih {search,info}" that outputs
package file list.
Summary for installed packages is cached in
~/.nih/pkg_inst_summary.txt. "nih {refresh,search,info,meta,deps,list} -i"
use this file and update it when necessary.
nih refresh:
- Option -P was added for fully rescanning pkgsrc tree.
- The default value for PKGSRCDIR is not determined at build time
anymore. As a result "nih refresh -p" does not try to access
/tree/pkgsrc used by bouyer@ who builds official NetBSD binary
packages. Now PKGSRCDIR defaults to /usr/pkgsrc.
- "nih refresh -p" shows progress counter (the number of scanned
packages) unless -m is in PSS_OPTIONS.
- option -i was added that updates summaries for installed
packages (~/.nih/pkg_inst_summary.txt).
nih remove:
- does not try to create $CACHEDIR and "cd" to it.
nih list:
- was completely reimplemented and simplified.
- new option -p was added that outputs pkgsrc tree packages.
nih deps:
- new options -b and -p were added for working with binary
repository and pkgsrc scanned packages
(pkg_summary.txt ad pkg_src_summary.txt respectively)
- option -1 was added that outputs direct dependencies or dependents.
nih/config:
- better conversion from "uname -r" to repository URL.
- REPOSITORY for SunOS defaults to smartos.org.
Support for summaries with no PKGPATH, e.g., compat50-5.1.tgz, was
added.
Option -I for "list", "deps', "meta", "info" and "search" was
renamed to -i. Option -I is supported for backward compatibility.
package_search.pdf was updated, fixed and improved.
nih install:
- Order of packages does matter
("nih install emacs- editors/emacs22" is correct)
- Option -P and new config variable NO_REQPROV_CHECK were added
- Option -L and new config variable NO_REMOVE_LEAVES were added
- "Nothing to be done" message is output if everything is up-to-date
- Download failures and cksum failures are handled differently
- Handling CONFLICTS between installed packages and packages to
install are handled differently. Now package splits and similar
problems are resolved with a help of "fake" packages. Fake
packages are always marked for updates.
New option -f for "nih list" was added in order to list them
- Improvemed download progress messages
nih uninstall:
- Option -L was added, see "nih install -L"
- Options -p and -P were added. See "nih install"
nih leaf:
- Command was reimplemented and simplified
- Option -t option was removed
pkg_status doesn't have -ltRn options anymore
- Option -r was added
nih search:
- Option -I uses pkg_digger_installed provided by pkg_summary-utils
pkg_update_plan:
- Fixes in error messages
nih search|meta|info:
- Option -p was added. With a help of it one may search in
pkgsrc packages offline. Also see "nih refresh -p" and man page
Now nih works correctly if REPOSITORY is a directory
Fixes for shell's "trap" command.
fix in "nih deps": option -t now works correctly
fix: ~/.nih/config has higher priority than @sysconfdir@/nih/config
Thanks to Jan Smydke for the report!
fix: Create "$CACHEDIR/All" on startup.
Thanks to Zafer Aydogan for the report.
nih.default.conf:
- REPOSITORY defaults to ftp://ftp.NetBSD.org/...
Default nih.conf:
- One more example of use
Support for "try_out" marker was added. New options for subcommands:
nih install -t, nih remove -t, nih list -t and nih mark -t/-T.
See manual page for details.
nih install:
- after downloading binary packages it checks for common files in
PLIST fields. If unregistered conflicts are detected, nih exits
with error. This can be disabled using NO_PLIST_CHECK variable.
- New option -a was added for running pkg_add(8) directly.
nih history:
- "automatic" and "try_out" flags are registered and output.
- outputs a warning message if NO_INSTALLED_COPY is set.
nih install|remove:
- New option -l was added for keeping auto-removable leaf
packages.
nih verify:
- New option -s was added for comparing running OS and OS packages
were built for.
nih:
- New global option -s was added for specifying path to
pkg_summary(5).
~/.nih/installed_* files are compressed by bzip2 at creation time.
nih remove:
- FIX: -n now works correctly
Affected versions: 0.7.1-0.7.2
nih install:
- FIX: "nih install -n" doesn't change "automatic" flag anymore
- new suboption -k for continuing download after failures
- BUILD_DATE field is included to installed_*.txt files
New command "nih audit" for checking packages for vulnerabilities
New command "nih history"
nih mark:
- new suboption -A and -U, synonyms to -u and -a respectively
- if neither -a, -A, -u or -U were specified, markers are output.
nih list:
- new suboption -b for outputting packages in the repository
- new suboption -r for outputting raw package summaries
nih meta:
- new suboption -r for outputting raw package summaries
nih refresh:
- error message is output when download fails
Minor improvements in "nih -h" and manual page
Path to ftp(1) defaults to /usr/bin/ftp on NetBSD, FreeBSD, OpenBSD
and DragonFlyBSD. On other systems it defaults to tnftp from
pkgsrc.
FTP_OPTIONS and WGET_OPTIONS default to "-4" for using IPv4 only.
New configuration variable IGNORE_CKSUMS was added in order to
ignore SHA512.txt absent in some repositories.
This is a package manager for pkgsrc.
Available commands:
nih help - Display help message
nih refresh - Download pkg_summary and SHA512 files
nih install - Install or update packages
nih uninstall - Uninstall packages
nih verify - Verify packages integrity
nih status - Show status of installed packages
nih info - Show information about packages
nih meta - Output available or installed meta packages
nih search - Powerful search in packages
nih leaf - Output or remove autoinstalled leaf packages
nih list - List packages
nih mark - Mark packages
nih deps - Show dependencies
nih clean-cache - Clean-up cache directory with binaries