# portupgrade --force



## mfeldheim (May 6, 2010)

```
man portupgrade
[..]
--force                Force the upgrade of a package even if it is to be
                       a downgrade or just a reinstall of the same ver-
                       sion, or the port is held by user using the
                       HOLD_PKGS variable in pkgtools.conf.
```

My FreeBSD 8.0 installation currently keeps reinstalling the same packages when using "portupgrade -af". Those packages are on a current version and reinstall without errors.

Why would portupgrade -af still reinstall those packages?

Here the dryrun ( Shortened ):


```
~ # portupgrade -afn
--->  Session started at: Thu, 06 May 2010 14:43:05 +0200
--->  Reinstallation of devel/m4 started at: Thu, 06 May 2010 14:43:09 +0200
--->  Reinstalling 'm4-1.4.14,1' (devel/m4)
OK? [no]
--->  Reinstallation of devel/m4 ended at: Thu, 06 May 2010 14:43:09 +0200 (consumed 00:00:00)
--->  ** Upgrade tasks 36: 1 done, 0 ignored, 0 skipped and 0 failed
--->  Reinstallation of devel/automake-wrapper started at: Thu, 06 May 2010 14:43:09 +0200
--->  Reinstalling 'automake-wrapper-20071109' (devel/automake-wrapper)
OK? [no]
--->  Reinstallation of devel/automake-wrapper ended at: Thu, 06 May 2010 14:43:09 + 0200 (consumed 00:00:00)
--->  ** Upgrade tasks 36: 2 done, 0 ignored, 0 skipped and 0 failed
--->  Reinstallation of databases/db41 started at: Thu, 06 May 2010 14:43:10 +0200
--->  Reinstalling 'db41-4.1.25_4' (databases/db41)
OK? [no]
--->  Reinstallation of databases/db41 ended at: Thu, 06 May 2010 14:43:10 +0200 (consumed 00:00:00)
--->  ** Upgrade tasks 36: 3 done, 0 ignored, 0 skipped and 0 failed
--->  Reinstallation of net/rsync started at: Thu, 06 May 2010 14:43:10 +0200
--->  Reinstalling 'rsync-3.0.7' (net/rsync)
OK? [no]
--->  Reinstallation of net/rsync ended at: Thu, 06 May 2010 14:43:10 +0200 (consumed 00:00:00)
--->  ** Upgrade tasks 36: 4 done, 0 ignored, 0 skipped and 0 failed
--->  Reinstallation of devel/autoconf-wrapper started at: Thu, 06 May 2010 14:43:10 +0200
--->  Reinstalling 'autoconf-wrapper-20071109' (devel/autoconf-wrapper)
OK? [no]
--->  Reinstallation of devel/autoconf-wrapper ended at: Thu, 06 May 2010 14:43:10 +0200 (consumed 00:00:00)
--->  ** Upgrade tasks 36: 5 done, 0 ignored, 0 skipped and 0 failed
--->  Reinstallation of devel/pcre started at: Thu, 06 May 2010 14:43:10 +0200
--->  Reinstalling 'pcre-8.02' (devel/pcre)
OK? [no]
--->  Reinstallation of devel/pcre ended at: Thu, 06 May 2010 14:43:10 +0200 (consumed 00:00:00)
                                                              (consumed 00:00:00)
--->  ** Upgrade tasks 36: 35 done, 0 ignored, 0 skipped and 0 failed
--->  Reinstallation of ports-mgmt/portupgrade started at: Thu, 06 May 2010 14:43:11 +0200
--->  Reinstalling 'portupgrade-2.4.6_4,2' (ports-mgmt/portupgrade)
OK? [no]
--->  Reinstallation of ports-mgmt/portupgrade ended at: Thu, 06 May 2010 14:43:11 +0200 (consumed 00:00:00)
--->  ** Upgrade tasks 36: 36 done, 0 ignored, 0 skipped and 0 failed
--->  Listing the results (+:done / -:ignored / *:skipped / !:failed)
        + devel/m4 (m4-1.4.14,1)
        + devel/automake-wrapper (automake-wrapper-20071109)
        + databases/db41 (db41-4.1.25_4)
        + net/rsync (rsync-3.0.7)
        + devel/autoconf-wrapper (autoconf-wrapper-20071109)
        + devel/pcre (pcre-8.02)
        + www/nginx (nginx-0.7.65)
        + devel/libtool22 (libtool-2.2.6b)
        + devel/libevent (libevent-1.4.13)
        + lang/perl5.10 (perl-threaded-5.10.1)
        + net-mgmt/net-snmp (net-snmp-5.4.2.1_7)
        + converters/libiconv (libiconv-1.13.1_1)
        + devel/gettext (gettext-0.17_1)
        + devel/gmake (gmake-3.81_3)
        + ftp/wget (wget-1.12)
        + graphics/png (png-1.4.1_1)
        + net/libnet (libnet11-1.1.2.1_2,1)
        + devel/p5-Locale-gettext (p5-gettext-1.05_2)
        + misc/help2man (help2man-1.38.2)
        + devel/pkg-config (pkg-config-0.23_1)
        + devel/autoconf262 (autoconf-2.62)
        + devel/bison (bison-2.4.1,1)
        + shells/bash (bash-4.0.35)
        + lang/python26 (python26-2.6.4)
        + security/ca_root_nss (ca_root_nss-3.12.4)
        + devel/automake110 (automake-1.10.1)
        + devel/glib20 (glib-2.22.4)
        + lang/ruby18 (ruby-1.8.7.248_2,1)
        + ftp/curl (curl-7.20.0)
        + dns/libidn (libidn-1.15)
        + devel/gamin (gamin-0.1.10_3)
        + devel/libslang2 (libslang2-2.2.2_1)
        + devel/gio-fam-backend (gio-fam-backend-2.22.4)
        + misc/mc (mc-4.7.0.2_2)
        + databases/ruby-bdb (ruby18-bdb-0.6.5_1)
        + ports-mgmt/portupgrade (portupgrade-2.4.6_4,2)
--->  Packages processed: 36 done, 0 ignored, 0 skipped and 0 failed
--->  Session ended at: Thu, 06 May 2010 14:43:11 +0200 (consumed 00:00:05)
```


