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