NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: NetBSD vs FreeBSD



Alex Goncharov <alex-goncharov%comcast.net@localhost> writes:

> ,--- 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.

What is it in makefiles?

> | 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.

"Don't have stray files" is an advice akin to "don't make mistakes" and
"don't write buggy code." Does FreeBSD's ports collection support staged
installation? How many packages are there that are not converted?

> | 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
> ----------------------------------------

Can I have more than one LOCALBASE?

> | 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.

Do you mean that I am to pass all those settings along?
Am I to implement some dispatching in mk.conf?

Will those packages check /usr/local when building? What if they do?
(I remember programs that used to check and maybe still check for
libraries in /usr/local when building on FreeBSD.) This may surprise
you not in an unpleasant way some day.

> Won't try due to the lack of a need.

That's what I mean when I tell of simplistic usage patterns.


-- 
HE CE3OH...



Home | Main Index | Thread Index | Old Index