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 YOUR LOCAL DIFFS! show-diff and anything using it will likely randomly
|
||||||
# break unless your underlying filesystem supports those sub-second times
|
# break unless your underlying filesystem supports those sub-second times
|
||||||
# (my ext3 doesn't).
|
# (my ext3 doesn't).
|
||||||
|
GIT_VERSION=0.99
|
||||||
|
|
||||||
COPTS=-O2
|
COPTS=-O2
|
||||||
CFLAGS=-g $(COPTS) -Wall
|
CFLAGS=-g $(COPTS) -Wall
|
||||||
|
|
||||||
@ -49,6 +51,7 @@ PROG= git-update-cache git-diff-files git-init-db git-write-tree \
|
|||||||
all: $(PROG)
|
all: $(PROG)
|
||||||
|
|
||||||
install: $(PROG) $(SCRIPTS)
|
install: $(PROG) $(SCRIPTS)
|
||||||
|
$(INSTALL) -m755 -d $(dest)$(bin)
|
||||||
$(INSTALL) $(PROG) $(SCRIPTS) $(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 \
|
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
|
diffcore-order.o : $(LIB_H) diffcore.h
|
||||||
epoch.o: $(LIB_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
|
test: all
|
||||||
$(MAKE) -C t/ 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…
x
Reference in New Issue
Block a user