diff --git a/make/rpmdist.mk b/make/rpmdist.mk index 3ea18c46..e8693d8c 100644 --- a/make/rpmdist.mk +++ b/make/rpmdist.mk @@ -36,6 +36,8 @@ DIST_PCKG_DIR = $(DIST_DIR)/pckg PCKG_TAR ?= $(RPM_PROJECT)-$(RPM_VERSION).tar.gz ifeq ($(PKG_FORMAT),debian) + # too bad: debian Requires: somepkg = 1.2.3 isn't satisfied by somepkg-1.2.3-5 + PROJ_QUERY_PKG_REQUIRES_EXTRA_ARGS = --dont-strip-revision PCKG_RPM_RUN_I386 ?= $(RPM_PROJECT)-run_$(RPM_VERSION)_$(RPM_ARCH).deb ifeq ($(CREATE_DEVEL),true) PCKG_RPM_DEVEL_I386 ?= $(RPM_PROJECT)-devel_$(RPM_VERSION)_$(RPM_ARCH).deb @@ -69,8 +71,8 @@ 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 devel $(PROJECT)) -RPM_REQUIRES_RUN += $(call proj_query, pkg-requires run $(PROJECT)) +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_UPLOAD_OS_NAME = $(shell echo $(OS) | sed 's/-.*//') diff --git a/scripts/projects.py b/scripts/projects.py index b7743375..286daeeb 100644 --- a/scripts/projects.py +++ b/scripts/projects.py @@ -350,6 +350,8 @@ def cmd_pkg_requires(args_): parser.add_argument('--vendor', '-V', nargs='?', default='jw', help='Package Vendor') parser.add_argument('flavour', help='Flavour') 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') args=parser.parse_args(args_) #debug('flavour = ', args.flavour, ', vendor = ', args.vendor) r = [] @@ -367,7 +369,10 @@ def cmd_pkg_requires(args_): version = get_value(dep_project, 'version', '') version_pattern=re.compile("[0-9-.]*") if dep[2] == 'VERSION': - dep[2] = version.split('-')[0] + if args.dont_strip_revision: + dep[2] = version + else: + dep[2] = version.split('-')[0] elif dep[2] == 'VERSION-REVISION': dep[2] = version elif version_pattern.match(dep[2]):