diff --git a/make/rpmdist.mk b/make/rpmdist.mk index a9b51e6b..fc661d3f 100644 --- a/make/rpmdist.mk +++ b/make/rpmdist.mk @@ -5,7 +5,11 @@ endif endif PKG_FORMAT ?= rpm +ifeq ($(PKG_FORMAT),debian) +RPM_ARCH ?= $(shell dpkg --print-architecture) +else RPM_ARCH ?= $(ARCH) +endif CREATE_DEVEL ?= true UPLOAD_SH = $(MOD_SCRIPT_DIR)/upload.sh RPM_PROJECT ?= $(FLAVOUR_PREFIX)$(PROJECT) @@ -42,25 +46,40 @@ DIST_PCKG_DIR = $(DIST_DIR)/pckg #DIST_FILE = $(DIST_PCKG_DIR)/$(PROJECT)-$(DIST_VERSION).tar.gz PCKG_TAR ?= $(RPM_PROJECT)-$(RPM_VERSION).tar.gz -PCKG_RPM_RUN_I386 ?= $(RPM_PROJECT)-run-$(RPM_VERSION).$(RPM_ARCH).rpm -ifeq ($(CREATE_DEVEL),true) -PCKG_RPM_DEVEL_I386 ?= $(RPM_PROJECT)-devel-$(RPM_VERSION).$(RPM_ARCH).rpm + +ifeq ($(PKG_FORMAT),debian) + 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 + endif + PCKG_RPM_SRC ?= $(RPM_PROJECT)-$(RPM_VERSION).src.deb.keinplan +else + PCKG_RPM_RUN_I386 ?= $(RPM_PROJECT)-run-$(RPM_VERSION).$(RPM_ARCH).rpm + ifeq ($(CREATE_DEVEL),true) + PCKG_RPM_DEVEL_I386 ?= $(RPM_PROJECT)-devel-$(RPM_VERSION).$(RPM_ARCH).rpm + endif + PCKG_RPM_SRC ?= $(RPM_PROJECT)-$(RPM_VERSION).src.rpm endif -PCKG_RPM_SRC ?= $(RPM_PROJECT)-$(RPM_VERSION).src.rpm include $(MODDIR)/make/upload-defs-rpm.mk 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%^[./]*%%")) -RPMS_DIR = $(firstword $(wildcard $(HOME)/rpmbuild/RPMS/$(RPM_ARCH) /usr/src/packages/RPMS/$(RPM_ARCH))) -SRPMS_DIR = $(firstword $(wildcard $(HOME)/rpmbuild/SRPMS /usr/src/packages/SRPMS)) -DIST_DIRS = $(DIST_SRC_DIR) $(DIST_PCKG_DIR) -DIST_PCKG_RPM = $(DIST_PCKG_DIR)/$(PCKG_RPM_RUN_I386) -ifeq ($(CREATE_DEVEL),true) -DIST_PCKG_RPM += $(DIST_PCKG_DIR)/$(PCKG_RPM_DEVEL_I386) +ifeq ($(PKG_FORMAT),debian) + RPMS_DIR = $(TOPDIR)/dist/src + SRPMS_DIR = $(TOPDIR)/dist/src +else + RPMS_DIR = $(firstword $(wildcard $(HOME)/rpmbuild/RPMS/$(RPM_ARCH) /usr/src/packages/RPMS/$(RPM_ARCH))) + SRPMS_DIR = $(firstword $(wildcard $(HOME)/rpmbuild/SRPMS /usr/src/packages/SRPMS)) endif -DIST_PCKG_SRPM += $(DIST_PCKG_DIR)/$(PCKG_RPM_SRC) + +DIST_DIRS = $(DIST_SRC_DIR) $(DIST_PCKG_DIR) +BINARY_RPM = $(DIST_PCKG_DIR)/$(PCKG_RPM_RUN_I386) +ifeq ($(CREATE_DEVEL),true) +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 build-package.sh RPM_REQUIRES_DEVEL += $(RPM_PROJECT)-run = __NEXT_VERSION__ @@ -90,9 +109,8 @@ rpm-upload-rc: rpm-upload-RC.dist rpm-clean: clean.rpm #rpm-clean: clean.mkspec rpm-uninstall: config rpmuninstall.dist -rpm-build: - $(BUILD_PACKAGE_SH) build -rpm-install: config rpminstall.dist +rpm-build: rpm-build.dist +rpm-install: config rpm-build rpminstall.dist rpm-reinstall: rpm-uninstall rpm-clean rpm-install rpm-rebuild: rpm-clean rpm-build rpm-update: rpmupdate.dist @@ -101,20 +119,24 @@ rpm-upload-local: rpm-upload-local.dist clean.rpm: rm -rf $(DIST_DIR) *.dist CURRENT_RPM_SRC -ifeq ($(PROJECT_DESCR_FILE),) +#ifeq ($(PROJECT_DESCR_FILE),) +# +#clean.mkspec: +# +#else +# +#$(LOCAL_MKSPEC_SH): $(PROJECT_DESCR_FILE) +# sh $(MOD_SCRIPT_DIR)/create-mkspec.sh $< > $@.tmp +# mv $@.tmp $@ +# +#clean.mkspec: +# rm -f $(LOCAL_MKSPEC_SH) $(LOCAL_MKSPEC_SH).tmp +# +#endif -clean.mkspec: - -else - -$(LOCAL_MKSPEC_SH): $(PROJECT_DESCR_FILE) - sh $(MOD_SCRIPT_DIR)/create-mkspec.sh $< > $@.tmp - mv $@.tmp $@ - -clean.mkspec: - rm -f $(LOCAL_MKSPEC_SH) $(LOCAL_MKSPEC_SH).tmp - -endif +rpm-build.dist: + $(BUILD_PACKAGE_SH) build + touch $@ rpm-update-local-repo: for a in src i386 i586 i686 x86_64; do \ @@ -128,31 +150,22 @@ src-dir.dist: mkdir -p $(DIST_SRC_DIR) touch $@ -#cpfiles.dist: src-dir.dist $(LOCAL_MKSPEC_SH) -# rm -rf $(DIST_SRC_DIR)/* -# $(cvs_files) | grep -v VERSION | cpio -o -H newc | ( cd $(DIST_SRC_DIR); cpio --make-directories -i) -# sh $(MKSPEC_SH) -V $(RPM_VERSION) -S $(notdir $(PCKG_TAR)) -N $(RPM_PROJECT) \ -# -R "$(RPM_REQUIRES_RUN)" \ -# -D "$(RPM_REQUIRES_DEVEL)" -P $(PROJECT) \ -# > $(DIST_SRC_DIR)/$(RPM_PROJECT)-$(RPM_VERSION).spec -# echo $(RPM_VERSION) > $(DIST_SRC_DIR)/VERSION -# touch $@ - -%.tar.gz: $(RPM_EXTRA_FILES) cpfiles.dist - mkdir -p $(DIST_PCKG_DIR) - tar --anchored $(addprefix --exclude=,$(GENERATED)) \ - -czvf $@ -C $(dir $(DIST_SRC_DIR)) $(notdir $(DIST_SRC_DIR)) - -$(DIST_PCKG_SRPM): $(DIST_PCKG_DIR)/$(PCKG_TAR) - $(RPMBUILD) -ts $< - cp $(SRPMS_DIR)/$(PCKG_RPM_SRC) $(dir $@)/ - -$(DIST_PCKG_RPM): $(DIST_PCKG_DIR)/$(PCKG_TAR) - if [ $< -nt $(RPMS_DIR)/$(notdir $@) ]; then $(RPMBUILD) -tb $<; fi - cp $(addprefix $(RPMS_DIR)/,$(notdir $(DIST_PCKG_RPM))) $(dir $@)/ - -$(DIST_PCKG_DIR)/CURRENT_%: $(TOPDIR)/VERSION - echo $(CURRENT_$*) > $@ +#%.tar.gz: $(RPM_EXTRA_FILES) cpfiles.dist +# mkdir -p $(DIST_PCKG_DIR) +# tar --anchored $(addprefix --exclude=,$(GENERATED)) \ +# -czvf $@ -C $(dir $(DIST_SRC_DIR)) $(notdir $(DIST_SRC_DIR)) +# +#$(DIST_PCKG_SRPM): $(DIST_PCKG_DIR)/$(PCKG_TAR) +# $(RPMBUILD) -ts $< +# cp $(SRPMS_DIR)/$(PCKG_RPM_SRC) $(dir $@)/ +# +#$(DIST_PCKG_RPM): $(DIST_PCKG_DIR)/$(PCKG_TAR) +# if [ $< -nt $(RPMS_DIR)/$(notdir $@) ]; then $(RPMBUILD) -tb $<; fi +# cp $(addprefix $(RPMS_DIR)/,$(notdir $(DIST_PCKG_RPM))) $(dir $@)/ +# +#$(DIST_PCKG_DIR)/CURRENT_%: $(TOPDIR)/VERSION +# echo $(CURRENT_$*) > $@ +# rpmbuild.dist: $(DIST_PCKG_RPM) $(DIST_PCKG_SRPM) $(DIST_FILES) touch $@ @@ -161,8 +174,8 @@ rpm-upload-local.dist: rpmbuild.dist $(MOD_SCRIPT_DIR)/suse-local-repo.sh add $(DIST_PCKG_SRPM) $(DIST_PCKG_RPM) touch $@ -rpminstall.dist: $(DIST_PCKG_RPM) - @set -e; for p in $^; do \ +rpminstall.dist: rpm-build.dist + @set -e; for p in $(BINARY_RPM); do \ if ! /bin/rpm -q `basename $$p | $(SED) "s/\.$(RPM_ARCH)\.rpm//"` > /dev/null 2>&1 ; then \ echo + installing $$p ;\ sudo /bin/rpm -U $$p; \