NetBSD-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: NetBSD vs FreeBSD
,--- You/Alistair (Thu, 4 Aug 2011 06:29:49 +0200) ----*
| Alex Goncharov <alex-goncharov%comcast.net@localhost> writes:
| > Do you remember any specifics about the ports pains you had, absent from
pkgsrc?
|
| my main gripe, as a user, was the absence of audit-packages, and the
| need to specify either the precise version number of a package,
On audit-packages, I know nothing, no comment.
On the version, I don't completely understand you:
1. It would be helpful if you and others, when talking about the
FreeBSD ports system, clearly differentiated between installing a
package (e.g 'pkg_add emacs-23.3_1,2.tbz') and "from a port"
(e.g. 'make -C editors/emacs').
2. If the former is meant:
a. And you install from /usr/ports/packages/All, what's the
problem with specifying a version -- and how could it work
without one if there were multiple emacs-*tbz files in that
directory?
b. And you install remotely, via 'pkg_add -r', you don't need to
specify a version: 'pkg_add -r emacs' will fetch and install
something meaningful for you, doing necessary checks.
3. If the later is meant, the major version may have to be
specified -- because it matters:
make -C java/openjdk<X> (X: one of 6 or 7 -- very different.)
| remember to wildcard things, when using the pkg_install tools, with
| possibly interesting effects if dealing with something like libtool-\*
| and libtool-base-\*
On my 8.2 system now:
----------------------------------------
ls -d /usr/ports/devel/libtool*
=>
/usr/ports/devel/libtool/
----------------------------------------
| the main differences i'd point out nowadays are the ...ummm
| portability of pkgsrc,
Where do people want to port FreeBSD ports system? What people? Why
would that be important for a FreeBSD user?
| the dewey comparison of version numbers making
| it possible to do audit-packages and the like, and pkgsrc's buildlink
| infrastructure, which has two advantages:
|
| 1. it allows pkgsrc packages to be built with exactly the versions of
| software that are wanted, and not what happens to be already installed
| in /usr/local - to illustrate, imagine that ncurses is installed, and
| another package's configure script checks for the presence of ncurses
| (bad example, since i think freebsd has ncurses in base, but ykwim)
This all seems very far-fetched.
----------------------------------------
ls -d1 /usr/ports/databases/postgresql*server
/usr/ports/databases/postgresql82-server/
/usr/ports/databases/postgresql83-server/
/usr/ports/databases/postgresql84-server/
/usr/ports/databases/postgresql90-server/
/usr/ports/databases/postgresql91-server/
ls -d1 /usr/ports/databases/mysql*server
/usr/ports/databases/mysql323-server/
/usr/ports/databases/mysql40-server/
/usr/ports/databases/mysql41-server/
/usr/ports/databases/mysql50-server/
/usr/ports/databases/mysql51-server/
/usr/ports/databases/mysql55-server/
s -d1 /usr/ports/editors/openoffice.org-*
/usr/ports/editors/openoffice.org-2/
/usr/ports/editors/openoffice.org-3/
/usr/ports/editors/openoffice.org-3-RC/
/usr/ports/editors/openoffice.org-3-devel/
/usr/ports/editors/openoffice.org-vcltesttool/
----------------------------------------
Does one really need more than that?
| 2. isolates dependencies so that dangling or hidden dependencies just
| do not happen.
'pkgdb -F' won't do it for you on FreeBSD?
| in addition, from a user's pov, pkgsrc's config file handling is done
| in a smart way so that any changes to standard configs are preserved,
| rc.d scripts can optionally be installed to /etc so that they work
| out
Any port rc.d script is installed (with either install method) under
/usr/local/etc/rc.d and works out of the box (subject to rc.conf
X_enable=YES, of course).
| of the box, and much, much more.
It is quite possible that pkgsrc has some advantages for a very
sophisticated use, but it seems to me that in comparing it with
FreeBSD ports some of the obvious capacities of the latter are
overlooked.
Such as '-p' and '-P' of pkg_add:
----------------------------------------
PKG_ADD(1) FreeBSD General Commands Manual PKG_ADD(1)
NAME
pkg_add -- a utility for installing software package distributions
SYNOPSIS
pkg_add [-viInfFrRMSK] [-t template] [-p prefix] [-P prefix]
[-C chrootdir] pkg-name [pkg-name ...]
pkg-name [pkg-name ...]
The named packages are installed. A package name of - will cause
pkg_add to read from stdin. If the packages are not found in the
current working directory, pkg_add will search them in each
directory named by PKG_PATH.
-p, --prefix prefix
Set prefix as the directory in which to extract files from a
package. If a package has set its default directory, it will be
overridden by this flag. Note that only the first @cwd directive
will be replaced, since pkg_add has no way of knowing which
directory settings are relative and which are absolute. It is
rare in any case to see more than one directory transition made,
but when such does happen and you wish to have control over *all*
directory transitions, then you may then wish to look into the
use of MASTER and SLAVE modes (see the -M and -S options). If
the -p flag appears after any -P flag on the command line, it
overrides its effect, causing pkg_add not to use the given prefix
recursively.
-P prefix
Does the same as the -p option, except that the given prefix is
also used recursively for the dependency packages, if any. If
the -P flag appears after any -p flag on the command line, it
overrides its effect, causing pkg_add to use the given prefix
recursively.
----------------------------------------
-- Alex -- alex-goncharov%comcast.net@localhost --
Home |
Main Index |
Thread Index |
Old Index