From: Chris Wright <chrisw@osdl.org>
Date: Thu, 7 Jul 2005 20:09:50 +0000 (-0700)
Subject: Infrastructure for git rpm builds.  Adds GIT_VERSION to Makefile and new make
X-Git-Tag: v0.99~31^2
X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/a9db297485a7b8c641d3cf686d03cb63b774e530

Infrastructure for git rpm builds.Adds GIT_VERSION to Makefile and new make
targets: git.spec, dist, and rpm.  A simple 'make rpm' will build the rpm.
Also adds git.spec.in which is used to generate git.spec.

Signed-off-by: Chris Wright <chrisw@osdl.org>
---

diff --git a/Makefile b/Makefile
index 5dcfc24f89..6bae6349e5 100644
--- a/Makefile
+++ b/Makefile
@@ -9,6 +9,8 @@
 # BREAK YOUR LOCAL DIFFS! show-diff and anything using it will likely randomly
 # break unless your underlying filesystem supports those sub-second times
 # (my ext3 doesn't).
+GIT_VERSION=0.99
+
 COPTS=-O2
 CFLAGS=-g $(COPTS) -Wall
 
@@ -49,6 +51,7 @@ PROG=   git-update-cache git-diff-files git-init-db git-write-tree \
 all: $(PROG)
 
 install: $(PROG) $(SCRIPTS)
+	$(INSTALL) -m755 -d $(dest)$(bin)
 	$(INSTALL) $(PROG) $(SCRIPTS) $(dest)$(bin)
 
 LIB_OBJS=read-cache.o sha1_file.o usage.o object.o commit.o tree.o blob.o \
@@ -164,6 +167,21 @@ diffcore-break.o : $(LIB_H) diffcore.h
 diffcore-order.o : $(LIB_H) diffcore.h
 epoch.o: $(LIB_H)
 
+git.spec: git.spec.in
+	sed -e 's/@@VERSION@@/$(GIT_VERSION)/g' < $< > $@
+
+GIT_TARNAME=git-$(GIT_VERSION)
+dist: git.spec
+	git-tar-tree HEAD $(GIT_TARNAME) > $(GIT_TARNAME).tar
+	@mkdir -p $(GIT_TARNAME)
+	@cp git.spec $(GIT_TARNAME)
+	tar rf $(GIT_TARNAME).tar $(GIT_TARNAME)/git.spec
+	@rm -rf $(GIT_TARNAME)
+	gzip -9 $(GIT_TARNAME).tar
+
+rpm: dist
+	rpmbuild -ta git-$(GIT_VERSION).tar.gz
+
 test: all
 	$(MAKE) -C t/ all
 
diff --git a/git.spec.in b/git.spec.in
new file mode 100644
index 0000000000..f019b532cb
--- /dev/null
+++ b/git.spec.in
@@ -0,0 +1,42 @@
+Name: 		git
+Version: 	@@VERSION@@
+Release: 	1
+Vendor: 	Linus Torvalds <torvalds@osdl.org>
+Summary:  	Git core and tools
+License: 	GPL
+Group: 		Development/Tools
+URL: 		http://kernel.org/pub/software/scm/git/
+Source: 	http://kernel.org/pub/software/scm/git/%{name}-%{version}.tar.gz
+BuildRequires:	zlib-devel, openssl-devel, curl-devel
+BuildRoot:	%{_tmppath}/%{name}-%{version}-root
+Prereq: 	sh-utils, diffutils, rsync, rcs, mktemp >= 1.5
+
+%description
+GIT comes in two layers. The bottom layer is merely an extremely fast
+and flexible filesystem-based database designed to store directory trees
+with regard to their history. The top layer is a SCM-like tool which
+enables human beings to work with the database in a manner to a degree
+similar to other SCM tools (like CVS, BitKeeper or Monotone).
+
+%prep
+%setup -q
+
+%build
+
+make
+
+%install
+rm -rf $RPM_BUILD_ROOT
+make dest=$RPM_BUILD_ROOT prefix=%{_prefix} install
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(-,root,root)
+%{_bindir}/*
+%doc README COPYING Documentation/*
+
+%changelog
+* Wed Jul 7 2005 Chris Wright <chris@osdl.org>
+- initial git spec file