From a9db297485a7b8c641d3cf686d03cb63b774e530 Mon Sep 17 00:00:00 2001 From: Chris Wright Date: Thu, 7 Jul 2005 13:09:50 -0700 Subject: [PATCH] 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 --- Makefile | 18 ++++++++++++++++++ git.spec.in | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 git.spec.in diff --git a/Makefile b/Makefile index 5dcfc24f8..6bae6349e 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 000000000..f019b532c --- /dev/null +++ b/git.spec.in @@ -0,0 +1,42 @@ +Name: git +Version: @@VERSION@@ +Release: 1 +Vendor: Linus Torvalds +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 +- initial git spec file -- 2.30.2