[GIT PATCH] Add infrastructure for git rpm build

From: Chris Wright <chrisw@osdl.org>
Date: 2005-07-08 06:25:39
Linus,

You'll find the necessary infrastructure for doing an rpm build here:

	kernel.org/pub/scm/linux/kernel/git/chrisw/git.git

The diff is below:

diff-tree a9db297485a7b8c641d3cf686d03cb63b774e530 (from dd7ba8b4949535c24e604a37709db0e3be9ccbbc)
Author: Chris Wright <chrisw@osdl.org>
Date:   Thu Jul 7 13:09:50 2005 -0700

    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
--- 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 
 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
--- /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
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Sat Jul 09 17:47:16 2005

This archive was generated by hypermail 2.1.8 : 2005-07-09 17:47:18 EST