Infrastructure for git rpm builds. Adds GIT_VERSION to Makefile and new make
authorChris Wright <chrisw@osdl.org>
Thu, 7 Jul 2005 20:09:50 +0000 (13:09 -0700)
committerChris Wright <chrisw@osdl.org>
Thu, 7 Jul 2005 20:09:50 +0000 (13:09 -0700)
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>
Makefile
git.spec.in [new file with mode: 0644]

index 5dcfc24..6bae634 100644 (file)
--- 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 (file)
index 0000000..f019b53
--- /dev/null
@@ -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