NIH_<subcommand>_OPTS variables were introduced. With their help one
can configure EVERYTHING from config file.
NIH_OPTS config variable was also introduced.
nih mark:
- new option -n was added.
nih install:
- Option -D doesn't remove temporary directory.
- New options -v and -V were added.
- NO_REQPROV_CHECK and NO_REQPROV_CHECK config variables were
removed. Use NIH_INSTALL_OPTS instead.
nih uninstall:
- does not need "nih refresh -b".
Thanks to Andrey N. Oktyabrski for the report!
Fixed:
- Finding a correct dependency now works correctly if dependency
is ambiguous.
- Unicity problem in "nih install PKGNAME" was fixed.
- Analysing file conflicts now works correctly with files
containing a space character.
- Fix in saving ~/.nih/installed_* files
- Check for version emptyness in "fake packages" was added.
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 gawk warning message appeared on Linux and other systems
nih install:
- commands like 'nih install _ package-' now works correctly
- much better messages are output when update plan failed to build
- option -p was added in order to skip REQUIRES/PROVIDES checks
'nih status -Aa' doesn't output status of uninstalled packages
Fixes and improvements in nih.1
A lot of improvements and grammar fixes in manual page
by Nikolai Krot.
Support for marker "keep" was implemented.
(nih mark -k|-K, nih list -k, nih install).
"keep" marker means that a package can't be updated by "nih update"
command. This marker is particularly useful to mark packages that
the user compiled manually from pkgsrc.
Original idea belongs to Debian APT.
nih install:
- Options -r and -R options were added
for installing dependencies or dependent packages.
Sometimes they may fix mysterious segfaults.
- Support for package suffix `/' was added that means "remove
update". See the manual page for details.
- A virtual package "_" was implemented that means "all packages"
for which update is available".
- Fixed: bug in REQUIRES/PROVIDES problem resolver. Now packages
that solve REQUIRES/PROVIDES problems are marked as installed by
user. Thanks to Jan Smydke for the report.
- Library files including system libraries that packages require
through REQUIRES field are also checked during update plan
generation.
fix: $CACHEDIR/All directory is created only when it is really necessary.
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.
Fix for "Package xxx is not found" problem:
0 > nih -y install editors/emacs22
...
0 > nih -y install editors/emacs20 emacs-
Package editors/emacs20 is not found
1 >
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