Sorry, meant to send to list as well...
On 5/24/06, Tobias Weisserth <[EMAIL PROTECTED]> wrote:
Hi everybody,

I'm getting familiar with ports at the moment since I restricted
myself to using packages exclusively in the past. I have been
skimming throught the FAQ and the manpages covering ports and the
possible make targets. I have also read the chapter covering ports in
"Secure architectures with OpenBSD".

There are some questions that I couldn't find the answers to, however.

I have read about the "out-of-date" tool in /usr/ports/infrastructure/
build/ yet I coudn't find a manpage on the OpenBSD website or any
other reference to it.

What I'm after is something like this:

I'm using DarwinPorts on an Apple Mac OS X machine. When I want to
sync the tree I simply do a "port sync" and maybe a "port selfupdate"
to update the DarwinPorts system itself. This would correspond to
doing a CVS checkout or update. So far no problem :-)

Now I'd do a "port outdated" to see what ports need upgrading. This
corresponds to doing a "./infrastructure/build/out-of-date" in /usr/
src. Still no problem.

Now comes the tricky part. Using DarwinPorts I'd do a "port upgrade
installed" to upgrade all installed ports. What would correspond to
this in OpenBSD? Do I have to go after each individual port and its
dependencies myself that gets mentioned by "out-of-date" like
described in "Secure architectures with OpenBSD"? Brandon Palmer and
Jose Nazario write that it would be easier to just upgrade an entire
ports tree. How is this done? Let's say, out-of-date outputs a
collection of 7 packages. How do I get rid of the 7 old installed
packages, install the seven newer versions of those packages,
including removing, rebuilding and installing all depending packages
through ports in a convenient way like "port upgrade installed"?


It's ugly, and doesn't take care of eg updating first png, and only
after that the packages that depend on it, but i sometimes use:
for i in `/usr/ports/infrastructure/build/out-of-date | cut -f1 -d" "`
; do cd /usr/ports/$i ; make update clean ; done

And that obviously doesn't work with flavors.
You could also look at FORCE_UPDATE in bsd.port.mk(5) - setting that
in /etc/mk.conf will make system rebuild and reinstall ALL packages
the port depends on - so better do "make clean-depends" somewhere
along the line or you'll end up with left-overs from building all
those packages.
There's also a graphical ports browser somewhere in ports tree, but I
didn't play much with it, that could possibly have a way to do that
with a few clicks... maybe.
HTH

kind regards,
Tobias W.




--
viq

Reply via email to