pack-objects: check return value from read_sha1_file()
[git/builtin-gsoc.git] / git.spec.in
blobfe7b3d821567fd7a8108ae3fd7a90cdd5baac72a
1 # Pass --without docs to rpmbuild if you don't want the documentation
3 %define python_path /usr/bin/python
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
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.
22 This is a dummy package which brings in all subpackages.
24 %package core
25 Summary: Core git tools
26 Group: Development/Tools
27 Requires: zlib >= 1.2, rsync, curl, less, openssh-clients, expat
28 %description core
29 Git is a fast, scalable, distributed revision control system with an
30 unusually rich command set that provides both high-level operations
31 and full access to internals.
33 These are the core tools with minimal dependencies.
35 %package svn
36 Summary: Git tools for importing Subversion repositories
37 Group: Development/Tools
38 Requires: git-core = %{version}-%{release}, subversion
39 %description svn
40 Git tools for importing Subversion repositories.
42 %package cvs
43 Summary: Git tools for importing CVS repositories
44 Group: Development/Tools
45 Requires: git-core = %{version}-%{release}, cvs, cvsps
46 %description cvs
47 Git tools for importing CVS repositories.
49 %package arch
50 Summary: Git tools for importing Arch repositories
51 Group: Development/Tools
52 Requires: git-core = %{version}-%{release}, tla
53 %description arch
54 Git tools for importing Arch repositories.
56 %package email
57 Summary: Git tools for sending email
58 Group: Development/Tools
59 Requires: git-core = %{version}-%{release}
60 %description email
61 Git tools for sending email.
63 %package gui
64 Summary: Git GUI tool
65 Group: Development/Tools
66 Requires: git-core = %{version}-%{release}, tk >= 8.4
67 %description gui
68 Git GUI tool
70 %package -n gitk
71 Summary: Git revision tree visualiser ('gitk')
72 Group: Development/Tools
73 Requires: git-core = %{version}-%{release}, tk >= 8.4
74 %description -n gitk
75 Git revision tree visualiser ('gitk')
77 %package -n perl-Git
78 Summary: Perl interface to Git
79 Group: Development/Libraries
80 Requires: git-core = %{version}-%{release}
81 Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
82 BuildRequires: perl(Error)
84 %description -n perl-Git
85 Perl interface to Git
87 %prep
88 %setup -q
90 %build
91 make %{_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" \
92 ETC_GITCONFIG=/etc/gitconfig \
93 prefix=%{_prefix} all %{!?_without_docs: doc}
95 %install
96 rm -rf $RPM_BUILD_ROOT
97 make %{_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}
102 find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} ';'
103 find $RPM_BUILD_ROOT -type f -name '*.bs' -empty -exec rm -f {} ';'
104 find $RPM_BUILD_ROOT -type f -name perllocal.pod -exec rm -f {} ';'
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
111 rm -rf $RPM_BUILD_ROOT%{_mandir}
112 %endif
114 %clean
115 rm -rf $RPM_BUILD_ROOT
117 %files
118 # These are no files in the root package
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 }
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 }
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 }
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 }
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}
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 }
165 %files -n perl-Git -f perl-files
166 %defattr(-,root,root)
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}
175 %changelog
176 * Sun Jul 15 2007 Sean Estabrooks <seanlkml@sympatico.ca>
177 - Removed p4import.
179 * Tue Jun 26 2007 Quy Tonthat <qtonthat@gmail.com>
180 - Fixed problems looking for wrong manpages.
182 * Thu Jun 21 2007 Shawn O. Pearce <spearce@spearce.org>
183 - Added documentation files for git-gui
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)
189 * Tue May 8 2007 Quy Tonthat <qtonthat@gmail.com>
190 - Added howto files
192 * Tue Mar 27 2007 Eygene Ryabinkin <rea-git@codelabs.ru>
193 - Added the git-p4 package: Perforce import stuff.
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)
198 * Mon Feb 12 2007 Junio C Hamano <junkio@cox.net>
199 - Add git-gui and git-citool.
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
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
211 * Tue Sep 27 2005 Jim Radford <radford@blackbean.org>
212 - Move programs with non-standard dependencies (svn, cvs, email)
213 into separate packages
215 * Tue Sep 27 2005 H. Peter Anvin <hpa@zytor.com>
216 - parallelize build
217 - COPTS -> CFLAGS
219 * Fri Sep 16 2005 Chris Wright <chrisw@osdl.org> 0.99.6-1
220 - update to 0.99.6
222 * Fri Sep 16 2005 Horst H. von Brand <vonbrand@inf.utfsm.cl>
223 - Linus noticed that less is required, added to the dependencies
225 * Sun Sep 11 2005 Horst H. von Brand <vonbrand@inf.utfsm.cl>
226 - Updated dependencies
227 - Don't assume manpages are gzipped
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
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/
238 * Mon Aug 15 2005 Chris Wright <chrisw@osdl.org>
239 - update spec file to fix Buildroot, Requires, and drop Vendor
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...
246 * Thu Jul 14 2005 Eric Biederman <ebiederm@xmission.com>
247 - Add the man pages, and the --without docs build option
249 * Wed Jul 7 2005 Chris Wright <chris@osdl.org>
250 - initial git spec file