|
|
|
|
@ -1,11 +1,11 @@
|
|
|
|
|
RPM_PROJECT ?= $(FLAVOUR_PREFIX)$(PROJECT)
|
|
|
|
|
PKG_PROJECT ?= $(FLAVOUR_PREFIX)$(PROJECT)
|
|
|
|
|
|
|
|
|
|
ifeq ($(filter pkg-%,$(MAKECMDGOALS)),)
|
|
|
|
|
# also to be used from proj.mk, typically
|
|
|
|
|
BUILD_PROJECT_PACKAGE = false
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
RPM_VERSION ?= $(DIST_VERSION)
|
|
|
|
|
PKG_VERSION ?= $(DIST_VERSION)
|
|
|
|
|
|
|
|
|
|
ifneq ($(BUILD_PROJECT_PACKAGE),false)
|
|
|
|
|
UPLOAD_SH = $(JWB_SCRIPT_DIR)/upload.sh
|
|
|
|
|
@ -23,8 +23,8 @@ FTP_DIR_MODE ?= 755
|
|
|
|
|
FTP_HOST_LOGIN ?= root
|
|
|
|
|
RELEASES_FILE = $(TOPDIR)/RELEASES$(FLAVOUR_SUFFIX)
|
|
|
|
|
RELEASES ?= $(shell $(PKG_SH_EXE) version \
|
|
|
|
|
-p $(OS_NAME_VERSION)/$(RPM_ARCH) $(RELEASES_FILE) read | $(SED) 's/-dev//')
|
|
|
|
|
CHECK_CVS_SYNC_BEFORE_RPM_RELEASE ?= true
|
|
|
|
|
-p $(OS_NAME_VERSION)/$(PKG_ARCH) $(RELEASES_FILE) read | $(SED) 's/-dev//')
|
|
|
|
|
PKG_CHECK_VCS_SYNC_BEFORE_RELEASE ?= true
|
|
|
|
|
HASH = $(shell $(cvs_files) -z | \
|
|
|
|
|
grep -vz "CHANGES\|VERSION\|HASH\|MD5SUMS\|RELEASES" | \
|
|
|
|
|
xargs -0 md5sum | md5sum | $(SED) 's/ .*//')
|
|
|
|
|
@ -38,23 +38,23 @@ endif
|
|
|
|
|
include $(JWBDIR)/make/tag-defs.mk
|
|
|
|
|
|
|
|
|
|
DIST_DIR = dist
|
|
|
|
|
DIST_SRC_DIR = $(DIST_DIR)/src/$(RPM_PROJECT)-$(RPM_VERSION)
|
|
|
|
|
DIST_SRC_DIR = $(DIST_DIR)/src/$(PKG_PROJECT)-$(PKG_VERSION)
|
|
|
|
|
DIST_PCKG_DIR = $(DIST_DIR)/pckg
|
|
|
|
|
|
|
|
|
|
UPLOAD_SRC_DIR = $(DIST_PCKG_DIR)
|
|
|
|
|
PCKG_TAR ?= $(RPM_PROJECT)-$(RPM_VERSION).tar.gz
|
|
|
|
|
PCKG_TAR ?= $(PKG_PROJECT)-$(PKG_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 = --syntax debian
|
|
|
|
|
PCKG_RPM_RUN_I386 ?= $(RPM_PROJECT)-run_$(RPM_VERSION)_$(RPM_ARCH).deb
|
|
|
|
|
PKG_RUN_X86 ?= $(PKG_PROJECT)-run_$(PKG_VERSION)_$(PKG_ARCH).deb
|
|
|
|
|
ifeq ($(CREATE_DEVEL),true)
|
|
|
|
|
PCKG_RPM_DEVEL_I386 ?= $(RPM_PROJECT)-devel_$(RPM_VERSION)_$(RPM_ARCH).deb
|
|
|
|
|
PKG_DEVEL_X86 ?= $(PKG_PROJECT)-devel_$(PKG_VERSION)_$(PKG_ARCH).deb
|
|
|
|
|
endif
|
|
|
|
|
else
|
|
|
|
|
PCKG_RPM_RUN_I386 ?= $(RPM_PROJECT)-run-$(RPM_VERSION).$(RPM_ARCH).rpm
|
|
|
|
|
PKG_RUN_X86 ?= $(PKG_PROJECT)-run-$(PKG_VERSION).$(PKG_ARCH).rpm
|
|
|
|
|
ifeq ($(CREATE_DEVEL),true)
|
|
|
|
|
PCKG_RPM_DEVEL_I386 ?= $(RPM_PROJECT)-devel-$(RPM_VERSION).$(RPM_ARCH).rpm
|
|
|
|
|
PKG_DEVEL_X86 ?= $(PKG_PROJECT)-devel-$(PKG_VERSION).$(PKG_ARCH).rpm
|
|
|
|
|
endif
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
@ -62,49 +62,49 @@ DIST_FILES = $(shell echo $(REMOTE_TARGETS) | $(SED) 's/\b.*\/
|
|
|
|
|
GENERATED = $(sort $(shell find . -name '*.in' | \
|
|
|
|
|
$(SED) "s/\.in$$//; s%$(DIST_SRC_DIR)%%; s%^[./]*%%"))
|
|
|
|
|
ifeq ($(PKG_FORMAT),debian)
|
|
|
|
|
RPMS_DIR = $(TOPDIR)/dist/src
|
|
|
|
|
PKG_DIR_BINARY = $(TOPDIR)/dist/src
|
|
|
|
|
else
|
|
|
|
|
ifeq ($(BUILD_USER),root)
|
|
|
|
|
RPMS_BUILD_DIR = /usr/src/packages
|
|
|
|
|
PKG_DIR_BUILD = /usr/src/packages
|
|
|
|
|
else
|
|
|
|
|
RPMS_BUILD_DIR = $(HOME)/rpmbuild
|
|
|
|
|
PKG_DIR_BUILD = $(HOME)/rpmbuild
|
|
|
|
|
endif
|
|
|
|
|
RPMS_DIR = $(RPMS_BUILD_DIR)/RPMS/$(RPM_ARCH)
|
|
|
|
|
PKG_DIR_BINARY = $(PKG_DIR_BUILD)/RPMS/$(PKG_ARCH)
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
DIST_DIRS = $(DIST_SRC_DIR) $(DIST_PCKG_DIR)
|
|
|
|
|
BINARY_RPM = $(DIST_PCKG_DIR)/$(PCKG_RPM_RUN_I386)
|
|
|
|
|
BINARY_PKG = $(DIST_PCKG_DIR)/$(PKG_RUN_X86)
|
|
|
|
|
ifeq ($(CREATE_DEVEL),true)
|
|
|
|
|
BINARY_RPM += $(DIST_PCKG_DIR)/$(PCKG_RPM_DEVEL_I386)
|
|
|
|
|
BINARY_PKG += $(DIST_PCKG_DIR)/$(PKG_DEVEL_X86)
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
RPM_REQUIRES_BUILD += $(call proj_query, pkg-requires --dont-expand-version-macros $(PROJ_QUERY_PKG_REQUIRES_EXTRA_ARGS) build $(PROJECT))
|
|
|
|
|
RPM_REQUIRES_RUN += $(call proj_query, pkg-requires --dont-expand-version-macros $(PROJ_QUERY_PKG_REQUIRES_EXTRA_ARGS) run $(PROJECT))
|
|
|
|
|
RPM_REQUIRES_DEVEL += $(call proj_query, pkg-requires --dont-expand-version-macros $(PROJ_QUERY_PKG_REQUIRES_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_CONFLICTS_DEVEL += $(call proj_query, pkg-conflicts --dont-expand-version-macros $(PROJ_QUERY_PKG_CONFLICTS_EXTRA_ARGS) devel $(PROJECT))
|
|
|
|
|
RPM_PROVIDES_RUN += $(call proj_query, pkg-provides --dont-expand-version-macros $(PROJ_QUERY_PKG_PROVIDES_EXTRA_ARGS) run $(PROJECT))
|
|
|
|
|
RPM_PROVIDES_DEVEL += $(call proj_query, pkg-provides --dont-expand-version-macros $(PROJ_QUERY_PKG_PROVIDES_EXTRA_ARGS) devel $(PROJECT))
|
|
|
|
|
PKG_REQUIRES_BUILD += $(call proj_query, pkg-requires --dont-expand-version-macros $(PROJ_QUERY_PKG_REQUIRES_EXTRA_ARGS) build $(PROJECT))
|
|
|
|
|
PKG_REQUIRES_RUN += $(call proj_query, pkg-requires --dont-expand-version-macros $(PROJ_QUERY_PKG_REQUIRES_EXTRA_ARGS) run $(PROJECT))
|
|
|
|
|
PKG_REQUIRES_DEVEL += $(call proj_query, pkg-requires --dont-expand-version-macros $(PROJ_QUERY_PKG_REQUIRES_EXTRA_ARGS) devel $(PROJECT))
|
|
|
|
|
PKG_CONFLICTS_RUN += $(call proj_query, pkg-conflicts --dont-expand-version-macros $(PROJ_QUERY_PKG_CONFLICTS_EXTRA_ARGS) run $(PROJECT))
|
|
|
|
|
PKG_CONFLICTS_DEVEL += $(call proj_query, pkg-conflicts --dont-expand-version-macros $(PROJ_QUERY_PKG_CONFLICTS_EXTRA_ARGS) devel $(PROJECT))
|
|
|
|
|
PKG_PROVIDES_RUN += $(call proj_query, pkg-provides --dont-expand-version-macros $(PROJ_QUERY_PKG_PROVIDES_EXTRA_ARGS) run $(PROJECT))
|
|
|
|
|
PKG_PROVIDES_DEVEL += $(call proj_query, pkg-provides --dont-expand-version-macros $(PROJ_QUERY_PKG_PROVIDES_EXTRA_ARGS) devel $(PROJECT))
|
|
|
|
|
|
|
|
|
|
RPM_UPLOAD_OS_NAME = $(shell echo $(OS_NAME_VERSION) | sed 's/-.*//')
|
|
|
|
|
RPM_UPLOAD_OS_VERSION = $(shell echo $(OS_NAME_VERSION) | sed 's/[^-]\+-//')
|
|
|
|
|
RPM_UPLOAD_URLPREFIX ?= rsync_ssh://root@pkg.janware.com:/srv/dav/pub/packages/linux/$(RPM_UPLOAD_OS_NAME)/$(RPM_UPLOAD_OS_VERSION)
|
|
|
|
|
RPM_UPLOAD_USER ?= $(shell id -un)
|
|
|
|
|
RPM_UPLOAD_GROUP ?= $(shell id -gn)
|
|
|
|
|
RPM_UPLOAD_FILE_ATTRIB ?= 644:755:$(RPM_UPLOAD_USER).$(RPM_UPLOAD_GROUP)
|
|
|
|
|
PKG_UPLOAD_OS_NAME = $(shell echo $(OS_NAME_VERSION) | sed 's/-.*//')
|
|
|
|
|
PKG_UPLOAD_OS_VERSION = $(shell echo $(OS_NAME_VERSION) | sed 's/[^-]\+-//')
|
|
|
|
|
PKG_UPLOAD_URLPREFIX ?= rsync_ssh://root@pkg.janware.com:/srv/dav/pub/packages/linux/$(PKG_UPLOAD_OS_NAME)/$(PKG_UPLOAD_OS_VERSION)
|
|
|
|
|
PKG_UPLOAD_USER ?= $(shell id -un)
|
|
|
|
|
PKG_UPLOAD_GROUP ?= $(shell id -gn)
|
|
|
|
|
PKG_UPLOAD_FILE_ATTRIB ?= 644:755:$(PKG_UPLOAD_USER).$(PKG_UPLOAD_GROUP)
|
|
|
|
|
|
|
|
|
|
unexport RPM_VERSION VERSION DIST_SRC_DIR
|
|
|
|
|
unexport PKG_VERSION VERSION DIST_SRC_DIR
|
|
|
|
|
|
|
|
|
|
include $(JWBDIR)/make/tag-rules.mk
|
|
|
|
|
include $(JWBDIR)/make/upload-rules.mk
|
|
|
|
|
|
|
|
|
|
PKG_SH = $(PKG_SH_EXE) \
|
|
|
|
|
-N $(RPM_PROJECT) -P $(PROJECT) \
|
|
|
|
|
-R "$(RPM_REQUIRES_RUN)" -D "$(RPM_REQUIRES_DEVEL)" \
|
|
|
|
|
-X "$(RPM_CONFLICTS_RUN)" -Y "$(RPM_CONFLICTS_DEVEL)" \
|
|
|
|
|
--provides-run "$(RPM_PROVIDES_RUN)" --provides-devel "$(RPM_PROVIDES_DEVEL)" \
|
|
|
|
|
-m $(JWB_SCRIPT_DIR) -a $(RPM_ARCH) -p $(DIST_PCKG_DIR) -F $(PKG_FORMAT) \
|
|
|
|
|
-B $(RPM_UPLOAD_URLPREFIX) -A $(RPM_UPLOAD_FILE_ATTRIB)
|
|
|
|
|
-N $(PKG_PROJECT) -P $(PROJECT) \
|
|
|
|
|
-R "$(PKG_REQUIRES_RUN)" -D "$(PKG_REQUIRES_DEVEL)" \
|
|
|
|
|
-X "$(PKG_CONFLICTS_RUN)" -Y "$(PKG_CONFLICTS_DEVEL)" \
|
|
|
|
|
--provides-run "$(PKG_PROVIDES_RUN)" --provides-devel "$(PKG_PROVIDES_DEVEL)" \
|
|
|
|
|
-m $(JWB_SCRIPT_DIR) -a $(PKG_ARCH) -p $(DIST_PCKG_DIR) -F $(PKG_FORMAT) \
|
|
|
|
|
-B $(PKG_UPLOAD_URLPREFIX) -A $(PKG_UPLOAD_FILE_ATTRIB)
|
|
|
|
|
|
|
|
|
|
all:
|
|
|
|
|
install:
|
|
|
|
|
@ -147,8 +147,8 @@ src-dir.dist:
|
|
|
|
|
touch $@
|
|
|
|
|
|
|
|
|
|
pkginstall.dist: pkg-build.dist
|
|
|
|
|
$(Q)set -e; for p in $(BINARY_RPM); do \
|
|
|
|
|
if ! $(RPM) -q `basename $$p | $(SED) "s/[._]$(RPM_ARCH)\.$(RPM_SUFFIX)//; s/_\([0-9.-]\+\)$$/-\1/"` > /dev/null 2>&1 ; then \
|
|
|
|
|
$(Q)set -e; for p in $(BINARY_PKG); do \
|
|
|
|
|
if ! $(RPM) -q `basename $$p | $(SED) "s/[._]$(PKG_ARCH)\.$(PKG_SUFFIX)//; s/_\([0-9.-]\+\)$$/-\1/"` > /dev/null 2>&1 ; then \
|
|
|
|
|
echo + installing $$p ;\
|
|
|
|
|
sudo $(RPM) -U $$(realpath $$p); \
|
|
|
|
|
fi; \
|
|
|
|
|
@ -157,9 +157,9 @@ pkginstall.dist: pkg-build.dist
|
|
|
|
|
|
|
|
|
|
pkguninstall.dist:
|
|
|
|
|
$(Q)set -e; for s in devel run; do \
|
|
|
|
|
if $(RPM) -q $(RPM_PROJECT)-$$s > /dev/null 2>&1 ; then \
|
|
|
|
|
echo + removing $(RPM_PROJECT)-$$s ;\
|
|
|
|
|
sudo $(RPM) -e $(RPM_PROJECT)-$$s --nodeps --allmatches; \
|
|
|
|
|
if $(RPM) -q $(PKG_PROJECT)-$$s > /dev/null 2>&1 ; then \
|
|
|
|
|
echo + removing $(PKG_PROJECT)-$$s ;\
|
|
|
|
|
sudo $(RPM) -e $(PKG_PROJECT)-$$s --nodeps --allmatches; \
|
|
|
|
|
fi; \
|
|
|
|
|
done
|
|
|
|
|
$(RM) -f pkginstall.dist
|
|
|
|
|
@ -229,11 +229,11 @@ endef
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
define increase_build_number
|
|
|
|
|
if [ "$(CHECK_CVS_SYNC_BEFORE_RPM_RELEASE)" = true ]; then \
|
|
|
|
|
if [ "$(PKG_CHECK_VCS_SYNC_BEFORE_RELEASE)" = true ]; then \
|
|
|
|
|
$(check_scm_sync) ;\
|
|
|
|
|
fi ;\
|
|
|
|
|
if [ "$(RELEASES)" != "$(RPM_VERSION)" ]; then \
|
|
|
|
|
echo "+ no need to increase build number of $(RPM_VERSION), last rpm has $(RELEASES)" ;\
|
|
|
|
|
if [ "$(RELEASES)" != "$(PKG_VERSION)" ]; then \
|
|
|
|
|
echo "+ no need to increase build number of $(PKG_VERSION), last rpm has $(RELEASES)" ;\
|
|
|
|
|
exit 0 ;\
|
|
|
|
|
fi ;\
|
|
|
|
|
echo -n "+ increasing build number to " ;\
|
|
|
|
|
@ -285,23 +285,23 @@ pkg-release-reinstall: get-maintainer get-official pkg-release-update-version
|
|
|
|
|
$(PKG_SH) release $(PKG_SH_BUILD_OPTS)
|
|
|
|
|
ifneq ($(TARGET_HOST),)
|
|
|
|
|
pkg-remote-install:
|
|
|
|
|
scp $(addprefix dist/pckg/,$(PCKG_RPM_RUN_I386) $(PCKG_RPM_DEVEL_I386)) root@$(TARGET_HOST):/tmp/
|
|
|
|
|
ssh -l root $(TARGET_HOST) rpm -U --force $(addprefix /tmp/,$(PCKG_RPM_RUN_I386) $(PCKG_RPM_DEVEL_I386))
|
|
|
|
|
scp $(addprefix dist/pckg/,$(PKG_RUN_X86) $(PKG_DEVEL_X86)) root@$(TARGET_HOST):/tmp/
|
|
|
|
|
ssh -l root $(TARGET_HOST) rpm -U --force $(addprefix /tmp/,$(PKG_RUN_X86) $(PKG_DEVEL_X86))
|
|
|
|
|
pkg-remote-install-run:
|
|
|
|
|
scp $(addprefix dist/pckg/,$(PCKG_RPM_RUN_I386)) root@$(TARGET_HOST):/tmp/
|
|
|
|
|
ssh -l root $(TARGET_HOST) rpm -U --force $(addprefix /tmp/,$(PCKG_RPM_RUN_I386))
|
|
|
|
|
scp $(addprefix dist/pckg/,$(PKG_RUN_X86)) root@$(TARGET_HOST):/tmp/
|
|
|
|
|
ssh -l root $(TARGET_HOST) rpm -U --force $(addprefix /tmp/,$(PKG_RUN_X86))
|
|
|
|
|
ssh-remote:
|
|
|
|
|
ssh -l root $(TARGET_HOST)
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
pkg-requires:
|
|
|
|
|
@echo "RPM_REQUIRES_BUILD = $(RPM_REQUIRES_BUILD)"
|
|
|
|
|
@echo "RPM_REQUIRES_RUN = $(RPM_REQUIRES_RUN)"
|
|
|
|
|
@echo "RPM_REQUIRES_DEVEL = $(RPM_REQUIRES_DEVEL)"
|
|
|
|
|
@echo "RPM_CONFLICTS_RUN = $(RPM_CONFLICTS_RUN)"
|
|
|
|
|
@echo "RPM_CONFLICTS_DEVEL = $(RPM_CONFLICTS_DEVEL)"
|
|
|
|
|
@echo "RPM_PROVIDES_RUN = $(RPM_PROVIDES_RUN)"
|
|
|
|
|
@echo "RPM_PROVIDES_DEVEL = $(RPM_PROVIDES_DEVEL)"
|
|
|
|
|
@echo "PKG_REQUIRES_BUILD = $(PKG_REQUIRES_BUILD)"
|
|
|
|
|
@echo "PKG_REQUIRES_RUN = $(PKG_REQUIRES_RUN)"
|
|
|
|
|
@echo "PKG_REQUIRES_DEVEL = $(PKG_REQUIRES_DEVEL)"
|
|
|
|
|
@echo "PKG_CONFLICTS_RUN = $(PKG_CONFLICTS_RUN)"
|
|
|
|
|
@echo "PKG_CONFLICTS_DEVEL = $(PKG_CONFLICTS_DEVEL)"
|
|
|
|
|
@echo "PKG_PROVIDES_RUN = $(PKG_PROVIDES_RUN)"
|
|
|
|
|
@echo "PKG_PROVIDES_DEVEL = $(PKG_PROVIDES_DEVEL)"
|
|
|
|
|
|
|
|
|
|
else # ifneq ($(BUILD_PROJECT_PACKAGE),false)
|
|
|
|
|
|