source: valtobtest/subversion-1.6.2/packages/rpm/redhat-8+/Makefile @ 3

Last change on this file since 3 was 3, checked in by valtob, 15 years ago

subversion source 1.6.2 as test

File size: 3.5 KB
Line 
1##########################################################################
2# Build an RPM from the current spec file and subversion directory tree. #
3#                                                                        #
4# Note: The RPM and Makefile are set up to GENERATE RPMS as a non-root   #
5# user in the user's home directory.  Of course to INSTALL the resulting #
6# binary RPM the user has to log in as root.                             #
7##########################################################################
8
9SVN_TOP_DIR := $(shell pwd)/../../..
10
11SPECFILE := subversion.spec
12VERSION_FILE := $(SVN_TOP_DIR)/subversion/include/svn_version.h
13
14RPMDIR := rpms
15
16NAME := $(shell grep '^Name:' < $(SPECFILE) | sed -e 's/^Name: //')
17SVN_VERSION_MAJOR := $(shell grep 'define SVN_VER_MAJOR' < $(VERSION_FILE) | (read one two three; echo $$three) )
18SVN_VERSION_MINOR := $(shell grep 'define SVN_VER_MINOR' < $(VERSION_FILE) | (read one two three; echo $$three) )
19SVN_VERSION_MICRO := $(shell grep 'define SVN_VER_PATCH' < $(VERSION_FILE) | (read one two three; echo $$three) )
20VERSION := $(SVN_VERSION_MAJOR).$(SVN_VERSION_MINOR).$(SVN_VERSION_MICRO)
21RELEASE := $(shell svn st -v $(SPECFILE) | cut -b 10- | ( read one two ; echo $$one ) )
22OSREL := $(shell ./find-osrel | ( read one two ; echo $$one ))
23ARCH := $(shell arch |(read one two; echo $$one))
24
25SOURCE_RPM_DIR := $(HOME)/$(RPMDIR)/sources/$(NAME)-$(VERSION)-$(RELEASE)
26
27RPMDIRS := \
28        $(HOME)/$(RPMDIR) \
29        $(HOME)/$(RPMDIR)/build \
30        $(HOME)/$(RPMDIR)/rpms \
31        $(HOME)/$(RPMDIR)/rpms/i386 \
32        $(HOME)/$(RPMDIR)/rpms/i486 \
33        $(HOME)/$(RPMDIR)/rpms/i586 \
34        $(HOME)/$(RPMDIR)/rpms/i686 \
35        $(HOME)/$(RPMDIR)/rpms/noarch \
36        $(HOME)/$(RPMDIR)/rpms/ppc \
37        $(HOME)/$(RPMDIR)/rpms/sparc \
38        $(HOME)/$(RPMDIR)/sources \
39        $(HOME)/$(RPMDIR)/srpms \
40        $(HOME)/$(RPMDIR)/tmp
41
42all : rpm
43
44subversion rpm : check_release build_srpm_files build_rpm_files brand_files
45
46check_release :
47        @if [ "$(RELEASE)"x = "x" ]; \
48           then \
49                echo "Please specifiy RELEASE with 'make RELEASE=<number>'"; \
50                exit 1; \
51            else \
52                exit 0; \
53        fi
54        @echo "Making $(NAME)-$(VERSION)-$(RELEASE) (S)RPM for $(OSREL)  ..."
55
56build_rpm_files : build_srpm_files
57        cd $(SOURCE_RPM_DIR); rpmbuild -ba $(SPECFILE)
58
59brand_files :
60        cd $(SOURCE_RPM_DIR)/../../rpms/$(ARCH); for oldfile in *-$(VERSION)-$(RELEASE)*; do newfile=`echo $${oldfile} | sed -e "s/-$(VERSION)-$(RELEASE).$(ARCH).rpm/-$(VERSION)-$(RELEASE).$(OSREL).$(ARCH).rpm/"`; echo Moving $${oldfile} to $${newfile}; mv -f $${oldfile} $${newfile}; done
61        cd $(SOURCE_RPM_DIR)/../../srpms; for oldfile in *-$(VERSION)-$(RELEASE)*; do newfile=`echo $${oldfile} | sed -e "s/-$(VERSION)-$(RELEASE).src.rpm/-$(VERSION)-$(RELEASE).$(OSREL).src.rpm/"`; echo Moving $${oldfile} to $${newfile}; mv -f $${oldfile} $${newfile}; done
62
63build_srpm_files : $(HOME)/.rpmmacros $(HOME)/$(RPMDIR) subversion.spec
64        rm -rf $(SOURCE_RPM_DIR)
65        mkdir -p $(SOURCE_RPM_DIR)
66        cp * $(SOURCE_RPM_DIR)
67        sed -e 's/@RELEASE@/$(RELEASE)/' \
68                -e 's/@VERSION@/$(VERSION)/' \
69                < $(SPECFILE) > $(SOURCE_RPM_DIR)/$(SPECFILE)
70        cd $(SOURCE_RPM_DIR); cp -r $(SVN_TOP_DIR) $(NAME)-$(VERSION); \
71           tar cfz $(NAME)-$(VERSION)-$(RELEASE).tar.gz $(NAME)-$(VERSION) --exclude=.svn; \
72           rm -rf $(NAME)-$(VERSION)
73
74$(HOME)/.rpmmacros : .rpmmacros
75        @if [ ! -f $(HOME)/.rpmmacros ]; \
76           then \
77           echo "Creating $(HOME)/.rpmmacros"; \
78           sed -e 's;@RPMSDIR@;$(HOME)/$(RPMDIR);' < .rpmmacros > $(HOME)/.rpmmacros; \
79           fi
80
81$(HOME)/$(RPMDIR) :
82        @if [ ! -d $(HOME)/$(RPMDIR) ]; \
83                then \
84                for i in $(RPMDIRS); \
85                        do \
86                        echo "Making directory $$i"; \
87                        mkdir -p $$i; \
88                        done; \
89           fi
Note: See TracBrowser for help on using the repository browser.