If I have portmanager, do I need portupgrade?

Michael C. Shultz ringworm01 at gmail.com
Wed Mar 16 17:29:33 PST 2005


On Wednesday 16 March 2005 05:03 pm, you wrote:
> On Sunday 13 March 2005 20:05, Fafa Diliha Romanova wrote:
> > If I just do:
> >
> > cvsup -g -L 2 /etc/cvsupfile && portmanager -u
> >
> > Do I need portupgrade at all then?
>
> I think you do, as I understand the situation, portmanager lacks two
> significant features.
>
> 1.  All ports have an implicit dependence on FreeBSD itself which
> isn't recorded in the package database,   so AFAIK portmanager
> doesn't automatically rebuild all ports after an upgrade of the basic
> system, and doesn't provide the means to force an upgrade.
>
> Portupgrade can force the rebuilding of all ports with -fa; better
> still it can force the upgrade of ports built before a specified
> date, which gives a restartable rebuild. I've been trying portmanager
> recently, but I found  this feature of portupgrade very useful when 
> I upgraded  my hardware and  needed to alter my optimizations from P3
> down to 686, and then up to althlon-xp.
>
This is the first good case I've seen for forcing a rebuild of all 
ports.

Portmanager isn't intended as replacement for portupgrade, the way I see 
it they serve different purposes.  Portmanager's purpose is to make it 
as easy as possible to upgrade all ports, with the goal that users have 
no good excuse to let there ports get way out of date.  That is pretty
much all it does.

Portupgrade has so many useful tools for doing repair/cleanup jobs on 
the ports tree it would be silly in my opinion for someone to get rid 
of it. The example you just cited above is a perfect reason to keep 
portupgrade around.

>
> 2 it lacks the ability  to force a rebuild of dependent ports after a
> port has been rebuilt with new build options.

There would be no reason to build dependent ports in this situation,
the port you changed options on is dependent on the dependent ports, not 
the other way around.

If its the other way where ports depend on this one and they need to be 
rebuilt for some reason this port needs to change its name depending on 
the options it was built with.

using   jdk14 as an example, if you cd  /usr/ports/java/jdk14

and run make describe its name will be

jdk-1.4.2p7

but if you do make describe MINIMAL=1 its name is

jdk-minimal-1.4.2p7

In this case if you change options from normal to minimal or vice versa
portmanager will indeed rebuild the ports that used to depend on the
previous name.  I have seen not one situation where if you change
build options on a port and then ran portmanager -u where it missed 
anything that needed to be rebuilt, if there ever has been such a case 
it certainly has never been reported.

-Mike
  




More information about the freebsd-questions mailing list