----------



## mfeldheim (May 6, 2010)

Actually portupgrade is trying to reinstall every package I have got installed


```
~ # pkg_info
autoconf-2.62       Automatically configure source code on many Un*x platforms
autoconf-wrapper-20071109 Wrapper script for GNU autoconf
automake-1.10.1     GNU Standards-compliant Makefile generator (1.10)
automake-wrapper-20071109 Wrapper script for GNU automake
bash-4.0.35         The GNU Project's Bourne Again SHell
bison-2.4.1,1       A parser generator from FSF, (mostly) compatible with Yacc
ca_root_nss-3.12.4  The root certificate bundle from the Mozilla Project
curl-7.20.0         Non-interactive tool to get files from FTP, GOPHER, HTTP(S)
db41-4.1.25_4       The Berkeley DB package, revision 4.1
gamin-0.1.10_3      A file and directory monitoring system
gettext-0.17_1      GNU gettext package
gio-fam-backend-2.22.4 FAM backend for GLib's GIO library
glib-2.22.4         Some useful routines of C programming (current stable versi
gmake-3.81_3        GNU version of 'make' utility
help2man-1.38.2     Automatically generating simple manual pages from program o
libevent-1.4.13     Provides an API to execute callback functions on certain ev
libiconv-1.13.1_1   A character set conversion library
libidn-1.15         Internationalized Domain Names command line tool
libnet11-1.1.2.1_2,1 A C library for creating IP packets
libslang2-2.2.2_1   Routines for rapid alpha-numeric terminal applications deve
libtool-2.2.6b      Generic shared library support script
m4-1.4.14,1         GNU m4
mc-4.7.0.2_2        Midnight Commander, a free Norton Commander Clone
net-snmp-5.4.2.1_7  An extendable SNMP implementation
nginx-0.7.65        Robust and small WWW server
p5-gettext-1.05_2   Message handling functions
pcre-8.02           Perl Compatible Regular Expressions library
perl-threaded-5.10.1 Practical Extraction and Report Language
pkg-config-0.23_1   A utility to retrieve information about installed libraries
png-1.4.1_1         Library for manipulating PNG images
portupgrade-2.4.6_4,2 FreeBSD ports/packages administration and management tool s
python26-2.6.4      An interpreted object-oriented programming language
rsync-3.0.7         A network file distribution/synchronization utility
ruby-1.8.7.248_2,1  An object-oriented interpreted scripting language
ruby18-bdb-0.6.5_1  Ruby interface to Sleepycat's Berkeley DB revision 2 or lat
wget-1.12           Retrieve files from the Net via HTTP(S) and FTP
```


```
~ # pkg_info | wc -l
36
```


----------



## mfeldheim (May 6, 2010)

The more I think about this the more I read the man page snippet I've posted above the more I think this is intended behaviour.
Just wondering why official documentation is proposing the -af flag

http://www.freebsd.org/doc/handbook/updating-freebsdupdate.html#AEN30931


----------



## DutchDaemon (May 6, 2010)

The -af flag is proposed for major OS version upgrades, e.g. FreeBSD 7.x -> FreeBSD 8.x. It is not intended for normal port operations.


----------

