tech-pkg archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: suggestion: Host fly-off between pkgin and nih and subsequent official integration
On 4/16/2013 13:02, Aleksey Cheusov wrote:
On Tue, Apr 16, 2013 at 1:12 PM, John Marino <netbsd%marino.st@localhost
<mailto:netbsd%marino.st@localhost>> wrote:
I've been wondering why the pkgsrc project hasn't held a "fly-off"
between pkgin and nih in order to select an official package
manager, and then integrate this directly into the mk/* framework
such that the very first package built is this official package manager.
I think I understand why people may want to see "official package manager"
but it's not clear for me what is the purpose of "integration",
especially if you say
about mk/*. Can you explain?
Sure. In ports, the mk. has been modified such that pkg (the "official"
binary package manager) is automatically included as a dependency for
every single port. Rather, this will be the case for FreeBSD release
8.4 and 10. For earlier releases this is not the default behavior, but
it can be switched on.
The reason is that pkg has its own database which is not compatible with
the pkg_* tools databases. You have to use one or the other. FreeBSD
has a way of converting from the "old" database to the pkg one, but it's
probably easier just to rebuild everything from scratch.
In this case, it makes sense to have the package manager always
installed first to build out this db, and that's handled in Mk/*
For pkgsrc, it seems like having an integrated binary package
manager would "fix" the problems seen with the "experimental" "make
replace"
It's well known that "make replace" is only for pkgsrc developers :-)
I don't know of any other way to do it other than rolling replace
though. It seems like it is for anyone that tries to build from source
rather than prebuild binaries.
and untrustworthy pkg_rolling-replace.
pkg_rolling-replace cannot be replaced when you have no root access
(shell servers)
or have several pkgsrc instances in the system. So, it is definitely
useful tool.
What it purports to do is useful, but the few times I've tried using it,
it failed (IIRC some packages were removed from repository and RR just
choked on those that were installed but not in pkgsrc). Based on what
I saw, it's not production quality.
Now, not having used either pkgin or nih, I'm only assuming one or
both of them are similar to pkgng where they have their own database
and internally store package metadata which is why it needs to be
built first.
JGYI. nih doesn't use any db for metadata. It uses pkgdb and is based
solely on pkg_install.
Alright. Part of pkg's benefits and speed gains come from the use of
sqlite and its built-in commands replace basically all the slower pkg_*
tools. If both pkgin and nim use the same database as pkg_install then
the benefit of integration is much less as you can just install it
anytime for the same effect (I guess).
John
Home |
Main Index |
Thread Index |
Old Index