-
Notifications
You must be signed in to change notification settings - Fork 2
cheusov/pkgnih
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
NIH is a package management tool for pkgsrc.
NIH means Not Invented Here, yes, I'm talking about NIH syndrome :-)
Why not:
pkg_add/pkg_delete:
- These are low level tools and cannot be used for handling
hundreds of packages efficiently.
pkg_chk:
- I was using pkg_chk for several years and it's quiet good tool.
But it lacks some useful features. It is also extreammly slow.
pkg_rolling-replace:
- Replacing packages "in place" is not safe.
pkg_comp:
- It works only on NetBSD
- It doesn't allow to install or update packages, it only builds them
pkgin:
- Package manager written in "C"? No, thanks.
"C" is a the worst programming language I've ever
known for this task. All other reasons are secondary.
- sqlite is absoletely useless for package management.
pkgmanager:
- It is dead
Why NIH:
- I've got pkg_summary-utils, a big collection of powerful scripts
for managing pkg_summary files. I've been developing it since 2007
or so and I think now it is ready to be a foundation for package
manager.
- I've got distbb, very powerful and flexible bulk build tool. For
several years I've been using it for running bulk builds on Linux
and NetBSD and I consider it rather stable.
- I've got pkg_status, small tool for checking status of
installed packages against pkg_bin_summary.txt or pkgsrc source tree.
It also provides other features usually implemented by
full-featured package management tools. It is very small and
stable.
- I've got pkg_digger and pkg_online_find, very powerful and quality
tools for searching on packages. They are also small and stable.
- NIH = pkg_summary-utils + distbb + pkg_status + pkg_digger
Plans:
- To provide features implemented in pkgchk, pkgin, pkg_comp,
pkg_leaves, pkgfind, pkg_status, pkg_online-client and
pkg_rolling-replace.
- Support for both binary and sources-based upgrade
- Less than 4000 lines of code
- No sqlite or other databases.
- Support for PKG_OPTIONS and multivariant packages
(Python, Apache, PHP, Ruby)
- No dependencies other than
a) pkg_summary-utils, runawk and pipestatus for basic functionality
b) paexec and libmaa for running things in parallel
using all available CPUs
c) distbb (plus paexec and libmaa) for building packages from sources
d) dict-client (plus libmaa) and netcat for searching
via pkg_online server
- Shell, AWK, RunAWK, UNIX tools and nothing else.
- No libnih.a
About
Package manager for PkgSrc
Resources
Stars
Watchers
Forks
Packages 0
No packages published