Hello Gleb,

> I don't get it, why not use ?= when setting PORTREVISION in the master port?
> This is a common technique to allow slaves to override master port's 
> variables.
> 

Thanks for that suggestion. I hope I haven't misunderstood you, but the
problem is not that I want to ovverride PORTREVISION in the master port
- the problem is that if PORTREVISION is set in a slave port, it
propagates to the version of the master port (angie) for the build
process of that slave port.
E.g. setting PORTREVISION=1 for a www/angie-module-* port results in a
dependency to 'angie-<version>_1' which of course does not exist.
I'd have to set the PORTREVISION in the master port (too), which
triggers an unnecessary rebuild of *all* modules and also bumps their
portrevision even if there were zero changes.

But more importantly, regarding using the upstream versions for the
slave ports, I can't override the masters DISTVERSION from the slave
port, because in the master Makefile this is of course used for the
angie version (and hence parts of the module build process as well).
If I override the DISTVERSION, the build fails as there is of course no
angie version that corresponds to the module version.
If the master Makefile dictates the DISTVERSION, all modules again get
the angie version appended (i.e. the status quo).

For the build of a module which results in it carrying its upstream
version number, I need to have both versions accessible - the version
of the master port (angie) and the upstream version of the module.

There's a good chance I'm overthinking this, and/or I may lack knowledge
of some important mechanism available in Makefiles to handle those
different version numbers for slave and master port. That's why I asked
here on the mailing list.

Thanks,
Sebastian

-- 
Sebastian Oswald
GnuPG-Key-ID: 0x313F3181

Attachment: pgp7zruW3dE4C.pgp
Description: OpenPGP digital signature

Reply via email to