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