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>
This commit is contained in:
Chris Wright 2005-07-07 13:09:50 -07:00
parent dd7ba8b494
commit a9db297485
2 changed files with 60 additions and 0 deletions

View File

@ -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

42
git.spec.in Normal file
View File

@ -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