NetBSD-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: NetBSD vs FreeBSD
,--- You/Aleksej (Thu, 04 Aug 2011 02:08:19 +0400) ----*
| Alex Goncharov <alex-goncharov%comcast.net@localhost> writes:
| > ,--- You/Aleksej (Wed, 03 Aug 2011 11:47:27 +0400) ----*
| >
| > My impression from using NetBSD was that it's basically the same as ports:
| >
| > make -C X/a/b install [package] -> Y/(bin,lib,...)
| >
| > only an X and Y being different for the two OSes:
| >
| > NetBSD: X=/usr/pkgsrc, Y=/usr/pkg
| > FreeBSD: X=/usr/ports, Y=/usr/local
|
| If you don't go any further than just installing few packages and
| updating leaf ones, then you may have this impression. Real life is more
| complex than that.
I update my FreeBSD packages roughly every two weeks, building them from
the source. Hickups do happen, but nothing non-surmountable. Besides,
now FreeBSD has a powerful 'portmaster' tool to handle complex
dependencies -- gets a lot of attention and effort (but I don't use it).
| The first and the main problem is that FreeBSD packages don't depend on
| packages,
They do:
----------------------------------------
pkg_info -xr emacs| head -n 4
Information for emacs-23.3_1,2:
Depends on:
Dependency: xineramaproto-1.2
----------------------------------------
make -C editors/emacs all-depends-list | head -n 4
/usr/ports/devel/gmake
/usr/ports/x11/libX11
/usr/ports/x11/libXpm
/usr/ports/x11-fonts/libXft
----------------------------------------
| they depend on files instead.
See above.
| This means that if you have some
| stray file in your /usr/local, you get wrong assumptions when building.
You may, due to gconf and such. Don't have stray files in /usr/local.
Don't 'ln -s true false' etc.
| Another problem is that it is impossible (or rather hard at the very least)
| to deploy parallel installation of packages under another prefix.
Hmm... From /usr/ports/Mk/bsd.port.mk:
----------------------------------------
# X11BASE - Where X11 ports install things.
# Default: ${LOCALBASE}
# LOCALBASE - Where non-X11 ports install things.
# Default: /usr/local
----------------------------------------
| This means that once you need to use a conflicting package, you have
| to employ various overly complex tricks for it. With pkgsrc I bootstrap
| another set of tools and after that I have easy access to another
| version of PostgreSQL client and server, another set of MPI tools,
| another set of TCL tools, packages from another pkgsrc branch, and so on.
| This also allows rather convenient maintainance approach, when you never
| update your packages (you build and install new ones instead, just use
| another prefix like "/usr/pkg-2011Q2").
So, on FreeBSD
make -C editors/emacs LOCALBASE=/usr/pkg-2011Q2 install
would probably work. I guess. Won't try due to the lack of a need.
| HE CE3OH...
подумал Штирлиц... и сплюнул... в сугроб...
-- Alex -- alex-goncharov%comcast.net@localhost --
Home |
Main Index |
Thread Index |
Old Index