mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 12:03:31 +01:00
make: Make rpm build and upload work
This commit is contained in:
parent
20c4d34315
commit
54045394c4
5 changed files with 137 additions and 62 deletions
133
make/rpmdist.mk
133
make/rpmdist.mk
|
|
@ -1,37 +1,71 @@
|
|||
include $(MODDIR)/make/defs.mk
|
||||
UPLOAD_SH = $(MODDIR)/devutil/scripts/upload.sh
|
||||
|
||||
CLEAN = $(wildcard *.spec *.rpm *~ *.rpmrc)
|
||||
DIST_SRC_DIR = dist/src/$(PROJECT_STEM)
|
||||
DIST_PCKG_DIR = dist/pckg
|
||||
PCKG_TAR = $(PROJECT_STEM).tar.gz
|
||||
PCKG_RPM_I386 = $(PROJECT_STEM).i386.rpm
|
||||
PCKG_RPM_SRC = $(PROJECT_STEM).src.rpm
|
||||
BUILD_ROOT = /usr/src/packages/BUILD
|
||||
RPMS_DIR = /usr/src/packages/RPMS/i386
|
||||
SRPMS_DIR = /usr/src/packages/SRPMS
|
||||
TARGET_HOST = dspcd.jannet.de
|
||||
TARGET_DIR_TAR = $(FTP_PUB_DIR_ABS)/$(PROJECT)/tar
|
||||
TARGET_DIR_RPM_I386 = $(FTP_PUB_DIR_ABS)/$(PROJECT)/rpm/i386
|
||||
TARGET_DIR_RPM_SRC = $(FTP_PUB_DIR_ABS)/$(PROJECT)/rpm/src
|
||||
TARGET_USER = jan
|
||||
TARGET_GROUP = jannet
|
||||
TARGET_FILE_MODE = 755
|
||||
TARGET_DIR_MODE = 755
|
||||
TARGET_DIR = $(TARGET_DIR_RPM)/$(PROJECT)
|
||||
REMOTE_TARGETS = \
|
||||
$(TARGET_DIR_RPM_SRC)/$(PCKG_RPM_SRC) \
|
||||
$(TARGET_DIR_RPM_I386)/$(PCKG_RPM_I386) \
|
||||
$(TARGET_DIR_TAR)/$(PCKG_TAR)
|
||||
CLEAN += $(wildcard *.spec *.rpm *~ *.rpmrc *.dist .*.swp)
|
||||
DIST_SRC_DIR = dist/src/$(PROJECT)-$(DIST_VERSION)
|
||||
DIST_PCKG_DIR = dist/pckg
|
||||
|
||||
PCKG_TAR = $(PROJECT)-$(DIST_VERSION).tar.gz
|
||||
PCKG_RPM_RUN_I386 = $(PROJECT)-run-$(DIST_VERSION).i386.rpm
|
||||
PCKG_RPM_DEVEL_I386 = $(PROJECT)-devel-$(DIST_VERSION).i386.rpm
|
||||
PCKG_RPM_SRC = $(PROJECT)-$(DIST_VERSION).src.rpm
|
||||
|
||||
#TARGET_HOST = ftp.jannet.de
|
||||
TARGET_HOST = nb02
|
||||
TARGET_HOST_LOGIN = root
|
||||
PCKG_ROOT = $(FTP_PCKG_DIR)/$(PROJECT)
|
||||
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)
|
||||
test:
|
||||
echo $(REMOTE_TARGETS)
|
||||
REMOTE_TARGET_PREFIX = rsync_ssh://$(TARGET_HOST_LOGIN)@$(TARGET_HOST):/usr/local/ftp
|
||||
REMOTE_TARGETS = \
|
||||
$(REMOTE_TARGET_PREFIX)$(CURRENT_SRC):640:750:jan.ytsrc \
|
||||
$(REMOTE_TARGET_PREFIX)$(PCKG_ROOT)/CURRENT_SRC:640:750:jan.ytsrc \
|
||||
$(REMOTE_TARGET_PREFIX)$(CURRENT_RPM_RUN_I386):640:750:jan.ytrun \
|
||||
$(REMOTE_TARGET_PREFIX)$(PCKG_ROOT)/CURRENT_RPM_RUN_I386:640:750:jan.ytrun \
|
||||
$(REMOTE_TARGET_PREFIX)$(CURRENT_RPM_DEVEL_I386):640:750:jan.ytdev \
|
||||
$(REMOTE_TARGET_PREFIX)$(PCKG_ROOT)/CURRENT_RPM_DEVEL_I386:640:750:jan.ytdev \
|
||||
$(REMOTE_TARGET_PREFIX)$(CURRENT_RPM_SRC):640:750:jan.ytsrc \
|
||||
$(REMOTE_TARGET_PREFIX)$(PCKG_ROOT)/CURRENT_RPM_SRC:640:750:jan.ytsrc
|
||||
|
||||
DIST_FILES = $(shell echo $(REMOTE_TARGETS) | sed 's/\b.*\///g; s/:.*\b//g')
|
||||
|
||||
# $(DIST_FILE_TAR) \
|
||||
# $(DIST_FILE_RPM_RUN_I386) \
|
||||
# $(DIST_FILE_RPM_DEVEL_I386) \
|
||||
# $(DIST_FILE_RPM_SRC)
|
||||
|
||||
#BUILD_ROOT = /usr/src/packages/BUILD
|
||||
RPMS_DIR = /usr/src/packages/RPMS/i386
|
||||
SRPMS_DIR = /usr/src/packages/SRPMS
|
||||
#TARGET_DIR_SRC = $(FTP_PCKG_DIR)/src
|
||||
#TARGET_DIR_RPM_RUN_I386 = $(FTP_PCKG_DIR)/rpm/run/i386
|
||||
#TARGET_DIR_RPM_DEVEL_I386 = $(FTP_PCKG_DIR)/rpm/devel/i386
|
||||
#TARGET_DIR_RPM_SRC = $(FTP_PCKG_DIR)/rpm/src
|
||||
#TARGET_OWNER = jan
|
||||
#TARGET_GROUP = jannet
|
||||
#TARGET_FILE_MODE = 644
|
||||
#TARGET_DIR_MODE = 755
|
||||
#TARGET_DIR = $(TARGET_DIR_RPM)/$(PROJECT)
|
||||
#REMOTE_FILES = \
|
||||
# $(TARGET_DIR_RPM_SRC)/$(PCKG_RPM_SRC) \
|
||||
# $(TARGET_DIR_RPM_I386)/, $(PCKG_RPM_I386)) \
|
||||
# $(TARGET_DIR_SRC)/$(PCKG_TAR)
|
||||
#REMOTE_TARGETS = \
|
||||
# $(addsuffix :$(TARGET_FILE_MODE):$(TARGET_DIR_MODE):$(TARGET_OWNER).$(TARGET_GROUP),$(REMOTE_FILES))
|
||||
|
||||
DIST_DIRS = $(DIST_SRC_DIR) $(DIST_PCKG_DIR)
|
||||
|
||||
$(DIST_DIRS):
|
||||
mkdir -p $@
|
||||
|
||||
clean.dist:
|
||||
rm -rf $(DIST_SRC_DIR) $(DIST_FILE_TAR)
|
||||
|
||||
cpmod.dist: clean.dist
|
||||
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:
|
||||
for mod in $(REQUIRED); do \
|
||||
make -C $$mod distclean ;\
|
||||
mkdir -p $(DIST_SRC_DIR)/$$mod ;\
|
||||
|
|
@ -47,36 +81,43 @@ cpmod.dist: clean.dist
|
|||
--exclude=xml-flat \
|
||||
-cf - . | tar -C $(DIST_SRC_DIR)/$$mod -xf - ;\
|
||||
done
|
||||
touch $@
|
||||
|
||||
$(REMOTE_TARGETS):
|
||||
make $(addprefix $(DIST_PCKG_DIR)/,$(notdir $@))
|
||||
$(UPLOAD_SH) $(addprefix $(DIST_PCKG_DIR)/,$(notdir $@)) $@
|
||||
|
||||
test: $(REMOTE_TARGETS)
|
||||
|
||||
cpfiles.dist: clean.dist
|
||||
cpfiles.dist:
|
||||
mkdir -p $(DIST_SRC_DIR)
|
||||
cp Makefile $(DIST_SRC_DIR)
|
||||
. make/mkspec.sh -V $(DIST_VERSION) -S $(notdir $(DIST_FILE_TAR)) -N $(PROJECT) > $(DIST_SRC_DIR)/$(PROJECT_STEM).spec
|
||||
sh make/mkspec.sh -V $(DIST_VERSION) -S $(notdir $(PCKG_TAR)) -N $(PROJECT) > $(DIST_SRC_DIR)/$(PROJECT)-$(DIST_VERSION).spec
|
||||
echo $(DIST_VERSION) > $(DIST_SRC_DIR)/VERSION
|
||||
touch $@
|
||||
|
||||
$(DIST_FILE_TAR): $(DIST_SRC_DIR) $(DIST_PCKG_DIR) cpmod.dist cpfiles.dist
|
||||
%.tar.gz: cpfiles.dist cpmod.dist
|
||||
mkdir -p $(DIST_PCKG_DIR)
|
||||
tar -czvf $@ -C $(dir $(DIST_SRC_DIR)) $(notdir $(DIST_SRC_DIR))
|
||||
|
||||
#$(PROJECT).rpmrc: Makefile
|
||||
# echo "%define _topdir $(shell cd $(TODPIR); pwd)" > $@
|
||||
%.src.rpm: %.tar.gz
|
||||
rpm -ts $<
|
||||
cp $(SRPMS_DIR)/$(notdir $@) $@
|
||||
|
||||
$(DIST_FILES_RPM): $(DIST_FILE_TAR)
|
||||
set -e; \
|
||||
su - -m -c "cd `pwd`; rpm -ta --clean $<"
|
||||
$(DIST_PCKG_DIR)/$(PCKG_RPM_RUN_I386) $(DIST_PCKG_DIR)/$(PCKG_RPM_DEVEL_I386): $(DIST_PCKG_DIR)/$(PCKG_TAR)
|
||||
if [ $< -nt $(RPMS_DIR)/$(notdir $@) ]; then rpm -tb --clean $<; fi
|
||||
cp $(RPMS_DIR)/$(notdir $@) $@
|
||||
|
||||
$(DIST_PCKG_DIR)/CURRENT_%:
|
||||
echo $(CURRENT_$*) > $@
|
||||
|
||||
# set -e; \
|
||||
# su - -m -c "cd `pwd`; rpm -ta --clean $<"
|
||||
|
||||
# --buildroot $(BUILD_ROOT) $<"
|
||||
# --define _rpmdir$(PCKGDIR) \
|
||||
# --define _builddir$(shell pwd)
|
||||
|
||||
build.dist: $(DIST_DIRS) cpmod.dist cpfiles.dist $(DIST_FILE_TAR)
|
||||
rpm.dist: $(DIST_FILE_TAR) $(DIST_FILES_RPM)
|
||||
#$(PROJECT).rpmrc: Makefile
|
||||
# echo "%define _topdir $(shell cd $(TODPIR); pwd)" > $@
|
||||
|
||||
# -- install.dist
|
||||
upload.dist: build.dist rpm.dist
|
||||
/usr/bin/rsync -az -v --links -e /usr/bin/ssh $(DIST_FILES_RPM) $(TARGET_USER)@$(TARGET_HOST):$(TARGET_DIR_RPM)
|
||||
build.dist: $(DIST_FILES)
|
||||
|
||||
#upload.dist: build.dist rpm.dist
|
||||
upload.dist:
|
||||
make $(REMOTE_TARGETS)
|
||||
touch $@.done
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue