summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wright <chrisw@osdl.org>2005-07-07 20:09:50 (GMT)
committerChris Wright <chrisw@osdl.org>2005-07-07 20:09:50 (GMT)
commita9db297485a7b8c641d3cf686d03cb63b774e530 (patch)
tree41096f7ff81d74e3a84327b07036398ba669b1a0
parentdd7ba8b4949535c24e604a37709db0e3be9ccbbc (diff)
downloadgit-a9db297485a7b8c641d3cf686d03cb63b774e530.zip
git-a9db297485a7b8c641d3cf686d03cb63b774e530.tar.gz
git-a9db297485a7b8c641d3cf686d03cb63b774e530.tar.bz2
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>
-rw-r--r--Makefile18
-rw-r--r--git.spec.in42
2 files changed, 60 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 5dcfc24..6bae634 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 0000000..f019b53
--- /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