doc, make, scripts: Add support for [pkg.conflicts.xxx]

Since the packaging machinery is pretty complicated, the information about
conflicting packages had to be passed through many APIs. The last commit
contained a patch which is left in the tree to have it in one file, it actually
is identical to this commit's diff, though. Git would save me that quirk.

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2017-06-26 10:34:22 +00:00
commit c42e386c76
7 changed files with 100 additions and 54 deletions

View file

@ -73,7 +73,8 @@ 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 --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_CONFLICTS_DEVEL += $(call proj_query, pkg-conflicts --dont-expand-version-macros $(PROJ_QUERY_PKG_CONFLICTS_EXTRA_ARGS) devel $(PROJECT))
RPM_CONFLICTS_RUN += $(call proj_query, pkg-conflicts --dont-expand-version-macros $(PROJ_QUERY_PKG_CONFLICTS_EXTRA_ARGS) run $(PROJECT))
RPM_UPLOAD_OS_NAME = $(shell echo $(OS) | sed 's/-.*//')
RPM_UPLOAD_OS_VERSION = $(shell echo $(OS) | sed 's/[^-]\+-//')
@ -88,8 +89,9 @@ include $(MODDIR)/make/tag-rules.mk
include $(MODDIR)/make/upload-rules.mk
PKG_SH = $(PKG_SH_EXE) \
-N $(RPM_PROJECT) \
-R "$(RPM_REQUIRES_RUN)" -D "$(RPM_REQUIRES_DEVEL)" -P $(PROJECT) \
-N $(RPM_PROJECT) -P $(PROJECT) \
-R "$(RPM_REQUIRES_RUN)" -D "$(RPM_REQUIRES_DEVEL)" \
-X "$(RPM_CONFLICTS_RUN)" -Y "$(RPM_CONFLICTS_DEVEL)" \
-m $(MOD_SCRIPT_DIR) -a $(RPM_ARCH) -p $(DIST_PCKG_DIR) -F $(PKG_FORMAT) \
-B $(RPM_UPLOAD_URLPREFIX) -A $(RPM_UPLOAD_FILE_ATTRIB)