1# Pass --without docs to rpmbuild if you don't want the documentation
2
3%define python_path /usr/bin/python
4
5Name: git
6Version: @@VERSION@@
7Release: 1%{?dist}
8Summary: Git core and tools
9License: GPL
10Group: Development/Tools
11URL: http://kernel.org/pub/software/scm/git/
12Source: http://kernel.org/pub/software/scm/git/%{name}-%{version}.tar.gz
13BuildRequires: zlib-devel >= 1.2, openssl-devel, curl-devel, expat-devel %{!?_without_docs:, xmlto, asciidoc > 6.0.3}
14BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
15Requires: git-core, git-svn, git-cvs, git-arch, git-email, gitk, git-gui, perl-Git
16
17%description
18Git is a fast, scalable, distributed revision control system with an
19unusually rich command set that provides both high-level operations
20and full access to internals.
21
22This is a dummy package which brings in all subpackages.
23
24%package core
25Summary: Core git tools
26Group: Development/Tools
27Requires: zlib >= 1.2, rsync, curl, less, openssh-clients, expat
28%description core
29Git is a fast, scalable, distributed revision control system with an
30unusually rich command set that provides both high-level operations
31and full access to internals.
32
33These are the core tools with minimal dependencies.
34
35%package svn
36Summary: Git tools for importing Subversion repositories
37Group: Development/Tools
38Requires: git-core = %{version}-%{release}, subversion
39%description svn
40Git tools for importing Subversion repositories.
41
42%package cvs
43Summary: Git tools for importing CVS repositories
44Group: Development/Tools
45Requires: git-core = %{version}-%{release}, cvs, cvsps
46%description cvs
47Git tools for importing CVS repositories.
48
49%package arch
50Summary: Git tools for importing Arch repositories
51Group: Development/Tools
52Requires: git-core = %{version}-%{release}, tla
53%description arch
54Git tools for importing Arch repositories.
55
56%package email
57Summary: Git tools for sending email
58Group: Development/Tools
59Requires: git-core = %{version}-%{release}
60%description email
61Git tools for sending email.
62
63%package gui
64Summary: Git GUI tool
65Group: Development/Tools
66Requires: git-core = %{version}-%{release}, tk >= 8.4
67%description gui
68Git GUI tool
69
70%package -n gitk
71Summary: Git revision tree visualiser ('gitk')
72Group: Development/Tools
73Requires: git-core = %{version}-%{release}, tk >= 8.4
74%description -n gitk
75Git revision tree visualiser ('gitk')
76
77%package -n perl-Git
78Summary: Perl interface to Git
79Group: Development/Libraries
80Requires: git-core = %{version}-%{release}
81Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
82BuildRequires: perl(Error)
83
84%description -n perl-Git
85Perl interface to Git
86
87%prep
88%setup -q
89
90%build
91make %{_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" \
92 ETC_GITCONFIG=/etc/gitconfig \
93 prefix=%{_prefix} all %{!?_without_docs: doc}
94
95%install
96rm -rf $RPM_BUILD_ROOT
97make %{_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" DESTDIR=$RPM_BUILD_ROOT \
98 prefix=%{_prefix} mandir=%{_mandir} \
99 ETC_GITCONFIG=/etc/gitconfig \
100 PYTHON_PATH=%{python_path} \
101 INSTALLDIRS=vendor install %{!?_without_docs: install-doc}
102find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} ';'
103find $RPM_BUILD_ROOT -type f -name '*.bs' -empty -exec rm -f {} ';'
104find $RPM_BUILD_ROOT -type f -name perllocal.pod -exec rm -f {} ';'
105
106(find $RPM_BUILD_ROOT%{_bindir} -type f | grep -vE "archimport|svn|cvs|email|gitk|git-gui|git-citool" | sed -e s@^$RPM_BUILD_ROOT@@) > bin-man-doc-files
107(find $RPM_BUILD_ROOT%{perl_vendorlib} -type f | sed -e s@^$RPM_BUILD_ROOT@@) >> perl-files
108%if %{!?_without_docs:1}0
109(find $RPM_BUILD_ROOT%{_mandir} $RPM_BUILD_ROOT/Documentation -type f | grep -vE "archimport|svn|git-cvs|email|gitk|git-gui|git-citool" | sed -e s@^$RPM_BUILD_ROOT@@ -e 's/$/*/' ) >> bin-man-doc-files
110%else
111rm -rf $RPM_BUILD_ROOT%{_mandir}
112%endif
113
114%clean
115rm -rf $RPM_BUILD_ROOT
116
117%files
118# These are no files in the root package
119
120%files svn
121%defattr(-,root,root)
122%{_bindir}/*svn*
123%doc Documentation/*svn*.txt
124%{!?_without_docs: %{_mandir}/man1/*svn*.1*}
125%{!?_without_docs: %doc Documentation/*svn*.html }
126
127%files cvs
128%defattr(-,root,root)
129%doc Documentation/*git-cvs*.txt
130%{_bindir}/*cvs*
131%{!?_without_docs: %{_mandir}/man1/*cvs*.1*}
132%{!?_without_docs: %doc Documentation/*git-cvs*.html }
133
134%files arch
135%defattr(-,root,root)
136%doc Documentation/git-archimport.txt
137%{_bindir}/git-archimport
138%{!?_without_docs: %{_mandir}/man1/git-archimport.1*}
139%{!?_without_docs: %doc Documentation/git-archimport.html }
140
141%files email
142%defattr(-,root,root)
143%doc Documentation/*email*.txt
144%{_bindir}/*email*
145%{!?_without_docs: %{_mandir}/man1/*email*.1*}
146%{!?_without_docs: %doc Documentation/*email*.html }
147
148%files gui
149%defattr(-,root,root)
150%{_bindir}/git-gui
151%{_bindir}/git-citool
152%{_datadir}/git-gui/
153%{!?_without_docs: %{_mandir}/man1/git-gui.1*}
154%{!?_without_docs: %doc Documentation/git-gui.html}
155%{!?_without_docs: %{_mandir}/man1/git-citool.1*}
156%{!?_without_docs: %doc Documentation/git-citool.html}
157
158%files -n gitk
159%defattr(-,root,root)
160%doc Documentation/*gitk*.txt
161%{_bindir}/*gitk*
162%{!?_without_docs: %{_mandir}/man1/*gitk*.1*}
163%{!?_without_docs: %doc Documentation/*gitk*.html }
164
165%files -n perl-Git -f perl-files
166%defattr(-,root,root)
167
168%files core -f bin-man-doc-files
169%defattr(-,root,root)
170%{_datadir}/git-core/
171%doc README COPYING Documentation/*.txt
172%{!?_without_docs: %doc Documentation/*.html Documentation/howto}
173%{!?_without_docs: %doc Documentation/technical}
174
175%changelog
176* Sun Jul 15 2007 Sean Estabrooks <seanlkml@sympatico.ca>
177- Removed p4import.
178
179* Tue Jun 26 2007 Quy Tonthat <qtonthat@gmail.com>
180- Fixed problems looking for wrong manpages.
181
182* Thu Jun 21 2007 Shawn O. Pearce <spearce@spearce.org>
183- Added documentation files for git-gui
184
185* Tue May 13 2007 Quy Tonthat <qtonthat@gmail.com>
186- Added lib files for git-gui
187- Added Documentation/technical (As needed by Git Users Manual)
188
189* Tue May 8 2007 Quy Tonthat <qtonthat@gmail.com>
190- Added howto files
191
192* Tue Mar 27 2007 Eygene Ryabinkin <rea-git@codelabs.ru>
193- Added the git-p4 package: Perforce import stuff.
194
195* Mon Feb 13 2007 Nicolas Pitre <nico@cam.org>
196- Update core package description (Git isn't as stupid as it used to be)
197
198* Mon Feb 12 2007 Junio C Hamano <junkio@cox.net>
199- Add git-gui and git-citool.
200
201* Mon Nov 14 2005 H. Peter Anvin <hpa@zytor.com> 0.99.9j-1
202- Change subpackage names to git-<name> instead of git-core-<name>
203- Create empty root package which brings in all subpackages
204- Rename git-tk -> gitk
205
206* Thu Nov 10 2005 Chris Wright <chrisw@osdl.org> 0.99.9g-1
207- zlib dependency fix
208- Minor cleanups from split
209- Move arch import to separate package as well
210
211* Tue Sep 27 2005 Jim Radford <radford@blackbean.org>
212- Move programs with non-standard dependencies (svn, cvs, email)
213 into separate packages
214
215* Tue Sep 27 2005 H. Peter Anvin <hpa@zytor.com>
216- parallelize build
217- COPTS -> CFLAGS
218
219* Fri Sep 16 2005 Chris Wright <chrisw@osdl.org> 0.99.6-1
220- update to 0.99.6
221
222* Fri Sep 16 2005 Horst H. von Brand <vonbrand@inf.utfsm.cl>
223- Linus noticed that less is required, added to the dependencies
224
225* Sun Sep 11 2005 Horst H. von Brand <vonbrand@inf.utfsm.cl>
226- Updated dependencies
227- Don't assume manpages are gzipped
228
229* Thu Aug 18 2005 Chris Wright <chrisw@osdl.org> 0.99.4-4
230- drop sh_utils, sh-utils, diffutils, mktemp, and openssl Requires
231- use RPM_OPT_FLAGS in spec file, drop patch0
232
233* Wed Aug 17 2005 Tom "spot" Callaway <tcallawa@redhat.com> 0.99.4-3
234- use dist tag to differentiate between branches
235- use rpm optflags by default (patch0)
236- own %{_datadir}/git-core/
237
238* Mon Aug 15 2005 Chris Wright <chrisw@osdl.org>
239- update spec file to fix Buildroot, Requires, and drop Vendor
240
241* Sun Aug 07 2005 Horst H. von Brand <vonbrand@inf.utfsm.cl>
242- Redid the description
243- Cut overlong make line, loosened changelog a bit
244- I think Junio (or perhaps OSDL?) should be vendor...
245
246* Thu Jul 14 2005 Eric Biederman <ebiederm@xmission.com>
247- Add the man pages, and the --without docs build option
248
249* Wed Jul 7 2005 Chris Wright <chris@osdl.org>
250- initial git spec file