Remove old generated files from .gitignore.
[git] / git.spec.in
1 # Pass --without docs to rpmbuild if you don't want the documentation
2
3 Name:           git
4 Version:        @@VERSION@@
5 Release:        1%{?dist}
6 Summary:        Git core and tools
7 License:        GPL
8 Group:          Development/Tools
9 URL:            http://kernel.org/pub/software/scm/git/
10 Source:         http://kernel.org/pub/software/scm/git/%{name}-%{version}.tar.gz
11 BuildRequires:  zlib-devel >= 1.2, openssl-devel, curl-devel, expat-devel  %{!?_without_docs:, xmlto, asciidoc > 6.0.3}
12 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
13 Requires:       git-core, git-svn, git-cvs, git-arch, git-email, gitk, git-gui, perl-Git
14
15 %description
16 Git is a fast, scalable, distributed revision control system with an
17 unusually rich command set that provides both high-level operations
18 and full access to internals.
19
20 This is a dummy package which brings in all subpackages.
21
22 %package core
23 Summary:        Core git tools
24 Group:          Development/Tools
25 Requires:       zlib >= 1.2, rsync, curl, less, openssh-clients, expat
26 Obsoletes:      git-p4
27 %description core
28 Git is a fast, scalable, distributed revision control system with an
29 unusually rich command set that provides both high-level operations
30 and full access to internals.
31
32 These are the core tools with minimal dependencies.
33
34 %package svn
35 Summary:        Git tools for importing Subversion repositories
36 Group:          Development/Tools
37 Requires:       git-core = %{version}-%{release}, subversion
38 %description svn
39 Git tools for importing Subversion repositories.
40
41 %package cvs
42 Summary:        Git tools for importing CVS repositories
43 Group:          Development/Tools
44 Requires:       git-core = %{version}-%{release}, cvs, cvsps
45 %description cvs
46 Git tools for importing CVS repositories.
47
48 %package arch
49 Summary:        Git tools for importing Arch repositories
50 Group:          Development/Tools
51 Requires:       git-core = %{version}-%{release}, tla
52 %description arch
53 Git tools for importing Arch repositories.
54
55 %package email
56 Summary:        Git tools for sending email
57 Group:          Development/Tools
58 Requires:       git-core = %{version}-%{release}
59 %description email
60 Git tools for sending email.
61
62 %package gui
63 Summary:        Git GUI tool
64 Group:          Development/Tools
65 Requires:       git-core = %{version}-%{release}, tk >= 8.4
66 %description gui
67 Git GUI tool
68
69 %package -n gitk
70 Summary:        Git revision tree visualiser ('gitk')
71 Group:          Development/Tools
72 Requires:       git-core = %{version}-%{release}, tk >= 8.4
73 %description -n gitk
74 Git revision tree visualiser ('gitk')
75
76 %package -n perl-Git
77 Summary:        Perl interface to Git
78 Group:          Development/Libraries
79 Requires:       git-core = %{version}-%{release}
80 Requires:       perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
81 BuildRequires:  perl(Error)
82
83 %description -n perl-Git
84 Perl 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
92 make %{_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" \
93      %{path_settings} \
94      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      %{path_settings} \
100      INSTALLDIRS=vendor install %{!?_without_docs: install-doc}
101 find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} ';'
102 find $RPM_BUILD_ROOT -type f -name '*.bs' -empty -exec rm -f {} ';'
103 find $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
110 rm -rf $RPM_BUILD_ROOT%{_mandir}
111 %endif
112
113 %clean
114 rm -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