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:
parent
dd7ba8b494
commit
a9db297485
18
Makefile
18
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
|
||||
|
||||
|
42
git.spec.in
Normal file
42
git.spec.in
Normal 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
|
Loading…
Reference in New Issue
Block a user