From c893584e5ebadbe0b4092e5d0e215c2c731d7205 Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Mon, 16 Mar 2026 13:51:11 +0100 Subject: [PATCH] make: Replace RPM -> PKG jw-pkg supports more than RPM-based package managers, but for historic reasons, lots of its Makefile variables still have "RPM" in their names. This is misleading. Replace "RPM" in variable names by the more generic "PKG" where appropriate. Signed-off-by: Jan Lindemann --- Makefile | 2 +- make/defs-cpp.mk | 4 +- make/defs.mk | 8 +-- make/make.mk | 4 +- make/{rpmdist.mk => pkg-dist.mk} | 110 +++++++++++++++---------------- make/proj.mk | 2 +- make/srcdist.mk | 2 +- make/topdir.mk | 6 +- scripts/mkspec-wrapper.sh | 6 +- scripts/pkg.sh | 96 +++++++++++++-------------- 10 files changed, 118 insertions(+), 122 deletions(-) rename make/{rpmdist.mk => pkg-dist.mk} (70%) diff --git a/Makefile b/Makefile index d8989976..04aa4cab 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ TOPDIR = . -RPM_UPLOAD_URLPREFIX ?= rsync_ssh://$(JANWARE_USER)@pkg.janware.com:/srv/dav/pub/packages/jw-foss/$(RPM_UPLOAD_OS_NAME)/$(RPM_UPLOAD_OS_VERSION) +PKG_UPLOAD_URLPREFIX ?= rsync_ssh://$(JANWARE_USER)@pkg.janware.com:/srv/dav/pub/packages/jw-foss/$(PKG_UPLOAD_OS_NAME)/$(PKG_UPLOAD_OS_VERSION) include $(TOPDIR)/make/proj.mk include $(JWBDIR)/make/topdir.mk diff --git a/make/defs-cpp.mk b/make/defs-cpp.mk index 72a8957a..5a23ed37 100644 --- a/make/defs-cpp.mk +++ b/make/defs-cpp.mk @@ -727,8 +727,8 @@ FINAL_CPPFLAGS += $(LOCAL_CPPFLAGS) $(PROJECT_INCLUDE) $(PROJECT_CP FINAL_CXXFLAGS += $(LOCAL_CXXFLAGS) $(PROJECT_CXXFLAGS) $(COMPILER_CXXFLAGS) $(FINAL_INCLUDE) FINAL_LDFLAGS += $(LOCAL_LDFLAGS) $(PROJECTLIB_LDFLAGS) $(PROJECT_LDFLAGS) $(COMPILER_LDFLAGS) $(FINAL_LPPFLAGS) $(FINAL_LIBFLAGS) -#RPM_REQUIRES = $(shell $(ECHO) "$(RPM_REQUIRES_RUN) $(RPM_REQUIRES_DEVEL)" | $(add_flavour_prefix)) -RPM_REQUIRES += $(RPM_REQUIRES_RUN) $(RPM_REQUIRES_DEVEL) +#PKG_REQUIRES = $(shell $(ECHO) "$(PKG_REQUIRES_RUN) $(PKG_REQUIRES_DEVEL)" | $(add_flavour_prefix)) +PKG_REQUIRES += $(PKG_REQUIRES_RUN) $(PKG_REQUIRES_DEVEL) REAL_CFLAGS ?= $(FINAL_CFLAGS) REAL_CPPFLAGS ?= $(FINAL_CPPFLAGS) diff --git a/make/defs.mk b/make/defs.mk index 07fa46f1..3819e998 100644 --- a/make/defs.mk +++ b/make/defs.mk @@ -205,12 +205,12 @@ endif ifeq ($(PKG_FORMAT),debian) RPM ?= /bin/bash $(JWB_SCRIPT_DIR)/dpm.sh - RPM_ARCH := $(shell dpkg --print-architecture) - RPM_SUFFIX ?= deb + PKG_ARCH := $(shell dpkg --print-architecture) + PKG_SUFFIX ?= deb else RPM ?= /bin/rpm - RPM_ARCH ?= $(TARGET_ARCH) - RPM_SUFFIX ?= rpm + PKG_ARCH ?= $(TARGET_ARCH) + PKG_SUFFIX ?= rpm endif ifeq ($(PKG_FORMAT),debian) diff --git a/make/make.mk b/make/make.mk index 66987214..b66c03a1 100644 --- a/make/make.mk +++ b/make/make.mk @@ -72,8 +72,8 @@ $(LOCAL_PKG_CONFIG): $(PROJECT_DESCR_FILE) $(JWBDIR)/make/make.mk -v $(DIST_VERSION) \ -p $(PROJECT_DIRPATH) \ -V $(shell echo $(PROJECT) | tr a-z- A-Z_)_DIR=$(PROJECT_DIRPATH) \ - -r "$(RPM_REQUIRES_RUN)" \ - -R "$(RPM_REQUIRES_DEVEL)" \ + -r "$(PKG_REQUIRES_RUN)" \ + -R "$(PKG_REQUIRES_DEVEL)" \ -l "-L$(PROJECT_DIRPATH)/lib -l$(LIBNAME)" \ $(CREATE_PKG_CONFIG_OPTS) \ > $@.tmp diff --git a/make/rpmdist.mk b/make/pkg-dist.mk similarity index 70% rename from make/rpmdist.mk rename to make/pkg-dist.mk index ed039a58..a651bd27 100644 --- a/make/rpmdist.mk +++ b/make/pkg-dist.mk @@ -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) diff --git a/make/proj.mk b/make/proj.mk index 2d170444..cab648ad 100644 --- a/make/proj.mk +++ b/make/proj.mk @@ -6,7 +6,7 @@ JWBDIR ?= $(TOPDIR) JANWARE_WIKI = priv JANWARE_URL_DOC_PROJECT ?= https://janware.com/wiki/pub/en/sw/build/cheat_sheet -# rpmdist.mk variable overrides +# pkg-dist.mk variable overrides FTP_SRC_GROUP = ytsrc FTP_RUN_GROUP = ytrun FTP_DEV_GROUP = ytdev diff --git a/make/srcdist.mk b/make/srcdist.mk index 36653588..addceb32 100644 --- a/make/srcdist.mk +++ b/make/srcdist.mk @@ -7,7 +7,7 @@ else ifeq ($(VCS),git) endif WD_PKG_DIR = dist/wd -WD_PKG_BASE_NAME = $(RPM_PROJECT)$(WD_PKG_VCS_SUFFIX)-$(RPM_VERSION) +WD_PKG_BASE_NAME = $(PKG_PROJECT)$(WD_PKG_VCS_SUFFIX)-$(PKG_VERSION) WD_PKG = $(WD_PKG_BASE_NAME).tar.bz2 WD_PKG_PATH = $(WD_PKG_DIR)/$(WD_PKG) diff --git a/make/topdir.mk b/make/topdir.mk index 5f3325f9..da637bb0 100644 --- a/make/topdir.mk +++ b/make/topdir.mk @@ -61,7 +61,7 @@ ifneq ($(SUBDIRS_TO_ITERATE),) endif include $(JWBDIR)/make/dirs.mk -include $(JWBDIR)/make/rpmdist.mk +include $(JWBDIR)/make/pkg-dist.mk include $(JWBDIR)/make/rules.mk include $(JWBDIR)/make/doc-rules.mk include $(JWBDIR)/make/list-files.mk @@ -140,7 +140,7 @@ git-init: git-init.done $(GIT_DESCR) git-init-from-cvs: git-init $(LIST_VCS_FILES) -f | xargs git add - git commit -m "First commit of $(RPM_VERSION)" + git commit -m "First commit of $(PKG_VERSION)" git-config: git config --global user.name || git config --global user.name "$(FULL_NAME)" @@ -171,7 +171,7 @@ projects-%: $(PYTHON) $(JWB_SCRIPT_DIR)/jw-pkg.py projects build $* $(PROJECT) install-deps-devel: - sudo zypper in $(shell echo $(RPM_REQUIRES_DEVEL) | sed "s/ *= */-/g; s/ [^ ]\+-__NEXT_VERSION__//") + sudo zypper in $(shell echo $(PKG_REQUIRES_DEVEL) | sed "s/ *= */-/g; s/ [^ ]\+-__NEXT_VERSION__//") streamline: $(STREAMLINE_PROJECT) diff --git a/scripts/mkspec-wrapper.sh b/scripts/mkspec-wrapper.sh index 87fb9dfe..56bda025 100644 --- a/scripts/mkspec-wrapper.sh +++ b/scripts/mkspec-wrapper.sh @@ -19,9 +19,6 @@ append() #set -x MYNAME=`basename $0` -ID=`whoami` -[ ! "$INSTALL_LOG" ] && INSTALL_LOG=/tmp/rpmbuild-$ID/install.log - eval set -- `getopt -l "provides-run:" -l "provides-devel:" -o "P:T:V:S:N:hR:D:X:Y:d:" -- "$@"` while [ "$1" != -- ]; do @@ -78,6 +75,9 @@ shift done shift +ID=`whoami` +[ ! "$INSTALL_LOG" ] && INSTALL_LOG=/tmp/pkg-build-$ID-$NAME/install.log + MKSPEC_SH="$1" shift diff --git a/scripts/pkg.sh b/scripts/pkg.sh index 90b23fd2..cab8a8db 100644 --- a/scripts/pkg.sh +++ b/scripts/pkg.sh @@ -67,7 +67,7 @@ scm_commit() platform() { - echo `get_os`/$RPM_ARCH + echo `get_os`/$PKG_ARCH } abspath() @@ -175,22 +175,22 @@ check_next_version() local v=`read_map $TOPDIR/VERSION | sed 's/-dev//'` local n=`read_map -n $TOPDIR/RELEASES | sed 's/-dev//'` if [ "$n" != "$v" ]; then - echo "+ $RPM_PROJECT version is already at $v, no need to increase for release" >&2 + echo "+ $PKG_PROJECT version is already at $v, no need to increase for release" >&2 echo $v return fi local h=`calculate_hash` if [ ! -f $TOPDIR/HASH ]; then - echo "+ $RPM_PROJECT has no HASH file, needs release" >&2 + echo "+ $PKG_PROJECT has no HASH file, needs release" >&2 echo $v return fi if ! read_map $TOPDIR/HASH | grep -q $h; then - echo "+ $RPM_PROJECT has no matching HASH value, needs release" >&2 + echo "+ $PKG_PROJECT has no matching HASH value, needs release" >&2 increase_build_no $v return fi - echo "+ $RPM_PROJECT has unchanged source" >&2 + echo "+ $PKG_PROJECT has unchanged source" >&2 if [ "$reinstall_check_failed" = 1 ]; then echo "version $v is uninstallable, needs release" >&2 increase_build_no $v @@ -230,10 +230,10 @@ check_pkg_reinstall() local v=`read_map $TOPDIR/VERSION` local s 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 || { - echo "failed to uninstall $RPM_PROJECT-$s, ignored" + if $RPM -q $PKG_PROJECT-$s > /dev/null 2>&1 ; then + echo + removing $PKG_PROJECT-$s + sudo $RPM -e $PKG_PROJECT-$s --nodeps --allmatches || { + echo "failed to uninstall $PKG_PROJECT-$s, ignored" } fi done @@ -241,15 +241,15 @@ check_pkg_reinstall() local suffix case "$PKG_FORMAT" in rpm) - suffix=-$v.$RPM_ARCH.rpm + suffix=-$v.$PKG_ARCH.rpm ;; *) - suffix=_$v""_$RPM_ARCH.deb + suffix=_$v""_$PKG_ARCH.deb ;; esac - check_pkg_install $TOPDIR/$DIST_PCKG_DIR/$RPM_PROJECT-run$suffix || return 1 - check_pkg_install -c $TOPDIR/$DIST_PCKG_DIR/$RPM_PROJECT-devel$suffix || return 1; + check_pkg_install $TOPDIR/$DIST_PCKG_DIR/$PKG_PROJECT-run$suffix || return 1 + check_pkg_install -c $TOPDIR/$DIST_PCKG_DIR/$PKG_PROJECT-devel$suffix || return 1; } check_release_is_current() @@ -432,7 +432,7 @@ build_pkg() set -e local version=`read_map $TOPDIR/VERSION | sed 's/-dev//'` - local src_base=$RPM_PROJECT-$version + local src_base=$PKG_PROJECT-$version local src_tree=$DIST_SRC_DIR/$src_base local tar_archive=$src_base.tar.bz2 local tar_archive_orig=$src_base.orig.tar.bz2 @@ -442,12 +442,12 @@ build_pkg() echo $@ | sed "s/__NEXT_VERSION__/$version/g; s/VERSION-REVISION/$version/g; s/VERSION/$version/g" } - local rpm_requires_run=`expand_version_macros $RPM_REQUIRES_RUN` - local rpm_requires_devel=`expand_version_macros $RPM_REQUIRES_DEVEL` - local rpm_conflicts_run=`expand_version_macros $RPM_CONFLICTS_RUN` - local rpm_conflicts_devel=`expand_version_macros $RPM_CONFLICTS_DEVEL` - local rpm_provides_run=`expand_version_macros $RPM_PROVIDES_RUN` - local rpm_provides_devel=`expand_version_macros $RPM_PROVIDES_DEVEL` + local rpm_requires_run=`expand_version_macros $PKG_REQUIRES_RUN` + local rpm_requires_devel=`expand_version_macros $PKG_REQUIRES_DEVEL` + local rpm_conflicts_run=`expand_version_macros $PKG_CONFLICTS_RUN` + local rpm_conflicts_devel=`expand_version_macros $PKG_CONFLICTS_DEVEL` + local rpm_provides_run=`expand_version_macros $PKG_PROVIDES_RUN` + local rpm_provides_devel=`expand_version_macros $PKG_PROVIDES_DEVEL` # --- create source directory tree create_empty_dir $src_tree "Source files compilation directory" @@ -500,7 +500,7 @@ build_pkg() PATH=$JWB_SCRIPT_DIR:$PATH /bin/bash $mkdef_wrapper_sh $mkdef_sh \ -V $version \ -S $tar_archive \ - -N $RPM_PROJECT \ + -N $PKG_PROJECT \ -R "$rpm_requires_run" \ -X "$rpm_conflicts_run" \ -D "$rpm_requires_devel" \ @@ -509,7 +509,7 @@ build_pkg() --provides-devel "$rpm_provides_devel" \ -P $PROJECT \ -d $distribution \ - > $RPM_PROJECT.$deffmt + > $PKG_PROJECT.$deffmt ) done @@ -521,9 +521,13 @@ build_pkg() case "$PKG_FORMAT" in rpm) # --- build RPMs and copy them to source directory + local rpmbuild_root=$HOME/rpmbuild + [ `id -u` = 0 ] && rpmbuild_root=/usr/src/packages + local rpmbuild_srpms=$rpmbuild_root/SRPMS + local rpmbuild_rpms=$rpmbuild_root/RPMS/$PKG_ARCH rpmbuild -ta $DIST_PCKG_DIR/$tar_archive - cp $SRPMS_DIR/$src_base.src.rpm $DIST_PCKG_DIR/ - cp $RPMS_DIR/$RPM_PROJECT-*-$version.$RPM_ARCH.rpm $DIST_PCKG_DIR/ + cp $rpmbuild_srpms/$src_base.src.rpm $DIST_PCKG_DIR/ + cp $rpmbuild_rpms/$PKG_PROJECT-*-$version.$PKG_ARCH.rpm $DIST_PCKG_DIR/ ;; *) #exit @@ -605,10 +609,10 @@ upload_pkg() case $PKG_FORMAT in rpm) server=pkg.janware.com - upload_file $RPM_PROJECT-$v.tar.bz2 tgz - upload_file $RPM_PROJECT-$v.src.rpm src - upload_file $RPM_PROJECT-run-$v.$RPM_ARCH.rpm $RPM_ARCH - upload_file -q $RPM_PROJECT-devel-$v.$RPM_ARCH.rpm $RPM_ARCH + upload_file $PKG_PROJECT-$v.tar.bz2 tgz + upload_file $PKG_PROJECT-$v.src.rpm src + upload_file $PKG_PROJECT-run-$v.$PKG_ARCH.rpm $PKG_ARCH + upload_file -q $PKG_PROJECT-devel-$v.$PKG_ARCH.rpm $PKG_ARCH ;; debian|deb) local -r server=apt.janware.com @@ -638,7 +642,7 @@ upload_pkg() #pre_upload_command = #default_host_main = EOT - dput -c $conf janware-debian dist/src/"$RPM_PROJECT"_"$v"_"$RPM_ARCH".changes + dput -c $conf janware-debian dist/src/"$PKG_PROJECT"_"$v"_"$PKG_ARCH".changes rm -f $conf ;; *) @@ -1121,7 +1125,7 @@ trap goodbye SIGINT SIGKILL # -- default values TOPDIR=. -CHECK_CVS_SYNC_BEFORE_RPM_RELEASE=false +PKG_CHECK_VCS_SYNC_BEFORE_RELEASE=false myname="${0##*/}" cmdline="$0 $@" tmp_mkdef_sh="" @@ -1129,10 +1133,10 @@ PROJECT_DESCR_FILE=$TOPDIR/make/project.conf DIST_SRC_DIR=dist/src DIST_INST_DIR=dist/src DIST_PCKG_DIR=dist/pckg -RPM_PROJECT="$PROJECT" -RPM_REQUIRES_RUN="" -RPM_REQUIRES_DEVEL="" -RPM_ARCH=$HOSTTYPE +PKG_PROJECT="$PROJECT" +PKG_REQUIRES_RUN="" +PKG_REQUIRES_DEVEL="" +PKG_ARCH=$HOSTTYPE PKG_FORMAT=rpm SSH=ssh SCM=cvs @@ -1159,31 +1163,31 @@ while [ ${1:0:1} = - ]; do shift ;; -N) - eval RPM_PROJECT=\"$2\" + eval PKG_PROJECT=\"$2\" shift ;; -R) - eval RPM_REQUIRES_RUN=\"$2\" + eval PKG_REQUIRES_RUN=\"$2\" shift ;; -X) - eval RPM_CONFLICTS_RUN=\"$2\" + eval PKG_CONFLICTS_RUN=\"$2\" shift ;; -D) - eval RPM_REQUIRES_DEVEL=\"$2\" + eval PKG_REQUIRES_DEVEL=\"$2\" shift ;; -Y) - eval RPM_CONFLICTS_DEVEL=\"$2\" + eval PKG_CONFLICTS_DEVEL=\"$2\" shift ;; --provides-run) - eval RPM_PROVIDES_RUN=\"$2\" + eval PKG_PROVIDES_RUN=\"$2\" shift ;; --provides-devel) - eval RPM_PROVIDES_DEVEL=\"$2\" + eval PKG_PROVIDES_DEVEL=\"$2\" shift ;; -P) @@ -1191,7 +1195,7 @@ while [ ${1:0:1} = - ]; do shift ;; -a) - eval RPM_ARCH=\"$2\" + eval PKG_ARCH=\"$2\" shift ;; -F) @@ -1227,14 +1231,6 @@ export JWB_SCRIPT_DIR=`readlink -f $JWB_SCRIPT_DIR` export PKG_SH=`readlink -f $0` -if [ `whoami` = root ]; then - RPMS_BUILD_DIR=/usr/src/packages -else - RPMS_BUILD_DIR=$HOME/rpmbuild -fi -SRPMS_DIR=$RPMS_BUILD_DIR/SRPMS -RPMS_DIR=$RPMS_BUILD_DIR/RPMS/$RPM_ARCH - # shift [ ! "$cmd" ] && {