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]



Reply via email to