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