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 <jan@janware.com>
This commit is contained in:
Jan Lindemann 2026-03-16 13:51:11 +01:00
commit c893584e5e
10 changed files with 118 additions and 122 deletions

View file

@ -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

View file

@ -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)

View file

@ -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)

View file

@ -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

335
make/pkg-dist.mk Normal file
View file

@ -0,0 +1,335 @@
PKG_PROJECT ?= $(FLAVOUR_PREFIX)$(PROJECT)
ifeq ($(filter pkg-%,$(MAKECMDGOALS)),)
# also to be used from proj.mk, typically
BUILD_PROJECT_PACKAGE = false
endif
PKG_VERSION ?= $(DIST_VERSION)
ifneq ($(BUILD_PROJECT_PACKAGE),false)
UPLOAD_SH = $(JWB_SCRIPT_DIR)/upload.sh
LOCAL_MKSPEC_SH ?= $(TOPDIR)/make/mkspec.sh
MKSPEC_SH ?= $(JWB_SCRIPT_DIR)/mkspec-wrapper.sh $(LOCAL_MKSPEC_SH)
FTP_SRC_GROUP ?= $(shell id -g)
FTP_SRC_USER ?= $(shell whoami)
FTP_RUN_GROUP ?= $(shell id -g)
FTP_RUN_USER ?= $(shell whoami)
FTP_DEV_GROUP ?= $(shell id -g)
FTP_DEV_USER ?= $(shell whoami)
FTP_HOST ?= pkg.janware.com
FTP_FILE_MODE ?= 644
FTP_DIR_MODE ?= 755
FTP_HOST_LOGIN ?= root
RELEASES_FILE = $(TOPDIR)/RELEASES$(FLAVOUR_SUFFIX)
RELEASES ?= $(shell $(PKG_SH_EXE) version \
-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/ .*//')
LOCAL_REPO ?= /srv/dav/pub/local/packages/suse/$(OS_NAME_VERSION)
PACKAGE_VCS_FILES ?= false
ifeq ($(PACKAGE_VCS_FILES),true)
PKG_SH_BUILD_OPTS += --include-vcs-files
endif
include $(JWBDIR)/make/tag-defs.mk
DIST_DIR = dist
DIST_SRC_DIR = $(DIST_DIR)/src/$(PKG_PROJECT)-$(PKG_VERSION)
DIST_PCKG_DIR = $(DIST_DIR)/pckg
UPLOAD_SRC_DIR = $(DIST_PCKG_DIR)
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
PKG_RUN_X86 ?= $(PKG_PROJECT)-run_$(PKG_VERSION)_$(PKG_ARCH).deb
ifeq ($(CREATE_DEVEL),true)
PKG_DEVEL_X86 ?= $(PKG_PROJECT)-devel_$(PKG_VERSION)_$(PKG_ARCH).deb
endif
else
PKG_RUN_X86 ?= $(PKG_PROJECT)-run-$(PKG_VERSION).$(PKG_ARCH).rpm
ifeq ($(CREATE_DEVEL),true)
PKG_DEVEL_X86 ?= $(PKG_PROJECT)-devel-$(PKG_VERSION).$(PKG_ARCH).rpm
endif
endif
DIST_FILES = $(shell echo $(REMOTE_TARGETS) | $(SED) 's/\b.*\///g; s/:.*\b//g')
GENERATED = $(sort $(shell find . -name '*.in' | \
$(SED) "s/\.in$$//; s%$(DIST_SRC_DIR)%%; s%^[./]*%%"))
ifeq ($(PKG_FORMAT),debian)
PKG_DIR_BINARY = $(TOPDIR)/dist/src
else
ifeq ($(BUILD_USER),root)
PKG_DIR_BUILD = /usr/src/packages
else
PKG_DIR_BUILD = $(HOME)/rpmbuild
endif
PKG_DIR_BINARY = $(PKG_DIR_BUILD)/RPMS/$(PKG_ARCH)
endif
DIST_DIRS = $(DIST_SRC_DIR) $(DIST_PCKG_DIR)
BINARY_PKG = $(DIST_PCKG_DIR)/$(PKG_RUN_X86)
ifeq ($(CREATE_DEVEL),true)
BINARY_PKG += $(DIST_PCKG_DIR)/$(PKG_DEVEL_X86)
endif
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))
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 PKG_VERSION VERSION DIST_SRC_DIR
include $(JWBDIR)/make/tag-rules.mk
include $(JWBDIR)/make/upload-rules.mk
PKG_SH = $(PKG_SH_EXE) \
-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:
clean: pkg-clean
distclean: pkg-clean
pkg-tgz: $(DIST_PCKG_DIR)/$(PCKG_TAR)
ftag: ftag.dist
pkg-upload-stable: pkg-upload-STABLE.dist
pkg-upload-rc: pkg-upload-RC.dist
pkg-clean: clean.rpm
pkg-uninstall: config pkguninstall.dist
pkg-build: pkg-build.dist
pkg-install: config pkg-build pkginstall.dist
pkg-build-install: pkg-build pkg-install
pkg-reinstall: pkg-uninstall pkg-install
pkg-rebuild: pkg-clean pkg-build
pkg-update: pkgupdate.dist
pkg-upload-local: pkg-upload-local.dist
clean.rpm:
$(RM) -rf $(DIST_DIR) *.dist make/.cache-project.mk
pkg-build.dist: $(VERSION_FILE)
$(PKG_SH) build $(PKG_SH_BUILD_OPTS)
touch $@
pkg-update-local-repo:
for a in src i386 i586 i686 x86_64; do \
if ls dist/*/*.$$a.rpm >/dev/null 2>&1; then \
sudo install -m 644 dist/pckg/*.$$a.rpm $(LOCAL_REPO)/rpm/$$a/ ;\
fi ;\
done
sudo sh $(LOCAL_REPO)/update.sh
src-dir.dist:
mkdir -p $(DIST_SRC_DIR)
touch $@
pkginstall.dist: pkg-build.dist
$(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; \
done
touch $@
pkguninstall.dist:
$(Q)set -e; for s in devel run; do \
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
upload-%.dist: %_$(PROJECT_CAPNAME)_RPM_RUN_I386
cvs commit $<
$(UPLOAD_SH) $< $(REMOTE_TARGET_PREFIX)$(PCKG_ROOT)/$<:640:750:$(FTP_RUN_USER).$(FTP_RUN_GROUP)
touch $@
update-repo.dist: upload.dist
$(CVS_RSH) -l root $(FTP_HOST) $(UPDATE_REPO_SH)
touch $@
# ------ hash stuff
ifeq ($(wildcard $(TOPDIR)/.git),)
SCM_COMMIT = cvs commit
SCM_ADD = cvs add
SCM_PUSH =
SCM_PULL = cvs update -dP
define check_scm_sync
echo + checking cvs ;\
$(SCM_PULL) ;\
cvs status > cvs_status.tmp 2>&1 ;\
if [ $$? != 0 ]; then \
$(CAT) cvs_status.tmp ;\
echo -e "\n======== cvs status failed, giving up." >&2 ;\
exit 1 ;\
fi ;\
if grep -qi "locally modified" cvs_status.tmp; then \
echo + cvs copy has locally modified files, giving up >&2 ;\
exit 1 ;\
fi ;\
if grep -qi "needs" cvs_status.tmp; then \
echo + cvs copy is out-of-date, giving up >&2 ;\
exit 1 ;\
fi
endef
else
SCM_COMMIT = git commit
SCM_ADD = git add
SCM_PUSH = git push
SCM_PULL = make git-get-maintainer
define check_scm_sync
echo + checking git ;\
$(SCM_PULL) || {\
echo "$(SCM_PULL) failed, giving up" ;\
exit 1 ;\
} ;\
git status -s > git_status.tmp 2>&1 ;\
if [ $$? != 0 ]; then \
$(CAT) git_status.tmp ;\
echo -e "\n======== git status failed, giving up." >&2 ;\
exit 1 ;\
fi ;\
if grep -qi "^ *M " git_status.tmp; then \
echo + git copy has locally modified files, giving up >&2 ;\
exit 1 ;\
fi
endef
endif
define increase_build_number
if [ "$(PKG_CHECK_VCS_SYNC_BEFORE_RELEASE)" = true ]; then \
$(check_scm_sync) ;\
fi ;\
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 " ;\
echo $(MAJOR_MINOR_RELEASE)-$(shell expr $(BUILD_NUMBER) + 1)-dev | tee VERSION ;\
echo $(HASH) > HASH ;\
if ! /bin/bash $(JWB_SCRIPT_DIR)/scm.sh ls-files | grep -q '^HASH$$'; then \
$(SCM_ADD) HASH ;\
fi ;\
$(SCM_COMMIT) -m "$(MAJOR_MINOR_RELEASE)-$(shell expr $(BUILD_NUMBER) + 1)-dev" HASH VERSION
$(SCM_PUSH)
endef
define check_reinstall_old
(true $(addprefix && test -f ,$(DIST_PCKG_RPM)) && make pkg-uninstall && make pkg-install)
endef
md5:
echo $(HASH) > HASH
pkg-next-build:
$(Q)$(increase_build_number)
try-reinstall:
$(check_reinstall_old)
pkg-update-release:
$(Q)if [ "`$(CAT) HASH`" != "$(HASH)" ]; then \
echo + source was modified ;\
$(increase_build_number) ;\
elif ! $(check_reinstall_old); then \
echo "+ old rpm is uninstallable" ;\
$(increase_build_number) ;\
fi
pkg-check-release:
$(Q)if [ "`$(CAT) HASH`" != "$(HASH)" ]; then \
echo + source was modified ;\
else \
echo + source is unmodified ;\
fi
pkg-release: pkg-release-reinstall
pkg-rebuild-reinstall: pkg-clean pkg-build pkg-reinstall
pkg-release-update-version:
$(PKG_SH) update-version
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/,$(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/,$(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 "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)
pkg-build \
pkg-check-release \
pkg-clean \
pkg-install \
pkg-next-build \
pkg-rebuild \
pkg-rebuild-reinstall \
pkg-reinstall \
pkg-release \
pkg-release-reinstall \
pkg-remote-install \
pkg-remote-install-run \
pkg-uninstall \
pkg-update \
pkg-update-local-repo \
pkg-update-release \
pkg-upload-local \
pkg-upload-local.dist \
pkg-upload-rc \
pkg-upload-stable:
@echo "This project doesn't support building packages, ignoring request to $(patsubst pkg-%,%,$@)."
endif # ifneq ($(BUILD_PROJECT_PACKAGE),false)
echo: echo-pkg
echo-dist:
@echo "TARGET_HOST = $(TARGET_HOST)"

View file

@ -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

View file

@ -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)

View file

@ -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)

View file

@ -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

View file

@ -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" ] && {