diff --git a/make/rpmdist.mk b/make/rpmdist.mk index e8693d8c..278dd8ea 100644 --- a/make/rpmdist.mk +++ b/make/rpmdist.mk @@ -71,9 +71,9 @@ BINARY_RPM += $(DIST_PCKG_DIR)/$(PCKG_RPM_DEVEL_I386) endif DIST_PCKG_SRPM = $(BINARY_RPM) $(DIST_PCKG_DIR)/$(PCKG_RPM_SRC) # to be replaced by pkg.sh -RPM_REQUIRES_DEVEL += $(call proj_query, pkg-requires $(PROJ_QUERY_PKG_REQUIRES_EXTRA_ARGS) devel $(PROJECT)) -RPM_REQUIRES_RUN += $(call proj_query, pkg-requires $(PROJ_QUERY_PKG_REQUIRES_EXTRA_ARGS) run $(PROJECT)) -RPM_REQUIRES_DEVEL += $(RPM_PROJECT)-run = __NEXT_VERSION__ +RPM_REQUIRES_DEVEL += $(call proj_query, pkg-requires --dont-expand-version-macros $(PROJ_QUERY_PKG_REQUIRES_EXTRA_ARGS) devel $(PROJECT)) +RPM_REQUIRES_RUN += $(call proj_query, pkg-requires --dont-expand-version-macros $(PROJ_QUERY_PKG_REQUIRES_EXTRA_ARGS) run $(PROJECT)) +#RPM_REQUIRES_DEVEL += $(RPM_PROJECT)-run = __NEXT_VERSION__ RPM_UPLOAD_OS_NAME = $(shell echo $(OS) | sed 's/-.*//') RPM_UPLOAD_OS_VERSION = $(shell echo $(OS) | sed 's/[^-]\+-//') diff --git a/scripts/pkg.sh b/scripts/pkg.sh index cf9664fe..1c87fcc9 100644 --- a/scripts/pkg.sh +++ b/scripts/pkg.sh @@ -393,8 +393,8 @@ build_pkg() local tar_archive=$src_base.tar.bz2 local tar_archive_orig=$src_base.orig.tar.bz2 local distribution=`os` - local RPM_REQUIRES_RUN=`echo $RPM_REQUIRES_RUN | sed "s/__NEXT_VERSION__/$version/g"` - local RPM_REQUIRES_DEVEL=`echo $RPM_REQUIRES_DEVEL | sed "s/__NEXT_VERSION__/$version/g"` + local RPM_REQUIRES_RUN=`echo $RPM_REQUIRES_RUN | sed "s/__NEXT_VERSION__/$version/g; s/VERSION-REVISION/$version/g; s/VERSION/$version/g"` + local RPM_REQUIRES_DEVEL=`echo $RPM_REQUIRES_DEVEL | sed "s/__NEXT_VERSION__/$version/g; s/VERSION-REVISION/$version/g; s/VERSION/$version/g"` # --- create source directory tree create_empty_dir $src_tree "Source files compilation directory" diff --git a/scripts/projects.py b/scripts/projects.py index 286daeeb..423c8d52 100644 --- a/scripts/projects.py +++ b/scripts/projects.py @@ -352,8 +352,11 @@ def cmd_pkg_requires(args_): parser.add_argument('module', nargs='*', help='Modules') parser.add_argument('--dont-strip-revision', action='store_true', default=False, help='Always treat VERSION macro as VERSION-REVISION') + parser.add_argument('--dont-expand-version-macros', action='store_true', + default=False, help='Don\'t expand VERSION and REVISION macros') args=parser.parse_args(args_) - #debug('flavour = ', args.flavour, ', vendor = ', args.vendor) + debug('flavour = ', args.flavour, ', vendor = ', args.vendor) + version_pattern=re.compile("[0-9-.]*") r = [] for m in args.module: value = get_value(m, 'pkg.required.jw', args.flavour) @@ -366,8 +369,10 @@ def cmd_pkg_requires(args_): dep[i] = item.strip() if len(dep) == 3: dep_project = re.sub(r'-devel$|-run$', '', dep[0]) - version = get_value(dep_project, 'version', '') - version_pattern=re.compile("[0-9-.]*") + if args.dont_expand_version_macros and dep_project in args.module: + version = dep[2] + else: + version = get_value(dep_project, 'version', '') if dep[2] == 'VERSION': if args.dont_strip_revision: dep[2] = version