To the specs + Makefiles in kde4-specs-dev, I have added some upgrade targets.
This means you can do
make upgrade-<package name>
and it will do something sensible. There is an upgrade-all target in
tools/Makefile.admin as well, which does it for all your installed FOSS and
KDE packages. So you could do something like:
make upgrade-FOSSgnupg
and if needed, it will get upgraded. This is a stopgap because I don't think
pkgtool supports doing such a thing. I do not know if IPS supports upgrading
either -- presumably it does.
This mechanism relies on a newly introduced %define in the specfiles, namely
src_rev (for revision). This maps on to SUNW_Rev for the package itself. By
default, packages now get revision 1 instead of the date which all existing
compiled packages have. So this will only become somewhat effective when
package version are updated or if you recompile everything from scratch.
When something is updated in a specfile or in the invisible artifacts that it
uses -- the Solaris-* tarballs that we roll from dude, for instance -- the rev
should be bumped, to indicate that the package needs recompiling even if the
version of the package (e.g. the upstream release version) has not changed.
Then the upgrade-* target will remove the existing package, recompile and
install. Assuming we manage to maintain binary compatibility at all, this is
fairly effective.
That said, these rev bumps will only become effective once we get packages
build with "clean" revision numbers instead of the date stamps they get by
default. So if you're feeling tired and lonely, you could make -f
Makefile.admin uninstall-all and then make all. At least then the compiler
will keep you company.
[ade]