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