jw-pkg/make/rpmdist.mk

99 lines
3.7 KiB
Makefile
Raw Normal View History

2002-07-01 18:26:01 +00:00
UPLOAD_SH = $(MODDIR)/devutil/scripts/upload.sh
2002-07-10 12:24:05 +00:00
ifeq ($(RPM_PROJECT),)
RPM_PROJECT = $(PROJECT)
endif
RPM_VERSION := $(shell cat VERSION | sed -e s'/-dev//')
2002-07-01 18:26:01 +00:00
CLEAN += $(wildcard *.spec *.rpm *~ *.rpmrc *.dist .*.swp)
2002-07-10 12:24:05 +00:00
DIST_SRC_DIR = dist/src/$(RPM_PROJECT)-$(RPM_VERSION)
2002-07-01 18:26:01 +00:00
DIST_PCKG_DIR = dist/pckg
2002-07-10 12:24:05 +00:00
PCKG_TAR = $(RPM_PROJECT)-$(RPM_VERSION).tar.gz
PCKG_RPM_RUN_I386 = $(RPM_PROJECT)-run-$(RPM_VERSION).i386.rpm
PCKG_RPM_DEVEL_I386 = $(RPM_PROJECT)-devel-$(RPM_VERSION).i386.rpm
PCKG_RPM_SRC = $(RPM_PROJECT)-$(RPM_VERSION).src.rpm
2002-07-01 18:26:01 +00:00
2002-07-10 12:24:05 +00:00
PCKG_ROOT = $(FTP_PCKG_DIR)/$(RPM_PROJECT)
2002-07-01 18:26:01 +00:00
CURRENT_SRC = $(PCKG_ROOT)/src/$(PCKG_TAR)
CURRENT_RPM_RUN_I386 = $(PCKG_ROOT)/rpm/run/$(PCKG_RPM_RUN_I386)
CURRENT_RPM_DEVEL_I386 = $(PCKG_ROOT)/rpm/devel/$(PCKG_RPM_DEVEL_I386)
CURRENT_RPM_SRC = $(PCKG_ROOT)/rpm/src/$(PCKG_RPM_SRC)
REMOTE_TARGET_PREFIX = rsync_ssh://$(FTP_HOST_LOGIN)@$(FTP_HOST):/usr/local/ftp
2002-07-01 18:26:01 +00:00
REMOTE_TARGETS = \
$(REMOTE_TARGET_PREFIX)$(CURRENT_SRC):640:750:$(FTP_SRC_USER).$(FTP_SRC_GROUP) \
$(REMOTE_TARGET_PREFIX)$(PCKG_ROOT)/CURRENT_SRC:640:750:$(FTP_SRC_USER).$(FTP_SRC_GROUP) \
$(REMOTE_TARGET_PREFIX)$(CURRENT_RPM_RUN_I386):640:750:$(FTP_RUN_USER).$(FTP_RUN_GROUP)\
$(REMOTE_TARGET_PREFIX)$(PCKG_ROOT)/CURRENT_RPM_RUN_I386:640:750:$(FTP_RUN_USER).$(FTP_RUN_GROUP) \
$(REMOTE_TARGET_PREFIX)$(CURRENT_RPM_DEVEL_I386):640:750:$(FTP_DEV_USER).$(FTP_DEV_GROUP) \
$(REMOTE_TARGET_PREFIX)$(PCKG_ROOT)/CURRENT_RPM_DEVEL_I386:640:750:$(FTP_DEV_USER).$(FTP_DEV_GROUP) \
$(REMOTE_TARGET_PREFIX)$(CURRENT_RPM_SRC):640:750:$(FTP_SRC_USER).$(FTP_SRC_GROUP) \
$(REMOTE_TARGET_PREFIX)$(PCKG_ROOT)/CURRENT_RPM_SRC:640:750:$(FTP_SRC_USER).$(FTP_SRC_GROUP)
2002-07-01 18:26:01 +00:00
DIST_FILES = $(shell echo $(REMOTE_TARGETS) | sed 's/\b.*\///g; s/:.*\b//g')
RPMS_DIR = /usr/src/packages/RPMS/i386
SRPMS_DIR = /usr/src/packages/SRPMS
DIST_DIRS = $(DIST_SRC_DIR) $(DIST_PCKG_DIR)
clean.dist:
rm -rf $(DIST_SRC_DIR) $(DIST_FILE_TAR)
2002-07-01 18:26:01 +00:00
rsync_ssh\://% ftp\://% scp\://%:
make $(shell echo $(addprefix $(DIST_PCKG_DIR)/,$(notdir $@)) | sed 's/:.*//g')
$(UPLOAD_SH) $(shell echo $(addprefix $(DIST_PCKG_DIR)/,$(notdir $@)) $@ | sed 's/:.*//g') $@
cpmod.dist:
2002-07-02 10:12:06 +00:00
for mod in $(SUBDIRS); do \
make -C $$mod distclean ;\
mkdir -p $(DIST_SRC_DIR)/$$mod ;\
tar -C $$mod \
--exclude=dist \
--exclude=pckg \
--exclude=Debug \
--exclude=CVS \
--exclude=old \
--exclude=v1.1 \
--exclude='*.o' \
--exclude='*~' \
--exclude=xml-flat \
2002-07-02 10:12:06 +00:00
--exclude=contrib \
-cf - . | tar -C $(DIST_SRC_DIR)/$$mod -xf - ;\
done
2002-07-01 18:26:01 +00:00
touch $@
ifneq ($(RPM_REQUIRED),)
RPM_REQUIRED_FLAG = -R "$(RPM_REQUIRED)"
endif
2002-07-01 18:26:01 +00:00
cpfiles.dist:
mkdir -p $(DIST_SRC_DIR)
cp Makefile $(DIST_SRC_DIR)
sh $(MKSPEC_SH) -V $(RPM_VERSION) -S $(notdir $(PCKG_TAR)) -N $(RPM_PROJECT) $(RPM_REQUIRED_FLAG) \
-P $(PROJECT) \
> $(DIST_SRC_DIR)/$(RPM_PROJECT)-$(RPM_VERSION).spec
2002-07-10 12:24:05 +00:00
echo $(RPM_VERSION) > $(DIST_SRC_DIR)/VERSION
2002-07-01 18:26:01 +00:00
touch $@
2002-07-01 18:26:01 +00:00
%.tar.gz: cpfiles.dist cpmod.dist
mkdir -p $(DIST_PCKG_DIR)
tar -czvf $@ -C $(dir $(DIST_SRC_DIR)) $(notdir $(DIST_SRC_DIR))
2002-07-01 18:26:01 +00:00
%.src.rpm: %.tar.gz
rpm -ts $<
cp $(SRPMS_DIR)/$(notdir $@) $@
2002-07-01 18:26:01 +00:00
$(DIST_PCKG_DIR)/$(PCKG_RPM_RUN_I386) $(DIST_PCKG_DIR)/$(PCKG_RPM_DEVEL_I386): $(DIST_PCKG_DIR)/$(PCKG_TAR)
2002-07-03 20:33:20 +00:00
if [ $< -nt $(RPMS_DIR)/$(notdir $@) ]; then rpm -tb $<; fi
cp $(RPMS_DIR)/$(notdir $@) $@
2002-07-03 20:33:20 +00:00
$(DIST_PCKG_DIR)/CURRENT_%: $(TOPDIR)/VERSION
2002-07-01 18:26:01 +00:00
echo $(CURRENT_$*) > $@
build.dist: $(DIST_FILES)
2002-07-01 18:26:01 +00:00
upload.dist:
if [ -f configure -o -f configure.ac -o -f configure.ac.tmpl ]; then make config; fi
2002-07-01 18:26:01 +00:00
make $(REMOTE_TARGETS)
touch $@.done