Trading cautiously on new ports
Parv
parv at pair.com
Sat Feb 25 10:29:44 PST 2006
in message <44001DB9.2000503 at gmail.com>,
wrote Chandan Haldar thusly...
>
> This led me to find out how to check out the effects of installing
> a new port or new versions of installed ports (from a portsnap
> fetch or cvsup download) non-destructively by extracting the new
> version of a port <PATH> as a non-root user in a different ports
> directory
...
> and by attempting to build the new port version with "make" rather
> than with "make install clean". This way I have no risk of
> upsetting my installed ports (installed as root) since anyway I
> cannot write in /usr/local or /usr/X11R6 etc as the non-root user.
> Once I see that the new port build finds all the installed
> dependency ports in order and the build completes without
> surprises, I rebuild it as root, deinstall the previous port
> version, and install the new one
Alternatively, you could change the owner of $PORTS/distfiles &
$WRKDIRPREFIX to your own user id; run "make build" in the
directory of desired port. If successful, run "make install" as
root. That way, you would save time and unnecessary compilation.
> But is there a clean command for reporting the dependencies (with
> versions) of a new port or a new port version without actually
> attempting to make/install/ or upgrade it?
One way is by parsing 'INDEX*' (see textproc/p5-FreeBSD-Ports) which
lists the dependency of ports. Other is running 'make
pretty-print-run-depends-list pretty-print-build-depends-list' in a
port directory[0]. Yet another method is to run "make -V
RUN_DEPENDS; make -V BUILD_DEPENDS"
> And may be such a command also shows the versions of these
> dependencies installed on the system at the moment, so that one
> can have a sneak preview of any upgrade trouble brewing? The
> closest to this I see is "pkg_add -n" but it requires a built
> package.
You need pkg_info(1) command listed in "SEE ALSO" section of
pkg_add(1) man page. Use the "-r" option to list dependencies of a
installed port/package.
[0] Oddly, pretty-print-run-depends-list target is listing no
dependencies in print/teTex ...
This port requires package(s) "" to run.
... which is just absurd as indicated by "make -V RUN_DEPENDS" ...
/misc/local/share/texmf-local/ls-R:/misc/ports/print/tex-texmflocal \
/misc/local/share/texmf-dist/LICENSE.texmf:/misc/ports/print/teTeX-texmf \
latex:/misc/ports/print/teTeX-base \
dvips:/misc/ports/print/dvipsk-tetex \
xdvi:/misc/ports/print/xdvik
- Parv
--
More information about the freebsd-questions
mailing list